软件工程(六)

参考资料:

软件项目估算(一) - 知乎

\N

软件配置管理核心概念全流程与计划制定指南-开发者社区-阿里云

项目风险主要包含哪些?如何精准管控? - 知乎

第 05 章:团队开发管理 - 软件项目估算 - 《软件工程 Software Engineering》 - 极客文档


目录

软件工程(六)

4.6 软件项目管理

4.6.1 软件项目估算

估算方法

规模估算

代码行 (LOC)

功能点 (FP)

静态单变量模型

工作量与成本估算模型

动态多变量模型

经典估算模型COCOMO模型(构造性成本模型)

基本型 COCOMO

中间型 COCOMO

详细型 COCOMO

4.6.2 软件项目进度管理(核心计算区)

进度计划工具

甘特图

PERT图(计划评审技术) / 网络图

关键路径法 (CPM)

敏捷进度跟踪

4.6.3 软件项目风险管理

风险识别(常见风险分类)

项目风险(预算、进度、人员流失)

产品风险(需求不明确、技术不成熟、性能不达标)

商业风险(市场变化、竞争对手发布新产品)

风险评估计算

风险缓解的三大基本策略

规避

转移

接受

4.6.4 软件配置管理 (SCM)

配置项

配置基线

版本控制

变更控制流程


4.6 软件项目管理

4.6.1 软件项目估算

估算方法

规模估算
代码行 (LOC)

直接估算源代码行数。缺点是早期很难准确预测代码行数,且不适用于非编程工作量。

功能点 (FP)

基于软件系统的功能复杂度和数据复杂度来估算。优点:不依赖于编程语言,在需求阶段就能估算。

静态单变量模型

 

工作量与成本估算模型
动态多变量模型

如 Putnam 模型(基于人力分配与开发时间的非线性关系)。

经典估算模型COCOMO模型(构造性成本模型)

  • PMnominal:代表工作量,以人月为单位;
  • A:是工作量调整因子;
  • B:是规模调整因子;
  • Size:代表软件规模,单位是千行代码或功能点数;
基本型 COCOMO

仅考虑代码行数,粗略估算。

中间型 COCOMO

在代码行基础上,引入了 15个成本驱动因子(如产品复杂性、程序员能力、开发期限等)进行微调。

详细型 COCOMO

针对不同模块分别估算,最精确。

4.6.2 软件项目进度管理(核心计算区)

进度计划工具
甘特图

干货!什么是甘特图?怎么画甘特图?一文看懂甘特图所有问题 - 知乎

直观显示任务的时间跨度,缺点是无法清晰表达任务间的依赖关系。

PERT图(计划评审技术) / 网络图

项目管理思维地图—PERT网络分析法(第八十七章) - 知乎

用节点表示任务,箭头表示依赖关系,是计算进度的核心工具。

关键路径法 (CPM)

优思学院:一文看懂”关键路径方法CPM” - 知乎

关键路径:项目网络图中,耗时最长的那条路径

关键任务:关键路径上的任务称为关键任务。

关键路径上的任务总时差(浮动时间)为 0。关键路径的长度决定了项目的最短完工时间。

压缩进度:要想缩短项目总工期,必须去压缩关键路径上的任务(如赶工、快速跟进)。

敏捷进度跟踪

燃尽图

燃尽图是什么?通过燃尽图看项目管理流程(燃尽图类型全解析) - 知乎

横轴是时间(如Sprint的天数),纵轴是剩余工作量,理想曲线是一条从左上到右下的斜线。

如果实际线(蓝色)在理想线(灰色)上方,说明进度落后。

4.6.3 软件项目风险管理

风险识别(常见风险分类)

项目风险(预算、进度、人员流失)。
产品风险(需求不明确、技术不成熟、性能不达标)。
商业风险(市场变化、竞争对手发布新产品)。
风险评估计算

风险暴露 = 风险发生概率 * 风险造成的损失。

风险缓解的三大基本策略
规避

修改计划以消除风险(如:使用不熟悉的技术有风险,改用成熟技术)。

转移

将风险转给第三方(如:购买保险,或把难点模块外包给专业公司)。

接受

准备好应急计划,风险发生时去处理(如:核心员工离职风险,平时做好文档和代码交叉评审)。

4.6.4 软件配置管理 (SCM)

注:配置管理是软件工程独有的重点,用来管“混乱的变更”。

配置项

软件生命周期中产生的所有需要纳入控制的产物

(不仅是代码,还包括需求文档、设计文档、测试脚本、甚至编译器版本)。

配置基线

经过正式评审和批准的产品规格或代码,作为后续开发的基准。

基线一旦建立,修改必须走正式的“变更控制流程”。

版本控制

管理配置项的不同版本演变历史(如 Git 中的 branch、tag)。

变更控制流程

提出变更申请 -> 评估变更影响(CCB变更控制委员会审批) -> 实施变更 -> 验证变更 -> 发布新版本。

变更评估

变更拒绝

变更实现

Logo

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

更多推荐