目录
一、信息系统生命周期
系统规划阶段
系统分析阶段(逻辑设计)
系统设计阶段(物理设计)
系统实施阶段
系统运行与维护阶段
二、能力成熟度模型(CMM/CMMI)
CMM 五级模型
CMMI 两种表示方法
真题示例:
三、软件过程模型
1. 瀑布模型(Waterfall Model)
2. 螺旋模型(Spiral Model)
3. V模型(V-Model)
4. 原型化模型(Prototype Model)
5. 增量模型(Incremental Model)
6. *喷泉模型(Fountain Model)
7. *基于构件的模型(CBSD)
真题示例:
一、信息系统生命周期

分为五个阶段,各阶段任务及输出如下:
-  
系统规划阶段
- 任务:初步调查组织环境与现行系统,确定信息系统发展战略,分析建设新系统的必要性和可行性。
 - 输出:可行性研究报告、系统设计任务书。
 
 -  
系统分析阶段(逻辑设计)
- 任务:详细调查现行系统,明确业务流程的局限性,提出新系统的逻辑模型(功能需求)。
 - 输出:系统说明书。
 
 -  
系统设计阶段(物理设计)
- 任务:根据逻辑模型设计技术方案(物理模型),分为概要设计和详细设计。
 - 输出:系统设计说明书。
 
 -  
系统实施阶段
- 任务:设备购置、编程、测试、人员培训、系统转换。
 - 输出:实施进展报告、系统测试分析报告。
 
 -  
系统运行与维护阶段
- 任务:系统维护、质量评价与优化。
 - 特点:持续改进,记录运行状态。
 
 
二、能力成熟度模型(CMM/CMMI)
CMM 五级模型
| 等级 | 特点 | 关键过程域(示例) | 
|---|---|---|
|   初始级 Initial Leve  | 过程混乱,依赖个人能力。 | 无 | 
|   可重复级 Repeatable Leve  | 基本项目管理(跟踪进度、成本)。 | 需求管理、项目计划、配置管理 | 
|   已定义级 Defined Level  | 过程标准化、文档化,组织级统一。 | 需求开发、技术解决方案、集成项目管理 | 
|   已管理级 Managed Level  | 定量控制过程与产品质量。 | 定量过程管理、组织过程性能 | 
|   优化级 Optimizing Level  | 持续改进,缺陷预防。 | 过程创新、因果分析 | 
CMMI 两种表示方法
- 阶段式模型:类似CMM,关注组织整体成熟度(5个等级)。
 
| 等级 | 名称 | 特点 | 关键过程域(示例) | 
|---|---|---|---|
| 1级 | 初始级 | 过程不可预测,依赖个人能力 | 无 | 
| 2级 | 已管理级 | 基本项目管理,可重复成功 | 需求管理、项目计划、配置管理 | 
| 3级 | 已定义级 | 过程标准化,组织级统一 | 需求开发、技术解决方案、集成项目管理 | 
| 4级 | 定量管理级 | 过程可度量,数据驱动决策 | 定量过程管理、组织过程性能 | 
| 5级 | 优化级 | 持续改进,缺陷预防 | 过程创新、因果分析 | 
- 连续式模型:关注单个过程域的能力等级(灵活性更高)。
 
真题示例:
( )是系统分析阶段结束后得到的工作产品,( )是系统测试阶段完成后的工作产品。
A. 系统设计规格说明 B. 系统方案建议书 C. 程序规格说明 D. 单元测试数据
A. 验收测试计划 B. 测试标准 C. 系统测试计划 D. 操作手册
-  
系统分析阶段的主要输出是系统方案建议书,它定义了系统需求、可行性分析和初步设计方案。
- 单元测试数据:属于单元测试阶段的产物。
 - 程序规格说明:属于详细设计或编码阶段的输出。
 - 系统设计规格说明:属于设计阶段的输出。
 
 -  
系统测试阶段完成后,通常需要交付操作手册,用于指导用户使用系统。
- 系统测试计划:属于测试规划阶段的文档。
 - 测试标准:属于测试设计阶段的文档。
 - 验收测试计划:属于验收测试前的准备工作。
 
 
以下关于CMM的叙述中,不正确的是()。
A. CMM是指软件过程能力成熟度模型
B. CMM根据软件过程的不同成熟度划分了5个等级,其中,1级被认为成熟度最高,5级被认为成熟度最低
C. CMMI的任务是将已有的几个CMM模型结合在一起,使之构造成为“集成模型”
D. 采用更成熟的CMM模型,一般来说可以提高最终产品的质量
- CMM的5个等级中,1级(初始级)成熟度最低,5级(优化级)成熟度最高。 
- CMM全称是"软件过程能力成熟度模型"。
 - CMMI整合了多个CMM模型(如软件CMM、系统工程CMM等),形成统一框架。
 - 更成熟的CMM等级(如4级、5级)通常能提高产品质量。
 
 
三、软件过程模型

1. 瀑布模型(Waterfall Model)
- 特点: 
- 线性阶段(需求→设计→编码→测试),每个阶段需严格评审。
 - 适用于需求明确、变更少的项目。
 
 - 缺点: 
- 难以应对需求变更,后期修改成本高。
 
 - 关键输出: 
- 各阶段文档(如需求说明书、设计文档、测试报告)。
 
 

2. 螺旋模型(Spiral Model)
- 特点: 
- 结合迭代开发与风险管理,每轮循环包含:
计划 → 风险分析 → 实施 → 客户评估。 - 适用于高风险、复杂系统(如大型软件)。
 
 - 结合迭代开发与风险管理,每轮循环包含:
 - 优点: 
- 通过风险分析降低项目失败概率。
 
 - 不适用场景: 
- 小型或需求简单的项目(成本过高)。
 
 

3. V模型(V-Model)
- 特点: 
- 开发与测试对应(如单元测试↔编码,系统测试↔概要设计)。
 - 强调早期测试,适用于需求明确且稳定的项目。
 
 - 阶段对应关系: 
- 需求分析 ↔ 验收测试
 - 概要设计 ↔ 系统测试
 - 详细设计 ↔ 集成测试
 - 编码 ↔ 单元测试
 
 
4. 原型化模型(Prototype Model)
- 特点: 
- 快速构建原型,通过用户反馈逐步明确需求。
 - 适用于需求不明确或快速验证的场景。
 
 - 优点: 
- 减少需求误解,提高用户满意度。
 
 - 缺点: 
- 原型可能被误用为最终产品(需明确界限)。
 
 

5. 增量模型(Incremental Model)
- 特点: 
- 分模块交付,高优先级功能先开发,每次增量均为可运行版本。
 - 适用于需求可模块化且需快速交付部分功能的项目。
 
 - 与原型区别: 
- 增量版本是完整功能,原型仅用于演示。
 
 
6. *喷泉模型(Fountain Model)
- 特点: 
- 面向对象开发,活动迭代无间隙(如分析、设计可交叉进行)。
 - 适用于敏捷开发或需求频繁变更的项目。
 
 
7. *基于构件的模型(CBSD)
- 特点: 
- 复用已有构件,降低开发成本,提高可靠性。
 - 需建立构件库,适合有大量可复用组件的组织。
 
 
8.*形式化方法模型
- 特点 
- 建立在严格数学基础上的一种软件开发方法,主要活动是生成计算机软件形式化的数学规格说明。
 
 
真题示例:
假设某软件公司与客户签订合同开发一个软件系统,系统的功能有较清晰的定义,且客户对交付时间有严格要求,则该系统的开发最适宜采用______。
A. 瀑布模型 B. 原型模型 C. V模型 D. 螺旋模型
- 系统功能有较清晰的定义:说明需求明确,不需要频繁变更或探索。
 - 交付时间有严格要求:需要可预测的开发周期和明确的阶段划分。
 
- 模型特点对比: 
- 瀑布模型:适用于需求明确、变更少的场景,阶段严格且线性推进,能较好控制交付时间。
 - 原型模型:适用于需求不明确、需要快速验证的场景,但可能因反复修改影响交付时间。
 - V模型:是瀑布模型的变种,强调测试与开发的对应关系,适合需求明确的场景。
 - 螺旋模型:强调风险分析和迭代开发,适合高风险或需求不稳定的项目,但周期难以严格把控。
 
 
以下关于螺旋模型的叙述中,不正确的是()
A. 它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验
B. 它可以降低过多测试或测试不足带来的风险
C. 它包含维护周期,因此维护和开发之间没有本质区别
D. 它不适用于大型软件开发
- 风险驱动:核心是通过迭代识别和化解风险,需开发人员具备风险评估能力。
 - 测试风险控制:迭代中持续测试可平衡测试不足或过度的问题。
 - 螺旋模型包含维护周期。
 - 适用规模:螺旋模型特别适合高风险、高成本的大型项目(如军工、航天)。