项目管理

项目管理

1 盈亏平衡分析

正常情况下:销售额 = 固定成本 + 可变成本 + 税费 + 利润

盈亏平衡时:销售额 = 固定成本 + 可变成本 + 税费

其中 可变成本和税费都与销售额相关

例:

卖了20000台电脑,每台售价2500,固定成本240万,可变成本3000万,税率16%,计算从多少台开始盈利

每台电脑的可变成本
$$
30000000/20000 = 1500
$$

按照盈亏平衡的公式
$$
2500x = 2400000 + 1500x + 0.16*2500x
$$

2 进度管理

为了确保项目暗器完成所需要的管理过程

流程:

  1. 活动定义()
  2. 活动排序(判断串、并行任务)
  3. 活动资源估算(多少人日)
  4. 活动历时估算(具体天数)
  5. 制定进度计划(关键路径法)
  6. 进度控制

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个核心能力域:

  1. 数据战略
  2. 数据治理(治理指的是制定规则)
  3. 数据架构
  4. 数据应用
  5. 数据安全
  6. 数据质量
  7. 数据标准
  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有部分交叉