考点精讲
- SDLC(Software Development Life Cycle,软件开发生命周期)是系统从概念到退役的全过程,OSG-9 权威七阶段为:①概念定义(明确系统目标与范围、评估可行性)→②需求确定(确定功能与安全需求)→③控制规格说明(在项目早期就把安全控制设计进系统,安全设计是持续过程)→④设计审查(评审系统与安全架构设计)→⑤代码审查(编码与代码走查,发现实现层缺陷)→⑥用户验收(系统测试与验收测试)→⑦维护变更(运行维护与变更管理)。安全应在最早期融入(向左移),而非事后补救。开发模型:瀑布模型(Waterfall,Winston Royce 1970 年提出,各阶段顺序推进、后期可反馈循环,适合需求稳定项目);螺旋模型(Spiral,Barry Boehm 1988 年提出,是瀑布的迭代封装/元模型,每次循环回到计划阶段并评估风险,适合高风险大项目);敏捷开发(Agile,2001 年敏捷宣言,重个体交互、可用软件、客户合作、响应变更,短迭代增量交付)。过程成熟度:CMM 成熟度五级——初始级(无定义流程、依赖个人)→可重复级(建立基础生命周期管理、可复用经验)→定义级(正式文档化流程)→管理级(量化度量、可预测)→优化级(持续改进、反馈闭环);IDEAL 模型——启动/诊断/建立/行动/学习,用于指导组织过程改进。
记忆技巧
记七阶段「概需控审码验维」:概念定义→需求确定→控制规格说明→设计审查→代码审查→用户验收→维护变更。
记两个安全关键阶段:「控制规格说明」=早期把安全控制设计进系统;「代码审查」=编码后走查发现实现层缺陷。
记模型:瀑布「一条道走到黑」、螺旋「绕圈每次评风险」、敏捷「小步快跑」。
记 CMM 五级「初可定管优」(初始级→可重复级→定义级→管理级→优化级)+ IDEAL「启诊建行学」(启动/诊断/建立/行动/学习)。
记两个安全关键阶段:「控制规格说明」=早期把安全控制设计进系统;「代码审查」=编码后走查发现实现层缺陷。
记模型:瀑布「一条道走到黑」、螺旋「绕圈每次评风险」、敏捷「小步快跑」。
记 CMM 五级「初可定管优」(初始级→可重复级→定义级→管理级→优化级)+ IDEAL「启诊建行学」(启动/诊断/建立/行动/学习)。
常见误区
真题思路
- 【示例】 【示例】常考「某项目特征(需求多变/高风险/需求固定)适合哪种模型」或「SDLC 阶段顺序」,螺旋模型的风险分析是高频考点。参考 Practice Tests 第 8 章(Domain 8)。
常见问题
Q:「安全左移」是什么意思?
A:在 SDLC 早期(需求、设计)就引入安全活动,而非测试阶段才补。
Q:敏捷开发如何保障安全?
A:把安全任务拆入每个冲刺,配合持续集成与自动化安全测试。
Q:CMM 成熟度五级是哪五级?
A:初始级→可重复级→定义级→管理级→优化级。
Q:IDEAL 模型的五个阶段是什么?
A:启动/诊断/建立/行动/学习。
Q:SDLC 七阶段中,安全的关键落在哪两个阶段?
A:控制规格说明(早期把安全控制设计进系统)与代码审查(编码后走查发现实现缺陷)。
相关知识
教材出处:Domain 8 · 软件开发安全 SDLC 与开发模型:瀑布、螺旋、敏捷