软件项目管理复习题整理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最大的那个作为下一个ES2)逆向:多个指向一个,选择LS最小的那个作为下一个LF浮动时间(TF)=LS–ES=LF–EF(简单的说就是同一侧的下边减去上边)关键路径:决定项目完成的最短时间。寻找关键路径的方法:1)找时间最长的那条路径2)浮动时间为零的路径关键路径一般情况下只有一条,经过赶工压缩后可能有两条。11.进度压缩应急法:(赶工法)(1)每个任务存在一个“正常”进度和“可压缩”进度。一个“正常”成本和“可压缩”成本。(2)增加资源,从“正常”进度压缩到“可压缩”进度。(3)每个任务无法在低于“可压缩”进度内完成。(4)有足够资源利用。(5)进度压缩与成本增长成正比。单位时间赶工成本=(可压缩成本–正常成本)/(正常进度–可压缩进度)。1)一般首先选择持续时间相对长的活动。压缩比比较小。2)选择压缩成本低的活动。活动持续时间的变化会引起成本的变化,某活动压缩单位时间所需增加的成本称为该活动的压缩成本。例题见作业题。P86书上例题12.常用的估算方法1)分解方法,采用“分而治之”的策略,对软件项目进行分解,再采用逐步求精的方式进行估算,最后通过累加获得整体的估算结果。2)算术模型,通过估算模型来产生估算。如cocomo模型,功能点分析模型(FPA)、标准构件法、IBM定量影响因子(QIF)等3)专家判断或经验法,如德尔菲法(Delphitechnique)。适合于初步估算,不适合于详细估算4)比例法是比较科学的一种传统估算方法,是基于类比的估算技术,根据过去类似的项目,直接进行类比获得当前项目的估算结果。自顶向下估算模式,首先估算出项目一级的工作量,然后层层往下分摊,把上一层工作量分摊到下一层的阶段、活动或任务。通常使用FPA方法或COCOMOII来估算项目一级的工作量。自底向上估算模式,要求先估算出底层任务/活动一级的工作量,然后层层向上汇总到阶段和项目级。通常使用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,试计算本项目的总成本。软件需求的功能计数项五类功能计数项的复杂度权重权重项复杂度权重因素简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015复杂度各类计数项简单一般复杂外部输入534外部输出781外部查询113外部文件412内部文件813因子影响值因子影响值数据通信0联机更新0分布式处理0复杂处理2性能3可重用性0配置负载4易安装4事物率0易操作5联机数据登录2多个场所0最终用户效率5设施变更1解:TCF=0.65+0.01(sum(Fi))假设所有技术复杂影响程度都是平均程度,即技术复杂度因子=3则TCF=0.65+0.01(14*3)=1.07FP=UFC*TCF=313*1.07=335总成本=335*5000=1,675,000(4)COCOMO模型基本公式为:E=aSb×EAF其中,E是以人月为单位的工作量,S程序规模的单位是KLOC,EAF(EffortAdjustmentFactor)是一个工作量调整因子,在基本模型中取值为1。a,b则随着开发模式的变化而变化功能点简单一般复杂外部输入5*33*44*6外部输出7*48*51*7外部查询1*31*53*7外部文件4*51*72*10内部文件8*71*103*15总计12274117UFC313例题:要开发一个估计规模为30KLOC的银行系统应用程序项目,其功能以数据处理为主,属于有机型软件模式。随着项目进展,可以确定其15个成本因子的情况,除了软件可靠性\虚拟机易变性\开发进度限制因子的取值见表外,其余因子取值均为1.00,系数a=3.2,b=1.05.成本驱动因子级别取值软件可靠性高1.15虚拟机易变性低0.87开发进度限制低1.08则该项目的工作量估算为:13.成本估算挣值法:三个成本,两个偏差,两个绩效已完成工程的计划成本(BCWP)=已完成工作量*预算单价拟完成工程的计划成本(BCWS)=计划工作量*预算单价已完成工程的实际成本(ACWP)=已完成工作量*实际单价成本偏差(CV)=BCWP–ACWP0超支0节约进度偏差(SV)=BCWP–BCWS0拖延0提前成本绩效指数(CPI)=BCWP/ACWP1超支1节约进度绩效指数(SPI)=BCWP/BCWS1拖延1提前方法一:连续计算开发出来的产品的价值方法二:计算公式法。通用规则:1)50/50规则:当一项工作已经开始,但是还没有完成,就假定已经实现一般的价值,当这个工作全部完成才实现全部价值。2)0/100规则:当一项工作全部完成的时候才实现全部价值人月0.123)08.187.015.1()30(2.305.1Effort14.风险管理(1)风险定义:某一特定危险情况发生的可能性和后果的组合。三要素:事件、事件发生的概率、事件的影响(2)风险分类:1)从风险的范围角度划分:项目风险、技术风险、商业风险2)从风险的可预测程度划分:已知风险、可预测风险、不可预测风险3)从软件项目开发过程划分需求风险、计划编制风险、组织和管理风险、人员风险、开发环境风险、客户风险、产品风险、设计和实现风险、过程风险(3)风险管理的策略1)危机管理2)风险缓解3)着力预防4)消灭根源(4)风险管理流程风险识别、风险评估、风险规划、风险控制决策树法案例:假设有一项工程,施工管理人员需要决定下月是否开工。如果开工后天气好,则可为国家创收4万元,若开工后天气坏,将给国家造成损失1万元,不开工则损失1000元。根据过去的统计资料,下月天气好的概率是0.3,天气坏的概率是0.7。请做出决策。现采用决策树方法进行决策案例2:某项目准备投产生产两种产品甲和乙,分别需要投资50万元和55万元,两种产品的生产年限是一样的。经过市场调研后,预测新产品上市后,畅销的概率为70%,滞销的概率为30%。甲乙两种产品在不同情况下的收益表如表:畅销(70%)滞销(30%)甲产品160万元-80万元