软件项目管理案例教程(复习用)

第一章:软件项目管理概述

1.1.十大知识领域

  • 项目范围管理:为了成功实现项目的目标。首先必须设定项目的工作和管理范围

  • 项目进度管理项目质量管理项目成本管理:为了正确实施项目,需要对项目的时间、质量、成本三大目标进行分解

  • 项目资源管理项目采购管理:在项目实施过程中,需要投入足够的人力、物力

  • 项目沟通管理项目干系人(相关方)管理:为了对项目团队人员进行管理,让大家目标一致的完成项目,需要沟通

  • 项目风险管理:项目在实施过程中会遇到各种风险,所以要进行风险管理

  • 项目集成管理:项目管理一定要协调各个方面,不能只顾局部的利益和细节,所以需要集成管理

1.2.五个过程组

 1. 启动过程组2. **计划过程组**3. **执行过程组**4. **控制过程组**5. 收尾过程组

1.3.敏捷项目管理

1.3.1.敏捷思维4大价值观

1. 个体和交互胜过过程和工具
2. 可以工作的软件胜过面面俱到的文档
3. 客户合作胜过合同谈判
4. 相应变化胜过遵循计划

1.3.2.敏捷12个原则

1. 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意
2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势
3. 经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。
4. 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
5. 围绕被激励起来的人个来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。
6. 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。
7. 工作的软件是首要进度度量标准。
8. 敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。
9. 不断地关注优秀的技能和好的设计会增强敏捷能力。
10. 简单----使未完成的工作最大化的艺术----是根本的。
11. 最好的构架、需求和设计出自与自组织的团队。
12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

1.4.补充

项目管理核心要素:时间、质量、成本
项目的特征:目标性、相关性、临时性、独特性、资源约束性、不确定性
日常运作与项目区别

  1. 项目是一次性的,日常运作是重复性的。
  2. 项目是以目标为导向,日常运作是通过效率和有效性体现的。
  3. 项目是通过项目经理及其团队工作完成的,日常运作是职能式的线性管理。
  4. 项目存在大量的变更管理,日常运作则基本保持持续的连贯性的。

第二章:软件项目确立

2.1.项目立项

2.2.项目章程

项目章程是一份正式批准项目并且授权项目经理在项目活动中使用组织资源的文件

第三章:生存期模型

3.1.生存期模型选择

预测性:需求最稳定
迭代形
增量型:多次提交小版本
敏捷形

3.2.预测生存期模型

明确的需求,有顺序方式执行,不变更
例如
瀑布模型(需求很明确,实现方案很明确)短期项目
V模型(强调测试与开发关系,需求设计不能变更)安全性、性能要求高、成本高

3.3.迭代生存期模型

需求不明确、复杂性高、变更频繁
连续的原型和概念验证
也称为原型模型
通过不断地构造原型,使用者评价原型,然后在构造,再批评

3.4.增量生存期模型

增量模型就是一个增量一个增量的开发过程,每个增量是一个交付成果
如果有项目需要加快交付速度,需要频繁交付少量可交付成果就可以采用

3.5.敏捷生存期模型

符合敏捷宣言,满足12个原则的实践
不断的用户反馈,调整需求

第四章:软件需求管理

4.1.软件需求管理过程

需求确认:需求获取-需求分析-需求规格编写-需求验证
需求变更:需求变更

4.2.传统需求建模方法

1.原型方法
不断评价原型,来确定需求的方法
2.数据流方法
数据流关系来确定需求

3.基于UML方法

4.3.敏捷需求建模方法

渐进明细
开始的时候是模糊的,然后越来越明确
story cards
功能需求和非功能需求
通过讨论循序渐进的方法进行确定,可以user story进行描述

第五章:软件项目任务分解

5.1.任务分解基本概念

WBS(任务分解结构)(由粗到细的分解过程)(WBS中的细目才是项目要完成的工作)
任务分解是项目管理的基础

5.2.任务分解方法

  1. 类比:
     有些项目有相同或相似的细目
  2. 模板参照:
     某项目有可以参照的WBS模板
  3. 自上而下的方法:
     最主要最常规的任务分解方法,一般到特殊
     最大局有把握采用
  4. 自下而上的方法:
     对项目不太清晰的时候采用
  5. 任务分解建议:

5.3.敏捷任务分解

敏捷开发过程是通过用户故事将需求具体化成可以进行迭代开发的任务
级别(从大到小):Epic-Feature-User story
将epic分解成多个story的过程

第六章:软件项目成本计划

6.1.1.代码行估算法

软件项目规模:
 即 可工作量
软件成本:完成软件付出相应的代价
优点:需求规格、测试文档可以不保留,但是代码一定保留。
   代码行估算起来比较直观
缺点:根据每个人的编码风格不一样,此估算法误差大

6.1.2.功能点估算法

Albrecht功能点
适用于信息系统的估算,不适合实时系统或嵌入式系统
通过功能的数量测量其规模

功能点公式:
 FP = UFC * TCF
 UFC :未调整功能点计数(由5个角度计算得出:外部输入,外部输出,外部查询,外部接口文件,内部逻辑文件)
 TCF:技术复杂度因子
 

6.1.3.用例点估算法

用例点估算是基于用例视图的估算方法

通过用例视图确定用例和相应角色

基本步骤:

  1. 计算未调整的角色权值UAW
  2. 计算未调整的用例权值UUCW(用例数*权值和)
  3. 计算未调整的用例点UUCP(UAW+UUCW)
  4. 计算技术因子TCF
  5. 计算环境因子ECF
  6. 计算调整后的用例点UCP(UUCP * TCF * ECF)
  7. 计算工作量(UCP * PF)

6.1.4.类比(自顶向下)估算法

采用这个时可以找一个相似的项目,根据相似项目总工作量成本估算当前工作量成本,所以是一种自上而下的工作形式。
当信息不足的时候,要求不是非常精确估算的时候

6.1.5.自下而上估算法

前提是:任务分解完成,即WPS分解完成
从最底层工作包开始估算,将估算值进行累加
相对比较准确,因为是针对每个工作包进行估算
花费时间

6.1.6.三点估算法

基于任务成本的三种估算值来进行任务成本的估算法

  • 最可能成本:比较现实的估算成本
  • 最乐观成本:最好情况所得到的估算成本
  • 最悲观成本:最差情况所得到的估算成本

6.1.7.参数估算法

也称为模型估算,通过项目数据得出来的模型
参数模型:整体公式
E = a+bScM

Walston-Felix模型
COCOMO

  • 结构化成本模型
  • 应用最广泛的参数性软件成本估计模型

COCOMO81
模型级别:基本、中等、高级
基本:适合开发初始阶段
中等:项目需求确定后使用,对项目有所了解
高级:估算精度最高

项目类型:有机、嵌入式、半嵌入
有机:最常规、简单的类型、程序规模不是很大
嵌入式:系统程序,紧密联系硬件,算法条件高(例航天器系统)
半嵌入式:介于两者之间(例编译器)
COCOMO II
组成:
 应用组装模型、早期设计模型、后体系结构模型
   规划阶段 、 设计阶段 、 开发阶段

参数估算法:
使用条件:有良好的项目数据为基础、存在成熟的项目估算模型
特点:比较简单,而且比较准确、如果模型选择不当或者数据不准,会导致偏差

6.1.8.专家估算法

由多位专家进行成本估算
Deiphi专家估算(专家互不见面)

6.2.敏捷估算方法

高层估算:采用快速估算
底层估算:详细估算
Story point估算-Fibonacci 七个等级

6.3.成本预算

将总成本安排到各个任务中

分配固定资源成本:项目中一个兼职人员为固定资源成本

第七章:软件项目进度计划

7.1.进度基本知识

任务定义:确定为完成项目的各个交付成果所必须进行的逐项具体活动
任务之间的关系:最常见:结束-开始
人物之间关联关系的依据:
 强制性依赖关系
 软逻辑关系
 外部依赖关系
 内部依赖关系
进度管理图示:
网络图:常用 PDM、ADM
甘特图:
里程碑:显示项目进展重大情况
资源图:显示项目进展资源分配情况
敏捷主要采用:燃尽图(还有多少没完成)、燃起图(完成多少)

7.2.1传统历时估算

传统方法:
 1.定额估算(适合规模小):
  T=Q/(RS)
  T:活动历时
  Q:活动工作量
  R:人力数量
  S:工作效率
 2.经验导出模型
  D=a
E^b
 3.CPM(关键路径法)
  最长为关键路径
 4.工程评估评审技术(PERT)
   加权算法(选定3个估算值)
    - O是最小估算值:乐观
    - P是最大估算值:悲观
    - M是最大可能估算
   采用加权平均得到期望值
    E = ( O + 4m + P)/6
   PERT的风险指标
    - 标准差 = (最大估算值-最小估算值)/6
    - 方差 = 标准差^2
  
Jones的一阶估算准则
类比估算:项目信息不足的情况下采用方法
专家判断:
基于承诺的进度估算:要求开发人员做出进度承诺
 优点:对开发进度有保证

7.2.2.敏捷历时估算

开发速度稳定前:
 举手表决(所有人员达成共识前一直举手)
开发速度稳定后:
 基于故事点生产率的估算
 基于迭代生产率历时估算

7.3.1.进度计划编制-超前与滞后方法

超前与滞后方法:
 在A与B之间加Lag表示滞后,加长事件
在A与B之间加Lead表示超前,缩短事件

7.3.2.进度编制方法-关键路径法

基本概念:
 最早开始时间 ES:
 最晚开始时间 LS:
 最早完成时间 EF:
 最晚完成时间 LF:
 
 浮动时间:上图所示,可以一号开始也可以五号开始,中间四天的浮动时间
关键路径
 时间浮动为0的路径
 网络图中最长的路径
 
 关键路径为A,B可以浮动
 
 

7.3.3.进度编排方法-时间压缩法

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

7.3.3.1.应急法-赶工(时间成本平衡法)

1.1.进度压缩单位成本方法,线性关系


哪个成本低压缩哪个

1.2.进度压缩因子方法,非线性关系

7.3.3.2.平行作业法-快速跟进


 提前量方法的应用,并行解决压缩方法

7.3.4.进度编排方法-资源优化

根据资源供需情况,调整活动开始和完成时间
资源平衡,可能延长项目时间
资源平滑法,不会改变项目关键路径

7.3.5.进度编排发放-敏捷计划

远期计划
近期计划
远粗近细的双重计划原则

7.4 项目进度进度问题模型(SPSP)

第八章:软件项目质量计划

8.1 软件质量基本概念

质量:满足要求的程度
质量模型:
 Boehm质量模型
 McCall质量模型
 软件质量
质量在开发过程中形成
前期质量成本:预防成本
后期质量成本:缺陷成本

8.2 软件项目质量活动

软件质量保证QA(管理职能)后期:

通过评价项目整体绩效
具体活动:项目执行审计

质量控制QC(检查职能)前期:

例如:代码评审、单元测试

8.3.敏捷项目质量活动

1.全程质量审查
2.早发现问题,多版本提交
3.不断进行质量方法评估和改进
敏捷活动:
 QC: 结对编程(两人一起编程)、
    测试驱动开发(TDD[Junit])、
    持续集成与测试、
    不同层面自动化测试、
    验收测试驱动开发
    重构
 QA: 迭代评审
   迭代回顾会议

8.4 软件项目质量计划

根据质量目标规划QA QC活动的过程

第九章:软件项目配置管理计划

9.1 软件配置管理基本概念

配置管理:记录软件产品演化过程
     得到精确的产品配置

主要功能:版本管理、变更管理、其他
配置项:SCI是配置管理的基本单位
基线定义:开发阶段的某个特定点

软件配置控制委员会(SCCB):
评估变更、批准变更申请

9.2 软件项目配置管理主要过程

配置管理主要活动:

1.配置项表示与追踪

2.配置管理环境的建立

3.基线变更管理过程

一旦发生变更,需要经过SCCB授权

4.配置状态统计

5.配置管理计划大纲

人员职责(确定SCCB等)
配置项定义
基线定于
版本控制(说明配置管理工具)
定义变更控制系统

9.3 敏捷配置管理计划

全面配置管理
    基本要求:
    - 代码和编译构建常务的配置管理
    - 应用的配置管理
    - 环境的配置管理
敏捷主要特征:
  - 持续交付
  - 需要全面配置管理

第十章:软件项目团队计划

10.1 团队计划

项目组织结构主要类型:

职能型:

适用于主要由一个部门完成的项目,或者组织成熟的项目

项目型

有一个项目的时候成立一个项目组,当项目完成后解散
项目经理有高度独立性
类似外包,项目组成员开发完就解散,没有家的感觉没有归属感

矩阵型

结合职能型和项目型

10.2 敏捷团队计划

产品负责人、团队促进者、跨职能团队成员
仆人式领导

第十一章:软件项目风险计划

11.1 风险管理过程

风险类型:
 预测角度:已知风险、可预测风险、不可预知风险

风险三要素:风险事件、事件概率、事件影响

风险管理的四个过程:风险识别、风险评估、风险规划、风险控制

11.2 风险管理计划

1.风险识别

德尔菲方法
头脑风暴法
情景分析法
利用风险条目检查表(最常用)

2.风险评估

定性风险评估:

风险概率度量:

定量风险评估:

1、盈亏平衡分析
 2、敏感性分析
 3、决策树分析

决策树例题“抛硬币”


 4、模拟

风险规划的主要策略:
1、回避风险:主动放弃
2、转移风险:外包、开脱责任合同
3、损失控制:损失预防(项目技术培训)、损失抑制(项目人员储备)
4、自留风险

敏捷项目风险应对方法:
 损失预防与损失抑制策略

第十二章:软件项目合同管理

12.1 项目合同类型

项目采购
有了采购的需求才存在合同计划

合同类型:

1、成本补偿合同
  新开发类项目,对项目范围和规模没有很好把握的项目
  CPFF 成本加固定费用
  CPIF 成本加激励费用
  

CPAF 成本加奖金

2、总价合同
  FFP 固定总价
  FPIF 总价加激励费用
  总价加经济价格
  
 3、工料合同

12.2 项目合同计划

外部购买产品,需要合同计划任务
合同计划:明确如何进行委托、委托什么项目、合同形式
敏捷项目强调客户协作
敏捷合同策略:

第十三章:项目集成计划执行控制

13.1 项目集成计划


软件项目管理的四个要素
范围、质量、进度、成本

第十四章:项目核心计划执行控制

14.1 软件项目范围管理

范围管理(针对WBS进行管理):
 分析技术:偏差分析、趋势分析
范围控制要点:
 防止范围扩张

14.2.1 成本进度管理-图解控制法

是一种偏差分析

14.2.2 成本进度管理-挣值分析法

是偏差分析也是趋势分析
TAC:项目完成时间估计
BAC:项目估算
BCWS:预算曲线
ACWP:实际成本
BCWP:目前项目的价值,称为挣值或已获值
CV=-1:表示从成本角度看,超预算1w
SV=1:>0表示从进度角度看,超前进度





14.2.3 成本进度管理-网络图分析

贝叶斯网络解决不确定性问题

14.2.4 成本进度管理-敏捷方法

原则:交付价值衡量指标

基于迭代的项目:燃尽图

14.3. 质量管理-传统与敏捷

质量计划的执行控制

第十五章:项目辅助计划执行控制

15.1 软件项目辅助计划-传统项目





15.2 软件项目辅助计划执行控制-敏捷项目

2022软件项目管理案例教程期末考知识点汇总(期末复习用)相关推荐

  1. 软件项目管理案例教程-韩万江-期末复习

    软件项目管理-完整版 第1章 1.5敏捷项目管理 敏捷项目管理的特点 可以应对迅速变化的需求,是一种以人为核心的.迭代的.循序渐进的开发方法. 个体和交互胜过过程和工具 可以工作的软件胜过面面俱到的文 ...

  2. 软件项目管理案例教程之一 目录篇

    第一章:软件项目管理概述 第一篇:项目开始 第二章:项目确立 第三章:生存周期 第二篇:项目计划 第四章:软件项目计划之需求管理 第五章:软件项目范围计划之任务分解 第六章:软件项目成本计划 第七章: ...

  3. 软件项目管理案例教程第4版课后习题第一章

    第一章 一.填空题 二.判断题 三.选择题 四.问答题 一.填空题 1.敏捷模型包括(4)个核心价值,对应(12)个敏捷原则. 详解: 敏捷开发4句宣言: 个体与交互 胜过 过程与工具 可以工作的软件 ...

  4. 软件项目管理案例教程(第三版 韩万江,姜立新)其它课后题答案持续更新,欢迎收藏+关注

    第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第10章 第11章 第12章 第13章 第14章 第15章 第16章 第17章

  5. IT软件项目管理实战教程-(启动、计划、实施、控制和收尾)

    IT软件项目管理实战教程 课程分类:Java 适合人群:中级 课时数量:32课时 用到技术:IT软件项目配置.IT软件项目模板的制定 涉及项目:IT软件企业项目甘特图案.IT软件项目可行性报告分析.基 ...

  6. 计算机办公应用引言,计算机办公软件应用案例教程(Windows 7+Office 2010)

    计算机办公软件应用案例教程(Windows 7+Office 2010) 语音 编辑 锁定 讨论 上传视频 本书是一本新编教材,为了适应当今的教学要求,从编写内容.编写技巧和方法等方面我们做了必要革新 ...

  7. 八年级计算机知识点总结,人教版|八年级上册各单元必考知识点汇总,收藏!...

    原标题:人教版|八年级上册各单元必考知识点汇总,收藏! 今天小简老师给大家总结了人教版八年级上册各单元所有重难点和必考点,包括重点单词.短语.句型及其用法和语法考点,快期中考试了大家收藏起来好好学吧! ...

  8. 英语八年级上册计算机的事实,人教版英语|八年级上册各单元必考知识点汇总,收藏!...

    原标题:人教版英语|八年级上册各单元必考知识点汇总,收藏! 今天颜老师给大家总结了人教版八年级上册各单元所有重难点和必考点,包括重点单词.短语.句型及其用法和语法考点,快期中考试了大家收藏起来好好学吧 ...

  9. 计算机vb2级知识点,全国计算机二级《VB》常考知识点汇总

    全国计算机二级<VB>常考知识点汇总 Visual Basic(简称VB)是一种在计算技术发展历史上应用得最为广泛的语言,是计算机二级考试科目之一,以下是百分网小编搜索整理的关于全国计算机 ...

  10. 计算机软件水平考试程序员之程序设计知识点汇总,软考程序员常考知识点汇总.docx...

    软考程序员常考知识点汇总软考程序员常考知识点汇总 2015年软考程序员考试知识点FoxPro程序设计 1.命令文件的建立.修改和运行 (1)命令文件的建立与修改MODIFYCOMMAND[/?][IN ...

最新文章

  1. 计算整数n的b进制展开式
  2. 有赞统一日志平台初探
  3. Java的poi的excel导入怎么判断日期格式的单元格
  4. ORACLE数据库实现自增的方式
  5. boost::mpl模块实现next相关的测试程序
  6. 360隔离mysql恢复_MySQL备份与恢复
  7. 网络1711c语言第0次作业总结
  8. 如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上
  9. 纪年法:公元和公元前
  10. js 数据结构中邻接矩阵的图的直观表示
  11. 2017 Multi-University Training Contest - Team 4:1004. Dirt Ratio
  12. 一个桌面系统的微信公众号开发
  13. ShellExecute的各种用法 [转帖于 2009-05-020 21:15]
  14. 交互设计精髓之理解输出
  15. matlab空间计量AIC准则,空间计量经分析课件.ppt
  16. 虚化照片怎么弄?这几种方法很简单
  17. 天龙八部TLBB系列 - 网单服务端各目录文件说明【超详细】
  18. the spell of the rising moon
  19. 对WXin执行回插入代码后的回编译操作
  20. aws saa是什么缩写?aws saa认证考察什么?

热门文章

  1. c语言笛卡尔心形函数,笛卡尔心形函数故事
  2. 重新训练大脑!这些APP可治愈心理疾病
  3. 梯度提升决策树GBDT
  4. Spring boot 集成极光推送
  5. mapgis k9将wp、wl、wt转shp属性字段名乱码
  6. 机器学习与数据挖掘工程师的发展方向总结
  7. CODESYS学习心得(持续更新)
  8. 比CMD更强大的命令行:WMIC后渗透利用(系统命令)
  9. 教育行业 服务器虚拟化,教育行业桌面虚拟化方案
  10. antdesign 新增页面_ant design pro 新增页面