今天复习软件工程书的时候,看到软件危机的表现中有这么一条:软件通常没有适当的文档资料。
那么问题来了,什么事文档资料?软件工程的文档包括哪些内容?嗯,对此我一无所知,所以动手查资料吧。
软件开发的标准过程包括六个阶段,而六个阶段需要编写的各类文件达14种之多。所以说,果然没有人喜欢写文档啊!
1.可行性与计划研究阶段
可行性研究报告:在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发计划,并完成应编制的文件。
项目开发计划:编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、 所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开 发工作。
2.需求分析阶段
软件需求说明书:软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。内容包括对功能的规定对性能的规定等。
数据要求说明书:数据要求说明书的编制目的是为了向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。
初步的用户手册:用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。
3.设计阶段
概要设计说明书:概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。 运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
详细设计说明书:详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。
数据库设计说明书:数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。
测试计划初稿:这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。
4.实现阶段
模块开发卷宗(开始编写):模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。
用户手册完工
操作手册:操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。
测试计划终稿:
5.测试阶段
模块开发卷宗(完成编写):嗯,这个很重要的啊!!!
测试分析报告:测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载。
项目开发总结报告:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。
6.运行与维护阶段
开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进展和情况,以便及时发现和处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写。
看到这么多文档资料的种类,本宝宝的内心是拒绝的啊!为什么我写代码已经很辛苦的了说!!还要写什么文档是什么鬼!!!
但事实上,一个好的写文档习惯,一份资料齐全的文档资料,对于软工工程是非常重要的。早已经就说过计算机软件不仅仅是程序,还应该有一整套文档资料。这些文档资料链接了软件开发人员,管理人员(万恶的产品经理),对软件后续维护人员也很重要。开发软件到后期,如果出现问题,文档资料往往能帮助我们不少。
突然想起去年大一下c语言课程安排的一个合作实验,我和三个队友各自负责写一部分自定义函数,然后组合的时候就发现了....我们在使用全局变量,在变量名上思路不统一。。。然后就滚去慢慢看代码,改变量名了。而且。。大家排版风格也不一样啊,一起开发真是心很累的说。但是现在一个软件的工程量绝对不是一个人或者几个人可以完成的,希望在软件工程这门课上可以学到更多吧!