当前位置:文档之家› 软件规模度量方法介绍

软件规模度量方法介绍

软件规模度量方法介绍作者学号班级摘要软件规模度量是一项困难度很高的任务。

文章介绍了国际上广泛采用的一种软件规模度量的办法———IFPU G功能点度量方法,说明了该方法的基本原理和具体计算方法,并分析了它的优缺点。

同时对国际上其他几个颇有影响的软件规模度量方法,也作了简要的介绍。

关键词软件项目项目计划进度进度计划1、引言软件度量是指对软件规模、软件项目工作量、软件生产率、软件项目开发成本、软件质量、软件的上线日期等事项进行量化,使复杂的软件过程通过数字的描述让相关人员能够正确理解和管理。

软件度量满足了三方面的需要:首先是满足了项目管理的需要。

项目经理根据软件度量的数据可以对有关资源进行合理部署和分配,有效地对项目的进度和执行情况进行监控,确定软件产品是否符合质量的要求等。

其次,满足了组织的需要。

依照度量的数据,组织可以清楚地了解开发的效率和质量的总体水平,从而可以更好地进行产品组合、判定资金的投向,策划、管理或验证软件开发的活动。

第三是满足了用户的需要。

用户可以根据度量的数据比较正确地判定投入的资金,项目交付的合理期限以及判定递交项目的质量等。

因此,研究软件的度量有着十分重要的社会意义和应用意义。

在软件度量的课题中,软件规模度量是其他软件度量工作的基础与关键。

要对软件的规模进行度量,首先就要求确定一种度量的单位。

用软件的源代码行数作为软件规模的度量是一个比较传统的度量方法。

它的度量单位是K LO C(千条源代码)。

例如,一个软件有15000 条源代码行数时,它的规模就用15K LO C 来表示。

这种方法的优点是,比较直接、简单。

但是,它的结果与使用的程序语言密切相关,尤其在开发人员大量使用第四代语言以上的工具进行软件开发时,用K LO C 描述一个软件的规模就显得非常不准确。

而且,用这种方法只能在软件开发完成之后才能进行源代码行数的准确度量。

现在,除了套用某些经验公式进行软件工作量的估算时人们还用到这种度量方法外,K LO C 几乎不再被使用。

因此,本文着重介绍国际上比较流行的IFPU G 功能点度量方法,同时,也简要地介绍其他两个国际上比较有影响的软件规模度量方法。

2、FPUG 功能点介绍法2.1功能点分析法的基本原理功能点分析是把应用系统按组件进行分解,并对每类组件以IFPU G 定义的功能点为度量单位进行计算,从而得到反映整个应用系统规模的功能点数。

功能点分析从用户对应用系统功能性需求出发,对应用系统两类功能性需求进行分析:一类是数据功能性需求,另一类为交易功能性需求。

数据功能性需求又分为:内部逻辑文件(ILF:Internal Logical Files)和外部接口文件(EIF:External Interface Files)两类。

交易功能性需求则分为:外部输入(EI:External Inputs),外部输出(EO :ExternalO utputs),外部查询(EQ :External Inquiry)三类。

所以,应用系统一共可以按五类组件进行分解。

所谓内部逻辑文件(ILF)是指用户可确认的在应用程序内部进行维护的、逻辑上相关的数据块或控制信息(通常是实体类型中的第二范式或第三范式表示的数据模式);外部接口文件(EIF)则是指:用户可确认的、由被度量的应用程序引用,但由其他应用程序内部进行维护的、逻辑上相关的数据块或控制信息(通常是实体类型中的第二范式或第三范式表示的数据模式)。

通常的M IS 系统的开发者和用户,对这类组件并不陌生。

外部输入(EI)是指应用程序对来自应用程序边界以外的数据或控制信息的基本处理;外部输出(EO)是指应用程序向其边界之外提供数据或控制信息的基本处理,这种处理逻辑中可能包含数学计算或导数据等,并且要对内部逻辑文件进行维护;外部查询(EQ)是指应用程序向其边界之外供数据或控制信息查询的基本处理,与EO 不同的是,处理逻辑中既不包含数学计算公式也不产生导出数据,处理过程中也不维护ILF。

2.2功能点计算法的具体计算方法在IFPU G 的功能点计算实践手册中,按照组件的复杂程度分别对某个组件按若干个功能点进行计算。

复杂度分成三等,即低、中、高。

对数据功能性的组件来说,复杂度决定于两个因素:一是看ILF 或EIF 所包含的数据元素个数(D ET:D ata Element Types),另一个则是看ILF 和EIF 中用户可以识别的记能性组件,复杂度则取决于交易时所引用的所有内部文件或外部文件的个数(FTR :File Type R eferenced),以及交易处理过程中输入或输出文件中涉及的动态数据元素个数(D ET)。

按照IFPU G 功能点计算实践手册4.1 版本中的规定:ILF和EIF 的低、中、高三个级别的确定方法如表1 所示。

表1 ILF 和E IF 数据组件的复杂度级别2.3合理分工有效协调这样,如果将一个应用系统按组件分解后,确定每个组件的复杂度等级,然后,按照IFPU G 功能点计算实践手册给出的计算方法,就可以用IFPU G 定义的功能点作为度量单位计算出该系统的规模。

但是,对同一个组件(例如对一个输入组件)若考虑到该组件要有较好的可操作性,或具有更高的执行效率等等要求,则它应当具有更大的规模。

因此,单纯地考虑组件个数以及组件本身的复杂度来计算功能点,仍然不能较客观地反映出系统的规模。

为此,IFPU G 还考虑了14 个称为系统基本特征的属性(G SC :G eneral System Characteristics):数据通信(data com munications)performance)、硬件平台配置的负载度(heavily used configuration)、事务速率(transaction rate)、在线数据输入(on-line data entry)、终端用户使用效率(end-user efficiency)、在线升级(on-line update)、复杂处理(com plex processing)、可重用(reusability)、易安装性(installationease)、易操作性(operationalease)、多场所使用(multiplesites)、便于变更(facilitate change),并将有关属性对系统的影响程度分别赋予0~5 中的某个权值,然后按以下公式对应用系统的功能点进行调整,最终得到被度量系统的功能点数:FP= A U FP×V A F其中,A U FP 为未调整之前的功能点数,V A F 为功能点值调整因子,V A F= (D I1+D I2+...+D I14)×0.01+0.65,而D I(i=1,2...14)为上述的14 个系统基本特征属性所取的权值(0~5)。

1.3 IFP U G 功能点分析法的优缺点使用功能点分析方法进行软件规模度量,具有以下优点:⑴不依赖于软件开发所采取的技术和工具,较好地克服了传统采用K LO C 估算法不科学的弊病;⑵基于用户功能性的需求对软件系统进行分解,用户比较容易理解,使用者本身也有能力处理,所以,用户可以较好地了解应用系统的规模大小以及与相关软件规模的比较,从而能合理地投入资金;⑶可以比较早地进行应用系统的规模估算,一旦输出、输入画面,输出的报表及相关的文件确定后,即可进行估算,而且随着软件开发过程的不断深入,估算可以做得越来越精确;⑷有一个国际性组织IFPU G 负责功能点分析标准的制定和推广,所以功能点分析具有比较客观和公正的信誉,能为国际上许多机构广泛使用。

但是,该方法也还存在不少问题。

首先是五类组件有时不易分辨,特别是数据元素类型、记录元素类型以及引用文件类型的计算,需要详细的文档描述才能进行精确的计算;其次,对各组件复杂度的评价,IFPU G 给出的一些计算规则是经统计分析和反复试验后得出的较佳数值,仍然缺少客观和公正性;同样,功能点值调整因子V FA 的计算也比较主观。

所有这些都会影响计算结果的一致性和可靠性。

2.4其他两种软件规模度量方法正是由于上述这些问题,国际上有不少研究者对IFPU G 的功能点分析方法进行了改进,提出了多个功能点分析的变种版本以及其他关于软件规模度量的方法。

值得提出的有以下两个:⑴ M ark II 功能点分析法1988 年英国的C harles Sym ons 认为IFPU G 对文件的处理有比较多的主观性因素,提出了对IFPU G 功能点分析方法进行改进的意见,并最终形成了IFPU G 功能点分析方法的一个变种产品———M ark II 功能点分析法。

该方法减少了功能点对文件处理的主观性,确保了整个系统整体度量和部分度量总和的一致性。

同时,Sym ons还提出了对G SC 基本特征值的修正,把14 个特征值增加为19 个,让不同的应用领域具有不同的加权因子。

面,不常用的IP 段放在访问控制列表的后面,不使用的删去,以便数据包能够快速地通过检测。

show access-lists 100...perm it ip any 59.74.0.0 0.1.255.255 (3389168 m atches)perm it ip any 219.227.0.0 0.0.255.255 (2136 m atches) ;此条使用较少,在A C L 列表中向后移perm it ip any 222.206.0.0 0.1.255.255 (2294410 m atches)perm it ip any 58.192.0.0 0.1.255.255 ;此条未曾使用,可以移至A C L 的末尾或删去perm it ip any 202.38.96.0 0.0.31.255 (3925 m atches) ...另外,也可以让QQ、BT 等流量大或占用NAT 资源较多的访问走带宽较大、不作NAT 的教育网线路,这只需在ACL 100中加上QQ、BT 等应用的端口访问控制语句即可。

这样可以平衡两个出口的负载,提高使用效率。

access-list 100 perm it tcp any any eq 443access-list 100 perm it udp any any eq 4000 access-list 100 perm it udp any any eq 6000 access-list 100 perm it udp any any eq 8000...3、项目组织与管理3.1功能计算的目的1)提高项目运作的规范性2)提高异地项目运做的可控性3)使项目按时验收4)降低项目成本5)提高客户满意度6)确保项目质量3.2功能计算规范的组成功能计算流程分为四种规范1)流程:给出项目实施的正确程序。

相关主题