软件工程--项目管理

532 阅读5分钟

一、项目管理的内容

1.1.项目管理分为

  • 范围管理
  • 进度管理
  • 费用管理
  • 质量管理
  • 整体管理
  • 人力资源管理
  • 沟通管理
  • 风险管理
  • 采购管理

二、软件项目估算

1.1.估算的内容包括:

  • 软件规模的估算
  • 软件工作量的估算
  • 成本估算

1.2.软件规模估算方法

  • LOC估算法(代码行估算法)

    • 估算软件的代码行数。将软件项目划分为小的模块,通过历史数据、开发人员经验对LOC数进行估算
  • FP估算

    • FP(功能点)是一种衡量工作量大小的单位
    • 功能点=信息处理规模 * 技术复杂度
  • 信息处理规模:

    • 外部输入数
    • 外部输出数
    • 外部查询数
    • 内部逻辑文件数
    • 外部接口文件数
  • 技术复杂度 = 0.65 + 调节因子

1.3.软件工作量估算

  • COCOMO模型是一种精确的、易于使用的工作量估算方法。按其详细程度分为三级:
    • 基本COCOMO模型:用已估算出来的代码行数(LOC)为自变量的经验函数计算软件开发工作量
    • 中间COCOMO模型:在基本模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算
    • 详细COCOMO模型:在中间模型的基础上,按模块层、子系统层、系统层、做出三张工作量因素分级表,供不同层次估算使用

三、风险管理

3.1.基本概念

  • 是指对项目风险从识别到分析乃至采取应对措施等一系列过程
    • 编制风险管理计划
    • 风险识别
    • 定性风险分析
    • 定量风险分析
    • 风险应对计划的编制
    • 风险跟踪和监控

3.2.识别项目中的风险方法:

  • 头脑风暴法
  • 专家评估法
  • 风险检查表
  • 假设分析

3.3.IT项目中常见的风险

  • 需求风险
  • 技术风险
  • 团队风险
  • 关键人员风险
  • 预算风险
  • 范围风险

四、项目计划编排的方法与技术

4.1.分类

  • 计划评审技术(PERT)
  • 甘特图
  • 关键路径法(CPM)

4.1.计划评审技术(PERT)

  • PERT是利用网络分析制定计划以及对计划予以评价的技术。它能协调整个计划的各道工序,合理安排人力、物力、时间、资金,加速计划的完成

  • PERT对各个项目活动的完成时间按三种情况估计:

    • 乐观时间:任何事情都顺利的情况下,完成某项工作的时间
    • 最可能时间:正常情况下,完成某项工作的时间
    • 悲观时间:最不利的情况下,完成某项工作的时间
  • 可算出每个活动的期望ti

    • ti = (ai + 4mi + bi)/6

    • 根据p分布的方差计算方法,第i项活动的持续时间方差为

      • σ₁² = (bi - ai)²/36
    • ai表示第i项活动的乐观时间

    • mi表示第i项活动的最可能时间

    • bi表示第i项活动的悲观时间

4.2.甘特图

  • 甘特图也叫横道图,它以横线来表示每项活动的起止时间

  • 优点:简单、明了、直观、易于编制的,因此道目前为止仍然是小型项目中常用的工具

  • 缺点:不能系统地表达各项工作之间地复杂关系,难以进行定量地计算和分析,以及计划地优化,同时也没有指出影响项目寿命周期地关键所在

  • 在大型工程项目中,它是高级管理层了解全局、基层安排进度时有用地工具

4.4.关键路径法(CPM)

  • 是借助网络图和各活动所需时间(估计值),计算每一活动的最早或最迟开始和结束时间

  • CPM算法的核心思想是将工作分解结构(WBS)分解的活动按逻辑关系加以整合,统筹计算出整个项目的工期和关键路径

  • 每个活动都有四个和时间相关的参数:

    • 最早开始时间(ES):某项活动能够开始的最早时间
    • 最早结束时间(EF):某项活动能够完成的最早时间,EF = ES + 工期估计
    • 最迟结束时间(LF):为了使项目按时完成,某项工作必须完成的最迟时间
    • 最迟开始时间(LS):为了使项目按时完成,某项工作必须开始的最迟时间,LS = LF - 工期估计
  • CPM方法的两个规则:

    • 规则1:某项活动的最早开始时间必须相同或晚于直接指向这项活动的最早结束时间中的最晚时间
    • 规则2:某项活动的最迟结束时间必须相同或早于该活动直接指向所有活动最迟开始时间的最早时间
  • 根据以上规则,可以计算出工程的最早完工时间。通过正向计算(从第一个活动到最后一个活动)推算出最早完工时间,步骤如下:

    • 从网络图始端向终端计算

    • 第一任务的开始为项目开始

    • 任务完成时间为开始时间加持续时间

    • 后续任务的开始时间根据前置任务的时间和搭接时间而定

    • 多个前置任务存在时,根据最迟任务时间来定

  • 最早开始时间和最晚开始时间相等的活动称为关键活动,关键活动串联起来的路径称为关键路径,关键路径的长度即为项目的工期

  • 一般可以通过两个原则来确认关键路径:

    • 总持续时间最长的线路称为关键线路
    • 总时差最小的工作组成的线路为关键线路
  • 总时差是指一项工作在不影响总工期的前提下所具有的机动时间

    • 总时差=该工作最迟完工时间 - 该工作最早完工时间
    • 总时差=该工作最迟开工时间 - 该工作最早开工时间
  • 自由时差指一项工作在不影响其紧后工作最早开始时间的条件下,本工作可以利用的机动时间

    • 自由时差=该工作的紧后工作最早开工时间 - 该工作最早完工时间