Appearance
考点清单
- [x] 基于构件的软件工程(CBSE)理念
- [x] 构件特征(可组装/可部署/文档化/独立/标准化)+ 模型要素
- [x] CBS 开发过程与组装方式
- [x] 进度管理(Gantt 图/PERT 图/关键路径法 / ES-EF-LS-LF)
- [x] 浮动时间(总浮动/自由浮动)
- [x] 软件配置管理(配置项/基线/版本号/CMO)
- [x] 质量管理(质量规划/质量保证/质量控制)
- [x] 风险管理(识别/定性定量分析/应对/项目+技术+商业风险)
笔记
一、基于构件的软件工程(CBSE)★
核心理念:"购买而不是重新构造",将开发重点从编写新代码转移到基于已有构件的组装。
CBSE 过程:
- 系统需求概览 → 2. 识别候选构件 → 3. 根据构件修改需求 → 4. 体系结构设计 → 5. 构件定制与适配 → 6. 组装构件创建系统
CBS 与传统过程的不同点:
| 不同点 | 说明 |
|---|---|
| 早期需要完整需求 | 便于尽可能多地识别可复用构件 |
| 根据构件细化需求 | 如果可用构件不满足需求,考虑由复用构件支持的相关需求 |
| 设计完成后进一步搜索构件 | 在系统体系结构设计完成后,进一步搜索和设计精化构件 |
| 开发即组装 | 开发过程就是将找到的构件集成在一起 |
二、构件特征与组装
构件五大特征: 可组装性(公开接口)、可部署性(自包含)、文档化、独立性、标准化。
构件模型三要素: 接口、使用信息(全局唯一标识符)、部署。
三种组装方式: 顺序组装、层次组装、叠加组装。
三类不兼容问题: 参数不兼容、操作不兼容、操作不完备 → 编写适配器解决。
三、进度管理 ★
进度管理六过程
活动定义 → 活动排序 → 活动资源估算 → 活动历时估算 → 进度计划编制 → 进度控制。
Gantt 图 vs PERT 图
| 对比 | Gantt 图(甘特图) | PERT 图 |
|---|---|---|
| 反映并行关系 | 能 | 不能 |
| 反映依赖关系 | 不能 | 能 |
关键路径法(CPM)★
关键路径:项目的最短工期,但却是从开始到结束时间最长的路径。关键路径可能不止一条且会动态变化。关键活动:最早开始时间 = 最晚开始时间。
四个关键时间:
| 时间 | 全称 | 计算 |
|---|---|---|
| ES(最早开始) | Earliest Start | 顺推:所有前置活动 EF 的最大值 |
| EF(最早完成) | Earliest Finish | EF = ES + 工期 |
| LF(最迟完成) | Latest Finish | 逆推:所有后续活动 LS 的最小值 |
| LS(最迟开始) | Latest Start | LS = LF - 工期 |
浮动时间:
| 类型 | 公式 | 说明 |
|---|---|---|
| 总浮动时间 | LS - ES 或 LF - EF | 不延误项目完工时间的前提下可推迟的时间量 |
| 自由浮动时间 | 紧后活动 ES 的最小值 - 本活动 EF | 不延误任何紧后活动最早开始时间 |
关键活动的总浮动时间为零。
四、软件配置管理 ★
配置管理目的:在整个生命周期中系统地控制配置变更,维持配置的完整性和可跟踪性。
六大活动:制订配置管理计划 → 配置标识 → 配置控制 → 配置状态报告 → 配置审计 → 发布管理和交付。
配置项:为配置管理设计的硬件/软件或其集合。典型:项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行数据。经评审和检查通过后进入配置管理。
配置项分类:
| 类型 | 内容 | 权限 |
|---|---|---|
| 基线配置项 | 设计文档、源程序等 | 向开发人员开放读取 |
| 非基线配置项 | 项目计划、报告等 | 向 PM、CCB 及相关人员开放 |
所有配置项操作权限由 CMO(配置管理员) 严格管理。
配置项三种状态:
| 状态 | 触发条件 | 版本号格式 |
|---|---|---|
| 草稿 | 刚建立 | 0.YZ(YZ 递增) |
| 正式 | 通过评审 | X.Y(第一次为 1.0) |
| 修改 | 更改配置项 | X.YZ(修改时只增大 Z,完成后 Z=0,增大 XY) |
五、质量管理
质量是软件产品满足明确(基本需求)或隐含(期望需求)要求的能力。
| 过程 | 说明 |
|---|---|
| 质量规划 | 识别质量要求和标准,书面描述如何达到 |
| 质量保证 | 每隔一定时间通过质量审计(软件评审)和过程分析来保证 |
| 质量控制 | 实时监控具体结果,判断是否符合质量标准,消除问题原因 |
六、风险管理 ★
风险管理能避开不利条件、减少损失,但完全避开或消除风险是不可能的。
六大过程:
| 过程 | 内容 |
|---|---|
| 风险管理计划编制 | 安排如何实施风险管理 |
| 风险识别 | 识别已知和可预测风险,形成风险列表 |
| 风险定性分析 | 排序、确定可能性和影响、优先级、类型 |
| 风险定量分析 | 灵敏度分析、期望货币价值分析、决策树分析、蒙特卡罗模拟 |
| 风险应对计划 | 消极风险(避免/转移/减轻);积极风险(开拓/分享/强大) |
| 风险监控 | 监控执行、检测残余风险、识别新风险 |
宏观三类风险:
| 类型 | 威胁对象 | 示例 |
|---|---|---|
| 项目风险 | 项目计划 | 预算、进度、人员、资源、用户需求问题 |
| 技术风险 | 质量和交付时间 | 设计/实现/接口问题、规格说明多义性、技术不确定性 |
| 商业风险 | 系统生存能力 | 市场风险、策略风险、销售风险、管理风险、预算风险 |