软件项目管理4.ppt





《软件项目管理4.ppt》由会员分享,可在线阅读,更多相关《软件项目管理4.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发项目管理软件开发项目管理信息管理系信息管理系汪维清汪维清0chapter_4承上启下承上启下配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划集成集成 计划计划 范范围围计计划划项项目目结结束束项项目目执执 行行控控制制 项项目目 计计划划 项项目目初初始始 人人力力 计计划划 1chapter_4成本计划成本计划配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划集成集成 计划计划 范范围围计计划划项项目目结
2、结束束项项目目执执 行行控控制制 项项目目 计计划划 项项目目初初始始 人人力力 计计划划 2chapter_4软件开发项目管理软件开发项目管理第第 4 4 章章软件项目成本软件项目成本计划计划3chapter_44.1 4.1 关于估算关于估算q估算一般可能不是非常的准确,尤其是软件更是如此,软件项目中存在太多的不确定性,而且,在项目初期,人们对需求喝技术的不了解还不是很透彻。q对于估算既没有特效的办法,也没有通用的模型,项目经理可以根据以前的项目经验和验证过的指南来提高精度。4chapter_44.1.1 4.1.1 项目规模与成本的关系项目规模与成本的关系q软件项目规模即工作量,是从软件
3、项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务q包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。q软件项目成本是指完成软件项目规模相应付出的代价,是待开发的软件项目需要的资金。q规模的单位:代码行(line of code,LOC)、功能点、人天、人月、人年等q成本一般采用货币单位,如人民币或美元等5chapter_44.1.2 4.1.2 成本估算的定义成本估算的定义q软件开发成本是指软件开发过程中所花费的工作量及相应代价。q软件开发成本的估算应该从软件计划、需求分析设计、编码、单元测试、集成测试到接受测试等这些过程中所花费的代价作为依据
4、。6chapter_44.2 4.2 估算的过程估算的过程q成本管理就是确保项目在预算范围之内的管理过程,包括成本估算、成本预算、成本控制等过程。q成本估算涉及计算完成项目所需各资源成本的近似值。q由于影响软件成本的因素太多(例如人、技术、环境、政治等),软件估算仍然是恨不成熟的技术,一些方法只能作为借鉴,更多的时候需要经验。目前没有一个估算方法或者成本估算模型可以适用于所有的软件类型和开发环境估算输入估算结果成本估算方法7chapter_44.2.1 4.2.1 成本估算输入成本估算输入q估算的输入一般包括以下几项:q项目需求或WBS:根据估算的不同阶段,有不同的输入可用于成本估算,以确保所
5、有工作均一一被估计进成本了q历史项目数据:是以往项目的数据,包括规模、进度、成本等,是项目估算的主要参考q资源要求(资源编制计划):它可以让项目组掌握资源需要和分配的情况q资源消耗率:即资源单击,如人员成本:100元/小时q进度规划:项目活动时间的估计,活动时间估计会影响到项目成本估计q学习曲线:是项目组学习某项技术或者工作的时间,当一件事情被重复的时候,完成这件事情的时间将会被缩短,业绩会以一定的百分比提高8chapter_44.2.2 4.2.2 估算处理估算处理q成本估算包括直接成本和间接成本。q直接成本是与开放的具体项目直接相关的成本,如人员的工资、材料费、外包外购成本等,包括开放成本
6、、管理成本、质量成本等q间接晨报归属于一个具体项目,可以分摊到各个具体项目中的成本,例如:培训、房租水电、员工福利、市场费用、管理费等等9chapter_44.2.3 4.2.3 估算输出估算输出q成本估算的结果可以以简略或详细的形式表示。对项目所需的各种资源的成本均需加以估计。估算单位通常是货币单位,如元、法郎、美元等;也可以用人月、人天或人小时这样的单位q估算文件包括项目所需的资源,资源的数量,质量标准,估算成本等信息,单位一般是货币单位q估算说明包括工作范围、估算的基础和依据、估算的假设、估算的误差变动等10chapter_44.3 4.3 成本估算的方法成本估算的方法1.常用的成本估算
7、方法如:2.代码行、功能点3.类比(自顶向下)估算法4.自下而上估算法5.参数法估算法6.专家估算法11chapter_44.3.1 4.3.1 代码代码行(行(LOCLOC)、功能点及对象)、功能点及对象代码行、功能点是表达软件项目规模的单位,有时也称为软件项目规模估算方法12chapter_41 1 代码行代码行n这种方法依据以往开发类似产品的经验和历史数据,估计实现一个功能所需要的源程序航数。n使用代码行作为规模单位时,要求功能分解足够详细,而且有一定的经验数据,采用不同的开发语言,代码行可能不一样。n代码行技术的主要优点代码行技术的主要优点:代码是所有软件开发项目都有的代码是所有软件开
8、发项目都有的“产产品品”,而且很容易计算代码行数。,而且很容易计算代码行数。n代码行(LOC)缺点:n对代码行没有公认的可接受的标准定义n代码行数量依赖于所用的编程语言和个人的编程风格.n在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量.n代码行强调编码的工作量,只是项目实现阶段的一部分13chapter_42.2.功能点(功能点(FP:Function pointFP:Function point)q(1)基本概念q功能点是用系统的功能数量来测量其规模,它以一个标准的单位来度量软件产品的功能,与实现产品所用的语言和技术没有关系。q功能点计算公式:FP=UFC*TCF
9、q UFC:未调整功能点计数q TCF:技术复杂度因子14chapter_4(2 2)UFC-UFC-未调整功能点计数未调整功能点计数n在功能点分析中,系统被分为5类组件和一些常规系统特征n在计算未调整功能点计数时,应该先计算5类功能组件的计数项:n内部逻辑文件(ILF):是用户可以识别的一组逻辑相关的数据,而且完全存在于应用的边界之内,并且通过外部输入维护n外部输入(EI):给软件提供面向应用的数据项(如屏幕、菜单、对话框、控件等),在这个过程中,数据穿越外部边界进入系统内部。n外部输出(EO):向外部提供面向应用的信息,如报表和出错信息等n外部查询(EQ):即一次联机输入,它导致软件以联机
10、输出方式产生某种及时响应n外部文件(EIF):是用户可以识别的一组逻辑相关数据,这组数据只能被引用15chapter_4n当组件被规为以上5类主要组件中的一类以后,就要为之指定级别,所有组件都被指定为高、中、低三个级别。它们的级别取决于被更新或引用文件的个数以及数据元素类型的个数。引用的文件类型个数数据元素1-45-15150-1低低低2低中高3中高高引用的文件类型个数数据元素1-45-15150-1低低低2-3低中高3中高高级数值EOEQEI低433中544高766外部输入定级表外部输入和外部查询共用定级表外部输入、外部输出和外部查询共用定级取值16chapter_4记录元素类型数据元素1-
11、1920-50501低低低2-5低中高5中高高组件类型组件复杂度低中高外部输入X3=X4=X6=外部输出X4=X5=X7=外部查询X3=X4=X6=内部逻辑文件X7=X10=X15=外部接口文件X5=X7=X10=全部未调整的功能点数调整系数值全部调整后的功能点数级数值ILFEIF低75中107高1510内部逻辑文件或者外部接口文件定级组件复杂度表内部逻辑文件或者外部接口文件级数取值n将每个类别组件的每一级复杂度输入到组件复杂度表中,每一组件的数量乘以所示的级数得出定级的值17chapter_4(3)TCF-(3)TCF-技术复杂度因子技术复杂度因子技术复杂度因子取决于技术复杂度因子取决于14
12、14个通用系统特性。影响程度的个通用系统特性。影响程度的取值从取值从0 0到到5 5,从没有影响到强烈影响。计算复杂度因子,从没有影响到强烈影响。计算复杂度因子公式如下:公式如下:TCF=0.65+0.01(sum(Fi)TCF=0.65+0.01(sum(Fi):Fi:0-5,TCF:0.65-1.35Fi:0-5,TCF:0.65-1.35技术复杂度因子F1可靠的备份和恢复F2数据通信F3分布式函数F4性能F5大量使用的配置F6联机数据输入F7操作简单性F8在线升级F9复杂界面F10复杂数据处理F11重复使用性F12安装简易性F13多重站点F14易于修改调整系调整系数数描述描述0不存在或者
13、没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响18chapter_4q【例1】一个软件的五类功能计数项如下左图,计算这个软件的功能点q1)计算UFC:按照UFC的计算过程如下右图,得UFC301q2)计算TCF:按公式计算得TCF=0.65+0.01(14*3)=1.07q3)计算FP:按公式计算得FP=301*1.07=322复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015功能点项简单一般复杂外部输入6*32*43*6外部输出7*47*50*7外部查询0*32*44*6外部文件5*52*73*10内部文件9*70
14、*102*15总计13465102UFC30119chapter_4(4 4)功能点与代码行的转换功能点与代码行的转换语言代码行代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6n功能点可以按照一定的条件转换为代码行,是针对各种语言的转换率,它是根据经验的研究得出的。如表所示:20chapter_44.3.2 4.3.2 类比估算法类比估算法q估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分
15、配到各个开发任务单元中q是一种自上而下的估算形式q对于度量相似度,目前的研究中常有两种求值方式来度量差距,即不加权的欧式距离和加权的欧式距离:21chapter_4类比类比举例举例22chapter_4q对于工作量最后估算值的确定,有不同的方法,如:q可以直接取最相似的项目的工作量(对应P0工作量取1000)q可以取几个相似的项目的工作量的平均值(对应P0工作量取1900/2=950)q目前,类别估算的方法,基本上采用主观推测,很少采用相似度计算的方法23chapter_44.3.3 4.3.3 自下而上估算法自下而上估算法q利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累
16、加起来得出项目总成本。q自下而上使用情况:q项目开始以后,WBS的开发阶段;q需要进行准确估算的时候q自下而上特点:q这种方法相对比较准确,它的准确度来源于每个任务的估算情况q非常费时,估算本身也需要成本支持q可能发生虚报现象24chapter_44.3.4 4.3.4 参数模型估算法参数模型估算法q参数模型估算法也称算法模型或者经营导出模型,是一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。q其基本思想是:找到软件工作量的各种成本影响因子,并判断它对工作量所产生的影响程度是可加的、乘数的还是指数的,以期得到最佳的模型算法表达形式。q当某个因子只影响系统
17、的局部时,我们一般说它是可加的,如:给系统增加源指令、功能点实体、模块等q当某个因子对整个系统具有全局性的影响时,则说它是乘数的或指数的。如:增加服务需求的等级或者不兼容的客户等25chapter_4(1 1)静态单变量模型)静态单变量模型q这类模型的总结构形式如下:qE=A+B*SCqE:以人月表示的工作量qA,B,C:经验导出的系数qS:主要的输入参数(通常是LOC,FP等)26chapter_4q以下为几个典型的静态单变量模型:q面向LOC的估算模型qWalston-Felix(IBM)qE=5.2*(KLOC)0.91qBalley-BasiliqE=5.5+0.73*(KLOC)1.
18、16q.COCOMOqE=3.2*(KLOC)1.05qDotyqE=5.288*(KLOC)1.047面向FP驱动的qAlbrecht and GaffneyqE=-12.39+0.0545FPqMatson,BarnettqE=585.7+15.12FP27chapter_4(2 2)动态多变量模型)动态多变量模型q动态多变量模型也称为软件方程式,该模型把工作量看作是软件规模和开发时间这两个变量的函数qE=(LOC*B0.333/P)3*(1/t)4qE:以人月表示的工作量qt:以月或年为单位的项目持续时间qB:特殊技术因子,随着对测试、质量保证、文档及管理技术的需求的增加而缓慢增加qP:
19、生产率参数,可从历史数据导出适用于当前项目的生产率参数值q对较小的程序(KLOC5-15),B0.16q对超过70KLOC的程序,B0.39q开发嵌入式软件时,P的典型值为2000;开发电信系统和系统软件时,P10000;对商业系统P2800028chapter_4COCOMOCOCOMO(Constructive Cost Constructive Cost modelmodel)模型)模型参数模型估算方法适合于比较成熟的软件企业,其中参数模型估算方法适合于比较成熟的软件企业,其中COCOMO模型是一种结构化成本模型模型是一种结构化成本模型,也是世界上应用,也是世界上应用最广泛的参数型软件成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理

限制150内