D8-02 9–10 分钟 重要程度:高

软件开发方法、语言与成熟度模型

开发方法题要分清瀑布、螺旋、Agile、DevOps 与成熟度模型。考试重点不是背流程图,而是判断哪种方法最适合风险、迭代、客户变化和过程改进。

一、必须记住

  • 编译型语言把源代码编译成可执行文件,用户通常看不到原始指令;解释型语言由解释器执行源代码。
  • OOP 术语包括类、对象、方法、消息、继承、委托、多态、内聚和耦合。
  • Waterfall 是顺序阶段模型,传统上一个阶段完成后才进入下一个阶段。
  • Spiral Model 通过多轮迭代处理需求、设计、实现和风险,适合风险较高或需求演进的项目。
  • Agile 强调客户协作、快速交付、拥抱变化,工作软件是主要进度度量。
  • Scrum、Kanban、RAD、AUP、DSDM、XP 都属于常见敏捷或快速开发相关方法。
  • SW-CMM 从 Initial、Repeatable、Defined、Managed 到 Optimizing 衡量软件过程成熟度。
  • SAMM、BSIMM 和 IDEAL 都可用于软件安全能力或过程改进评估。

二、核心概念

语言与代码可见性

编译后的程序不易被用户直接检查,恶意或不熟练的开发者可能把后门或缺陷藏在二进制中。解释型语言源码更容易被查看,但仍需要访问控制、代码审查和依赖管理。

开发生命周期模型

Waterfall 强调顺序,适合需求稳定的环境;Spiral 把风险分析和迭代结合;Agile 适合需求变化较快、需要频繁交付反馈的场景。

过程成熟度

SW-CMM 强调软件质量依赖开发过程质量。SAMM 和 BSIMM 更关注软件安全活动成熟度,IDEAL 用启动、诊断、建立、行动、学习推动过程改进。

三、CISSP 判断规则

  • 问线性、阶段完成后进入下一阶段,选 Waterfall。
  • 问风险驱动、多次迭代瀑布,选 Spiral。
  • 问客户协作、欢迎变化、工作软件衡量进度,选 Agile。
  • 问软件过程成熟度五级,选 SW-CMM。
  • 问 OWASP 维护的软件保证成熟度模型,选 SAMM。

四、常见陷阱

  • Agile 不代表没有安全、没有文档或没有控制;安全活动仍要进入 backlog、评审和测试。
  • Waterfall 不是永远错误,需求稳定和监管强的项目仍可能适用。
  • 编译型语言不自动安全,解释型语言也不自动可控。

五、英文关键字

Compiled language Interpreted language OOP Waterfall Model Spiral Model Agile Scrum Kanban RAD XP SW-CMM SAMM BSIMM IDEAL

小测验

1. 项目需求经常变化,团队需要频繁交付可工作的软件,最符合哪种方法?

Agile 强调客户协作、快速交付和欢迎变化;工作软件是主要进度度量。

2. 哪种模型把瀑布式活动反复迭代,并特别适合风险驱动开发?

Spiral Model 通过多轮迭代处理风险、需求和实现。

3. SW-CMM 的最高阶段强调什么?

SW-CMM Optimizing 阶段强调持续改进、缺陷预防和变更管理。

本节进度

完成后会保存在当前浏览器。线上版可保存;不同手机、平板之间暂不自动同步。

尚未完成