《软件设计师》复习笔记(11.1)——生命周期、CMM、开发模型

目录

一、信息系统生命周期

系统规划阶段

系统分析阶段(逻辑设计)

系统设计阶段(物理设计)

系统实施阶段

系统运行与维护阶段

二、能力成熟度模型(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. 操作手册

  1. 系统分析阶段的主要输出是系统方案建议书,它定义了系统需求、可行性分析和初步设计方案。

    • 单元测试数据:属于单元测试阶段的产物。
    • 程序规格说明:属于详细设计或编码阶段的输出。
    • 系统设计规格说明:属于设计阶段的输出。
  2. 系统测试阶段完成后,通常需要交付操作手册,用于指导用户使用系统。

    • 系统测试计划:属于测试规划阶段的文档。
    • 测试标准:属于测试设计阶段的文档。
    • 验收测试计划:属于验收测试前的准备工作。

以下关于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. 螺旋模型

  1. 系统功能有较清晰的定义:说明需求明确,不需要频繁变更或探索。
  2. 交付时间有严格要求:需要可预测的开发周期和明确的阶段划分。
  1. 模型特点对比
    • 瀑布模型:适用于需求明确、变更少的场景,阶段严格且线性推进,能较好控制交付时间。
    • 原型模型:适用于需求不明确、需要快速验证的场景,但可能因反复修改影响交付时间。
    • V模型:是瀑布模型的变种,强调测试与开发的对应关系,适合需求明确的场景。
    • 螺旋模型:强调风险分析和迭代开发,适合高风险或需求不稳定的项目,但周期难以严格把控。

以下关于螺旋模型的叙述中,不正确的是()

A. 它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验

B. 它可以降低过多测试或测试不足带来的风险

C. 它包含维护周期,因此维护和开发之间没有本质区别

D. 它不适用于大型软件开发

  1. 风险驱动:核心是通过迭代识别和化解风险,需开发人员具备风险评估能力。
  2. 测试风险控制:迭代中持续测试可平衡测试不足或过度的问题。
  3. 螺旋模型包含维护周期。
  4. 适用规模:螺旋模型特别适合高风险、高成本的大型项目(如军工、航天)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.67g 雨晨 22635.5305 Windows 11 企业版 23H2 极速增强版

五一特别制作 (主要更新简述) 全程由最新YCDISM2025装载制作 1、可选功能: 添加: Microsoft-Windows-LanguageFeatures-Basic-en-us-Package Microsoft-Windows-LanguageFeatures-OCR-en-us-Package 2、功能增强&a…

爬虫逆向思维

爬虫逆向思维是指从目标网站的反爬机制入手,通过分析其防护逻辑来突破限制,获取数据的思路。以下是核心要点: 核心方向 - 分析反爬手段:如请求头校验、IP封禁、验证码、动态数据加密等。 - 模拟真实行为:伪造浏览器指…

手撕哈希表

引入:unordered_set /map是什么? 库里面除开set和map,还有unordered_set 和 unordered_map,区别在于: ①:set和map的底层结构是红黑树,而unordered_set和unordered_map的底层是哈希表 ②&…

基于Docker的内网穿透实战:frp 0.68 + Nginx最佳实践

在实际应用中,我们常常遇到这样的需求: 家里的NAS服务器、开发环境、测试服务,需要暴露到公网访问 企业内部系统,仅允许在特定域名或端口暴露,但没有公网IP 多个内网应用,希望通过一个统一的外网入口访问…

完美中国制度流程体系建设(70页PPT)(文末有下载方式)

资料解读:《完美中国制度流程体系建设》 详细资料请看本解读文章的最后内容。 该文档围绕完美中国制度流程体系建设展开,从风险管理流程等前期工作切入,全面剖析企业制度流程体系框架,结合案例指出常见问题,评估完美公…

计算机组成原理实验(5) 堆栈寄存器实验

实验五 堆栈寄存器实验 一、实验目的 1、熟悉堆栈概念 2、熟悉堆栈寄存器的组成和硬件电路 二、实验要求 按照实验步骤完成实验项目,对4个堆栈寄存器进行读出、写入数据操作。 三、实验说明 3.1 堆栈寄存器组实验构成(图3-1) 本系统…

RAGFlow报错:ESConnection.sql got exception

环境: Ragflowv0.17.2 问题描述: RAGFlow报错:ESConnection.sql got exception _ming_cheng_tks, 浙江, operatorOR;minimum_should_match30%) 2025-04-25 15:55:06,862 INFO 244867 POST http://localhost:1200/_sql?formatjson […

鼠标滚动字体缩放

在VsCode中编辑文件时,有时候发现Ctrl鼠标滚轮并不能缩放字体,下面是启用这个功能的方法。 第一步: 进入设置,可以从左下角按钮菜单进入,也可以使用【Ctrl,】。 第二步: 启用鼠标滚轮缩放功能 第三步&…

深度学习·经典模型·VisionTransformer

VIT embedding处理与标准的Transformer不同,其他基本一致 Embedding Graph: ( H , W , C ) (H,W,C) (H,W,C) Patch: ( N , P 2 C ) (N,P^2C) (N,P2C),其中 N H ∗ W P 2 N\frac{H*W}{P^2} NP2H∗W​, P P P是patch的大小 注意的是,论文了保留与Bert的…

Python Selenium 完全指南:从入门到精通

Python Selenium 完全指南:从入门到精通 📚 目录 环境准备与基础入门元素定位与交互操作等待机制与异常处理面向对象封装与框架设计进阶技巧与最佳实践性能优化与调试技巧实战案例分析 环境准备与基础入门 1. 安装 Selenium 与浏览器驱动 安装 Selen…

基于ffmpeg的音视频编码

1 音频编码 本质上是由pcm文件转到一个协议文件 比如说aac协议 1.1 音频基本知识回归 比特率 比特率是指单位时间内传输或处理的比特(bit)数量,通常用 bps(bits per second,比特每秒)来表示。它是衡量数…

BT137-ASEMI机器人功率器件专用BT137

编辑:LL BT137-ASEMI机器人功率器件专用BT137 型号:BT137 品牌:ASEMI 封装:TO-220F 批号:最新 引脚数量:3 封装尺寸:如图 特性:双向可控硅 工作结温:-40℃~150℃…

攻防世界 dice_game

dice_game ​​​​​​dice_game (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file game game: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]254…

Astral Ascent 星界战士(星座上升) [DLC 解锁] [Steam] [Windows SteamOS macOS]

Astral Ascent 星界战士(星座上升) [DLC 解锁] [Steam] [Windows & SteamOS & macOS] 需要有游戏正版基础本体,安装路径不能带有中文,或其它非常规拉丁字符; DLC 版本 至最新全部 DLC 后续可能无法及时更新文章…

git中reset和checkout的用法

git reset:重置分支的历史与工作区​ 核心作用​​:移动当前分支的指针(即改变分支的历史),并可选地修改暂存区(Index)和工作目录(Working Directory)。常用于撤销提交或…

权限提升—Linux提权内核溢出漏洞辅助项目

前言 今天开启Linux提权的篇章,主要是讲一下Linux的内核漏洞提权,利用方式和Windows系统漏洞提权差不多,也是网上的项目扫一下,然后根据漏洞编号去找exp即可。 信息收集 首先要说一下Linux用户的权限划分。 系统用户&#xff…

React Native Redux 使用指南 redux-toolkit

React Native Redux 使用指南 redux-toolkit 一个可预测和可维护的全局状态管理 JavaScript 库 Redux 和 React-Redux以及**reduxjs/toolkit 的关系:** Redux、React-Redux、reduxjs/toolkit 是 React 生态中状态管理的「黄金三角组合」,它们的关系可…

JVM——Java 虚拟机是如何加载 Java 类的?

引入 在 Java 世界的底层运作中,类加载机制扮演着一个既神秘又关键的角色。它就像是一个精心设计的舞台幕后 machinery,确保了 Java 程序能够顺利运行。今天,我们就深入探索 Java 虚拟机(JVM)是如何加载 Java 类的。 …

清华团队提出时序聚类数据库内高效方案,已被SIGMOD 2025接收

时间序列聚类是挖掘物联网等场景下频繁模式的关键技术,但现有SOTA方法(如K-Shape)面临两大瓶颈:1)传统数据库因LSM-Tree存储导致时间戳无序,难以直接支持高效聚类;2)跨时间范围查询需…

【阿里云大模型高级工程师ACP学习笔记】2.8 部署模型

一、学习目标 特别说明:这一章节是2025年3月官方重点更新的部分,几乎对内容重新翻新改造了一遍,重点突出了对于如何结合不同的阿里云产品来部署大模型进行了更加详细的介绍和对比,这里整理给大家,方便大家参考。 在备考阿里云大模型高级工程师ACP认证的过程中,学习《2.8 …