一、软件生命周期的七个阶段以及各文档的生成阶段
二、各文档的细节归纳
文档名 | 编写时期 | 编写人 | 预期读者 | 使用的工具 |
可行性研究报告 | 可行性分析 | 系统开发人员 | 项目负责人 软件卡发人员 用户 | (需要什么条件,条件是否具备,) |
项目开发计划 | 可行性分析 | 分析员 | 用户 项目负责人 软件卡发人员 | 甘特图(注意实时性) |
软件需求说明书 | 需求分析 | 分析员 | 用户 项目负责人
| 用例图 (用户需要系统实现哪些功能) |
概要设计说明书 | 概要设计 | 技术工程师 | 项目负责人 开发人员 | 处理流程图,类图 (界面,架构,类图,接口,数据表说明,模块设计,代码设计,输入输出设计,数据库设计说明)
|
数据库设计说明书 | 概要设计 | 技术工程师 | 数据库管理员 开发人员 | 数据流图,数据字典,ER图 (数据库名,表结构,字段说明,) |
测试计划 | 概要设计 | 测试工程师 | 项目负责人 测试人员 | (目的,流程,测试用例(功能、数据、操作、结果)) |
详细设计说明书 | 详细设计 | 技术工程师 | 开发人员 | IPO图,各模块类图,时序图 (编码原则,输入输出,界面,处理过程) |
数据要求说明书 | 详细设计 | 技术工程师 | 数据库管理员 开发人员 |
|
测试分析报告 | 测试 | 测试工程师 | 测试人员 项目负责人 开发人员以及用户 |
|
项目开发总结报告 |
| 技术工程师 | 项目经理 |
|
操作手册 | 运行与维护 | 技术工程师 | 用户 | 界面图 (可以理解为面向管理人员的) |
用户手册 | 运行与维护 | 技术工程师 | 用户 | 界面图 (面向最终使用用户的) |
开发进度月报 |
| 技术工程师 | 项目经理 开发经理 |
|
维护手册 | 运行与维护 | 维护工程师 | 维护工程师 |
|
三、文档的作用
1、在很大程度上,文档是软件开发的规范和指南。
2、提高软件开发过程的能见度。把过程中发生的事记录在文档中。
3、管理人员可把这些记载下来的材料作为检查软件开发进度和软件质量的依据,实现对软件开发的工程管理。
4、提高开发效率。文档可帮助开发人员进行时间规划以及周密思考、
5、提供对软件的运行,维护和培训的有关信息,便于管理人员,开发人员,操作人员和用户之间的交流和协作
6、如果出现差错,根据文档可依据查出是谁的错。
在软件开发过程中,总是产生大量的信息,软件文档在软件开发的过程中起着很大的作用。应当充分注意软工文档的编制和管理。
四、软工文档的目的
1、可行性研究报告
说明该软件开发项目目的是在在技术、经济和社会条件方面的可行性;
评述为了合理地达到开发目标而可能选择的各种方案;
说明并论证所选方案的理由;
2、项目开发计划
为开发系统做整体的规划和整合,在开发过程中起到引导作用,具体内容包括各部分工作的负责人员,开发进度,开发经费的估算,所需软件和硬件的资源等等。
项目开发计划应提供给管理部门,作为开发阶段评审的基础。
3、软件需求说明书
对目标软件的功能,性能,用户界面和环境要求作出详细说明。
方便用户、分析人员和软件设计人员进行理解和交流。用户通过需求规格说明书在分析阶段即可初步判定目标软件能否满足其原来的期望,
本文档主要是作为设计人员的软件开发的基本出发点和系统维护人员发现和添加新功能需求的基础,也是维护人员的技术支持文档之一。
4、概要设计说明书
应当说明系统的功能分配,模块化分,程序总体结构,输入输出及接口设计,数据结构设计等。
5、详细设计说明书
着重描述每一个模块是如何实现的,包括实现算法和逻辑流程。
6、数据库设计说明书
说明项目的数据库设计、结构情况,用于开发人员进行项目设计,同时也为后续的数据库维护工作提供了良好的使用说明,也可以作为未来版本升级的重要资料。
7、数据要求说明
给出数据逻辑描述和数据采集的各项要求,为生成和维护系统的数据文件做好准备。
8、测试计划
测试计划是在项目开发的过程中制定的,为测试提供各种测试方案,包括测试内容,进度安排,条件,测试用例的选取原则等等,可以方便查找项目中的BUG。
9、用户手册
用户手册是需求级别的,更多的功能说明,是面向最终用户的。详细描述软件的功能,性能和用户界面,是用户了解如何使用该软件。
10、操作手册
操作手册讲述的是如何操作该系统的某个页面,更多的是一步一步的向导,可以理解为操作手册是面向管理人员的,需要进行系统配置安装人员使用的。
11、测试分析报告
测试完成后,记录测试的执行情况及结果并提交。
12、开发进度月报
该报告是开发人员按月想管理部门提交的项目进展情况的报告。报告应包括进度计划与实际情况的比较说明,阶段结果,遇到的问题和解决的办法,以及下个月的打算。
13、项目开发总结报告
项目开发完成后,需要总结实际执行情况,以及对项目开发做出评价,总结经验和教训。
五、小结
很多软件开发情况都是文档驱动,在这种情况下,文档就是最重要的时刻,文档在软件生命周期的每个阶段都会有不同的文档产生着不同的作用,认真对待文档就是认真对待我们开发的软件。