Perface
随着技术的进步,小作坊式的软件开发年代已经过去。目前的软件开发能力在不断提升,用户对软件的功能和性能要求也越来越高,软件开发质量受到关注。
在软件开发过程中,各种数据和代码的管理需要经过统筹安排和管理,出现了各种软件开发文档,用于控制软件开发过程。
软件开发文档是与开发阶段对应的。
一般来说,每个阶段至少产生一种文档。软件开发文档描述了在软件开发各阶段中不同的任务。不同组织和公司有不同的开发文档和规范,使用不同的开发模型产生的文档内容也不相同。
软件开发文档指导不同阶段的相关人员的工作,不同阶段的设计人员会设计出相应阶段的最终文档。如需求设计文档指导项目经理做软件的框架设计,产生概要设计文档;程序员使用概要设计文档了解软件某部分的功能,然后做具体的细化设计详细设计文档。按照软件开发的阶段,通常会生成以下几种文档:
可行性研究执行
软件项目的可行性研究执行需要列举出需要的技术、人员、资金、时间周期以及法律等方面的因素,最终目的是认证一个软件项目是否可以开发。
可行性研究报告通常由软件团队的高层,或者是软件项目的发起人、投资人等参加。
可行性研究报告中还应当对于现有的资源给出几种不同的解决方案供讨论使用。
软件可行性研究报告的结果直接决定了一个软件项目是否启动。
项目开发计划
项目开发计划的目的是使用文件形式,把开发过程中各工作的负责人、开发进度以及需要的续费预算、所需的软件和硬件等都描述出来。
后续的工作根据项目开发文档安排调配资源。项目开发文档是整个开发项目的资源描述文档,在编写的时候要从开发组织的实际情况出发,合理安排资源。
软件需求说明书
软件需求说明书是软件开发组织与用户之间的接口文档,是整个软件开发的基础,软件需求说明书是软件供求双方对软件功能的一个具体描述文档,通常由软件开发组织编写。
该文档包括了软件的开发任务、功能约定、开发周期等,用户根据软件开发组织的需求设计提出自己的意见,修改后行形成最终文档。
需求说明书对软件开发组织来说很重要,软件开发的设计和测试工作都是针对需求文档进行的。
概要设计
概要设计文档说明了整个程序设计的框架和工作流程,是详细设计文档的基础。
概要设计描述整个系统的处理流程、模块划分、接口设计以及出错处理等内容。
概要设计的好坏决定了软件的优劣,通常是项目经理设计该文档,并且经过讨论后形成最终文档。
详细设计
详细设计是一个软件模块或者流程的具体描述文档。
详细设计文档包括具体程序的功能描述、性能要求、输入输出格式、算法、存储分配等内容。
对于简单的软件可以不做详细设计,在代码中做相应详细的注释即可。对于大型的软件,至少要在关键流程做详细设计,并且尽量保证详细设计的文档与代码的对应关系便于维护管理。
详细设计文档一般由程序员编写。
用户手册
前面介绍的几种文档都是软件开发组织使用的,文档结构规范、内容使用术语较多,便于开发组织内部交流。
用户手册编写的目的是要使用非术语描述软件系统具有的功能和使用方法。用户在阅读使用手册后可以了解软件的功能和用途,并且通过说明书可以操作软件。
用户说明书通常包括软件的功能、运行环境、操作方法以及示例、常见出错问题及解答。用户手册要保证内容简洁,易于用户理解。
其他文档
在软件开发过程中还会产生一些其他文档,常见的有测试计划、测试报告、开发进度表和项目总结报告等。
其中,测试是比较重要的部分,一个软件的优劣测试起到很大作用。测试是与开发并进的,包括单元测试、集成测试、功能测试和完整性测试等。测试的目的是发现软件中的缺陷,帮助改进软件的健壮性。
本文转自infohacker 51CTO博客,原文链接:http://blog.51cto.com/liucw/1199792