软件工程概念、软件过程与 CMM
理解软件工程的概念与基本要素,掌握软件生存周期的基本过程、支持过程和组织过程,比较瀑布、增量、演化、螺旋、喷泉五种模型,了解项目过程的规划与监控,记住 CMM 五个等级与关键过程域。
本节导读
软件工程大纲分八个单元。本课用四节讲:本节讲第(一)、(二)单元,即软件工程概念与基本要素、软件过程(生存周期过程、生存周期模型、项目过程的规划与监控、CMM);第 23 节讲需求与结构化方法;第 24 节讲面向对象方法与建模;第 25 节讲测试、工程管理、质量保证和 CASE。大纲要求「重点掌握软件工程的基本概念和基本原理」。
常见资料提到这门课的题型有单项选择、判断、简答、建模。本节内容以概念为主,常见的考法是比较几种生存周期模型的特点和适用场合、说出 CMM 各级的特征和关键过程域。学完你应该能按「是什么、有什么特点、适用于什么情况」三层答出每种模型。
软件工程的概念与基本要素
20 世纪 60 年代,软件规模迅速扩大,出现了成本超支、进度拖延、质量低劣、难以维护等一系列问题,被称为软件危机。1968 年的一次国际会议正式提出「软件工程」一词,主张用工程化的方法开发软件。IEEE 的定义是:把系统化的、规范的、可度量的方法应用于软件的开发、运行和维护。
关于软件工程的基本要素,通行教材多把方法、工具和过程称为软件工程的三个要素:方法回答「怎样做」,提供技术手段;工具为方法提供自动或半自动的支持;过程把方法和工具结合起来,规定要完成哪些活动、按什么顺序、产生什么产品。不同教材的提法略有出入,答题时可以按所用教材的说法展开。
软件生存周期过程
软件生存周期过程回答「软件开发通常要做哪些工作、它们之间是什么关系」。按 ISO/IEC 12207 的划分:
| 类别 | 包含的过程 |
|---|---|
| 基本过程 | 获取、供应、开发、运行、维护 |
| 支持过程 | 文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决 |
| 组织过程 | 管理、基础设施、改进、培训 |
基本过程是软件生存周期的主体;支持过程穿插在其他过程中,为它们提供支持;组织过程在整个组织的层面上建立和改进过程。开发过程本身又包括需求分析、设计、编码、测试等活动。
软件生存周期模型
生存周期模型是定义过程的基准框架,规定各项活动按什么方式组织:
| 模型 | 主要特点 | 适用场合 |
|---|---|---|
| 瀑布模型 | 各阶段按固定顺序进行,前一阶段的文档是后一阶段的输入,每阶段结束要评审 | 需求明确、稳定的项目;缺点是可运行的产品出现得晚,后期改需求代价大 |
| 增量模型 | 把软件分成若干增量,先交付核心功能,再逐个增加 | 需要尽早交付部分功能、分批投入人力的项目 |
| 演化模型 | 先根据基本需求快速做出初始版本(原型),再根据用户反馈反复迭代改进 | 需求一开始说不清楚的项目 |
| 螺旋模型 | 每一圈都经过制定计划、风险分析、实施工程、客户评估四个象限,以风险驱动 | 规模大、风险高的项目;要求开发方有风险评估的能力 |
| 喷泉模型 | 面向对象,各阶段相互重叠、多次反复,阶段之间「无间隙」 | 面向对象的软件开发 |
原型有两种用法:抛弃型原型只用来弄清需求,之后丢掉重写;演化型原型在原型基础上逐步完善成最终产品。
项目过程的规划与监控
大纲把软件项目生存周期过程的管理分为三步。定义:从组织的标准过程出发,按项目特点裁剪出本项目的过程。规划:估算软件规模、工作量、成本和进度,安排人员,识别风险,形成项目计划。监控:按计划跟踪实际进展,在里程碑处评审,发现偏差就分析原因、采取纠正措施,必要时修改计划。
能力成熟度模型 CMM
CMM 由美国软件工程研究所(SEI)提出,用来评估和改进软件组织的过程能力,分五个等级:
本节后面还有约 1496 字:报名学员看全文
每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。
题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。
学完练一练
按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。
本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。