当手工业的软件制作出现危机之后,软件工程应用而生,而软件工程中很大的一个特点就是期间伴随着各种各样文档的产生,以下就是对软件工程中文档的介绍。
首先要提到软件的生命周期,大致分为如下三大阶段:
软件定义阶段(问题定义、可行性研究、需求分析)、软件开发阶段(总体设计、详细设计、编码、测试)和运行维护阶段
问题定义、可行性研究 → 《可行性研究报告》《项目开发计划》
需求分析 →《软件需求说明书》
总体设计 →《概要设计说明书》
详细设计 →《详细设计说明书》《 数据库设计说明书》《 数据要求说明书》
编码 → 《项目开发总结报告》
测试 →《测试计划》《测试分析报告》
运行维护 →《开发进度月报》《操作手册》《用户手册》
《可行性研究报告》 |
可行性研究报告是从事一项投资之前,要从经济、技术、生产、供销直到社会各种环境、法律等各种因素进行具体调查、研究、分析,确定有利和不利的因素、项目是否可行,估计成功率大小、经济效益和社会效果程度,为决策者和主管机关审批的上报文件。 简单来说就是从各方面来看这个项目能不能做。 |
《项目开发计划》 |
软件项目计划是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。 简单来说就是为这个项目各个方面制定计划。 |
《软件需求说明书》 |
软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。包含硬件、功能、性能、输入输出、接口界面、警示信息、保密安全、数据与数据库、文档和法规的要求。 简单来说就是这个软件可以解决什么问题,满足哪些需求。 |
《概要设计说明书》 |
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 简单来说就是对程序框架的设计。 |
《详细设计说明书》 |
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑。 |
《数据库设计说明书》 |
数据库设计说明书是对于设计中的数据库的所有标识.逻辑结构和物理结构做出具体的设计规定。 |
《数据要求说明书》 |
数据需求说明书根据提交对象的不同,可分为内部数据需求说明书和外部关联数据需求说明书,分别提交被审计单位和外部关联单位。 |
《测试计划》 《测试分析报告》 |
测试计划,描述了要进行的测试活动的范围、方法、资源和进度的文档;是对整个信息系统应用软件组装测试和确认测试。 它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保障计划的顺利实施。 测试分析报告就是对测试结果做以分析。 |
《项目开发总结报告》 |
为了总结报告在工作过程中产生的问题、行到经验, 并且 总结报告设计和制作者 过程中的逻辑和想法。 |
《操作手册》 《用户手册》 |
从某种程度上讲,操作手册是用户手册的一部分。 操作手册是系统级别的文档,而用户手册是需求级别的文档。操作手册讲述的是如何操作该系统的某个页面,而用户手册是在用户想做什么事情,在这样的前提下引导用户去操作该系统完成这样的需求,它不光要对系统操作说明,要从头开始的服务器配置,系统安装,系统操作,系统维护等等,完全是套成熟的流程模式。 |
《开发进度月报》 |
就是对软件开发过程的一个记录。 |
(《可行性研究报告》《项目开发计划》《软件需求说明书》《概要设计说明书》《详细设计说明书》《 数据库设计说明书》《 数据要求说明书》《项目开发总结报告》《测试计划》《测试分析报告》《开发进度月报》《操作手册》《用户手册》)
在这次的软工文档的编写中,耗费了自己很多精力,但是效率比较低,从中我也反思很多。
原因一:之前写过文档,所以文档要自己写,而且要写好、写正确,这无疑给自己项目的进行套上了沉重的枷锁。
原因二:由于不想参考他人,但是的确又有他人资料可以看,总是给自己无限矛盾与挣扎,造成期间负面情绪不断积累。
从中我学习到的是:
1.不要一次求成,优秀的成果是一次一次磨练出来的。
2.从项目的开始阶段就要明确自己达到的目标,不要自己为是的定过高或过低的要求。
3.当意识到自己的问题后,要及时修正,不要盲目向前,不断循环积累自己负面情绪,最终对整个项目的完成造成影响。