软件过程管理

期末复习用

Posted by canjuly on June 23, 2018

第一章

软件过程规范

软件过程概念

  • 软件过程,是人们用来开发和维护软件及相关产(如软件项目计划、设计文档、代码、测试用例及用户手册)品的活动、方法、实践和改进的集合。

ISO/IEC12207

  • 基本过程、支持过程、组织过程

ISO/IEC15504

  • 工程过程、支持过程、管理过程、组织过程、客户-供应商过程

第二章

软件过程成熟度

软件过程成熟的标准

  • 软件过程能力高、软件过程性能可预见性、软件过程规范化、过程的一致性、过程的的丰富性、过程的可视性、过程的稳定性、过程的不断改进

CMM(软件能力成熟度模型)

  • CMM是描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织架构如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变方面的指导。
  • 5个成熟度等级:初始级、可重复性、已定义级、定量管理级、优化级
  • 18个关键过程域:
    1. 需求管理、软件项目规划、软件项目追踪与监控、软件子合同管理、软件质量保证、软件配置管理
    2. 软件过程焦点、软件过程定义、培训计划、软件集成管理、软件产品工程、组间协作、统计评审
    3. 过程量化管理、质量管理
    4. 缺陷预防、技术更改管理、过程更改管理
  • 与CMMI在第三个等级差别最大

软件过程框架

  • PSP(改进个人)、TSP(改进团队)、CMM(改进组织)

第三章

组织管理

PSP(个体软件过程)

  • PSP是基于软件工程思想、软件技术和专业方法,帮助软件开发团队中的个体——软件工程师改善其个人能力和素质的自制过程
  • 四个等级:个体度量过程、计划过程、质量管理过程、循环过程

TSP(团队软件过程)

  • TSP是建立在个体软件过程之上,致力于开发高质量的铲平,建立、管理和授权项目小组,改善开发团队过程、提高开发团队能力的指导性架构
  • 成功团队的特点:明确的分工、良好的沟通、每个任务都能下达到某个人手中

A/FR(质检过失比)

  • 如果质检质量成本11.07%,过失质量成本5.73%,那么:质检过失比A/FR=11.07/5.73=1.93
  • 当A/FR的值小于1时,测试会发现许多错误
  • 应当努力使A/FR的值大于2,实际上意味着要提高质检成本和降低过失成本

第四章

需求管理

需求工程包括的内容

需求工程  
│
└───需求开发
│   │   需求分析
│   │   编写规格说明书
│   │   验证
|   |
│   └───需求获取
│       │   业务需求
│       │   用户需求
│       │   功能需求
│   
└───需求管理
    │   需求确认
    │   需求跟踪
    |   变更控制

需求的三个层次

  • 业务需求、用户需求、功能需求

为什么要进行需求管理?

  • 他使最终产品更接近于解决需求,提高了产品对用户的满意度,从而使产品成为真正优质合格的产品。从这层意义上来说,需求管理是产品质量的基础

第五章

技术管理

验证

  • 指验证或检验软件是否已正确的实现了产品规格书所定义的系统功能和特性

确认

  • 是为了保证所生产的软件可追溯到用户需求的一系列活动

测试

  • 是为了发现软件的缺陷,减少产品质量的潜在风险。

第六章

项目管理

进度管理

  • 进度管理:(关键路径法)
    1. 左上最早开始(ES),右上最早结束(EF),左下最晚开始(LS),右下最晚结束(LF)
      ES + 持续时间 = EF
      LS + 持续时间 = LF
    2. 总浮动(TF) = LS - ES = LF - EF
    3. 后一个活动的ES = 前一个活动的EF + Lag(任务滞后),
      前一个活动的LF = 后一个活动的LS - Lag
    4. 自由浮动(FF) = 后一个活动的ES - 前一个活动的EF - Lag
  • 关键路径
    1. 关键路径是决定项目完成的最短时间。
    2. 是时间浮动为0(Float=0)的路径
    3. 网络图中最长的路径
    4. 关键路径可能不止一条
  • 正推法:按照时间顺序计算最早开始时间和最早完成时间的方法,称为正推法
    1. 首先建立项目的开始时间
    2. 项目的开始时间是网络图中第一个活动的最早开始时间
    3. 从左到右,从上到下进行任务编排
    4. 当一个任务有多个前置时,选择其中最大的最早完成日期作为其后置任务的最早开始日期
  • 逆推法:按照逆时间顺序计算最晚开始时间和最晚结束时间的方法,称为逆推法
    1. 首先建立项目的结束时间
    2. 项目的结束时间是网络图中最后一个活动的最晚结束时间
    3. 从右到左,从上到下进行计算
    4. 当一个前置任务有多个后置任务时,选择其中最小最晚开始日期作为其前置任务的最晚完成日期

风险管理

  • 项目风险的三要素:一个事件、事件发生的概率、事件的影响
  • 软件风险的概念:软件风险是软件开发过程中及软件本身可能造成的伤害或损失
  • 决策树
    1. EMV(损益期望值)是决策树的一种计算值,例如:某行动方案成功的概率是50%,收益是10,EMV=10*50%=5
    2. 算出期望值比较大小,选大的即可 avater
  • 风险应对的策略:回避风险、转移风险、损失控制以及自留风险
  • PERT技术完成概率:
    1. 最可能m:正常情况下的结果
      最乐观O:理想情况下的结果
      最悲观P:最坏情况下的结果
      期望值E = (O + 4 + P) / 6
      标准偏差δ = (P - O) / 6
      方差 = 标准差^2
    2. 若存在多个活动
      期望值E=E1+E2+….En
      方差 = (δ 1)^2 + (δ 2)^2 + … + (δ n)^2
      标准差δ = 方差^(1 / 2)

配置管理

  • 软件配置管理(Software Configuration Management,SCM)是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。
  • 基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被随意修改。

跟踪控制

  • 计划工作成本(BCWS)、实际工作成本(ACWP)、已获值(BCWP)、预算总值(BAC)
    1. 进度差异:SV = BCWP - BCWS
      =0:按照进度进行
      >0:超前于进度
      <0:落后于进度
    2. 费用差异:CV = BCWP - ACWP
      =0:按照预算进行
      >0:低于于预算
      <0:超出于预算
    3. 成本效能指数:CPI = BCWP / ACW,代表费用的支出速度
      =1:按照预算进行
      >1:低于预算
      <1:超出预算
    4. 进度效能指标:SPI = BCWP / BCWS,代表已完成工作百分比
      =1:按照进度进行
      >1:超前于进度
      <1:落后于进度

成本估算

  • COCOMO基本模型
    1. 每千源代码行数(KLoC),工作量(E,单位“人月”),累积的开发时间(D,单位“月”)
    2. D = 2.5(E)^(db)
      有机 db = 0.38
      半有机 db = 0.35
      嵌入式 db = 0.32

第八章

集成管理

集成产品开发模式IPD的概念

  • 集成开发模式是一套针对产品化而研制出来的产品开发过程的管理体系,包括过程管理的思想、模式和方法。

第九章

软件过程的评估和改进

软件过程改进

CMMI的两种不同表示

  • 阶段式表示和连续式表示

IDEAL改进模型

  • 初始化、诊断、建立、行动、学习

RUP(统一软件开发过程)

  • 初始阶段、细化阶段、构造阶段、交付阶段

产生软件危机的原因

  • 落后的软件生产方式无法满足迅速增长的计算机软件需求, 从而导致软件开发与维护过程中出现一系列严重问题

### 怎样提高软件项目的成功率?

  • 招募技术熟练、经验丰富的人员
  • 应用前沿的、但非极端前沿的技术
  • 运用正确的开发流程
  • 提供适当的工具
  • 应用源文档控制管理
  • 应用有效的评估方法
  • 将工作细化为小的目标
  • 应对不断出现的变化
  • 项目领导
  • 创新的氛围和文化