软件工程生命周期的6个阶段
考点:考察求职者对软件工程生命周期的掌握。
出现频率:★★★★
【面试题解析】
软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
软件生命周期(SDLC)的6个阶段。
1.问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身”,同样需求也是在整个软件开发过程中不断变化和深入的,因此必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行,需求分析如图1所示。
图1 需求分析示意图
3.软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一、符合标准的编写规范,以保证程序的可读性、易维护性、提高程序的运行效率。
5.软件测试
在软件设计完成后,要经过严密的测试,以发现软件在整个设计过程中存在的问题,并加以纠正。整个测试过程分单元测试、组装测试,以及系统测试3 个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划,并严格按照测试计划进行测试,以减少测试的随意性。
图2显示了软件测试的过程。
图2 软件测试示意图
6.运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。
参考答案:
软件工程的生命周期一般可以分为6 个阶段:问题的定义及规划、需求分析、软件设计、程序编码、软件测试和运行维护。