项目管理
项目管理
1 盈亏平衡分析
正常情况下:销售额 = 固定成本 + 可变成本 + 税费 + 利润
盈亏平衡时:销售额 = 固定成本 + 可变成本 + 税费
其中 可变成本和税费都与销售额相关
例:
卖了20000台电脑,每台售价2500,固定成本240万,可变成本3000万,税率16%,计算从多少台开始盈利
每台电脑的可变成本
$$
30000000/20000 = 1500
$$
按照盈亏平衡的公式
$$
2500x = 2400000 + 1500x + 0.16*2500x
$$
2 进度管理
为了确保项目暗器完成所需要的管理过程
流程:
- 活动定义()
- 活动排序(判断串、并行任务)
- 活动资源估算(多少人日)
- 活动历时估算(具体天数)
- 制定进度计划(关键路径法)
- 进度控制
2.1 WBS分解
归属于范围管理的内容,属于进度管理的前置工作
将一个软件系统做拆解成多个子系统,每个子系统又进一步拆解为模块
基本要求:
- WBS工作包的工作包是可控可管理的,不能过于复杂(工作量在8~80小时之间)
- 任务分解不能过细,一般树形结构不超过6层
- 每个工作包都要有一个交付成果
- 每个任务必须有明确定义的完成标准
- WBS必须有利于责任分配
2.2 关键路径法
关键路径法是在制定进度计划时使用的一种进度网络分析技术,不考虑资源限制,计算出理论上的最早开始日期和完成日期、最迟开始日期和完成日期
关键路径长度 = 项目最短工期
关键路径 = 最长路径 ,可以理解为一个项目有多个路径,最长(最耗时)的这个完成了,其他肯定也完成了
关键路径上的所有节点都是关键节点,需要重点管控
2.2.1 单代号网络图(PDM)
把整个项目的活动,用活动代号代替,绘制出一个网络图,每个节点结构:

其中,
ES:最早开始时间
EF:最早完成时间
LS:最晚开始时间
LF:最晚开始时间
持续时间:这个活动的耗时,ES + 持续时间 = EF, LS+持续时间 = LF
总时差:也叫松弛时间,值等于 LS-ES 或者 LF - EF。代表在不影响项目进度的情况下,最多可以延迟多少天开工(机动时间)
一般题目会给出每个活动的耗时和依赖关系
例题1:

其推理流程如下
画出网络图,标注持续时间

按照紧前任务(依赖关系),画出任务顺序

最早开始时间,取决于前置任务的最晚完成时间,最早开始时间+耗时= 最早完成时间

以最大的最早完成时间作为基准,即认为 终点活动(E和F)的最晚完成时间 = 最大的最早完成时间(14),反向推出在不影响进度的情况下各个互动的最晚开始时间

计算出时差,即最晚结束时间 - 最早结束时间 或者 最晚开始时间 - 最早开始时间

题目求D的时差,答案为 2
例题2:

题目求 最少需要费用和此费用下的天数
共需直接费用 = 10 + 15 + 12 + 18 = 55
根据紧前作业,排出任务路径和所需天数分别为
- A(3) -> C(4) -> D(5) 12天(最长路径即关键路径)
- A (3)-> B(7) 10天
此时费用为 12 * 5 + 55= 115
求最少费用,即在压缩 关键路径 节点上的进度,减少整体工期,以此减少工程的间接费用,由表格可知每个节点赶工增加的直接费用都小于5万,所以每个节点都要考虑
尝试压缩关键路径ACD,压缩2天(压缩3天会改变关键路径,所以先压缩2天)
从表里得知,D增加的费用最低,先尝试压缩D,压缩2天后,此时
- A(3) -> C(4) -> D(3) 10天 (关键路径)
- A(3) -> B(7) 10天(关键路径)
此时费用为 115 - 2 *(5-2)= 109
此时,两条路径都是关键路径,要节省费用的话,需要减少关键路径的长度,即两条都要压缩
由表可知 B的赶工费用 + D的赶工费用 小于 5,所以可以同时压缩这两个节点,但是D前面已经压缩过2天了,只剩下一天,所以只能同时压缩 B 和 D 一天
此时
- A(3) -> C(4) -> D(2) 9天
- A(3) -> B(6) 9天
费用为:109 - 1*(5-2-2) = 108
由于A节点是两个路径的共同点,压缩该节点可以同时减少2个路径的耗时,A可以压缩2天
- A(1) -> C(4) -> D(2) 7天
- A(1) -> B(6) 7天
费用为 108 - 2*(5-4) = 106
到了这一步后,A和D都已经无法再压缩了,如果还想减少耗时的话,需要同时压缩B和C,但是每天B+C的直接费用 2+4 大于 工程每天的间接费用5,压缩耗时会导致费用增加,与题目不符
所以答案为106万,7天
2.2.2 甘特图(Gantt)

优点:直观、简单、容易制造、便于理解、清晰、适用于小型项目
缺点:不能系统的表达一个项目所包含的各个工作之间的复杂关系、难以计算和优化
3 软件质量管理
3.1 质量因素
3.1.1 产品修改
- 可理解性:看得懂吗
- 可维修性:能修复吗
- 灵活性:能改变吗
- 可测试性:能测试吗
3.1.2 产品转移
- 可移植性:可以在其他机器上用吗
- 可再用性:可以再用它的某个部分吗
- 互运行性:可以和其他系统结合吗
3.1.3 产品运行
- 正确性:能否正常工作
- 健壮性:能否响应意外情况
- 效率:完成预定功能需要的计算机资源
- 完整性:安全吗
- 可用性:能用吗
- 风险:能否按预定计划完成
3.2 质量保证与质量控制
质量控制:偏结果层面,可以理解成开发结束后再进行测试
质量保证:偏过程层面,每隔一定时间间隔后就进行
质量保证的主要目标:
- 事前预防
- 尽量在刚引入缺陷时就将其捕获,不让缺陷扩散到下一阶段
- 作用于过程,而不是最终产品
- 贯穿于所有活动之中,而不是集中在一点
3.3 软件能力成熟度模型集成(CMMI)
阶段:
- 初始级L1:随意且混乱
- 已管理级L2:项目级可重复,建立了项目级的控制过程 (就是可以在其他项目用)
- 已定义级L3:组织级,文档化标准化
- 定量管理级L4:量化式管理,过程性能可预测
- 优化级L5:持续优化
3.4 数据管理能力成熟度模型(DCMM)
8个核心能力域:
- 数据战略
- 数据治理(治理指的是制定规则)
- 数据架构
- 数据应用
- 数据安全
- 数据质量
- 数据标准
- 数据生存周期
成熟度等级
- 初始级L1:项目级体现,没有统一管理策略,被动式管理
- 已管理级L2:意识到数据是资产,根据管理策略的要求制定管理流程,有相关人员初步管理
- 稳健级L3:数据当作绩效目标的重要资产,在组织层面制定了标准化管理流程
- 量化管理级L4:数据被认为是竞争优势的重要资源,数据管理的效率能量化分析和监控
- 优化级L5:数据被认为是组织生存和发展的基础,相关管理流程能实时优化
4 软件配置管理
产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、计算机程序、部件及数据的集合 (不是配置文件!!)
配置项
- 基线配置项:交付的成果,如需求文档、源代码、测试用例,运行软件所需要的数据
- 非基线配置项:各类计划、报告等
软考配置的核心内容包括【版本控制】和【变更管理】
5 软件版本控制
- 草稿状态(测试版本):0.YZ,YZ的取值为0~99,如 0.12
- 正式版本:X.Y ,如1.0、2.0
- 如果是正式版本的小规模迭代,只增加Y的值,如 2.1
- 处于修改状态的配置项的版本号:X.YZ,修改配置项的时候,一般只增大Z的值,如:2.11
6 软件工具
按照软件过程活动,分为
- 开发工具:
- 需求分析工具
- 设计工具
- 编码和排错工具
- 测试工具
- 维护工具
- 版本控制工具
- 文档分析工具
- 开发信息库工具
- 逆向工程工具
- 再工程工具
- 管理和支持工具
- 项目管理工具
- 配置管理工具
- 软件评价工具
- 软件开发工具的评价和选择
其中2和3有部分交叉