一、划分阶段
一个软件项目从可行性研究起到开发成功投入使用,要经过若干互相区别而又联系的阶段。一般划分为以下六个阶段:
(1)可行性研究与计划阶段。确定项目开发目标和总的要求,进行可行性分析、投资、效益分析,并制订开发计划。
(2)需求分析阶段。根据对系统的分析,确定软件项目的各项功能、性能。
(3)设计阶段。在充分理解软件需求的基础上,提出多个设计方案,经分析比较,确定最佳方案。
(4)实现阶段。完成源程序的编码、编译和调试工作。
(5)测试阶段。对程序进行全面测试,并检查审阅已编制的文件。
在整个开发过程中(即前五个阶段),开发单位要按月编制开发进度月报。
(6)运行与维护阶段。在软件运行使用中,不断进行维护,并根据新的要求,对原程序进行必要的扩充与删改。
在每个阶段中,都要编制一定的文件。这些文件是整个软件项目成果的不可缺少的组成部分。其作用是:
(1)本阶段工作的成果和结束标志。
(2)反映开发工作的进展情况,以便对各阶段进行检查。
(3)提供技术和管理信息,便于管理人员、开发人员、操作人员和用户之间相互了解和协作。
(4)对整个项目内容、功能和性能的描述。
二、各阶段所需完成的文件和文件编制目的与内容
(1)可行性研究报告:在可行性研究与计划阶段完成。目的是说明该软件开发项目在技术、经济和社会条件方面的可行性,并在多方案中论证所选定的方案,内容包括:
①对现有系统的分析;
②系统方案的选定;
③投资与效益分析。
(2)项目开发计划:在需求分析阶段完成。目的是把项目开发过程中各项工作的负责人、进度、对软硬条件、经费预算的安排以文件形式记载下来,以利据此检查项目的开发工作,内容包括:
①项目概述:项目内容;主要参加人;产品及成果验收标准;完成时间等。
②实施总计划:任务分解;进度;预算;关键问题等。
③支持条件:计算机系统支持;需用户承担的工作等。
④专题计划要点。
(3)项目需求说明:在需求分析阶段完成。目的是对项目完成后应达到的具体要求作出规定,作为开发工作的基础,内容包括:
①任务概述:目标;项目环境的特点;约束条件。
②要求规定:主要性能;可靠性、灵活性、时效性、友好性等要求;输入输出要求;常规处理要求;异常处理要求;其他专门要求。
③环境规定:设备;支持软件;接口;控制。
(4)测试计划:在需求分析和设计阶段完成。目的是为提供一个对开发软件项目的测试计划,内容包括:
测试内容;进度安排;测试方案设计考虑;测试数据的整理方法;测试结果的评价准则。
(5)项目设计说明:在设计阶段完成。目的是说明对程序系统的设计考虑和说明系统各层次中的每个程序的设计考虑。此部分由于工程项目的不同而差异很大。开发单位可参照有关标准具体编写,总的要求是:
①总体设计:包括需求规定;运行环境;逻辑结构;物理结构;关键问题和解决方案等。
②详细设计:包括控制及处理流程;功能、性能和输入输出设计等。表达形式:有文字、图、表等。
(6)使用说明:在需求分析、设计和实现阶段中逐步完成,内容包括:
①用户手册:提交给用户的使用说明,主要内容:
1)概述
2)用途:功能、性能
3)运行环境:硬件、支持软件
4)使用过程:安装与初始化、输入、输出及举例。
②操作手册:提交专业人员的使用说明,主要内容:
1)概述
2)构成说明
3)安装与初始化
4)运行说明
5)异常处理
(7)模块开发卷宗:在测试阶段完成。目的是记录和汇总低层次开发的进度和结果,以便对整个模块开发工作的管理和将来的维护。
(8)测试分析报告:在测试阶段完成。内容包括按测试计划所进行的测试记录和分析图表及结论。
(9)总结报告:在项目完成后,提交验收或鉴定前完成。主要包括总结本项目的开发经验,说明开发结果以及对整个开发工作的各个方面的评价。