1.问题定义

本阶段需要明确回答:“要解决的问题是什么?”。

    统分析员应该提出问题的性质、目标和规模的书面报告。通过对实际用户和使用部门的调查、研究,以及讨论、交流,得出一份双方都满意的文档

2 .可行性分析

    本阶段需要回答的是:“上一阶段确定的问题有无可行的解决方案,是否值得解决?”。

    更进一步明确项目的规模和目标,从技术可行性、经济可行性、操作可行性、法律可行性、社会可行性等方面进行研究,确定是否开发本项目。

3.需求分析

     本阶段确定为解决该问题,目标系统必须应具备哪些功能。

     系统分析员在本阶段必须与用户密切配合,充分交流,得到经用户确认的系统逻辑模型,用数据流图、数据字典等描述系统的逻辑模型。

     需求分析阶段所确定的系统逻辑模型是以后设计和实现目标系统的基础,必须准确、完整的体现用户的需求。

4.总体设计

     本阶段确定目标系统的主要功能如何完成。采用流程图或其他工具描述出每种可能的系统,推荐出一个最佳的方案,并制定出实现该系统的详细计划。

     本阶段的另一个主要任务是设计软件的结构,确定软件应由哪些模块构成,以及模块之间的关系。

     还应考虑系统的开发和应用环境,如计算机系统的配置,计算机网络等。

5.详细设计

     详细设计阶段的任务就是把问题的求解具体化,设计出程序的详细规格说明。

     通常用HIPO图(层次图/输入/处理/输出)或PDL语言(过程设计语言)描述详细设计的结果。

6.编码和单元测试

     本阶段的任务是编写软件程序。程序员应根据目标系统的要求,选取适合的程序设计语言,把详细设计的结果编制成程序,并对每一个模块进行单元测试。

     需要考虑软件平台、开发工具等等。

7.综合测试

     本阶段的任务是通过各种测试以及相应的调试,使软件达到预定的要求。

     应该把测试计划、测试方案、测试结果等以文档的形式保存下来,作为软件配置的一个组成部分。

8.软件维护

      软件维护的任务是,通过各种必要的维护活动使系统持久地满足用户的需要。

      通常有4类维护活动:改正性维护;适应性维护;完善性维护;预防性维护。

      每一项维护活动都应该准确地记录下来,作为正式的文档保存。