软件项目管理

目录

  • 前言
  • 项目管理概述
    • 项目与软件项目
    • 项目管理与软件项目管理
    • 项目管理知识体系
    • 过程管理与软件项目管理的关系
    • 软件项目管理过程
  • 项目初始-项目确立
    • 项目立项
    • 项目招投标
    • 项目授权
  • 敏捷开发总结
    • scrum模型——迭代式增量软件开发过程
      • 术语
      • 文档
      • scrum过程
    • XP模型
  • 项目初始——生存期
    • 生存期模型定义
    • 传统生存期模型
    • 敏捷生存期模型
  • 软件需求——范围计划
    • 软件需求过程管理
    • 需求建模基本方法
  • 任务分解——范围计划
    • 任务分解的定义
    • 任务分解的方法
      • 模板参照
      • 类比
      • 自顶向下(一般到特殊)
      • 自底向上(特殊到一般)
    • 任务分解的步骤
  • 成本计划
    • 成本估算概述
    • 成本估算方法
      • 代码行估算法
      • 功能点估算法
      • 用例点估算法
      • 类比(自顶向下)估算法
      • 自下而上估算法
      • 参数估算法
        • Walston-Felix
        • COCOMO
      • 专家估算法
    • 成本预算
  • 进度计划
    • 进度管理基本概念
    • 任务历时估算
      • 定额估算法
      • 经验导出模型
      • PERT
      • 基于承诺的进度估计
      • Jones的一阶估算准则
    • 进度计划编排
      • 关键路径法
      • 时间压缩法
      • 管理预留
      • 资源平衡
  • 质量计划
    • 软件质量基本概念
    • 质量管理过程
    • 软件质量计划
  • 配置管理计划
    • 软件项目配置管理概念
    • 软件项目配置管理过程
    • 软件项目配置管理计划

前言

软件项目管理_第1张图片

项目管理概述

软件项目管理是为了让软件项目要能够按照预定的成本、质量、质量顺利完成,而对于人员、产品、过程和项目进行的分析和管理活动

项目与软件项目

项目是为了创造一个唯一的产品火提供一个唯一的服而进行的临时性的努力
项目的特征:目标性 相关性 临时性 独特性 资源约束性 不确定性
软件项目的特殊性:;逻辑实体 渐进明细 变更 相互作用的系统
软件项目要素:软件开发过程 软件开发结果 软件开发赖以生存的资源及软件项目的特定委托人
项目目标实现的制约因素:项目范围 成本 进度计划 客户满意度

项目管理与软件项目管理

项目管理是一系列的伴随着项目的进行而进行的,目的是为了确保项目能够到达期望结果的一系列管理行为
软件项目管理的四个要素:成本 进度 质量 风险
软件项目管理的根本目的是让软件项目尤其事大型项目的生命周期能在管理者的控制之下以预定成本安琪按质的完成软件项目并交付客户使用

项目管理知识体系

软件项目管理_第2张图片
软件项目管理_第3张图片
四个生命周期:启动项目 组织和准备 执行项目工作 完成项目
五个过程:启动 规划 执行 监控 收尾
核心管理过程组:计划 监控 执行
软件项目管理_第4张图片
软件项目管理_第5张图片

过程管理与软件项目管理的关系

过程管理就是对过程进行管理,目的是让过程能够被共享 复用,并得到持续的改进
过程定义:总结->服用
过程改进:优化

软件项目管理过程

软件项目管理_第6张图片
软件项目管理_第7张图片
软件项目管理_第8张图片
软件项目管理_第9张图片

项目初始-项目确立

项目立项

软件项目管理_第10张图片

项目招投标

软件项目管理_第11张图片
乙方项目分析:
软件项目管理_第12张图片
招标的方式有:公开招标 有限招标 多方洽谈 直接谈判

项目授权

确认项目存在的文件,包括对项目的确认、对项目经历的授权和项目目标的概述
项目经理是领导团队实现项目目标的个人

敏捷开发总结

人 迭代 灵活

scrum模型——迭代式增量软件开发过程

scrum基于经验主义,糙用迭代增量式的方法优化可预测试和风险管理
一个迭代就是一个sprint(冲刺)
sprint周期被限制再一个月左右,sprint是scrum的核心
sprint通过确保至少每月一次达成目标的进度进行键是和调整来实现可预见性
sprint由sprint计划会议、每日站立会议、开发工作。sprint评审会议和sprint回顾会议构成

术语

软件项目管理_第13张图片
软件项目管理_第14张图片
软件项目管理_第15张图片

文档

软件项目管理_第16张图片
软件项目管理_第17张图片

scrum过程

  • 每一次冲刺产生产品订单(目标):按照优先级排列需要完成的工作的概要需求,哪些订单会被加入冲刺又冲刺计划会议决定
  • 每日站立会议
  • sprint评审会议
  • 冲刺回顾会议

XP模型

项目初始——生存期

生存期模型定义

描述了开发的主要阶段
定义了每个阶段药完成的主要过程和火丁
确定了每个阶段的输入和输出

传统生存期模型

瀑布模型
V模型
增量模型
快速原型模型
渐进式模型

敏捷生存期模型

上一节

软件需求——范围计划

需求式指用户对软件的功能和性能的要求

软件需求过程管理

软件项目管理_第18张图片
软件项目管理_第19张图片

需求建模基本方法

  • 原型方法
  • 结构化——数据流图 数据字典 系统流程图
  • 面向对象——用力 顺序 状态 活动
  • 功能列表

任务分解——范围计划

软件项目管理_第20张图片

任务分解的定义

任务分解过程:将一个项目分解为更多的工作细目或者子项目,使项目变得更小,更易于管理,更易于操作
任务分解结果:WBS
软件项目管理_第21张图片
wbs使队项目又粗到细的分解过程,是分级的树形结构
wbs是面向交付成果对项目元素是分组
wbs组织并定义了整个项目范围
wbs是最低层次的可交付成果,是wbs的最小元素
工作包应当由唯一主体负责

wbs的表示有清单形式和图表形式

任务分解的方法

模板参照

使用标准火半标准的wbs作为模板参考使用
软件项目管理_第22张图片

类比

利用项目在某种程度上的相似性
使用类似项目的wbs作为参考
使用项目管理工具提供的一些wbs实例

自顶向下(一般到特殊)

软件项目管理_第23张图片

自底向上(特殊到一般)

软件项目管理_第24张图片

任务分解的步骤

软件项目管理_第25张图片
软件项目管理_第26张图片
分解标准:

  • 最底层的要素是否是实现目标的充分必要条件
  • 最底层元素是否有重复
  • 每个要素是否清淅完整定义
  • 最底层要素是否定义清淅的负责人
  • 始狗可以进行成本估算与进度安排

wbs分解建议:

  • 最底层是可控的可管理的,但不必要过细
  • 每个work package必须有一个提交物
  • 定义任务完成的标准
  • 有利于责任分配
  • 推荐任务分解到40h之内

成本计划

成本估算概述

软件项目管理_第27张图片
软件项目规模即工作量(规划 管理 需求 设计 编码 测试 维护)
规模单位:LOC-源代码长度 FP-功能数量 人天 人月 人年

规模是成本的主要因素,是成本估算的基础,有个规模就确定了成本

成本估算方法

代码行估算法

从软件程序量的角度定义项目规模
这种定义方式与编程语言有关,要分解的足够详细,并且要有一定的经验数据

软件项目管理_第28张图片

功能点估算法

FP(功能点)=UFC(未调整功能点计数)*TCF(技术复杂度因子)

UFC:
功能计数项:外部输入EI 外部输出EO 外部查询EQ 外部接口文件EIF 内部逻辑文件ILF
软件项目管理_第29张图片
软件项目管理_第30张图片
软件项目管理_第31张图片

TCF:
TCF=0.65+0.01*sun(fi)
软件项目管理_第32张图片

用例点估算法

软件项目管理_第33张图片
软件项目管理_第34张图片
软件项目管理_第35张图片
软件项目管理_第36张图片
软件项目管理_第37张图片
软件项目管理_第38张图片

类比(自顶向下)估算法

估算人员根据以往的类似项目来推算软件的总成本,是一种自上而下的估算形式

自下而上估算法

软件项目管理_第39张图片

参数估算法

Walston-Felix

软件项目管理_第40张图片

COCOMO

在这里插入图片描述
软件项目管理_第41张图片

专家估算法

软件项目管理_第42张图片

成本预算

项目预算是将项目的总成本按照项目的进度分摊到各个工作单元中去
目的:产生生产成本基线

三种分配项目成本预算的方法:
给任务分配资源成本:根据每个任务资源分配情况来计算这个任务的成本预算
分配固定资源成本:一个项目的资源需要固定数量资金的时候
分配固定成本:任务的成本是固定的

成本基线:每个时间段没的成本,是管理者度量和监控项目的依据

进度计划

按时完成项目是项目经理最大的挑战之一
时间是项目规划中灵活度最小的因素
进度问题是项目冲突的主要原因
软件项目管理_第43张图片

进度管理基本概念

进度是最执行活动和里程碑指定的故作计划日期表

任务定义:WBS分解的结果
任务关系
软件项目管理_第44张图片
网络图:PDM图 ADM图
甘特图
里程碑图
资源图:燃尽图

任务历时估算

估计任务路径项目的持续时间

定额估算法

软件项目管理_第45张图片

经验导出模型

软件项目管理_第46张图片

PERT

软件项目管理_第47张图片
在这里插入图片描述
软件项目管理_第48张图片

基于承诺的进度估计

要求开发成员做出进度承诺
不进行中间工作量估计

有利于开发者对进度关注
有利于提高开发者工作热情
误差较大

Jones的一阶估算准则

软件项目管理_第49张图片

进度计划编排

关键路径法

软件项目管理_第50张图片
软件项目管理_第51张图片
软件项目管理_第52张图片
软件项目管理_第53张图片

时间压缩法

在不改变项目范围的前提下缩短项目工期的方法

应急法:不改变任务之间的逻辑
在这里插入图片描述
软件项目管理_第54张图片
平行作业法:改变活动之间的逻辑关系,并行开展活动,增加返工并且增加风险

管理预留

加载项目末端的人为任务,不是加载任务间隔上,给项目增加一个储备时间

资源平衡

软件项目管理_第55张图片
软件项目管理_第56张图片
软件项目管理_第57张图片

质量计划

软件质量基本概念

把影响软件质量的特性用软件质量模型来描述

Boehm模型
软件项目管理_第58张图片
McCall模型
软件项目管理_第59张图片
ISO/IEC9726模型
软件项目管理_第60张图片

质量管理过程

质量管理对象:过程质量 产品质量
质量管理过程:软件质量计划 软件质量保证 软件质量控制

1.软件质量计划:
确定项目达到的质量标准
决定如何满足质量标准的计划安排和方法

2.质量保证
要点:对项目进行评价 推测是否能达到质量指标 简历项目信心
审计:项目执行过程审计 项目产品审计

3.质量控制
要点:检查工作结果 按照标准跟踪检查 确定错是消灭质量问题
活动:技术评审 代码走查 测试 返工

软件质量计划

质量成本是由于产品的第一次工作不正常而衍生的附加花费
包括:预防成本 缺陷成本
质量形成于产品或服务的开发过程中,而不是时候检查

方法:
试验设计
基准对照
质量成本分析
流程图方法
因果分析图

配置管理计划

软件项目配置管理概念

记录软件产品演化过程
得到精确的产品配置
保证软件的完整性 一致性 追溯性 可控性

配置管理的主要功能:版本管理 变更管理

基线提供了软件生存期中各个开发阶段的一个特定点

软件项目配置管理过程

版本控制是软件开发过程中各个程序代码、配置文件及说明文档等文件变化的管理
软件项目管理_第61张图片

软件项目配置管理计划

配置管理计划大纲:
人员职责
配置项定义
基线定义
版本控制
定义变更控制系统

配置管理三要素:人 规范 工具

你可能感兴趣的:(软件工程,软件,软件工程,项目管理)