版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.2活动排序依据工具与技术成果项目范围说明书活动列表活动属性里程碑列表批准的变更前导图(PDM)箭线图(ADM)进度网络模板依赖性确定应用提前和滞后项目进度网络图活动列表(更新)活动属性(更新)请求的变更活动排序指识别与记载计划活动之间的逻辑关系。2.2活动排序依据工具与技术成果项目范围说明书前导相关概念概念:任何工作的执行必须依赖于一定工作的完成,也就是说它的执行必须在某些工作完成之后才能执行,这就是工作的先后依赖关系。分类:工作的先后依赖关系有两种:一种是工作之间本身存在的、无法改变的逻辑关系;另一种是人为组织确定的,两项工作可先可后的组织关系。原则:设计生产生产A产品生产B产品逻辑关系组织关系相关概念概念:任何工作的执行必须依赖于一定工作的完成,也就是三种依赖关系硬逻辑(强制性依赖关系):必须先盖下层,才能盖上层外部逻辑(外部依赖关系):
依赖于其他因素,如只有天气合适,才适合滑雪软逻辑(可自由决定的依赖关系):可以先高尔夫,再游泳,也可反之进行三种依赖关系硬逻辑(强制性依赖关系):外部逻辑(外部依赖关系工作相互关系确定的主要内容强制依赖关系的确定:这是工作相互关系确定的基础,工作逻辑关系的确定相对比较容易,由于它是工作之间所存在的内在关系,通常是不可调整的,主要依赖于技术方面的限制,因此确定起来较为明确,通常由技术和管理人员的交流就可完成。自由依赖关系的确定:对于无逻辑关系的那些工作,由于其工作先后关系具有随意性,从而将直接影响到项目计划的总体水平。自由依赖关系的确定一般比较难,它通常取决于项目管理人员的知识和经验,因此自由依赖关系的确定对于项目的成功实施是至关重要的。外部依赖关系的确定:在项目的工作和非项目工作之间通常会存在一定的影响,因此在项目工作计划的安排过程中也需要考虑到外部工作对项目工作的一些制约及影响,这样才能充分把握项目的发展。工作相互关系确定的主要内容强制依赖关系的确定:这是工作相互关排序的决策分析排序的决策分析活动逻辑关系表达活动A活动B活动A活动B活动A活动B完成-开始(FS)开始-开始(SS)完成-完成(FF)活动A活动B滞后(Lag)2天活动A完成2天后,活动B才能开始活动A活动B提前(Leading)-2天活动A完成2天前,活动B就开始活动逻辑关系表达活动A活动B活动A活动B活动A活动B完成-开前导图PDM开始活动B活动A活动C活动D活动E活动F结束1、又称单代号网络图(AON)、优先顺序图法、节点法2、单个节点表示活动,用节点之间的箭线表示项目活动间的关系。3、清楚表达5种逻辑关系,信息量大前导图PDM开始活动B活动A活动C活动D活动E活动F结束1、七格图最早开始时间工期最早完成时间任务编号最晚开始时间浮动时间最晚完成时间七格图最早开始时间工期最早完成时间任务编号最晚开始时间浮动时箭线图ADM1、双代号网络图2、用箭线代表活动,用节点代表活动之间的关系。124356活动A活动B活动C活动D活动E活动F箭线图ADM1、双代号网络图124356活动A活动B活动C活条件绘图法CDM开始活动B活动A活动C活动D活动E活动F结束1、允许分支和回路2、与图形评审技术(GERT)共同使用是否是否条件绘图法CDM开始活动B活动A活动C活动D活动E活动F结串行与并行活动B活动A活动C活动D活动E如果活动B、C、D完成的概率均为50%,那么,活动E按时启动的概率为?50%*50%*50%=12.5%串行与并行活动B活动A活动C活动D活动E如果活动B、C、D完2.3活动资源估算依据工具与技术成果事业环境因素组织过程资产活动列表活动属性资源可用性专家判断替代方案分析公布的估算数据项目管理软件自下而上估算活动资源需求活动属性(更新)资源分解结构资源日历(更新)请求的变更确定在实施项目活动时要使用何种资源(人员、设备或物资),每一种使用的数量,以及何时用于项目计划活动。活动资源估算过程同费用估算过程紧密配合最精确,但最花费时间指一些专用于制定进度计划的软件工具,不是项目管理信息系统2.3活动资源估算依据工具与技术成果事业环境因素专作用:工作延续时间的估计是项目计划制定的一项重要的基础工作,它直接关系到各事项、各工作网络时间的计算和完成整个项目任务所需要的总时间。若工作时间估计的太短,则会在工作中造成被动紧张的局面;相反,若工作时间估计的太长,就会使整个工程的完工期延长。观念:网络中所有工作的进度安排都是由工作的延续时间来推算,因此,对延续时间的估计要做到客观正确的估计。这就要求在对工作作出时间估计时,不应受到工作重要性及工程完成期限的影响,要在考虑到各种资源、人力、物力、财力的情况下,把工作置于独立的正常状态下进行估计,要做统盘考虑,不可顾此失彼。2.4活动历时估算作用:工作延续时间的估计是项目计划制定的一项重要的基础工作,依据、方法和结果依据工具与技术成果事业环境因素组织过程资产项目范围说明书活动列表活动属性活动资源请求资源日历项目管理计划专家判断类比估算参数估算三点估算单一时间预留时间活动历时估算活动属性(更新)1、根据以往类似项目信息2、准确性取决于:是否项目确实一样;是否人员具备必要专业知识依据、方法和结果依据工具与技术成果事业环境因素专家判工作时间的估计主要依赖的数据基础①工作详细列表②项目约束和限制条件③资源需求:大多数工作的时间将受到分配给该工作的资源情况以及该工作实际所需要的资源情况的影响,比如说当人力资源减少一半时工作的延续时间一般来说将会增加一倍。④资源能力:资源能力决定了可分配资源数量的大小,对多数工作来说其延续时间将受到分配给它们的人力及材料资源的明显影响,比如说一个全职的项目经理处理一件事情的时间将会明显的少于一个兼职的项目经理处理该事情的时间。⑤历史信息:许多类似的历史项目工作资料对于项目工作时间的确定是很有帮助的,主要包括:项目档案、公用的工作延续时间估计数据库、项目工作组的知识工作时间的估计主要依赖的数据基础①工作详细列表参数估算法生产率:生产资源所需要花费的时间单位成果单位如建设一座埃菲尔铁塔需要3年,那么建设10座需要的历时为?如果只是一个建筑公司,则需要30年活动历时=成果数量*生产率/可用资源数量参数估算法生产率:生产资源所需要花费的时间单位成果单位如建设三点估算法平时回家,如果不堵车,最快30分钟;如果堵车,最慢2小时。大多数情况是1小时请估算80分钟内回家的概率是?1、计算平均值:回家所需时间=(60*4+30+120)/6=65分钟2、计算标准差:=(120-30)/6=15分钟3、绘制正态分布图平均估算值=(最可能持续时间*4+最乐观+最悲观)/6标准差=(最悲观-最乐观)/6三点估算法平时回家,如果不堵车,最快30分钟;如果堵车,最慢三点估算法99%Te68%95%如果问在80分到50分之间到家的概率,则是68%如果问在80分钟以上回家的概率,则是15%(大约)。65分80分50%+68%/2=84%三点估算法99%Te68%95%如果问在80分到50分之间到软件项目的估算(补充)
进行了工作任务分解,就建立了一个项目任务整体的框架结构。一个良好的软件项目计划的建立,还必须估算准备开发的软件项目的任务大小、资源情况、投入的成本、限制因素等,进行充分的估算,最后,根据估算,才能制定出合理的项目开发计划。具体来说,要估算的内容包括:软件工作产品的规模软件项目的工作量和成本软件项目的进度项目所需要的人员、计算机等资源软件项目的估算(补充)
进行了工作任务分解,就建立了一个项目什么是软件项目的规模
在一个软件项目中,项目组要完成的工作产品,是规模评估的对象,那么,项目组要完成的工作产品包括些什么?是最后要交付的程序、文档。但是,项目组并不是只要完成最后交付的程序和文档,就可以了。在交付前,要进行确认和验证测试,为此,要进行质量控制有关的工作。再往前追述,项目组还必须做配置管理、需求管理,以及项目其他管理。这些都有工作量。那么,软件规模如何估算?现在,常用的办法,是通过对软件程序的规模进行估算的办法,来间接反映软件项目的规模。规模是工作量的一个方面,并不能说规模大,工作量就大。显然,接口控制程序的程序量可能并不大,但并不比程序量比较大的报表处理程序的工作量小。这个问题,在相应的评估算法中,采用加权因子的方法,加以调整。同样,程序规模的增长,会带来支持和管理工作成指数规模的增长。因此,这也是需要注意的地方。什么是软件项目的规模
在一个软件项目中,项目组要完成的工作产用什么来估算软件项目的规模软件的规模计算,从有软件的一天开始,就是一个没有解决的问题。现在越来越没有办法给出评价程序量多少的统一尺度。在程序设计的早期,直接的编码量(字节数)是度量程序量的简单办法。显然是不正确的。现在,在完全不同的系统、应用环境下,提出统一和易于运用的度量标准,是非常困难的。为了解决问题,在CMM2的计划管理中,已经提出了一些度量的实例,包括:功能点数、特征点数、编码行数(LOC)、需求数或页数等。还可以有:模块数目,表格数,用户界面数,及数据结构等,作为规模评估的参考。度量软件项目规模的尺度,是一个相对值,而不存在绝对值。用什么来估算软件项目的规模软件的规模计算,从有软件的一天开始软件项目规模的估算方法——LOC法
LOC(LineofCode)——一个衡量软件项目规模最常用的方法:LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:JobControlLanguage)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。单位编码行(1LOC)的价值和人月均编码行数可以体现一个软件生产组织的生产能力。组织可以根据对历史项目的审计来核算组织的单行编码价值。例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M,则可估计该项目源编码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则该项目中单位LOC的价值为:(240×10000)/150000=16元/LOC该项目的人月均编码行数为:
150000/240=625LOC/人月软件项目规模的估算方法——LOC法
LOC(Lineof软件项目规模的估算方法——Delphi法
Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家“专”的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多。Delphi法的步骤是:1、协调人向各专家提供项目规格和估计表格;2、协调人召集小组会各专家讨论与规模相关的因素;3、各专家匿名填写迭代表格;4、协调人整理出一个估计总结,以迭代表的形式返回专家;5、协调人召集小组会,讨论较大的估计差异;6、专家复查估计总结并在迭代表上提交另一个匿名估计;7、重复4-6,直到达到一个最低和最高估计的一致。特点:匿名性、多次有控制的反馈、小组的统计回答.软件项目规模的估算方法——Delphi法
Delphi法是最软件项目规模的估算方法——类比法
类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度。因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。类比法的基本步骤是:
1、整理出项目功能列表和实现每个功能的编码行数;
2、标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;
3、通过步骤1和2得出各个功能的估计值;
4、产生规模估计。软件项目规模的估算方法——类比法
类比法适合评估一些与历史项软件项目规模的估算方法——功能点测量法
功能点测量法是在需求分析阶段基于系统功能的一种规模估计方法。该方法通过研究初始应用需求,来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是:1、计算输入,输出,查询,主控文件,和接口需求的数目。2、将这些数据进行加权乘。下表为一个典型的权值表。功能类型权值
输入4
输出5
查询4
主控文件10
接口103、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC。软件项目规模的估算方法——功能点测量法
功能点测量法是在需求对规模估算的修正为了补充单一算法的不足,实际上,软件项目经理常采用其他方法,来进行“校正”和补充。这些方法是:把大块的任务分解为小规模的任务。例如:使用WBS对任务分解,然后对分解到的最“末梢”功能,进行规模估算,然后,在进行相加。采用与历史数据比较、修正的方法。采用最大值、最小值和最可能值折算的方法。对同一项目,至少使用二种以上工具和方法进行测算,避免一种方法的局限性。使用同行专家评审、评估小组集体投票取折中值的方法,博采众长。逐步逼近的方法;不把评估结果作为最终值,而是看成是一个逐步逼近的近似值,在以后的再评估中,可以进行调整。当项目刚刚启动,做第一次测算时,可以允许有30%以上的波动范围。在完成需求分析阶段,希望能达到波动控制在30%的范围内的目标。当基本完成详细设计的时候,估计的编码规模,应只能有20%、甚至更低的误差。对规模估算的迭代修正。对规模估算的修正为了补充单一算法的不足,实际上,软件项目经理软件项目的工作量估算
软件开发项目的工作量,主要指软件开发各过程中所花费的工作量。与传统的制造业不同,软件的成本基本可以不考虑原材料和能源的消耗,主要是人的劳动的消耗。软件也没有一个明显的制造过程,它的开发过程具有明显的一次性过程特征。因此,软件开发工作量的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的工作量,作为工作量测算的依据。软件项目的工作量估算
软件开发项目的工作量,主要指软件开发各软件项目的工作量估算与进度估算的关系
软件项目工作量估算的结果是任务的人力和需时。在工作量估算时,度量的任务需时是讨论以任务元素、子任务、项目任务为单位(我们称为:单位任务)的需时,它是计算成本、制定进度计划的依据。而在进度估算时,单位任务的需时,又是时间进度计划安排的基本数据来源。二者最主要的区别是:工作量估算是对时间的测算,注重的是最后获得的时间总量,或者是不同阶段、不同工作性质、不同成本因素下的时间量。例如:工作量估算结果会按人力资源层次的不同,进行分类:系统设计师需要多少人月、一般编程人员需要多少人月等。或者,在需求分析阶段,需要多少人月、在设计阶段需要多少人月等。这样,可以比较容易地获得人力资源需求和成本估算结果。在进度估算时,注重的是任务单元的时间长度、任务之间的时间先后关系和联系关系。在做计划进度安排时,重点考虑单位任务的时间历时,不考虑由谁和完成什么样的单位任务(当然不会完全不考虑,例如,需要调整或协调的时候)软件项目的工作量估算与进度估算的关系
软件项目工作量估算的结软件项目工作量的估算方法
软件工作量的估算,可以采取不同的操作方法,以下是几种常用的方法:(1)自顶向下估算法:首先对整个系统进行总工作量估算,再考虑子系统,把总工作量逐步分解为各组成部分的工作量,并考虑到开发该软件所需要的资源、人员、质量保证、系统集成安装等的工作量。优点是估算的工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的工作量盲目性大,有时会遗漏被开发软件的某些部分。(2)自底向上估算法:先对开发各个子系统或每个模块的工作量进行估算,再逐步相加。这是一种常见的估算方法。优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量(配置管理、质量管理、项目管理)。所以往往估算值偏低,必须用其它方法进行检验和校正。(3)相似比较估算法:把开发项目的工作分割到一定的程度,和过去的工作进行比较,对其中相同的或相近的部分,用已有的数据进行估算,对不同的部分再用其它的方法估算。优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。(4)Delphi估算法:请多位项目经理、系统分析员或其他专家,利用专家的经验来评估软件的开发成本。优点是可以摈弃无根据的估算值,缺点是一些组员可能会受权威或政治因素的影响。软件项目工作量的估算方法
软件工作量的估算,可以采取不同的操软件项目工作量的计算
前面我们已经介绍了WBS分解方法。有了任务分解(暂时不考虑集成的相关工作),就可以对分解后获得的任务单元的性质,进行定义。例如:是概要设计、架构设计,还是接口设计等。定义的目的是分配不同级别的人力资源,并估计在这样(或不是这样)的人力资源条件下的任务历时时间。项目工作量估算的来源,是项目任务的WBS分解。因此,在项目的不同阶段,对任务的认识和理解的程度不同,所能分解的“粒度”不同,获得的工作量估算的准确性也会不同。工作量评估是对项目有关的工作以人时、人月、人年为单位进行的计算,它是成本和预算的依据。工作量估计的结果,一般是多少个人的多少工作时间。软件项目工作量的计算
前面我们已经介绍了WBS分解方法。有了软件项目工作量估算的案例
经过测算,开发电信综合营业系统的工作量估计是122个人月。任务名称人力资源名称工作量(人月)资源数量(人)工期(月)项目管理项目经理10110系统需求分析系统设计师422系统概要设计系统设计师221系统详细设计系统设计师632系统架构设计系统架构师111核心模块编码高级程序员1243业务模块编码高级程序员1553一般模块编码初级程序员3284单元测试测试工程师1628集成测试高级测试师422文档编写文档编辑20210合计
122
软件项目工作量估算的案例
经过测算,开发电信综合营业系统的工软件项目工作量估算的案例
下图是该项目的人力资源分布(按月)曲线。根据公司的人力资源情况,可以分析这个分布是否可以得到满足。软件项目工作量估算的案例
下图是该项目的人力资源分布(软件项目工作量的其他影响因素
在做软件项目工作量的估计时,应考虑到以下几个其他因素:项目复杂度、人为因素和工程因素、意外因素:复杂度包括:问题领域、算法复杂性、程序设计语言、软件复用量、可靠性等性能要求、系统平台复杂性、资源的限制等。人为因素包括:开发人员的能力、经验、稳定性,开发的组织管理能力、用户的配合等。工程因素:包括开发技术的难度、进度的紧迫度、项目团队的凝聚力、多地点开发等。意外事件也是一个影响因素,意外事件可以有以下几种:工程师的事假、产假和病假天数;工程师参加与项目无关的培训的天数;工程师需要为其它项目做软件质量保证工作的时间;工程师需要做非项目有关的工作,例如参加员工会议,软件工程过程小组的工作等;软件项目工作量的其他影响因素
在做软件项目工作量的估计时,应软件项目工作量的其他构成因素
进行软件项目工作量估算的时候,可能会比较集中地考虑需求分析、设计、编码、测试等的工作量,但往往会忽略以下的一些工作量:用于各模块、子系统、软件系统与硬件/网络系统等之间集成的测试、调试等的工作量;用于编写用户文档和设计文档的工作量;用于需求管理、配置管理、质量管理、风险管理等支持过程的工作量;用于项目管理的工作量。有关这些部分工作量的度量,目前还没有看到比较系统地、适用的度量和估算方法的介绍。因为作为项目管理,本身就是全过程、随时性和零碎的,因此,对于它们的工作度量,确实更为困难。但是,这部分的工作又是非常关键和不可或缺,工作量也是比较大的。因此,如何规范地测量,是项目管理的一个新课题。软件项目工作量的其他构成因素
进行软件项目工作量估算的时候,软件项目的进度估算
在前面的介绍中,我们已经讨论了软件项目工作量估算中的时间和软件项目进度估算中时间概念的不同。在进行项目的进度估算时,我们要做的工作是:估算要完成的单位任务(系统、子系统、模块、单元)的时间长度;确定标志阶段任务完成的里程碑事件;确定重要阶段点的评审日期。这些工作的结果,一般表现在一张项目进度表里。软件项目的进度估算
在前面的介绍中,我们已经讨论了软件项目工2.5制定进度计划依据工具与技术成果组织过程资产项目范围说明书活动列表活动属性项目进度网络图活动资源请求资源日历活动历时估算项目管理计划进度网络分析关键路径法进度压缩情景模拟分析资源平衡关键链法项目管理软件应用日历调整提前和滞后进度模型项目进度进度模型数据进度基线资源需求(更新)活动属性(更新)项目日历(更新)请求的变更项目管理计划(更新)2.5制定进度计划依据工具与技术成果组织过程资产进关键路径法CPM开始活动B活动A活动C活动D活动E活动F结束1、关键路径可能有一条或多条,越多意味着风险越大2、总时差(路径时差)决定进度安排灵活性3、自由时差(活动时差)决定后续活动安排灵活性关键路径法CPM开始活动B活动A活动C活动D活动E活动F结束活动网络图活动网络图项目的关键路线法技术---补充
关键路线法(CriticalPathMethod,CPM)是把完成任务需要进行的工作进行分解,估计每个任务的工期,然后在任务间建立相关性,形成一个“网络”,通过网络计算,找到最长的路线(主要矛盾),再进行优化的计划方法。关键线路法的优化策略是,通过确定项目各工作最早、最迟开始和结束时间,通过最早最迟时间的时间差,分析每一工作相对时间紧迫程度及工作的重要程度。该方法的主要目的,就是确定项目中的关键工作,以保证实施过程中能重点关照,保证项目按期完成。关键路线法技术,其最基本的优点就是能直观地反映工作项目之间的相互关系,使一项计划构成一个系统的整体,为实现计划的定量分析奠定了基础。项目的关键路线法技术---补充
关键路线法(Crit关键路线法CPM的基本概念
现在,我们先来学习CPM的计算方法。在准备进行CPM计算之前,我们准备了以下一张任务描述表。它是我们在建立WBS、估算了任务完成时间之后获得的。任务编码任务名称紧前/紧后工作工作延续(天)责任人1练习剧本
5张三2制作服装
10李四3制作道具
4王五4彩排1、2、32张三项目经理审核意见关键路线法CPM的基本概念
现在,我们先来学习CPM网络计划时间参数计算最早开始时间ES最早结束时间EF最迟开始时间LS最迟结束时间LF总时差TF自由时差FF网络计划时间参数计算最早开始时间ES最早时间参数计算最早开始时间ESES=MAX{紧前工作的EF}最早结束时间EFEF=ES+工作延续时间t最早时间参数计算最早开始时间ES最早时间参数计算示例最早时间参数计算示例某公司软件项目管理及时间管理分析最早时间参数计算(练习)A3E8C7F6D4B2G5代号时间示例:最早时间参数计算(练习)A3E最早开始/结束时间计算A3E8C7F6D4B2G5代号时间033531037101610181823示例:答案:最早完工时间为23天最早开始/结束时间计算A3E课题作业:计算最早开始/结束时间软件任务任务描述前驱任务任务持续时间A需求分析1B重新设计现有部分A5C设计新增部分A3D开发整体计划C2E修改现有代码B3F增补新代码C6G单元测试E,F1H集成测试G1I更新文档D2J验收测试H,I1课题作业:计算最早开始/结束时间软件任务任务描述前驱任务任务最迟时间参数计算最迟结束时间LFLF=MIN{紧后工作的LS}最迟开始时间LSLS=LF—工作延续时间t最迟时间参数计算最迟结束时间LF最迟时间参数计算最迟时间参数计算某公司软件项目管理及时间管理分析时间参数计算(练习)A3E8C7F6D4B2G5代号时间示例:要求完工时间为23天时间参数计算(练习)A3E最早/迟时间参数计算(练习)A3E8C7F6D4B2G5代号时间03353103710161018182318231218101881031081203示例:要求完工时间为23天最早/迟时间参数计算(练习)A3E时间概念清理从前往后——最早(ES、EF)从后往前——最迟(LS、LF)左角都是开始时间、右角都是结束时间最早开始ES——多个前项工作的最大最早结束时间、起点为0最早结束EF——最早开始+工期最迟结束LF——多个后续工作中最小最迟开始时间,起点为要求完工期最迟开始LS——最迟结束-工期
时间概念清理从前往后——最早(ES、EF)2.2活动排序依据工具与技术成果项目范围说明书活动列表活动属性里程碑列表批准的变更前导图(PDM)箭线图(ADM)进度网络模板依赖性确定应用提前和滞后项目进度网络图活动列表(更新)活动属性(更新)请求的变更活动排序指识别与记载计划活动之间的逻辑关系。2.2活动排序依据工具与技术成果项目范围说明书前导相关概念概念:任何工作的执行必须依赖于一定工作的完成,也就是说它的执行必须在某些工作完成之后才能执行,这就是工作的先后依赖关系。分类:工作的先后依赖关系有两种:一种是工作之间本身存在的、无法改变的逻辑关系;另一种是人为组织确定的,两项工作可先可后的组织关系。原则:设计生产生产A产品生产B产品逻辑关系组织关系相关概念概念:任何工作的执行必须依赖于一定工作的完成,也就是三种依赖关系硬逻辑(强制性依赖关系):必须先盖下层,才能盖上层外部逻辑(外部依赖关系):
依赖于其他因素,如只有天气合适,才适合滑雪软逻辑(可自由决定的依赖关系):可以先高尔夫,再游泳,也可反之进行三种依赖关系硬逻辑(强制性依赖关系):外部逻辑(外部依赖关系工作相互关系确定的主要内容强制依赖关系的确定:这是工作相互关系确定的基础,工作逻辑关系的确定相对比较容易,由于它是工作之间所存在的内在关系,通常是不可调整的,主要依赖于技术方面的限制,因此确定起来较为明确,通常由技术和管理人员的交流就可完成。自由依赖关系的确定:对于无逻辑关系的那些工作,由于其工作先后关系具有随意性,从而将直接影响到项目计划的总体水平。自由依赖关系的确定一般比较难,它通常取决于项目管理人员的知识和经验,因此自由依赖关系的确定对于项目的成功实施是至关重要的。外部依赖关系的确定:在项目的工作和非项目工作之间通常会存在一定的影响,因此在项目工作计划的安排过程中也需要考虑到外部工作对项目工作的一些制约及影响,这样才能充分把握项目的发展。工作相互关系确定的主要内容强制依赖关系的确定:这是工作相互关排序的决策分析排序的决策分析活动逻辑关系表达活动A活动B活动A活动B活动A活动B完成-开始(FS)开始-开始(SS)完成-完成(FF)活动A活动B滞后(Lag)2天活动A完成2天后,活动B才能开始活动A活动B提前(Leading)-2天活动A完成2天前,活动B就开始活动逻辑关系表达活动A活动B活动A活动B活动A活动B完成-开前导图PDM开始活动B活动A活动C活动D活动E活动F结束1、又称单代号网络图(AON)、优先顺序图法、节点法2、单个节点表示活动,用节点之间的箭线表示项目活动间的关系。3、清楚表达5种逻辑关系,信息量大前导图PDM开始活动B活动A活动C活动D活动E活动F结束1、七格图最早开始时间工期最早完成时间任务编号最晚开始时间浮动时间最晚完成时间七格图最早开始时间工期最早完成时间任务编号最晚开始时间浮动时箭线图ADM1、双代号网络图2、用箭线代表活动,用节点代表活动之间的关系。124356活动A活动B活动C活动D活动E活动F箭线图ADM1、双代号网络图124356活动A活动B活动C活条件绘图法CDM开始活动B活动A活动C活动D活动E活动F结束1、允许分支和回路2、与图形评审技术(GERT)共同使用是否是否条件绘图法CDM开始活动B活动A活动C活动D活动E活动F结串行与并行活动B活动A活动C活动D活动E如果活动B、C、D完成的概率均为50%,那么,活动E按时启动的概率为?50%*50%*50%=12.5%串行与并行活动B活动A活动C活动D活动E如果活动B、C、D完2.3活动资源估算依据工具与技术成果事业环境因素组织过程资产活动列表活动属性资源可用性专家判断替代方案分析公布的估算数据项目管理软件自下而上估算活动资源需求活动属性(更新)资源分解结构资源日历(更新)请求的变更确定在实施项目活动时要使用何种资源(人员、设备或物资),每一种使用的数量,以及何时用于项目计划活动。活动资源估算过程同费用估算过程紧密配合最精确,但最花费时间指一些专用于制定进度计划的软件工具,不是项目管理信息系统2.3活动资源估算依据工具与技术成果事业环境因素专作用:工作延续时间的估计是项目计划制定的一项重要的基础工作,它直接关系到各事项、各工作网络时间的计算和完成整个项目任务所需要的总时间。若工作时间估计的太短,则会在工作中造成被动紧张的局面;相反,若工作时间估计的太长,就会使整个工程的完工期延长。观念:网络中所有工作的进度安排都是由工作的延续时间来推算,因此,对延续时间的估计要做到客观正确的估计。这就要求在对工作作出时间估计时,不应受到工作重要性及工程完成期限的影响,要在考虑到各种资源、人力、物力、财力的情况下,把工作置于独立的正常状态下进行估计,要做统盘考虑,不可顾此失彼。2.4活动历时估算作用:工作延续时间的估计是项目计划制定的一项重要的基础工作,依据、方法和结果依据工具与技术成果事业环境因素组织过程资产项目范围说明书活动列表活动属性活动资源请求资源日历项目管理计划专家判断类比估算参数估算三点估算单一时间预留时间活动历时估算活动属性(更新)1、根据以往类似项目信息2、准确性取决于:是否项目确实一样;是否人员具备必要专业知识依据、方法和结果依据工具与技术成果事业环境因素专家判工作时间的估计主要依赖的数据基础①工作详细列表②项目约束和限制条件③资源需求:大多数工作的时间将受到分配给该工作的资源情况以及该工作实际所需要的资源情况的影响,比如说当人力资源减少一半时工作的延续时间一般来说将会增加一倍。④资源能力:资源能力决定了可分配资源数量的大小,对多数工作来说其延续时间将受到分配给它们的人力及材料资源的明显影响,比如说一个全职的项目经理处理一件事情的时间将会明显的少于一个兼职的项目经理处理该事情的时间。⑤历史信息:许多类似的历史项目工作资料对于项目工作时间的确定是很有帮助的,主要包括:项目档案、公用的工作延续时间估计数据库、项目工作组的知识工作时间的估计主要依赖的数据基础①工作详细列表参数估算法生产率:生产资源所需要花费的时间单位成果单位如建设一座埃菲尔铁塔需要3年,那么建设10座需要的历时为?如果只是一个建筑公司,则需要30年活动历时=成果数量*生产率/可用资源数量参数估算法生产率:生产资源所需要花费的时间单位成果单位如建设三点估算法平时回家,如果不堵车,最快30分钟;如果堵车,最慢2小时。大多数情况是1小时请估算80分钟内回家的概率是?1、计算平均值:回家所需时间=(60*4+30+120)/6=65分钟2、计算标准差:=(120-30)/6=15分钟3、绘制正态分布图平均估算值=(最可能持续时间*4+最乐观+最悲观)/6标准差=(最悲观-最乐观)/6三点估算法平时回家,如果不堵车,最快30分钟;如果堵车,最慢三点估算法99%Te68%95%如果问在80分到50分之间到家的概率,则是68%如果问在80分钟以上回家的概率,则是15%(大约)。65分80分50%+68%/2=84%三点估算法99%Te68%95%如果问在80分到50分之间到软件项目的估算(补充)
进行了工作任务分解,就建立了一个项目任务整体的框架结构。一个良好的软件项目计划的建立,还必须估算准备开发的软件项目的任务大小、资源情况、投入的成本、限制因素等,进行充分的估算,最后,根据估算,才能制定出合理的项目开发计划。具体来说,要估算的内容包括:软件工作产品的规模软件项目的工作量和成本软件项目的进度项目所需要的人员、计算机等资源软件项目的估算(补充)
进行了工作任务分解,就建立了一个项目什么是软件项目的规模
在一个软件项目中,项目组要完成的工作产品,是规模评估的对象,那么,项目组要完成的工作产品包括些什么?是最后要交付的程序、文档。但是,项目组并不是只要完成最后交付的程序和文档,就可以了。在交付前,要进行确认和验证测试,为此,要进行质量控制有关的工作。再往前追述,项目组还必须做配置管理、需求管理,以及项目其他管理。这些都有工作量。那么,软件规模如何估算?现在,常用的办法,是通过对软件程序的规模进行估算的办法,来间接反映软件项目的规模。规模是工作量的一个方面,并不能说规模大,工作量就大。显然,接口控制程序的程序量可能并不大,但并不比程序量比较大的报表处理程序的工作量小。这个问题,在相应的评估算法中,采用加权因子的方法,加以调整。同样,程序规模的增长,会带来支持和管理工作成指数规模的增长。因此,这也是需要注意的地方。什么是软件项目的规模
在一个软件项目中,项目组要完成的工作产用什么来估算软件项目的规模软件的规模计算,从有软件的一天开始,就是一个没有解决的问题。现在越来越没有办法给出评价程序量多少的统一尺度。在程序设计的早期,直接的编码量(字节数)是度量程序量的简单办法。显然是不正确的。现在,在完全不同的系统、应用环境下,提出统一和易于运用的度量标准,是非常困难的。为了解决问题,在CMM2的计划管理中,已经提出了一些度量的实例,包括:功能点数、特征点数、编码行数(LOC)、需求数或页数等。还可以有:模块数目,表格数,用户界面数,及数据结构等,作为规模评估的参考。度量软件项目规模的尺度,是一个相对值,而不存在绝对值。用什么来估算软件项目的规模软件的规模计算,从有软件的一天开始软件项目规模的估算方法——LOC法
LOC(LineofCode)——一个衡量软件项目规模最常用的方法:LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:JobControlLanguage)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。单位编码行(1LOC)的价值和人月均编码行数可以体现一个软件生产组织的生产能力。组织可以根据对历史项目的审计来核算组织的单行编码价值。例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M,则可估计该项目源编码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则该项目中单位LOC的价值为:(240×10000)/150000=16元/LOC该项目的人月均编码行数为:
150000/240=625LOC/人月软件项目规模的估算方法——LOC法
LOC(Lineof软件项目规模的估算方法——Delphi法
Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家“专”的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多。Delphi法的步骤是:1、协调人向各专家提供项目规格和估计表格;2、协调人召集小组会各专家讨论与规模相关的因素;3、各专家匿名填写迭代表格;4、协调人整理出一个估计总结,以迭代表的形式返回专家;5、协调人召集小组会,讨论较大的估计差异;6、专家复查估计总结并在迭代表上提交另一个匿名估计;7、重复4-6,直到达到一个最低和最高估计的一致。特点:匿名性、多次有控制的反馈、小组的统计回答.软件项目规模的估算方法——Delphi法
Delphi法是最软件项目规模的估算方法——类比法
类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度。因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。类比法的基本步骤是:
1、整理出项目功能列表和实现每个功能的编码行数;
2、标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;
3、通过步骤1和2得出各个功能的估计值;
4、产生规模估计。软件项目规模的估算方法——类比法
类比法适合评估一些与历史项软件项目规模的估算方法——功能点测量法
功能点测量法是在需求分析阶段基于系统功能的一种规模估计方法。该方法通过研究初始应用需求,来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是:1、计算输入,输出,查询,主控文件,和接口需求的数目。2、将这些数据进行加权乘。下表为一个典型的权值表。功能类型权值
输入4
输出5
查询4
主控文件10
接口103、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC。软件项目规模的估算方法——功能点测量法
功能点测量法是在需求对规模估算的修正为了补充单一算法的不足,实际上,软件项目经理常采用其他方法,来进行“校正”和补充。这些方法是:把大块的任务分解为小规模的任务。例如:使用WBS对任务分解,然后对分解到的最“末梢”功能,进行规模估算,然后,在进行相加。采用与历史数据比较、修正的方法。采用最大值、最小值和最可能值折算的方法。对同一项目,至少使用二种以上工具和方法进行测算,避免一种方法的局限性。使用同行专家评审、评估小组集体投票取折中值的方法,博采众长。逐步逼近的方法;不把评估结果作为最终值,而是看成是一个逐步逼近的近似值,在以后的再评估中,可以进行调整。当项目刚刚启动,做第一次测算时,可以允许有30%以上的波动范围。在完成需求分析阶段,希望能达到波动控制在30%的范围内的目标。当基本完成详细设计的时候,估计的编码规模,应只能有20%、甚至更低的误差。对规模估算的迭代修正。对规模估算的修正为了补充单一算法的不足,实际上,软件项目经理软件项目的工作量估算
软件开发项目的工作量,主要指软件开发各过程中所花费的工作量。与传统的制造业不同,软件的成本基本可以不考虑原材料和能源的消耗,主要是人的劳动的消耗。软件也没有一个明显的制造过程,它的开发过程具有明显的一次性过程特征。因此,软件开发工作量的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的工作量,作为工作量测算的依据。软件项目的工作量估算
软件开发项目的工作量,主要指软件开发各软件项目的工作量估算与进度估算的关系
软件项目工作量估算的结果是任务的人力和需时。在工作量估算时,度量的任务需时是讨论以任务元素、子任务、项目任务为单位(我们称为:单位任务)的需时,它是计算成本、制定进度计划的依据。而在进度估算时,单位任务的需时,又是时间进度计划安排的基本数据来源。二者最主要的区别是:工作量估算是对时间的测算,注重的是最后获得的时间总量,或者是不同阶段、不同工作性质、不同成本因素下的时间量。例如:工作量估算结果会按人力资源层次的不同,进行分类:系统设计师需要多少人月、一般编程人员需要多少人月等。或者,在需求分析阶段,需要多少人月、在设计阶段需要多少人月等。这样,可以比较容易地获得人力资源需求和成本估算结果。在进度估算时,注重的是任务单元的时间长度、任务之间的时间先后关系和联系关系。在做计划进度安排时,重点考虑单位任务的时间历时,不考虑由谁和完成什么样的单位任务(当然不会完全不考虑,例如,需要调整或协调的时候)软件项目的工作量估算与进度估算的关系
软件项目工作量估算的结软件项目工作量的估算方法
软件工作量的估算,可以采取不同的操作方法,以下是几种常用的方法:(1)自顶向下估算法:首先对整个系统进行总工作量估算,再考虑子系统,把总工作量逐步分解为各组成部分的工作量,并考虑到开发该软件所需要的资源、人员、质量保证、系统集成安装等的工作量。优点是估算的工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的工作量盲目性大,有时会遗漏被开发软件的某些部分。(2)自底向上估算法:先对开发各个子系统或每个模块的工作量进行估算,再逐步相加。这是一种常见的估算方法。优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量(配置管理、质量管理、项目管理)。所以往往估算值偏低,必须用其它方法进行检验和校正。(3)相似比较估算法:把开发项目的工作分割到一定的程度,和过去的工作进行比较,对其中相同的或相近的部分,用已有的数据进行估算,对不同的部分再用其它的方法估算。优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。(4)Delphi估算法:请多位项目经理、系统分析员或其他专家,利用专家的经验来评估软件的开发成本。优点是可以摈弃无根据的估算值,缺点是一些组员可能会受权威或政治因素的影响。软件项目工作量的估算方法
软件工作量的估算,可以采取不同的操软件项目工作量的计算
前面我们已经介绍了WBS分解方法。有了任务分解(暂时不考虑集成的相关工作),就可以对分解后获得的任务单元的性质,进行定义。例如:是概要设计、架构设计,还是接口设计等。定义的目的是分配不同级别的人力资源,并估计在这样(或不是这样)的人力资源条件下的任务历时时间。项目工作量估算的来源,是项目任务的WBS分解。因此,在项目的不同阶段,对任务的认识和理解的程度不同,所能分解的“粒度”不同,获得的工作量估算的准确性也会不同。工作量评估是对项目有关的工作以人时、人月、人年为单位进行的计算,它是成本和预算的依据。工作量估计的结果,一般是多少个人的多少工作时间。软件项目工作量的计算
前面我们已经介绍了WBS分解方法。有了软件项目工作量估算的案例
经过测算,开发电信综合营业系统的工作量估计是122个人月。任务名称人力资源名称工作量(人月)资源数量(人)工期(月)项目管理项目经理10110系统需求分析系统设计师422系统概要设计系统设计师221系统详细设计系统设计师632系统架构设计系统架构师111核心模块编码高级程序员1243业务模块编码高级程序员1553一般模块编码初级程序员3284单元测试测试工程师1628集成测试高级测试师422文档编写文档编辑20210合计
122
软件项目工作量估算的案例
经过测算,开发电信综合营业系统的工软件项目工作量估算的案例
下图是该项目的人力资源分布(按月)曲线。根据公司的人力资源情况,可以分析这个分布是否可以得到满足。软件项目工作量估算的案例
下图是该项目的人力资源分布(软件项目工作量的其他影响因素
在做软件项目工作量的估计时,应考虑到以下几个其他因素:项目复杂度、人为因素和工程因素、意外因素:复杂度包括:问题领域、算法复杂性、程序设计语言、软件复用量、可靠性等性能要求、系统平台复杂性、资源的限制等。人为因素包括:开发人员的能力、经验、稳定性,开发的组织管理能力、用户的配合等。工程因素:包括开发技术的难度、进度的紧迫度、项目团队的凝聚力、多地点开发等。意外事件也是一个影响因素,意外事件可以有以下几种:工程师的事假、产假和病假天数;工程师参加与项目无关的培训的天数;工程师需要为其它项目做软件质量保证工作的时间;工程师需要做非项目有关的工作,例如参加员工会议,软件工程过程小组的工作等;软件项目工作量的其他影响因素
在做软件项目工作量的估计时,应软件项目工作量的其他构成因素
进行软件项目工作量估算的时候,可能会比较集中地考虑需求分析、设计、编码、测试等的工作量,但往往会忽略以下的一些工作量:用于各模块、子系统、软件系统与硬件/网络系统等之间集成的测试、调试等的工作量;用于编写用户文档和设计文档的工作量;用于需求管理、配置管理、质量管理、风险管理等支持过程的工作量;用于项目管理的工作量。有关这些部分工作量的度量,目前还没有看到比较系统地、适用的度量和估算方法的介绍。因为作为项目管理,本身就是全过程、随时性和零碎的,因此,对于它们的工作度量,确实更为困难。但是,这部分的工作又是非常关键和不可或缺,工作量也是比较大的。因此,如何规范地测量,是项目管理的一个新课题。软件项目工作量的其他构成因素
进行软件项目工作量估算的时候,软件项目的进度估算
在前面的介绍中,我们已经讨论了软件项目工作量估算中的时间和软件项目进度估算中时间概念的不同。在进行项目的进度估算时,我们要做的工作是:估算要完成的单位任务(系统、子系统、模块、单元)的时间长度;确定标志阶段任务完成的里程碑事件;确定重要阶段点的评审日期。这些工作的结果,一般表现在一张项目进度表里。软件项目的进度估算
在前面的介绍中,我们已经讨论了软件项目工2.5制定进度计划依据工具与技术成果组织过程资产项目范围说明书活动列表活动属性项目进度网络图活动资源请求资源日历活动历时估算项目管理计划进度网络分析关键路径法进度压缩情景模拟分析资源平衡关键链法项目管理软件应用日历调整提前和滞后进度模型项目进度进度模型数据进度基线资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门窗工程安装技术要点
- 《向量的数乘运算》学考达标练
- 2026年建筑设计与建筑历史基础题库
- 2026年人力资源管理师员工关系处理与考核制度
- 2026年设计师结构化面试题创意设计与实施能力测试
- 2026年IT项目管理面试要点从计划到执行全流程解析
- 2026年苯乙烯基吡啶采购销售合同二篇
- 2026年英美文学经典名著理解与阅读考试模拟题
- 游客中心消防安全制度
- 消杀公司规惩罚制度
- Web3创作者经济演进研究
- 河北省邢台市2025-2026学年七年级上学期期末考试历史试卷(含答案)
- (2025年)新疆公开遴选公务员笔试题及答案解析
- 《老年服务礼仪与沟通技巧》-《老年服务礼仪与沟通技巧》-老年服务礼仪与沟通技巧
- 八年级数学人教版下册第十九章《二次根式》单元测试卷(含答案)
- (2025年)广东省事业单位集中招聘笔试试题及答案解析
- 深学细悟四中全会精神凝聚奋进“十五五”新征程磅礴力量
- 市场监督管理局2025年制售假劣肉制品专项整治工作情况的报告范文
- 《二氧化碳转化原理与技术》课件 第9章 二氧化碳电催化转化
- 旧城区改造项目开发合作合同协议书范本
- 果树整形修剪技术5
评论
0/150
提交评论