软件项目管理是为了让软件项目要能够按照预定的成本、质量、质量顺利完成,而对于人员、产品、过程和项目进行的分析和管理活动
项目是为了创造一个唯一的产品火提供一个唯一的服而进行的临时性的努力
项目的特征:目标性 相关性 临时性 独特性 资源约束性 不确定性
软件项目的特殊性:;逻辑实体 渐进明细 变更 相互作用的系统
软件项目要素:软件开发过程 软件开发结果 软件开发赖以生存的资源及软件项目的特定委托人
项目目标实现的制约因素:项目范围 成本 进度计划 客户满意度
项目管理是一系列的伴随着项目的进行而进行的,目的是为了确保项目能够到达期望结果的一系列管理行为
软件项目管理的四个要素:成本 进度 质量 风险
软件项目管理的根本目的是让软件项目尤其事大型项目的生命周期能在管理者的控制之下以预定成本安琪按质的完成软件项目并交付客户使用
四个生命周期:启动项目 组织和准备 执行项目工作 完成项目
五个过程:启动 规划 执行 监控 收尾
核心管理过程组:计划 监控 执行
过程管理就是对过程进行管理,目的是让过程能够被共享 复用,并得到持续的改进
过程定义:总结->服用
过程改进:优化
乙方项目分析:
招标的方式有:公开招标 有限招标 多方洽谈 直接谈判
确认项目存在的文件,包括对项目的确认、对项目经历的授权和项目目标的概述
项目经理是领导团队实现项目目标的个人
人 迭代 灵活
scrum基于经验主义,糙用迭代增量式的方法优化可预测试和风险管理
一个迭代就是一个sprint(冲刺)
sprint周期被限制再一个月左右,sprint是scrum的核心
sprint通过确保至少每月一次达成目标的进度进行键是和调整来实现可预见性
sprint由sprint计划会议、每日站立会议、开发工作。sprint评审会议和sprint回顾会议构成
描述了开发的主要阶段
定义了每个阶段药完成的主要过程和火丁
确定了每个阶段的输入和输出
瀑布模型
V模型
增量模型
快速原型模型
渐进式模型
上一节
需求式指用户对软件的功能和性能的要求
任务分解过程:将一个项目分解为更多的工作细目或者子项目,使项目变得更小,更易于管理,更易于操作
任务分解结果:WBS
wbs使队项目又粗到细的分解过程,是分级的树形结构
wbs是面向交付成果对项目元素是分组
wbs组织并定义了整个项目范围
wbs是最低层次的可交付成果,是wbs的最小元素
工作包应当由唯一主体负责
wbs的表示有清单形式和图表形式
利用项目在某种程度上的相似性
使用类似项目的wbs作为参考
使用项目管理工具提供的一些wbs实例
wbs分解建议:
软件项目规模即工作量(规划 管理 需求 设计 编码 测试 维护)
规模单位:LOC-源代码长度 FP-功能数量 人天 人月 人年
规模是成本的主要因素,是成本估算的基础,有个规模就确定了成本
从软件程序量的角度定义项目规模
这种定义方式与编程语言有关,要分解的足够详细,并且要有一定的经验数据
FP(功能点)=UFC(未调整功能点计数)*TCF(技术复杂度因子)
UFC:
功能计数项:外部输入EI 外部输出EO 外部查询EQ 外部接口文件EIF 内部逻辑文件ILF
估算人员根据以往的类似项目来推算软件的总成本,是一种自上而下的估算形式
项目预算是将项目的总成本按照项目的进度分摊到各个工作单元中去
目的:产生生产成本基线
三种分配项目成本预算的方法:
给任务分配资源成本:根据每个任务资源分配情况来计算这个任务的成本预算
分配固定资源成本:一个项目的资源需要固定数量资金的时候
分配固定成本:任务的成本是固定的
成本基线:每个时间段没的成本,是管理者度量和监控项目的依据
按时完成项目是项目经理最大的挑战之一
时间是项目规划中灵活度最小的因素
进度问题是项目冲突的主要原因
进度是最执行活动和里程碑指定的故作计划日期表
任务定义:WBS分解的结果
任务关系:
网络图:PDM图 ADM图
甘特图
里程碑图
资源图:燃尽图
估计任务路径项目的持续时间
要求开发成员做出进度承诺
不进行中间工作量估计
有利于开发者对进度关注
有利于提高开发者工作热情
误差较大
在不改变项目范围的前提下缩短项目工期的方法
应急法:不改变任务之间的逻辑
平行作业法:改变活动之间的逻辑关系,并行开展活动,增加返工并且增加风险
加载项目末端的人为任务,不是加载任务间隔上,给项目增加一个储备时间
把影响软件质量的特性用软件质量模型来描述
Boehm模型
McCall模型
ISO/IEC9726模型
质量管理对象:过程质量 产品质量
质量管理过程:软件质量计划 软件质量保证 软件质量控制
1.软件质量计划:
确定项目达到的质量标准
决定如何满足质量标准的计划安排和方法
2.质量保证
要点:对项目进行评价 推测是否能达到质量指标 简历项目信心
审计:项目执行过程审计 项目产品审计
3.质量控制
要点:检查工作结果 按照标准跟踪检查 确定错是消灭质量问题
活动:技术评审 代码走查 测试 返工
质量成本是由于产品的第一次工作不正常而衍生的附加花费
包括:预防成本 缺陷成本
质量形成于产品或服务的开发过程中,而不是时候检查
方法:
试验设计
基准对照
质量成本分析
流程图方法
因果分析图
记录软件产品演化过程
得到精确的产品配置
保证软件的完整性 一致性 追溯性 可控性
配置管理的主要功能:版本管理 变更管理
基线提供了软件生存期中各个开发阶段的一个特定点
版本控制是软件开发过程中各个程序代码、配置文件及说明文档等文件变化的管理
配置管理计划大纲:
人员职责
配置项定义
基线定义
版本控制
定义变更控制系统
配置管理三要素:人 规范 工具