1.项目管理知识体系(PMBOK)包括哪10个知识领域。
2.简述项目管理的5过程组及其关系
1.某公司希望开发一套软件产品, 如果选择自己开发软件的策略,则公司需要花费30000元,根据历史信息,维护这个软件每个月需要3500元。如果选择购买软件公司产品的策略,则需要 18000元,同时软件公司为每个安装的软件进行维护的费用是4200元/月。该公司该如何决策?
自制方案 | 购买方案 | 成本差异 | |
---|---|---|---|
生产成本 | 30000 | 18000 | 12000 |
维护成本 | 3200/月 | 3600/月 | 400/月 |
12000/400=30月
所以决策如下:
如果软件生存期在30个月以内,可以选择购买方案。
如果软件生存期超过30个月,可以选择自制方案。
2.什么是项目章程
分解方法:1.类比 2.模板 3.自顶向下 4.自底向上
分解步骤:
(1)确认并分解项目的组成要素;
(2)确定分解标准;
(3)确定分解是否详细;
(4)确定项目交付成果;
(5)验证分解正确性。
答:将一个项目分解为更多的工作项目或者子项目,使项目变得更小,更易管理,更易操作。
这样做可以提高估算成本、时间和资源的准确性。使工作变得更易操作,责任分工更加明确。
软件项目成本包括直接成本和间接成本(估算时需要同时考虑二者),一般而言,项目人力成本归属于直接成本。
直接成本:是与开发的项目直接相关的成本,如:员工的工资、材料费等
间接成本:不能归属于一个项目,是企业的运营成本,可以分摊到各个项目中。如:房租、水电、员工福利等。
成本预算目的:产生成本基线。
预算是在成本管理过程中,每个时间段的各个工作单元的成本。
软件项目成本是指完成软件项目规模相应付出的代价,是待开发的软件项目需要的资金。
软件项目规模即工作量:代码行(LOC)、功能点、人天、人月、人年等都是规模的单位。
如:项目规模20人月,公司工资1万元/月,那么成本20万元。
成本估算是成本管理的核心,是预测开发一个软件系统所需要的总工作量的过程。
软件产品的开发成本主要是人的劳动的消耗所需要的代价。
软件项目不存在重复制造的过程。开发成本是以一次性开发过程所花费的代价来计算的。
成本估算贯穿软件的生命周期。
估算是有误差的,估算是不要太迷信数学模型、历史数据对估算特别重要。
(1)代码行估算法
相关比例数据:生产率LOC/PM(人月),LOC/hour 等
(2)功能点估算法:FP=UFC x TCF
功能点估算是用系统的功能数量来测量其规模,以一个标准的单位来度量软件产品的功能,与实现产品所使用的语言和技术没有关系。
UFC:未调整功能点计数。
计算UFC,应该先计算五类功能组件的计数项:内部逻辑文件、外部输入、外部输出、外部查询、外部接口文件。
TCF:技术复杂度因子(即调整系数)。0~5
技术复杂度因子取决于14个通用系统特征。
(3)用例点估算法
用例点估算法通过分析用例角色、场景和技术与环境因子等来进行软件估算。
(4)类比估算法(自顶向下方法)
通常在项目初期 或 信息不足时采用此方法,如在合同期和市场招标时。
是基于实例推理的一种形式,即通过对一个或多个已完成的项目与新的类似项目对比来预测当前项目的成本与进度。
(5)自上而下估算法
(6)三点估算法
3种估算值:最可能成本、最乐观成本、最悲观成本。
(7)参数估算法
COCOMO 81模型
COCOMO 81将项目模式分为三类:有机型、嵌入型和半嵌入型。
COCOMO 81有三个等级模型:基本模型、中等模型和高级模型。
敏捷项目一般采用故事点估算。
(1)故事点估算
故事点估算是一个相对的估算过程。
Fibonacci标准:0、1、2、3、5、8、13(一般就到13)。选了故事点预估为3的用户故事,工作量差不多 3,略少 2,更少 1,用户故事不需要完成 0.略多 5,更多 8,再多 13.
例题:假设某项目的注册功能点为3个故事点,而其中成绩录入工作量比注册功能工作量略多,采用Fibonacci标准,成绩录入功能估算值为5个故事点。
已知某项目使用C语言完成,该项目共有85个功能点,请用IBM模型估算源代码行数、工作量、项目持续时间、人员需要量及文档数量。
代码行数:L=85150=12750行 = 12.75KLOC
工作量:E=5.2L0.91 52.73PM
项目持续时间:D=4.1L0.36=10.25月
人员需求量S=0.54E0.6=5.82人
文档数量DOC=49*L1.01 = 640.8页
时间是一种特殊的资源,以其单向性,不可重复性,不可替代性而有别于其他资源。
时间是项目规划中灵活性最小的因素,进度问题又是项目冲突的主要原因,尤其在项目的后期。
一个工作包可以通过多个活动完成。
任务之间的依赖关系:
项目各项活动之间存在相互联系与相互依赖关系
任务(活动)之间的排序依据主要有强制性依赖关系、软逻辑关系、外部依赖关系等。
外部依赖关系指的是项目活动与非项目活动之间的依赖关系。
“软件编码完成之后,我才可以对它进行软件测试”,这句话说明了强制性依赖关系
甘特图 可以显示任务的基本信息,使用该类图能方便地查看任务的工期,开始和结束时间
以及资源的信息。
PDM 网络图中箭线表示的是任务之间的逻辑关系,节点表示的是活动。
ADM网络图中,箭线表示 活动或者任务 。
工程评估评审技术采用加权平均的公式是 (O+4M+P)/6,其中 O 是乐观值,P 是悲观值,M 是最可能值。
当估算某活动时间,存在很大不确定性时应采用 PERT估计。
关键路径决定了项目在给定的紧前关系和资源条件下完成项目所需的最短时间。
在项目的进行过程中,关键路径是可变的。
基本术语:ES(最早开始时间)、LS(最晚开始时间)、EF(最早结束时间)、LF(最晚结束时间)、浮动时间
浮动是在不影响项目完成日期的条件下,一个活动可以延迟的时间量。
EF = ES + duration
LS = LF - duration
(总浮动)TF = LS - ES = LF - EF
ES = EF + Lag
TF可以决定进度的灵活性
Lag将延长项目的进度
赶工(应急法)和快速跟进都是时间压缩法。
用应急法压缩压缩项目一定要是在关键路径上选择.当关键路径不止一条时,每条路径上都要选择项目进行压缩
快速跟进是指采用并行执行任务,加速项目进展
其他知识点
在资源冲突问题中,过度分配也属于资源冲突
敏捷项目一般采用远粗近细的计划模式,敏捷的发布计划相当于远期计划,迭代计划相当于近期计划。
O=6,P=24,M=12
PERT=(O+4M+P)/6=13
标准差=(P-O)/6=3
10~16=13±标准差,所以概率为68.3%
如果分布为 PERT±2标准差,则概率为95.5
如果分布为 PERT±3标准差,则概率为99.7
第三题:
关键路径:A—>E—>C—>D—>G (最早时间和最晚时间相同的任务,组成的路线)
关键路径长度:4+8+7+5+3=27 天
F的自由浮动FF=ES(s)-EF-lag=24-20-0=4 (lag:本任务与后任务之间的滞后时间)
F的总浮动时间TF=LS-ES=LF-EF=4
质量是产品或者服务满足明确和隐含需要能力的性能特性的总体。
质量是满足要求的程度,包含符合规定的要求和客户隐含的需求。
软件质量反应以下3方面问题:
区别:
几个概念:
质量成本:由于第一次工作不正常而衍生的附加花费。包括预防成本和缺陷成本
是为确保项目质量而进行预防工作所耗费的费用。
是为确保项目质量而修复缺陷工作或耗费的费用。
列出了影响质量的因素是 分别反应用户在时使用软件产品时的三种不同倾向或观点。
(1)产品运行
(2)产品修改
(3)产品转移
只有质量要素才值得开发人员花费精力去修改
质量管理活动的目标是满足项目的需要
总是围绕着质量保证和质量控制过程两个方面进行。
质量保证(Quality Assurance,AQ)通过定期的地评估项目地整体性能以确保项目满足相关的质量标准。它贯穿整个项目生命周期的系统性活动。
(1)软件过程审计:需求过程审计、设计过程审计、编码过程审计、测试过程审计 等。
(2)软件产品审计:需求规格审计、设计说明书审计、代码审计、测试报告审计 等
质量控制(Quality Control,QC)通过控制特定项目的状态保证项目完全按照质量标准完成,同时确定质量改进的方法。质量控制技术:技术评审、走查、测试、返工 等。
3、质量保证于质量控制的关系:
质量保证是审计产品和过程的质量,保证过程被正确执行,确认项目按要求进行,属于管理职能。
质量控制是检验产品的质量,保证产品符合客户的需求,是直接对项目工作结果进行把关的过程,属于检查职能。
结对编程(Pair Programmig)、测试驱动开发(Test Driven Development , TDD)、持续集成与测试(Acceptance Test Driven Development , ATDD)、验收测试驱动开发、迭代评审、迭代回顾会议、重构
质量计划应满足下列要求:
1、请写出 5 种以上项目沟通方式。
答:
书面沟通和口头沟通
语言沟通和非语言沟通
正式沟通和非正式沟通
单向沟通和双向沟通
网络沟通
2、对于特别重要的内容,你认为一般采用哪些方式才能确保有效地沟通?
答:要采用多种方式进行有效沟通以确保传达到位,除了发送邮件外,还要电话提醒,接收
回执等,重要的内容还要通过举行各种会议进行传达。
总价+激励:超出的全部乙方承担,减少了甲方的风险
成本+激励:超出部分 甲方按奖励分配的比例承担一定费用。 节约部分 乙方按奖励分配比例获得一定费用
A. 24 万
B. 23.2 万
C. 20.8 万
D. 20 万
16+4*0.2+4=20.8
成本+乙方节约的钱的抽成+利润
软件项目管理最重要的四个要素是范围(S) 、质量(Q) 、进度(T) 、成本© 。
质量和成本成一定的正比关系。
进度和成本成一定的反比关系。
范围与成本成一定的正比关系。(√)
项目管理过程是一个集成的过程,范围计划、进度计划,成本计划,质量计划,风险计
划是相互联系的。(√)
项目集成管理包括以下内容,除了(C)
A. 对计划的集成管理和项目跟踪控制的集成管理
B. 保证项目各要素协调
C. 软件设计文档
D. 在相互影响的项目目标和方案中做出权衡
设成本 C 是范围 S、质量 Q、进度 T 的一个函数 C=F(S,Q,T),在成本或时间不充足的情况下,可以通过减范围或者(C)来解决。
A. 提高质量
B. 增加项目成员
C. 降低质量
D. 以上都不行
项目管理过程中的进度目标、成本目标、质量目标、范围目标等各个目标之间是( B )
A. 相互独立
B. 相互关联和制约的
C. 进度目标最重要
D. 没有关系的
BCWS(Budgeted 到该日期本应该完成的工作)
ACWP(到目前实际花了多少钱)
BCWP(到现在实际完成的工作)
BAC(项目预算总成本)
TAC(计划完成时间)
SV(进度差异)=BCWP(实际获取的价值)-BCWS(本应该获取的价值)
CV(费用差异)=BCWP(实际获得的价值)-ACWP(实际花费的价值)
SPI(进度效能指标)=BCWP/BCWS x 100%
CPI(成本效能指标)=BCWP/ACWP x 100%
当 SV = BCWP – BCWS < 0 时表示落后于进度。
代码评审由一组人对程序进行阅读、讨论和争议,它是 静态分析 过程。
挣值分析法也称为 已获取价值分析法 ,是对项目的实施进度,成本状态进行绩效评估的有效方法。
一项任务正常进度是 10 周,成本是 10 万;可以压缩到 5 周,成本变为 15 万,那么压缩到8 周时的成本是 12 万。 (成本=((15-10)/(10-5))*(10-8)+10=12 万)
从质量控制图的控制上限和下限,可以知道 可接受的过程偏差。
范围控制的重点是避免需求的蔓延。
一个任务原计划 3 个人全职工作 2 周完成。而实际上只有 2 个人参与这个任务,到第二周末完成了任
务的 50%,则 CPI = 0.75 。
(
计划完成6(人周)的工作。
实际只有两人,第二周完成了3(人周)的工作。
按照两人完成的应该是4人周工作。
a) BAC = 3 * 2 = 6 (Person-weeks)
b) BCWP = 50% * BAC = 3 (Person-weeks)
c) ACWP = 2 * 2 = 4 (Person-weeks)
d) CPI = BCWP/ACWP = 0.75 < 1 所以目前为止该任务超出预算)