三、软件项目管理
1. 基本概念:项目;项目管理;项目管理的五大过程组;项目管理的十大知识领域。
项目:项目是为完成某一独特的产品、服务或成果所做的一次性努力。
项目的特点:一次性、有明确的开始及结束日期、临时性的组织、资源需求多变、运用事先制定的计划来指导、风险不确定
项目管理:(PM)就是在项目活动中运用相关知识,技能,工具和技术满足项目的要求
五大过程组:
启动 计划 执行 控制 收尾
十大知识领域:
项目集成管理 项目范围管理 项目时间管理 项目成本管理 项目质量管理
项目人力资源管理 项目沟通管理 项目风险管理 项目采购管理 项目利益相关者
2. 可行性分析:净现值的优点。
净现值:净现值=第t年的值/(1+r)^t (其中r为给定的贴现率,1/(1+r)^t为贴现因子)
优点:净现值法优点是适用性强。能基本满足项目年限相同的互斥投资方案的决策,能灵活地考虑投资风险。净现值法在所设定的折现率中包含投资风险报酬率要求,就能有效地考虑投资风险。
净现值法缺点是所采用的折现率不易确定;不适宜于对投资额差别较大的独立投资方案的比较决策;净现值有时也不能对寿命期不同的互斥投资方案进行直接决策。
净利润:在项目的整个生命周期中总成本和总收入之差。
净利润的缺点:没有考虑到投入的成本;没有考虑到现金流的时限
回收期:收支达到平衡所用的时间
优点:计算简单 缺点:忽略了收益的大小,仅要求项目收支平衡即可。
投资回报率:平均年利润/总投资量
优点:计算简单 缺点:没考虑现金的时限;没考虑利率和利息
3. 识别软件项目的活动:WBS。
工作分解结构的定义:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。
工作分解结构(简称WBS)跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。即:项目→任务→工作→日常活动。
4. 软件工作量估计方法:常见的软件工作量估计方法
3.1 专家判断:对应用领域或开发环境有丰富知识的人,对执行一项任务所需的工作量做出估计
3.2 类比估计:通过选取合适的相似度、相异度的表达式,评价相似程度
3.3 由底向上:将项目分解为越来越小的组成部分,直到分解到一个人一两周内的工作量
3.4 自顶向下:先估计总体需要的时间,然后按比例分配到每个阶段
3.5 Albertcht功能点:识别信息系统的五种不同类型的构件或功能,外部输入、外部输出、外部查询、内部逻辑、外部接口
3.6 MarkII功能点:改进albertcht功能点
3.7 CoSMIC全功能点:类似albertcht 只有进退读写四部分构件
3.8 COCOMOII:参数化的生产率模型: effort = c x size^k
effort单位是人月,c、k取决于系统类型、size单位千行源代码(kloc)
System type |
c |
k |
Organic有机式 |
2.4 |
1.05 |
Semi-detached 半相连式 |
3.0 |
1.12 |
Embedded 嵌入式 |
3.6 |
1.20 |
6. 软件项目的资源管理:资源定义,资源分配直方图。
资源定义:资源是项目中所需的人员或者任何事物
资源分配直方图:(没找到定义)
A.表示时间的横轴
B.表示各时段所需资源数量的柱子
C.表示可用的最大资源数量的横线
7. 软件项目的风险管理:风险的定义,风险管理的框架,风险处理的方法。
风险定义:一个不确定的事件或者情况,若其一旦发生,会对项目的目标,例如,范围、进度、成本和质量,产生积极或消极的影响。
风险管理的框架:
风险识别->风险分析与优先级排序->风险策划->风险监督(指向风险识别闭环)
风险处理的方法
接受风险:风险危害较低,但是避免较高,应接受风险
规避风险:比如采用新技术有风险,那就不采用
降低风险:
转移风险:本单位的风险转给第三位,外包+买保险
8. 软件项目的监督和控制:挣值分析。
(1) https://wenku.baidu.com/view/7bcf90280066f5335a81211b.html
(2) https://blog.csdn.net/pmpljp/article/details/19299077
9. 软件项目的配置管理:配置管理的任务,配置项。
软件配置管理的目的是建立和维护在项目的整个软件生存周期中软件项目产品的完整性。
一般认为:软件生存周期各个阶段活动的产物经审批后即可称之为软件配置项。 软件配置项包括:
①与合同、过程、计划和产品有关的文档和资料;
③相关产品,包括软件工具、库内的可重用软件、外购软件及顾客提供的软件等。