【最新整理,下载后即可编辑】模版集萃综述在程序员的日常工作中,除了编写代码之外,还免不了需要编写各种技术文档。
一个编写良好的技术文档在项目中能够很好地建立沟通与协作,起到很积极的作用。
因此,编写技术文档也就成为了程序员技能提升的很重要的一面。
为此,我们特意收集了一些在项目开发过程中经常用到的文档模板,这些模板包括格式和简单的写作说明,相信能够帮助大家编写出更加高效、实用的技术文档。
在收集过程中,我们十分注重其实用性,以确保每个模板的价值,而且对于一些重要的文档提供了多个模板。
另外,值得说明的是,文档模板只是为文档的编写提供一个基础,在实际的编写过程中,你可以根据自己的需要进行必要的剪裁和增补。
一、项目及开发管理类1.1可行性研究报告(ISO标准)编者说明:在立项时,应该对项目进行综合分析,探讨项目的经济、社会、技术可行性,从而为决策提供基础。
该模板为ISO标准文档模板,其不仅适用于软件项目,对于其它的系统项目也适用。
1.引言1.1编写目的[编写本可行性研究报告的目的,指出预期的读者。
]1.2背景a.[所建议开发的软件系统的名称;]b.[本项目的任务提出者、开发者、用户及实现该软件的计算站或计算机网络;]c.[该软件系统同其他系统或其他机构的基本的相互来往关系。
]1.3定义[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
]1.4参考资料[列出用得着的参考资料。
]2.可行性研究的前提[说明对所建议开发的软件的项目进行可行性研究的前提。
]2.1要求[说明对所建议开发的软件的基本要求。
]2.2目标[说明所建议系统的主要开发目标。
]2.3条件、假定和限制[说明对这项开发中给出的条件、假定和所受到期的限制。
]2.4进行可行性研究的方法[说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的,摘要说明所使用的基本方法和策略。
]2.5评价尺度[说明对系统进行评价时所使用的主要尺度。
]3.对现有系统的分析[这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统。
][分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。
]3.1处理流程和数据流程[说明现有系统的基本的处理流程和数据流程。
此流程可用图表即流程图的形式表示,并加以叙述。
]3.2工作负荷[列出现有系统所承担的工作及工作量。
]3.3费用开支[列出由于运行现有系统所引起的费用开支。
]3.4人员[列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。
]3.5设备[列出现有系统所使用的各种设备。
]3.6局限性[列出本系统的主要局限性。
]4.所建议的系统4.1对所建议系统的说明[概括地说明所建议系统,并说明在第2条中列出的那些要求将如何得到满足,说明所使用的基本方法及理论根据。
]4.2处理流程和数据流程。
[给出所建议系统的处理流程式和数据流程。
]4.3改进之处[按2.2条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进。
]4.4影响[说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改。
]4.4.1.对设备的影响[说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改]4.4.2.对软件的影响[说明为了使现存的应用软件和支持软件能够同所建议系统相适应,而需要对这些软件所进行的修改和补充。
]4.4.3.对用户单位机构的影响[说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。
]4.4.4.对系统运行过程的影响[说明所建议系统对运行过程的影响。
]4.4.5.对开发的影响[说明对开发的影响。
]4.4.6.对地点和设施的影响[说明对建筑物改造的要求及对环境设施的要求。
]4.4.7.对经费开支的影响[扼要说明为了所建议系统的开发,统计和维持运行而需要的各项经费开支。
]4.5技术条件方面的可能性[本节应说明技术条件方面的可能性]5.可选择的其他系统方案[扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和可从国内国外直接购买的,如果没有供选择的系统方案可考虑,则说明这一点。
]5.1可选择的系统方案1[说明可选择的系统方案1,并说明它末被选中的理由。
]5.2可选择的系统方案2[按类似5。
1条的方式说明第2个乃至第n个可选择的系统方案。
][……]6.投资及效益分析6.1支出[对于所选择的方案,说明所需的费用,如果已有一个现存系统,则包括该系统继续运行期间所需的费用。
]6.1.1基本建设投资[包括采购、开发和安装所需的费用。
]6.1.2其他一次性支出6.1.3非一次性支出[列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用。
]6.2收益[对于所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减少或避免、差错的减少、灵活性的增加、动作速度的提高和管理计划方面的改进等,包括:6.2.1一次性收益][说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述。
]6.2.2非一次性收益[说明在整个系统生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。
]6.2.3不可定量的收益[逐项列出无法直用人民币表示的收益。
]6.3收益/投资比[求出整个系统生命期的收益/投资比值。
]6.5敏感性分析[是指一些关键性因素与这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范围的估计。
]7.社会因素方面的可能性7.1.[法律方面的可行性]7.2.[使用方面的可行性]8.结论[在进行可行性研究报告的编制时,必须有一个研究的结论]1.2软件项目商业性分析编者说明:随着市场经济的不断发展,一个项目的商业价值、市场价值往往是衡量项目价值的最大依据。
该文档模板十分适用于产品型项目,当你提出一个新的产品开发方向时,一份商业性分析是说服管理层的一个很好工具。
当然,如果是一些内部项目,也是可以借鉴该文档模板来论证该项目的商业价值。
1.文档概述[该部分主要描述该文档的目的、范围、术语以及参考资料等方面的内容。
]1.1目的[说明该文档的作用。
]1.3术语[列出所有将出现于本文档的新术语、缩略语等。
]1.5概述[本小节说明该文档所包括的内容,以及它的组织方式。
]2.系统说明[在此简要地说明将要开发的系统,包括其名称、系统所解决的问题以及它的开发价值等,从而使得读者能够有一个直接的了解。
并且在这处还应列出与在本文档中出现的缩略词的解释,以便读者更好地阅读。
]3.业务环境[这一小节主要说明要开发的系统所处于的业务环境。
它包括系统所面向的领域、用户。
也可以在此指出它是产品型项目,还是用户定制型项目,同时如果该项目与原有的项目有紧密的联系,在此也应该把这些联系列出来。
]4.产品目标[这一小节则用于深入说明为什么要开发该系统,它有什么价值。
最好还应对进度计划、进度风险做一些评估。
一个明确确定、表述清晰、可以度量的目标将为今后系统的开发工作打下坚实的基础。
]5.财务预测[如果是产品型项目,那么其输出就是一个商业软件产品。
对于这样的项目,在此应该包括对该项目的财务预测,最主要应该得出投资回报(ROI)指标。
][在财务预测中,有一个基点就是对项目工作量、资源使用的估算,在这里还应给出估算的基础技术,当然这里的估算会随着项目的进展而逐步精化,应该这里还是应该估算出一个合理的范围。
]6.约束[任何事有利就有弊,在本小节则主要列举执行该项目时会遇到的一个诸如外部接口、标准、认证、特殊的技术等约束,这些约速将会对项目带来很大的执行风险,可能对项目的成本也带来巨大的影响。
]1.3软件开发项目立项表编者说明:在许多开发组织中,开发立项请求通常来自市场部门,该表格的设计就是为了更好地理顺两个部门之间的沟通与协调,也使得开发立项流程化,你可以根据自己公司的实际情况,对该表格的格式做一些修改。
1.4软件项目计划(ISO标准)编者说明:拿破仑说过:“没有一场战役是按照计划打的,而胜利的战役没有一个是没有计划的。
”,战役尚且如此,软件项目也不例个。
一个经过周密考虑,团队协作共同制订的项目计划是成功的关键。
1.引言1.1编写目的[说明编写这份项目开发计划的目的,并指出预期的读者。
]1.2背景a.待开发软件系统的名称;b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;c.该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3定义[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
]2.项目概述2.1工作内容[简要地说明在本项目的开发中须进行的各项主要工作。
]2.2主要参加人员[扼要地说明参加本项目开发工作的主要人员的情况,包括他们的技术水平。
]2.3产品2.3.1程序[列出需移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式,并通过引用有关文件。
逐项说明其功能和能力。
]2.3.2.文件[列出需移交给用户的每种文件的名称及内容要点。
]2.3.3.服务[列出需向用户提供的各项服务。
]2.3.4.非移交的产品[说明开发集体应向本单位交出但不必向用户移交的产品。
]2.4验收标准[对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。
]2.5[完成项目的最迟期限]2.6[本计划的批准者和批准日期]3.实施计划3.1工作任务的分解与人员分工[对于项目开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。
]3.2接口人员[说明负责接口工作的人员及他们的职责。
]3.3进度[对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定的开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件。
]3.5关键问题[逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。
]4.支持条件[说明为支持本项目的开发所需要的各种条件和设施。
]5.专题计划要点[说明本项目开发中需制订的各个专题计划的要点。
]1.5软件项目计划模板(2)编者说明:大家可能都发现了ISO标准的项目计划缺少实用性,那是因为其未能很好地与WBS、甘特图技术实现良好的结合。
该文档模板则充分考虑到这一点,其简单、实用,适用于中小规模项目。
第1部分概述1.1目标[这部分的目标是总结整个项目计划。
]1.2概述[简要描述要做的工作。
给出所有理解工作环境所需的背景。
然后阐述在合同下的项目任务。
紧接着,说明项目如何组织。
然后,在项目的基础上列出假设和约束。
包括项目中的所有主要工作,无论是你能控制的还是不能控制的。
如果你计划发布多个版本,要说明如何安排进度。
]2.2概述[定义你的开发生命周期,并且简要说明生命周期的每个过程。
]2.3详述2.3.1定义过程[主要目标:分析问题、制作项目计划、定义接收标准、选择项目工具。
][次要目标:寻找人员、了解客户、形成试验性的设计思想。
]2.3.2设计过程[主要目标:设计操作性程序、设计支持性程序、改进项目计划、进行项目评审。
][次要目标:准备集成环境、建立变更管理、制作模拟模型、为下一个过程寻找人员、准备程序员培训、出版程序员手册、初步准备系统测试、验收测试、现场测试、建立项目资料库。
]2.3.3编码过程[主要目标:详细设计/编码和模块测试、模块集成、文档建立。
][次要目标:详细地准备系统测试、验收测试、现场测试,准备客户培训、准备移植。
]2.3.4系统测试过程[主要目标:根据问题说明书进行系统测试、尽可能地“实况”测试、通过非程序开发人员测试。
][次要目标:完成验收测试准备、培训客户、更新描述性文档、完成用户文档、再次分配人员。
]2.3.5验收过程[主要目标:执行和分析验收测试、签署正式的接收协议。
][次要目标:完成客户培训、清理文档。
]2.3.6移植过程[主要目标:协助进行数据转换、建立数据转换标准、建立全面恢复计划、定义移植顺序、协助接入。
][次要目标:与受影响组进行联系、支持评审过程。
]2.3.7运行过程[主要目标:协助初期运行。
][次要目标:现场测试、继续维护和调整、评价项目。
]第3部分组织计划3.1目标[这部分的目标是定义项目的组织以及责任分配。
]3.2概述[说明建立组织的基本原因,画出组织内部的主要工作流程图,从问题的分析和设计开始,包括编码、测试、制作文档和交付。
]3.3详述[在每个子部分中,列出基于组织章程的部分以及每个部分的责任,然后再说明在每个过程中组织的结构图。
]3.3.1部门及责任[分析和设计部:编写问题说明书、设计说明书、变更管理、数据控制、模拟模型、制作用户文档、协作集成测试。
][编程部:详细设计、编码、模块测试、集成测试、描述性文档。
][测试部:制作系统测试说明书、制作验收和现场测试说明书、收集和制造测试数据、选择和获得测试工具、建立测试资料库、安排测试资源进度、执行测试、分析测试结果、制作测试结果文档。
]3.3.2组织章程第4部分测试计划4.1目标[这部分的目标是定义对软件系统的所有级别测试的工具、过程和责任。
]4.2概述[简要定义每个测试级别,并说明在一个测试层次上,不同级别如何组合在一起。
]4.3详述4.3.1单元测试[在与其它功能模块集成之前,针对单个程序模块的测试。
在此应列出单元测试的目标、责任、过程、工具。
]4.3.2集成测试[逐步将通过测试的模块集成为更加复杂的集合,并且测试这些集合,直到整个软件都被集合在一起。
在此应列出集成测试的目标、责任、过程、工具。
]4.3.3系统测试[在尽可能真实的环境下,重新测试完成的软件系统,应由非编程人员完成。
在此应列出系统测试的目标、责任、过程、工具。
]4.3.4验收测试[在用户认可的条件下,试运行系统以验证系统满足了客户的需求。
在此应列出验收测试的目标、责任、过程、工具。
]4.3.5现场测试[在不同的运行环境下测试软件系统,以确保运行准备就绪,这并不是每个项目都需要的。
在此应列出现场测试的目标、责任、过程、工具。
]4.3.6共同测试设备[描述在几个或者所有级别的测试中共同的设备和工具,其中包括系统资料、计算机设备、桌面系统、操作系统、特殊语言、CASE工具、仿真器。
]4.3.7测试支持程序第5部分变更管理计划5.1目标[这部分的目标是定义在软件系统开发过程中,变更控制的过程。
无论何时发生问题,基线文档都是参考的关键。
]5.3详述5.3.1基线[定义哪些文档在你的项目中是基线。
]5.3.2变更申请[列出可能会提出变更的人员类别,以及提供相应的变更申请文档。
]5.3.3研究变更申请5.3.4变更的类型[根据变更的基线影响的程序,设置不同的变更类型。
]5.3.6建议类型[定义变更建议的类型,通常包括接受和拒绝两种。
]5.3.7执行变更[定义执行变更的具体方法,通常包括评估变更成本、对变更进行审批、制作变更文档、对变更后的进度进行重新安排、测试变更结果。
]第6部分文档计划6.1目标[这部分的目标是定义出版周期所要求过程与资源,以及列出基础项目文档组的框架结构。
]6.2概述[强调所有的项目文档在这部分都列出结构框架。
]6.3详述6.3.1发布过程和责任[通常包括准备和批准、打字输入、校对和编辑、翻印、发放、电子存储等。
]6.3.2项目文档大纲[每个文档的都包括以下部分:][a.项目标志:用于标识项目文档之用;][b.文档名称:标识主题,如问题说明书、设计说明书……][c.文档编号:由项目资料员分配给文档的唯一标识;][d.批准:在作为正式版本之前,文档所需批准人的姓名。
当然也不是所有文档都需要经过批准。
][e.发行日期][f.文档主体:文档的内容。
]6.3.3文档内容[列出在该项目中将要使用的文档模板的结构性内容。
]1.7软件项目计划模板(4)编者说明:随着现代软件工程思想的普及,迭代的、增量的开发生命周期已经被认识并付诸实践,针对这样的生命周期,其项目计划的格式也需要做出相应的调整。
注:一个符合现代软件工程思想的版本1.文档概述[在此对整个文档进行概要性描述,另外还应列出该计划的目标、范围、定义、术语、参考资料等内容。
]1.1目标[在此描述本项目计划的目标。
]1.3定义与术语[在此列出在该计划中所涉及的所有术语、定义、缩写词的解释,这些信息也可以引用项目词汇表来提供。
]1.5概述[说明该计划其它部分所包含的内容,以及文档的组织方式。
]1.项目概述1.1项目目标[指出该项目将会交付什么样的产品,能够帮助客户达到什么目标。
]1.4项目计划更新总结[建议采用表格的形式,将计划的修订过程列出来。
]2.项目组织2.1项目组织结构[建议使用组织结构图的形式,将整个项目团队成员之间的关系与职责明确下来,甚至可以包括管理人员、各种委员会等。
]2.3角色与职责[明确项目开发各个任务的负责人或小组。
]3.项目管理计划3.1项目估计[给出关于项目成本、进度的估计值,这些估计值将是项目计划制定的基础,也是今后重新评估、修改计划的基础。
你可以采用任何估算技术。
]4.2.2迭代目标[如果你采用的是迭代式的开发方法,那么在此列出每次迭代的计划,以及每次迭代计划实现的目标。
]4.2.4项目进度表[使用甘特图或PERT图等方法,表示出该项目的进度计划。
]4.2.5项目资源计划[在此处应列出项目所需的人员、设备等资源情况。
应指明所需人员的数量、技能要求,以及如何获取这些资源,是否要对人员进行必要的培训等。