软件项目管理期末考试
![软件项目管理期末考试](https://img.360docs.net/img78/1e2yfnfpe0kfjoqrh89mtjbgt3m1mmw8-81.webp)
![软件项目管理期末考试](https://img.360docs.net/img78/1e2yfnfpe0kfjoqrh89mtjbgt3m1mmw8-82.webp)
软件项目管理复习题整理
1.项目管理的五要素:技术、方法、团队建设、信息及沟通。
2.有效的项目管理集中在三个P上:人员、问题和过程。
3.项目管理知识体系的九个知识领域:项目集成管理、项目围管理、项目时间管理、项目
成本管理、项目人力资源管理、项目沟通管理、项目风险管理、项目质量管理、项目采购管理。
4.项目围管理:
其作用是保证项目计划仅包括成功地完成项目所需要进行的所有工作。其围分为产品围和项目围。
产品围——>某项产品、服务或成果所具有的特性和功能。
项目围——>为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。
项目围管理的过程包括以下几个方面:
(1)项目启动(2)围规划(3)围定义(4)围审核(5)围变更控制
5.项目人力资源管理:
(1)组织计划(2)人员获取(3)团队建设
6.软件项目生存期模型(重点看特点)
软件生存期模型有哪些?(1~6标题)
(1)瀑布模型
特点:
1)简单、直观、易用
2)通过设置里程碑,明确每阶段的任务与目标
3)可为每阶段制定开发计划,进行成本预算,组织开发力量。(文档驱动)缺点:
1)维护成本较大
2)依赖性强
3)新的项目不适用
4)模型没有中间反馈
5)用户到项目结束才能看到产品
6)限制变更
(2)V模型
特点:
1)简单易用
2)强调测试过程与开发过程的对应性和并行性
3)按顺序进行,一个阶段的输入时下一阶段的输入。
(3)原型模型
特点:
1)需求完全定义之前,要快速构建一个原型系统
2)用户试用,根据优缺点,给开发人员提出反馈意见
3)根据反馈意见修改软件需求规格说明文档,以便系统可以更加准确地反映用户的需求。
4)可以减少项目的各种假设以及风险
或者:有效的适应用户需求的变化。
(4)增量模型
特点:
1)避免一次性投资太多带来的风险,将主要的功能或者风险大的功能首先实现,然后逐步完善,保证投入的有效性。
2)更快的开发出可以操作的系统
3)可以减少开发过程中用户需求的变更
4)一些增量可能需要重新开发
或者:
1)并行开发
2)管理复杂
(5)螺旋式模型
特点:
1)表现为原型的多次迭代
2)用户可以更早的看到并使用产品
3)用户可以与开发人员进行紧密合作
4)项目的投资非一次性投入
或者:以风险为导向
(6)渐进式阶段模型(迭代模型)
特点:
1)阶段式提交一个可运行的产品,且每个阶段提交的产品都是独立的系统
2)拖过阶段式产品的提交,可早期预警问题,避免后期发现问题的成本高
3)降低估计失误,因为可以通过阶段评审,重新估算下一阶段的计划或者:通过逐步迭代,建立软件系统
7.项目计划活动的主要容包括:
(1)分解项目需求,标识项目全部工作产品和活动,编制WBS
(2)估算工作产品和活动的规模、工作量、成本和所需资源
(3)识别并制定项目资料管理计划及工作进度表
(4)识别和分析项目风险,编制风险管理计划
(5)协商相关约定
8.任务分解结果的检验(理解任务分解)
(1)明确并识别项目的各主要组成部分及项目的主要交付成果
(2)确定每个可交付成果的详细程度是否达到了足以编制恰当的成本和历时估算(3)确定可交付成果的组成元素
(4)核实分解的正确性还要明确如下问题:
1)最底层项对项目分解来说是否是必须而且充分的。
2)每项的定义是否清晰完整。
3)每项是否能够恰当地编制进度和预算
(5)最后与相关人员对WBS结果进行评审
9.PDM网络图和ADM网络图的转换
ADM图的画图示例绘制网络图的顺序:
1)任务分解
2)确定工序间的逻辑关系
3)确定工序持续时间
4)绘制网络图(时间坐标)
主要记住两点:
1)PDM网络图用方框表示活动,箭线表示活动间关系。
2)AMD网络图用箭线表示活动,圆圈表示活动间关系
3)AMD示例见上图
里程碑图看一下。
10.关键路径法
最早开始时间(ES)某项活动能够开始的最早时间
最早结束时间(EF)某项活动能够结束的最早时间
最迟开始时间(LS)为了使项目按时完工,某项活动必须开始的最迟时间
最迟结束时间(LF)为了项目按时完成,某项活动必须完成的最迟时间
EF=ES+工期估计,正向推算,从项目开始沿网络图到项目完成为止。
LS=LF-工期估计,逆向推算,从项目完成沿网络图到项目的开始进行推算。
规则1:若某项活动存在多个紧前工序,则此项活动的最早开始时间必须同于或晚于所有紧前活动的最早结束时间的最大值。
规则2:某项活动的最迟结束时间必须等于或早于该活动直接指向的所有其他活动的最迟开始时间的最小值。
我的理解:
1)正向:遇到多个指向一个,选择EF最大的那个作为下一个ES
2)逆向:多个指向一个,选择LS最小的那个作为下一个LF
浮动时间(TF)= LS – ES = LF – EF (简单的说就是同一侧的下边减去上边)
关键路径:决定项目完成的最短时间。
寻找关键路径的方法:
1)找时间最长的那条路径
2)浮动时间为零的路径
关键路径一般情况下只有一条,经过赶工压缩后可能有两条。
11.进度压缩
应急法:(赶工法)
(1)每个任务存在一个“正常”进度和“可压缩”进度。一个“正常”成本和“可
压缩”成本。
(2)增加资源,从“正常”进度压缩到“可压缩”进度。
(3)每个任务无法在低于“可压缩”进度内完成。
(4)有足够资源利用。
(5)进度压缩与成本增长成正比。
单位时间赶工成本=(可压缩成本–正常成本)/ (正常进度–可压缩进度)。
1)一般首先选择持续时间相对长的活动。压缩比比较小。
2)选择压缩成本低的活动。
活动持续时间的变化会引起成本的变化,某活动压缩单位时间所需增加的成本称为该活动的压缩成本。
例题见作业题。P86书上例题
12.常用的估算方法
1)分解方法,采用“分而治之”的策略,对软件项目进行分解,再采用逐步求精的
方式进行估算,最后通过累加获得整体的估算结果。
2)算术模型,通过估算模型来产生估算。如cocomo模型,功能点分析模型(FP A)、
标准构件法、IBM定量影响因子(QIF)等
3)专家判断或经验法,如德尔菲法(Delphi technique)。适合于初步估算,不适合
于详细估算
4)比例法是比较科学的一种传统估算方法,是基于类比的估算技术,根据过去类似
的项目,直接进行类比获得当前项目的估算结果。
自顶向下估算模式,首先估算出项目一级的工作量,然后层层往下分摊,把上一层
工作量分摊到下一层的阶段、活动或任务。通常使用FPA方法或COCOMO II 来估
算项目一级的工作量。
自底向上估算模式,要求先估算出底层任务/活动一级的工作量,然后层层向上汇
总到阶段和项目级。通常使用QIF 估算方法或专家判断来估算项目低层WBS 元
素的工作量
(1)德尔菲法
一种专家评估技术,适用于在没有或者没有足够历史数据的情况下,来评定软件采用不同的技术或者新技术所带来的差异。
基本步骤:
1)组织者发给每位专家一份软件系统的规格说明和一记录估算值的表格,请他们估算;
2)专家详细研究软件规格说明后,对该软件提出三个规模的估算值:最小(ai)、最可能(mi)、最大(bi);
3)组织者对专家的表格中的答复进行整理,计算每位专家的Ei = (ai + 4mi + bi)/ 6,然后计算出期望值E = E1 + E2 + E3 +……En / n(n:表示n个专家);
4)综合结果后,再组织专家不记名填表格,比较估算差,并查找原因。
5)如果各个专家的估算差异超出规定的围(如15%),则需重复上述过程,最终可以获得一个多数专家共识的软件规模。
优点:不需要历史数据;非常适合新的较为特别的项目估算;
缺点:主观、专家的判断有时并不准确和专家自身技术水平不够是会带来误判。
(2)代码行估算
案例:对一个软件组织来说,月开发源代码行数为LOC=10万行,月投入人员160
人,每人平均发生的费用为10000。
则:
(1)人均月代码量= 100000行/160人月= 625行/人月;
(2)1个代码行的价值= 160*10000/100000=16元/行.
(3)功能点分析法
功能点分析法(FPA)是在需求分析阶段基于系统功能的一种规模估算方法,估计系统功能点数,再从每个功能点类型和复杂度两个纬度,测算软件规模(或工作量)。是主流的软件规模估算方法。 例题:
某个软件项目中,一个软件需求的五类功能计数项如下表所示。 1)试计算这个软件的功能点FP (调整因子见下表)。
2)假设每功能点的单位成本是5000元/FP ,试计算本项目的总成本。
软件需求的功能计数项
五类功能计数项的复杂度权重
权重 项
复杂度权重因素 简单 一般 复杂 外部输入 3 4 6 外部输出 4 5 7 外部查询 3 4 6 外部文件 5 7 10 内部文件
7
10
15
复杂度 各类计数项
简单
一般 复杂 外部输入 5 3 4 外部输出 7 8 1 外部查询 1 1 3 外部文件 4 1 2 内部文件
8
1
3
解:
TCF=0.65+0.01(sum(Fi))
假设所有技术复杂影响程度都是平均程度,即技术复杂度因子= 3
则TCF = 0.65 + 0.01(14 * 3) = 1.07
FP = UFC*TCF = 313*1.07=335
总成本= 335 * 5000 = 1,675,000
(4)COCOMO模型
基本公式为:E = aS b×EAF
其中,
E是以人月为单位的工作量,
S程序规模的单位是KLOC,
EAF(Effort Adjustment Factor)是一个工作量调整因子,在基本模型中取值为1。
a,b 则随着开发模式的变化而变化
例题:
要开发一个估计规模为30KLOC 的银行系统应用程序项目,其功能以数据处理为主,属于有机型软件模式。随着项目进展,可以确定其15个成本因子的情况,除了软件可靠性\虚拟机易变性\开发进度限制因子的取值见表外,其余因子取值均为 1.00,系数
则该项目的工作量估算为:
13. 成本估算
挣值法: 三个成本,两个偏差,两个绩效
已完成工程的计划成本(BCWP ) = 已完成工作量 * 预算单价 拟完成工程的计划成本(BCWS ) = 计划工作量 * 预算单价 已完成工程的实际成本(ACWP ) = 已完成工作量 * 实际单价
成本偏差(CV ) = BCWP – ACWP < 0 超支 > 0 节约 进度偏差(SV ) = BCWP – BCWS < 0 拖延 > 0 提前
成本绩效指数(CPI )= BCWP / ACWP < 1 超支 > 1 节约 进度绩效指数(SPI )= BCWP / BCWS < 1 拖延 > 1 提前
方法一:连续计算开发出来的产品的价值 方法二:计算公式法。 通用规则: 1)50 / 50 规则:当一项工作已经开始,但是还没有完成,就假定已经实现一般的价值,当这个工作全部完成才实现全部价值。 2)0 / 100 规则:当一项工作全部完成的时候才实现全部价值
人月0.123)08.187.015.1()30(2.305.1=????=Effort