软件工程的流程

1问题定义

问题定义阶段必须回答的关键问题:“要解决的问题是什么?

通过问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告
问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。

2可行性研究

可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。

问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、 更具体地确定工程规模和目标。然后分析员对建议的系统进行仔细的成本/效益分析

3需求分析

主要是确定目标系统必须具备哪些功能。

系统分析员在需求分析阶段必须和用户密切配合,充分交流信息以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典

4总体设计

这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题?”

系统分析员应该使用系统流程图描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统 (最佳方案),并且制定实现所推荐的系统的详细计划

总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。通常用层次图或结构图描绘软件的结构。

5详细设计

详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地实现这个系统呢?

这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。程序员可以根据它们写出实际的程序代码。
通常用PDL语言(过程设计语言)描述详细设计的结果

6编码和单元测试

这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块

7综合测试

这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求

最基本的测试是集成测试和验收测试。所谓集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必 要的测试。所谓验收测试则是按照规格说明书的规定(通常在需求分析阶段确定),由用户(或在用户积极参加下)对目标系统进行验收。

应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,做为软件配置的一个组成成分。

8软件维护

维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要

猜你喜欢

转载自blog.csdn.net/zs18753479279/article/details/115031133