6.1 进度管理:甘特图与关键路径
"哪个任务卡脖子、整个项目最早什么时候完"——关键路径的作用。
- 甘特图(Gantt)——横轴时间、纵轴任务,用条形表示各任务的起止与进度。 直观展示"谁在什么时候干什么",但不易表达任务间的依赖关系。
- 关键路径——项目网络图中耗时最长的那条路径;它的长度决定项目最短工期。 关键路径上的任务延迟一天,整个项目就晚一天。
简单例子(任务与工期): A(3天) → B(2天) → D(4天) 路径时长 = 3+2+4 = 9 天 A(3天) → C(1天) → D(4天) 路径时长 = 3+1+4 = 8 天 关键路径 = A→B→D(9 天),项目最短工期 9 天。 C 有 1 天的机动时间(浮动时间);B 延迟一天项目即延迟。
课堂练习(2 题)
- 关键路径的定义是什么?它决定什么? 答:网络图中耗时最长的路径;它决定项目的最短总工期。
- 甘特图适合展示什么?不适合什么? 答:适合展示各任务的时间安排和进度;不适合表达任务间的依赖与关键路径。
6.2 成本估算与风险管理
名字与用途对上号即可。
- COCOMO 模型——按代码规模(如 KLOC 千行代码)估算工作量和成本的经典模型(了解)。
- 成本估算难点:软件是逻辑产品,没有"料"可数,只能靠历史数据类比、经验模型。
- 风险——项目可能出岔子的事(需求变更、人员流失、技术不成熟)。 风险管理的步骤:识别 → 评估 → 应对计划(规避/转移/减轻/接受)→ 监控。
- 进度安排基本原则:任务分解、预留缓冲、里程碑检查。
课堂练习(2 题)
- COCOMO 模型主要依据什么估算成本? 答:代码规模(千行代码 KLOC)等项目特征。
- 风险管理的第一步是什么? 答:风险识别(找出可能出问题的地方)。
6.3 配置管理:团队协作的基石
"版本乱、改重了、找不回昨天能跑的代码"——配置管理治这些病。
- 配置项——纳入管理的所有产出物:源代码、文档、数据、脚本等。
- 基线(Baseline)——通过评审后"冻结"的配置项版本;基线变更是受控的(要走变更流程)。
- 版本控制——记录每次修改,能追溯、能回退(SVN、Git 是工具)。
- 变更控制——所有变更必须经过申请→评估→批准→实施→验证的流程,防止随意改动。
一句话
- 配置管理管三件事:管版本(记录)、管基线(冻结)、管变更(审批)。
课堂练习(2 题)
- 什么是基线?基线上的变更能随便改吗? 答:基线是通过评审后确定下来的配置项版本;其变更必须走正式的变更控制流程,不能随意修改。
- Git 属于配置管理里的哪一类工具? 答:版本控制工具。
6.4 软件文档与标准
"哪种文档给谁看"的配对题 + 国家标准名称。
| 文档类别 | 给谁看 | 例子 |
|---|---|---|
| 开发文档 | 开发人员 | 需求规格说明书、设计说明书、测试报告 |
| 管理文档 | 管理人员 | 项目计划、开发进度月报、开发总结 |
| 用户文档 | 使用者/运维 | 用户手册、操作指南、安装说明 |
- 我国软件文档的国家标准是 GB/T 8567(《计算机软件文档编制规范》),规定了各文档的编制要求。
- 软件质量特性(ISO 9126 口径,了解):功能性、可靠性、易用性、效率、可维护性、可移植性。
课堂练习(2 题)
- 用户手册属于哪一类软件文档? 答:用户文档。
- 软件质量特性包含哪六个方面(ISO 9126)? 答:功能性、可靠性、易用性、效率、可维护性、可移植性。
6.5 本章小结与全册自查
软件工程收尾:把最常考的十件事过一遍。
- 三要素:方法、工具、过程;
- 需求分析管"做什么"(产 SRS),设计管"怎么做";
- 带风险分析的模型是螺旋;拥抱变化的是敏捷;
- DFD 四要素:外部实体、加工、数据存储、数据流;子图与父图平衡;
- 耦合七级(非数标控外公内)越低越好;内聚七级(功顺通、过时逻偶)越高越好;
- 测试目的是发现错误,不能证明无错;用例 = 输入 + 预期输出;
- 黑盒:等价类、边界值(0、1、100、101 记法);白盒:路径覆盖最强;
- 测试顺序:单元 → 集成 → 确认 → 系统;
- 维护四类中完善性维护占比最大;
- McCabe:V(G) = E − N + 2 = 判定数 + 1。
综合自查(5 题)
- 需求规格说明书属于哪类文档?在哪个阶段产出? 答:开发文档;需求分析阶段。
- 一个流程图有 5 个判定点,圈复杂度是多少?至少需要几个测试用例覆盖独立路径? 答:V(G) = 5 + 1 = 6;至少 6 个。
- 传整张表只用一部分的耦合、传开关参数的耦合分别叫什么? 答:前者是标记(特征)耦合;后者是控制耦合。
- 输入年龄范围 18~60,边界值测试取哪些值? 答:17、18、19、59、60、61。
- 用户在使用现场发现程序算错金额后提交修改,这属于哪类维护?如果是要求新增统计报表呢? 答:前者是改正性维护;后者是完善性维护。