上QQ阅读APP看书,第一时间看更新
1.1.2 SDLC典型阶段
软件生命周期一般划分为6个阶段。
1)问题定义阶段:该阶段需要完成的任务是明确“软件要解决什么问题”。这对于任何项目的启动都是至关重要的,如果不清楚要解决的问题,那么接下来的任何推进将是盲目的。
2)需求分析阶段:该阶段是针对问题定义阶段的结果进行分析,进而明确软件的定位,以及软件需要具备哪些功能。
3)软件设计阶段:该阶段包含总体设计和详细设计两个子阶段。总体设计是指概要地描述该目标软件如何实现;详细设计则是将概要设计中提出的解决方案进一步细化,即该目标软件实现的具体方案。
4)软件开发阶段:也称软件编码阶段,即通过编码完成需求功能的实现。
5)软件测试阶段:该阶段主要包含单元测试、集成测试、系统测试、用户测试等内容,旨在评估软件是否达到预定的标准。
6)运行和维护阶段:该阶段的任务是在软件交付并上线运行后通过一系列维护活动来保证软件产品持久可靠地供用户使用。
除了以上6个阶段的划分以外,在日常软件工程实践中,软件生命周期的阶段划分还可分为5个阶段(后文统称“SDLC 5阶段”),如图1-1所示。
1)软件准备阶段:对应上述软件问题定义及软件设计阶段。
2)软件开发阶段:对应上述软件开发及软件测试阶段。
3)软件部署阶段:为了软件上线运营而进行的相关环境部署和配置阶段。
4)软件运营阶段:对应上述运行和维护阶段,但在此基础上要求运营人员具备更多的业务经营思维,以客户交付价值为导向不断迭代,不仅对软件稳定运行有技术要求,还强调规划管理和持续优化能力。
5)软件废弃阶段:软件下线、消亡阶段。
图1-1 软件生命周期
实际上,这种划分方式不仅更加贴合日常数字化业务的实际运营方式,也更方便理解接下来将要讨论到的SDLC安全挑战及安全活动。