软件工程由定义阶段(制定计划、需求分析);开发阶段(设计、编码、测试);维护阶段三个阶段组成。
一、定义阶段
1、制定计划
制定计划,即确定要开发软件系统的总目标,给出功能、性能可靠性以及接口等方面的要求,进行可行性研究。需要通过获取需求、观察分析等实现物理模型到处逻辑模型的过程。
2、需求分析
需求分析,它的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型。需要同用户沟通,获取用户对项目的需求,然后编写需求规格说明书向用户描述系统是做什么的。而需求分析做完了,那么数据要求说明书以及初步的用户手册也应该编写完。而且需要对制定计划阶段的项目开发计划,也叫项目实施计划,进行修改,完善和确认。
二、开发阶段
1、设计
设计阶段又分为概要设计和详细设计。概要设计或者总体设计,主要功能就是把系统划分成模块。而详细设计就是把概要设计的模块进行细化,对每个模块进行详细的算法设计。在设计阶段产生的文档主要是概要设计说明书和详细设计说明书。同时,在概要设计阶段就应该进行数据库的设计,编写数据库设计说明书;并且编写测试计划,为以后的测试做准备;还有进一步完善用户手册,用户手册每一步都要完善,直至项目开发完成,用户手册编写完成。而详细设计阶段就要编写更详细的测试用例和计划。
2、编码
编码阶段就是编写代码,实现功能的过程。
3、测试
测试阶段就是在项目编写完成之后,对其进行测试,确定是否完成用户需求,是否正确,是否可以交付用户使用。测试根据设计阶段产生的测试计划,设计测试用例,对项目进行测试,测试完成之后编写测试分析报告,分析测试的结果,确定是否可以交付用户使用。不行,则项目调试,调试完测试,直至测试合格,发布使用。
三、维护阶段
在软件产品被开发出来并交付用户使用之后可,就进入了软件的运行维护阶段。维护是软件生命周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。软件工程学的主要目的就是提高软件的可维护性,降低维护的代价。