软件项目管理 - 软考备战(二十八)
软件工程(六)

参考资料:
软件配置管理核心概念全流程与计划制定指南-开发者社区-阿里云
第 05 章:团队开发管理 - 软件项目估算 - 《软件工程 Software Engineering》 - 极客文档
目录
4.6 软件项目管理
4.6.1 软件项目估算

估算方法

规模估算
代码行 (LOC)
直接估算源代码行数。缺点是早期很难准确预测代码行数,且不适用于非编程工作量。
功能点 (FP)
基于软件系统的功能复杂度和数据复杂度来估算。优点:不依赖于编程语言,在需求阶段就能估算。
静态单变量模型
![]()
工作量与成本估算模型
动态多变量模型
如 Putnam 模型(基于人力分配与开发时间的非线性关系)。
经典估算模型COCOMO模型(构造性成本模型)

- PMnominal:代表工作量,以人月为单位;
- A:是工作量调整因子;
- B:是规模调整因子;
- Size:代表软件规模,单位是千行代码或功能点数;
基本型 COCOMO
仅考虑代码行数,粗略估算。
中间型 COCOMO
在代码行基础上,引入了 15个成本驱动因子(如产品复杂性、程序员能力、开发期限等)进行微调。
详细型 COCOMO
针对不同模块分别估算,最精确。

4.6.2 软件项目进度管理(核心计算区)
进度计划工具
甘特图
干货!什么是甘特图?怎么画甘特图?一文看懂甘特图所有问题 - 知乎
直观显示任务的时间跨度,缺点是无法清晰表达任务间的依赖关系。

PERT图(计划评审技术) / 网络图
项目管理思维地图—PERT网络分析法(第八十七章) - 知乎
用节点表示任务,箭头表示依赖关系,是计算进度的核心工具。

关键路径法 (CPM)
关键路径:项目网络图中,耗时最长的那条路径。
关键任务:关键路径上的任务称为关键任务。

关键路径上的任务总时差(浮动时间)为 0。关键路径的长度决定了项目的最短完工时间。
压缩进度:要想缩短项目总工期,必须去压缩关键路径上的任务(如赶工、快速跟进)。
敏捷进度跟踪
燃尽图
燃尽图是什么?通过燃尽图看项目管理流程(燃尽图类型全解析) - 知乎

横轴是时间(如Sprint的天数),纵轴是剩余工作量,理想曲线是一条从左上到右下的斜线。
如果实际线(蓝色)在理想线(灰色)上方,说明进度落后。
4.6.3 软件项目风险管理
风险识别(常见风险分类)

项目风险(预算、进度、人员流失)。
产品风险(需求不明确、技术不成熟、性能不达标)。
商业风险(市场变化、竞争对手发布新产品)。
风险评估计算
风险暴露 = 风险发生概率 * 风险造成的损失。
风险缓解的三大基本策略
规避
修改计划以消除风险(如:使用不熟悉的技术有风险,改用成熟技术)。
转移
将风险转给第三方(如:购买保险,或把难点模块外包给专业公司)。
接受
准备好应急计划,风险发生时去处理(如:核心员工离职风险,平时做好文档和代码交叉评审)。
4.6.4 软件配置管理 (SCM)

注:配置管理是软件工程独有的重点,用来管“混乱的变更”。
配置项
软件生命周期中产生的所有需要纳入控制的产物

(不仅是代码,还包括需求文档、设计文档、测试脚本、甚至编译器版本)。
配置基线
经过正式评审和批准的产品规格或代码,作为后续开发的基准。

基线一旦建立,修改必须走正式的“变更控制流程”。
版本控制
管理配置项的不同版本演变历史(如 Git 中的 branch、tag)。
变更控制流程
提出变更申请 -> 评估变更影响(CCB变更控制委员会审批) -> 实施变更 -> 验证变更 -> 发布新版本。
变更评估

变更拒绝

变更实现

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)