第13章 软件项目管理(简化)

上传人:飞*** 文档编号:6288950 上传时间:2017-08-08 格式:PPT 页数:87 大小:727KB
返回 下载 相关 举报
第13章 软件项目管理(简化)_第1页
第1页 / 共87页
第13章 软件项目管理(简化)_第2页
第2页 / 共87页
第13章 软件项目管理(简化)_第3页
第3页 / 共87页
第13章 软件项目管理(简化)_第4页
第4页 / 共87页
第13章 软件项目管理(简化)_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《第13章 软件项目管理(简化)》由会员分享,可在线阅读,更多相关《第13章 软件项目管理(简化)(87页珍藏版)》请在金锄头文库上搜索。

1、第13章 软件项目管理,13.1 估算软件规模13.2 工作量估算 13.3 进度计划13.4 人员组织13.5 质量保证13.6 软件配置管理13.7 能力成熟度模型,软件项目管理概述,软件项目管理:为获得项目的成功,而对其生命周期内的一切活动所实施的计划、组织、安排、调度和控制等一系列措施和过程。软件项目管理的目标:保证在规定的时间和预算的经费内,成功地开发出令用户满意的高质量的软件产品。软件项目管理过程:估算项目规模(大小);估算项目的工作量;制定项目进度计划;实施人员组织;实施质量控制;实施配置管理等活动。,软件项目管理现状和重要性:软件工程管理始于20世纪70年代,美国国防部立项专门

2、研究,其结果发现:70%的项目是因为管理不善而不能很好的完成,并不是因为技术原因。这表明要取得软件工程项目的成功,管理比技术更重要,尤其是大型复杂项目。20世纪90年代,美国的实际调查表明只有10%的软件能够按规定完成。也就是说,还有90%的项目不能按规定完成。95年美国取消810亿美元的软件项目,其中大约31%的项目未做完就取消了,53%的项目延期50%的时间。,软件工程项目的特点:软件产品的逻辑特性:软件是知识产品,本身是不可见的,开发进度和效率难以控制,产品质量也难以度量等;软件产品的复杂特性:软件系统的复杂程度是超乎想象,开发过程难以控制和度量。如宇宙飞船的软件系统源代码多达2000万

3、行,若按照100 00行/人年,则需要2000人年的工作量。上述特点决定了软件项目的管理是非常必要和重要的。,13.1 估算软件规模 13.1.1 代码行技术,代码行技术:是以估算的程序代码行数作为将要开发项目的软件源程序行数,而定量度量软件规模的方法。特点是简单易用。基本思想:依据以往开发类似产品的经验和历史数据,分别估计实现软件各个功能所需要的源程序行数,然后把实现每个功能所需要的源程序行数累加起来,作为实现整个软件所需要的源程序行数。,具体估算方法:为了增强估计准确性,可请多名有经验的软件工程师分别做出估计。每个人都估计程序的最小规模(a)、最大规模(b)和最可能的规模(m),分别算出这

4、3种规模的平均值之后,再用下式计算程序规模的估计值:L=(13.1)用代码行技术估算软件规模时,当程序较小时常用的单位是代码行数(LOC),当程序较大时常用的单位是千行代码数(KLOC)。,代码行技术的主要优点:代码是所有软件开发项目都具有的“产品”,而且很容易计算代码行数。代码行技术的缺点:1)源程序仅是软件配置的一个成分,用它的规模代表整个软件的规模似乎不太合理;2)用不同语言实现同一个软件所需要的代码行数并不相同;3)这种方法不适用于非过程语言。,13.1.2 功能点技术,功能点技术是一种依据软件的信息域特性和软件的复杂程度来估算软件规模的技术。这种方法用功能点(FP)为单位度量软件规模

5、。1. 从需求分析考虑系统信息域的5个(类 )特性1)用户输入项数(Inp):用户向软件提供面向应用的输入数据项数。输入与查询分开计算;2)用户输出项数(Out):软件向用户提供面向应用的输出数据项数。这里,输出是指报表、屏幕和出错信息等。注意:一个报表中的单个数据项不单独计算。,3)用户查询数(Inq):一个查询被定义为一次联机输入、它导致软件以联机输出方式产生实时响应。每一个不同的查询都要计算。4)主文件数(Maf):系统使用的逻辑主文件的数目(即数据的一个逻辑组合,它可能是大型数据库的一部分或是一个独立的文件)。 5)外部接口数(Inf):与其它系统进行数据交换的全部接口的数量,用这些接

6、口可以把信息从一个系统传送给另一个系统(如互相读取文件)。,2. 估算功能点的步骤估算出一个软件的功能点数(即软件规模),步骤如下:1) 计算未调整的功能点数UFP首先,按照简单、中等和复杂三级难易程度对信息域的每个特性(即Inp、Out、Inq、Maf和Inf)进行分级,并统计出各类信息特性的个数;其次,根据各个等级为每个信息特性分配一个功能点数,如表13-1所示。然后,用下式计算未调整的功能点数UFP: 其中:i=1,2,5;j=1,2,3。aij为第i类第j级别的信息特性的功能点数,cij为第i类第j级别的信息特性的个数。,表13-1 信息域特性功能点数表,2)计算技术复杂性因子TCF为

7、了描述技术因素(开发难易程度)对软件规模的影响,这一步度量14种技术因素对软件规模的影响程度。这些因素在下表13-2中列出,并用Fi(1i14)代表这些因素。,表13-2 技术因素表,一般将每个因素对软件的影响程度划分为6级,分别无、微、轻、中、大、重,其影响程度也分别用值0(无影响)、1、2、3、4、5(有很大影响)来度量,值越大,则对软件影响程度越大。见下页表。然后,用下式计算技术因素对软件规模的综合影响程度DI: DI=,技术复杂性因子TCF由下式计算:TCF=0.65+0.01DI因为DI的值在070之间,所以TCF的值在0.651.35之间。3) 计算功能点数FP用下式计算功能点数F

8、P: FP=UFPTCF功能点数与所用的编程语言无关,看起来功能点技术比代码行技术更合理一些。但是,在判断信息域特性复杂级别和技术因素的影响程度时,存在着相当大的主观因素。,应用举例:,假设有一单位的职工工资管理系统,通过需求分析得到的DFD如下图所示,求出其功能点数。,解:1)由上图可知:用户输入数为4,即密码、打印工资、工资录入和错误按键;用户输出数为3,即查询信息、工资报表和出错信息;用户查询数为1,即工资查询;文件数为1,职工工资表;外部接口为2,即人事查询、职工信息。假设各信息特性的复杂性均取简单级,则未调整功能点数为: UFP=3X4+4X3+3X1+7X1+5X2=442)再取技

9、术因素分布表如下,可求得技术因素综合影响程度: DI=5+4+0+1+1+3+2+0+1+1+3+2+2+3=28求得技术复杂因子:TCF=0.65+0.01XDI=0.933)最后求得:FP=UFPXTCF=44X0.93=40.92结论:假若1个功能点需要60行源代码,则工资管理系统需要40.92X60= 2455.2LOC。类似地,功能点文档页数、成本数、错误数等也可估算。,13.2 工作量估算,工作量:指软件开发所需要人力资源的多少和时间的长短,一般使用单位:人年或人月。工作量估算模型使用由经验导出的公式来预测软件开发工作量,且为软件规模(KLOC或FP)的函数,单位通常取人月(pm)

10、。13.2.1 静态单变量模型这类模型的总体结构形式如下: E=A+B(ev)C其中,A、B和C是由经验数据导出的常数,E是以人月为单位的工作量,ev是估算变量(KLOC或FP)。下面给出几个典型的静态单变量模型。,1. 面向KLOC的估算模型(1) Walston_Felix模型 E=5.2(KLOC)0.91(2) Bailey_Basili模型 E=5.5+0.73(KLOC)1.16(3) Boehm简单模型 E=3.2(KLOC)1.05(4) Doty模型(在KLOC9时适用) E=5.288(KLOC)1.047,2. 面向FP的估算模型(1) Albrecht & Gaffne

11、y模型 E=-13.39+0.0545FP(2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP,13.2.2 动态多变量模型,动态多变量模型把工作量看作是软件规模和开发时间这两个变量的函数。动态多变量估算模型的形式如下: E=(LOCB0.333/P)3(1/t)4(13.2)其中,E是以人月或人年为单位的工作量;t是以月或年为单位的项目持续时间;B是特殊技术(质量保证)因子(随着对测试、质量保证、文档及管理技术的需求的增加而缓慢增加),对于较小的程序(KLOC=515),B=0.16 ;对于超过70 KLOC的程序,B=0.39; P是生产率水平参数

12、,反映生产能力因素对工作量的影响,包括如下因素:,总体过程成熟度及管理水平;使用良好的软件工程实践的程度;使用的程序设计语言的级别;软件环境的状态;软件项目组的技术及经验;应用系统的复杂程度。P作为生产率参数一般取值方法为:1)开发实时嵌入式软件时,P的典型值为2000;2)开发电信系统和系统软件时,P=10000;3)对于商业应用系统来说,P=28000。,从动态多变量模型可以看出:E=(LOCB0.333/P)3(1/t)4如果质量技术要求越高(B越大),生产率/力水平越低(P越小),要求的工期越紧(t越小),则工作量将急剧增加;反之,工作量将变小。,13.2.3 COCOMO2模型,CO

13、COMO是构造性成本模型(COnstructive COst MOdel)的英文缩写。1981年Boehm在软件工程经济学中首次提出了COCOMO模型。1997年Boehm等人提出的COCOMO2模型,是对COCOMO模型的改进,反映了十多年来现代软件成本估计方面所积累的经验。COCOMO2给出了3个层次的软件开发工作量估算模型,这3个层次的模型在估算工作量时,对软件细节考虑的详尽程度逐级增加。COCOMO2 三个层次的估算模型分别是:,1)应用系统组成模型:这个模型主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。2)早期设计模型:这个模型适用于体系结构设计阶段。3)

14、后体系结构模型:这个模型适用于完成体系结构设计之后的软件开发阶段。,下面给出COCOMO2后体系结构模型,它把软件开发工作量表示成代码行数(KLOC)的非线性函数: E=(13.3)其中:E是开发工作量(以人月为单位); a是模型系数; KLOC是估计的源代码行数(以千行为单位); b是模型指数; fi(i=117)是成本因素,即影响成本(工作量)的17个因素。,17个成本因素的确定:Boehm把17个成本因素划分成产品因素、平台因素、人员因素和项目因素4个大类。每个成本因素都根据它的重要程度和对工作量影响大小被划分为6个等级:甚底、低、正常、高、甚高、特高,并赋予相应的数值,称为工作量系数,

15、即成本因素影响工作量的大小程度,具体见表13.3(见书310页)所示。,模型指数b值的计算:COCOMO2使用了项目先例性、开发灵活性、风险排除度、项目组凝聚力和过程成熟度5个分级因素Wi(1i5),其中每个因素都划分成从甚低(Wi=5)到特高(Wi=0)的6个级别来确定b的值,详件下表。计算b值的公式为: b= (13.4)由此可计算b的取值范围为1.011.26。,COCOMO2 模型指数b的分级因素及其级别划分,模型指数b分级模型的5个分级因素: 1)项目先例性:本分级因素指出,开发组织对该项目的新奇程度。2)开发灵活性:分级因素反映,为了实现预先确定的外部接口需求和为了及早开发出产品而需要增加的工作量。3)风险排除度:这个分级因素反映了重大风险已被消除的比例。在多数情况下,这个比例和指定了重要模块接口(即选定了体系结构)的比例密切相关。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号