习题参考答案第一章1、下列哪些活动不是项目?(1)探索火星生命迹象(2)向部门经理进行月工作汇报(3)开发新版本的操作系统(4)每天的卫生保洁(5)去网吧玩网络游戏(6)超级女声决赛(7)一次集体婚礼答:(2)、(4)、(5)不是项目第二章1、阐述配置库的检入检出机制及其作用。
答:配置库的检入检出机制如图所示,当开发人员要使用配置库中的一个文件时,将文件检出到自己的工作目录里,此时该文件在配置库中被自动锁定,开发人员处理完该文件后,再将文件检入到配置库中(需有修改权限),一个新的版本号自动与文件相关联,文件解锁。
配置库的检入检出和版本控制机制的作用:解决了软件开发中的两个重要问题(1)访问控制:保证具有相应权限的人员才能修改配置项。
(2)并行控制:保证不同人员同时对某配置项进行的修改不会互相覆盖。
2、简述变更管理流程。
图1 变革管理流程答:变更管理流程如图所示,具体步骤如下:(1)变更请求:向管理小组提出书面的变更请求(2)变更评估:分别从软件变更分类、技术影响分析、接口影响分析、进度影响分析、预算影响分析等方面对变更进行评估(3)变更批准/拒绝:根据评估结果对变更作出决策:1)直接实现变更;2)挂起或延迟变更;3)拒绝变更图2 变更实现流程(4)变更实现:如图2所示,从配置库中检出基线,然后对基线进行变更,变更完成后需要进行测试和验证,最后向配置库中检入基线。
第三章1、作为项目经理,你需要给一个软件项目做进度计划,经过任务分解后得到任务A,B,C,D,E,F,G,假设各个任务之间没有滞后和超前,下图是这个项目的PDM网络图。
通过历时估计已经估算出每个任务的工期,现已标识在PDM网络图上。
假设项目的最早开工日期是第0天,请计算每个任务的最早开始时间,最晚开始时间,最早完成时间,最晚完成时间,同时确定关键路径,并计算关键路径的长度,计算任务F的自由浮动和总浮动。
关键路径:A→E→C→D→G关键路径长度:4+8+7+5+3=27任务F的自由浮动:FF=ES(G)-EF(F)-lag=24-20=4任务F的总浮动:TF=LS(F)-ES(F)=16-12=42、小张是某公司的技术总监,最近接到公司总裁的指令,负责开发一个电子商务平台。
小张组织人员粗略地估算该项目在正常速度和压缩进度下需花费的时间和成本。
由于公司业务发展需要,公司总裁急于建立电子商务平台,因此要求小张准备一份关于尽快启动电子商务平台项目的时间和成本的估算报告。
在第一次项目团队会议上,项目团队确定了该项目的主要任务,具体内容如下:第一项任务是调研现有电子商务平台,按照正常进度估算完成这项任务需要花10天,成本为15000元。
但如果使用允许的最多加班工作量,则可在7天、18750元的条件下完成。
一旦完成调研任务,就需要向最高管理层提交项目计划和项目定义文件,以便获得批准。
项目团队估算完成这项任务按正常速度为5天,成本3750元,如果加班赶工,可在3天内完成,成本为4500元。
当项目团队获得管理层批准后,各项工作就可展开。
项目团队估计需求分析和设计需要15天,成本为45000元,如果加班则为10天,成本58500元。
设计完成后,有三项任务必须同时进行:1.开发电子商务平台数据库;2.开发和编写网页代码;3.开发和编写电子商务平台表格码。
估计数据库的开发在不加班的情况下需10天,成本9000元,如果加班则可在7天和成本为11250元的情况下完成。
同样,项目团队估算在不加班的情况下,开发和编写网页代码需要10天和17500元,如果加班则可以减少两天,成本为19500元。
开发表格码工作分包给别的公司,需要7天,成本为8400元,承包该工作的公司没有提供加班赶工的方案。
最后,整个电子商务平台需要进行测试和修改,项目团队估算需要3天,成本4500元。
如果加班的话,则可减少一天,成本为6750元。
问题1:如果不加班,完成此项目的成本和时间是多少?如果考虑加班,项目可以完成的最短时间及花费的成本是多少?问题2:假定公司总裁想在35天内完成项目,小张将采取什么有效措施来达到期限要求并使所花费的成本尽量少?答:首先要对该项目的活动进行编号和排序。
根据案例描述,该项目共有7项主要活动,如下表所示:活动编号活动内容A调研现有电子商务平台B向高层提交项目计划和项目定义文件C电子商务平台需求分析和设计D开发电子商务平台数据库E开发和编写网页代码F开发和编写电子商务平台表格码G测试和修改程序根据案例描述,绘制出该项目的网络图:dAll th i作业时间直接费用活动编号正常赶工正常赶工进度压缩单位成本(元/天)A 10715000187503750/3=1250B 5337504500750/2=375C 1510450005850013500/5=2700D1079000112502250/3=750E 10817500195002000/2=1000F 7 8400G32450067502250/1=2250对问题1的分析:正常进度:关键路径为A →B → C → D(或E) →G 总历时为43天,总经费为103150元加班:关键路径为A →B → C → E →G ,总历时为30天总经费为126900元对问题2的分析:需要压缩的天数:43-35=8天h i n gs in th ei压缩成本=1250*3+375*2+750*2+1000*2+2250=22250第四章1、你被指定负责一个软件项目,其中有4部分,项目总预算为53000, A 任务为26000, B 任务为12000, C 任务为10000, D 任务为5000, 截止到5月31日,A 任务已经全部完成,B 任务过半,C 任务接近完成,D 任务还没有开始,此时各任务的BCWS 、ACWP 如下表所示。
采用50/50规则计算截止到5月31日的CV ,SV ,CPI ,SPI ?任务BCWSACWPBCWPA2600025500 26000B90005400 6000C48004100 5000D00总计398003500037000答:CV=BCWP-ACWP=37000-35000=2000SV=BCWP-BCWS=37000-39800=-2800CPI=BCWP/ACWP=37000/35000=1.06SPI=BCWP/BCWS=37000/39800=0.93截止到5月31日项目低于预算,落后于进度第五章1、质量控制活动主要包括哪些?如图所示,质量控制活动的主要有2大类:验证:需求评审、设计评审、代码审查、系统测试确认:需求确认和确认测试2、简述质量体系和项目质量管理计划的区别。
根据ISO9000标准,质量体系的定义是:为实施质量管理所需的组织结构、责任、工序、工作过程和资源。
其特征如下:1)一个企业的质量体系是企业质量管理的规范,是企业长期遵循和需要重复实施的标准。
2)质量体系可参照一定的标准实施,例如CMM、ISO9000系列等。
3)质量体系内容的核心是建立、执行和维护(改进)软件生产过程,以保证最终生产出的软件产品达到用户综合的质量要求。
质量计划的形式和内容依项目而定,没有统一的规律,软件项目质量管理计划一般应满足以下要求:确定项目应达到的质量目标和所有特性的要求;确定项目中的质量活动和质量控制程序;确定项目采用的控制手段及合适的验证手段和方法;确定和准备质量记录。
二者的区别在于,制订软件项目质量管理计划的依据是企业的质量体系和项目的特点,质量体系是组织的质量标准,具有通用性,而项目质量管理计划的形式和内容与具体项目密切相关,它的制定依据是质量体系,但要充分考虑项目自身的特点。
第六章1、什么是软件过程和软件过程管理?答:软件过程(Software Processes)是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例和用户手册)的一套行为、方法、技术及变换过程。
软件过程管理就是对最佳实践进行有效的积累,形成可重复的软件过程,使最佳实践在组织范围内共享。
软件过程管理可将个人能力转变为企业的能力。
简述实施CMMI过程改进的两种表示方法及其特点。
答:CMMI模型支持两种实施过程改进的方法,一种称为阶段表示,一种称为连续表示。
阶段表示(Staged Representation)为过程改进提供了一个预定义的路线图,即从成熟度等级1到成熟度等级5逐级增加,要达到某一成熟度等级,必须满足该等级(及其以下等级)上所有过程域的目标。
连续表示(Continuous Representation)支持单个过程域的改进,可理解为一个过程域接着一个过程域实施改进。
在每个过程域上从能力等级0到能力等级5逐级增加。
阶段表示是从CMM模型继承而来,已经过多年的实践检验。
它提供了一个明确的、被证实的过程改进路径,遵循这条路径不需要过多的讨论和争论。
而且由于它的明确性和统一性,有助于进行跨组织的比较。
连续表示的优点是提供了灵活性。
用户可根据具体的业务目标来选择需要实现的过程域及其实现次序。
第七章1、什么是风险?从风险的范围角度可将软件项目风险分为哪几类?答:风险是不确定的事件,一旦发生,将会造成消极影响。
风险的三要素:1)一个未来的事件;2)事件发生的概率;3)事件的影响从风险的范围角度上看,可将风险分为三种类型:1)项目风险:潜在的项目预算、进度、人员、资源、用户和需求等方面的问题。
2)技术风险:实现和交付产品过程中所应用的各种技术所包含的风险。
技术的正确性、不确定性、复杂性、技术陈旧等因素都可带来技术风险。
3)商业风险:与市场、企业产品策略等因素有关的风险。
2、风险规划的四种主要策略是什么?风险规划的主要策略:(1)回避风险:对可能发生的风险尽可能地规避,采取主动放弃或者拒绝使用导致风险的方案。
例如放弃采用新技术。
消除了风险的起因,将风险发生概率降为零。
具有简单和彻底的优点。
(2)转移风险:转移风险是为了避免承担风险损失,有意识地将损失或与损失有关的财务后果转嫁出去的方法。
例如:采购、分包、免责合同、保险(3)缓解风险:在风险发生之前采取一些措施降低风险发生的可能性或减少风险可能造成的损失。
例如,为了防止人员流失,提高人员待遇,改善工作环境;为防止程序或数据丢失而进行备份等。
(4)接受风险:当风险很难避免,或采取其它风险应对方案的成本超过风险发生后所造成的损失时,可采取接受风险的策略。
主动接受:在风险识别、分析阶段已对风险有了充分准备,当风险发生时马上执行应急计划。
被动接受:风险发生时再去应对。
在风险事件造成的损失数额不大,不对软件项目的整体目标造成较大影响时,项目团队将风险的损失当做软件项目的一种成本来对待。
3、发现某个软件的缺陷后,对是否修改的风险进行评估后得到如下图所示的决策树,你认为是否需要对该缺陷进行修改?为什么?成功,概率80%不修改高性能,概率40%,收益60000低性能,概率60%,收益-10000321修改失败,概率20%,收益-20000方案实施成功的概率为80%,失败的概率为20%。