好文档 - 专业文书写作范文服务资料分享网站

软件开发费用计算方法

天下 分享 时间: 加入收藏 我要投稿 点赞

6.2 付款方式

软件项目建设过程,为保证工程按时按质完成并保证投资方和开发商的利益,可将整个软件项目分解为多个子项目或者分阶段项目,逐个实施,分项付款。

6.3 评估机构

项目概算过程中要充分发挥专家和中介机构在管理与决策中的咨询和评议作用。

20

附录

软件项目规模功能点估算方法

软件项目的工作量大小由软件项目规模所决定。软件项目规模大小可根据历史经验、类比等方法来估算,但目前国际上通行的也比较科学的估算方法是采用功能点分析方法。功能点分析方法是通过一种基于软件功能的预测模型,以各种与软件项目功能有关的因素作为软件开发工作量的度量。一旦项目的需求分析确定,就可以大致得出软件的各项功能要素,并进行相应的功能点计算,以功能点表示软件的规模,并转化为工作量大小。功能点方式目前被广泛认可并应用在信息系统、数据库密集型、4GL应用系统开发等。

本指南亦采用功能点作为软件项目规模的度量指标。

1 功能点估算流程

功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。其工作流程如下:

1)确定计算范围:确定功能点的计算规范、划定应用程序的边界。 2)功能点分析:识别和估算与软件数据和事务功能有关的各种要素及其数量。要确定功能点的数目,需要对软件的用户输入数、用户输出数、用户查询表、内部逻辑文件数、外部逻辑文件数的数量进行评估。 3)功能点计算(初步):预估出五个要素的数量后,根据复杂度加权因子,计算出初步的功能点数UFC;

4)确定技术复杂度因子:根据项目具体情况,对14个技术复杂度参数进行调整。得出技术复杂度调整参数TCF;

21

5)功能点调节:计算出经调节后的功能点数:FP=UFC × TCF

2 功能点分析的要素

功能点分析法是从软件用户的角度来评估一个软件系统的功能,它将软件的功能分为五个基本要素:其中两个表示终端用户的数据需求:内部逻辑文件(Internal Logical Files),外部接口文件(External Interface Files),另外三个表示用户对数据的获取处理的事务功能:用户输入(External InPuts),用户输出(External Outputs),用户查询(External Inquiries)。它们的详细定义如下:

1)内部逻辑文件(ILF):是一个用户可识别的逻辑相关的数据组,它在应用程序边界内,由用户输入来维护。它可能是某个大型数据库的一部分或是一个独立的文件。

2)外部接口文件(EIF):是一个用户可识别的逻辑相关的数据组,但仅仅是起参考的作用,且数据完全存于软件边界之外,由另一个应用程序进行维护,是另一个应用程序的内部逻辑文件。

3)用户输入(EI):是来自于软件外部的数据输入,可以是控制信息,也可是事务数据输入。如果是事务数据,它必须维护一个或多个内部逻辑文件。也就是说那些最后没有保存的中间计算结果和消息发送,都不算作数据输入单元。输入数据可来自于一个数据输入屏幕或其他应用程序。

4)用户输出(EO):是“经过处理”的数据,由程序内部输出到外部。这里“经过处理”是指其区别于用户查询数据,是将一个或多个ILF、EIF中取出数据经过一定的组合、计算、总结后得出的输出数据。

5)用户查询(EQ):是一个输入输出的组合过程,从一个或多个ILF、

22

EIF中取出数据输出到程序外部。其中的输入过程不更新任何ILF,输出过程不进行任何数据处理。

注:

对软件项目进行估算的有效性和准确性取决于所掌握的有关项目的原始资料的完备性。这些原始资料包括:需求说明书、系统规格说明书、或者软件需求说明书等。从这些原始资料中可分析得出以上5类要素。如果以上5类要素的数据不准确,将直接影响到评估的结果。

3 功能点计算(初步值UFC)

一旦估算出应用程序中每个功能要素的数量后,就可以将每个计数与一个复杂度值(加权因子)相乘,最后进行合计,算出一个初步的总的功能点数UFC。复杂度加权因子表如下:

附表1 功能要素复杂度加权因子表

复杂度 功能要素 外部输入数EI 外部输出数EO 外部查询表EQ 内部逻辑文件数ILF 外部接口文件数EIF 低 3 4 3 7 5 平均 4 5 4 10 7 高 6 7 6 15 10 例如,假设每个功能要素的复杂度都是平均的。一个由25个数据登记表、5个接口文件,15个报告、10个外部查询和20个逻辑内部表单组成的系统,其功能点为:UFC=(25*4)+(5*7)+(15*5)+(10*4)+(20*10)=450

每个功能要素的复杂度可通过下表进行分析判断。

附表2 功能要素复杂度判别表

ILF(内部逻辑文件)和 EIF(外部接口文件) 记录 数据单元 单元 1-19 20-50 1 2-5 6 低 低 低 平均 51+ 高 高 EO(用户输出)和 EQ(用户查询) 文件 类型 2-3 4 数据单元 1-5 低 低 6-19 20+ 低 平均 高 高 EI(用户输入) 文件 类型 2-3 4 数据单元 1-4 低 低 5-15 16+ 低 平均 高 平均 高 平均 0或1 平均 0或1 平均 高 平均 高 平均 高 23

从表中可以看出,EI(外部输入)、EO(外部输出)和EQ(外部查询)是由文件类型和数据单元的数量来决定的。而ILF(内部逻辑文件)和EIF(外部接口文件)则是由记录单元和数据单元来决定的。通过上面的两维表即可确定各个功能要素的复杂度是低、平均,还是高。 表中三种数据项定义如下:

〃记录单元类型Record Element Type(RET):指在ILE或EIF中,用户可识别的数据域的子集,可以通过检查数据中的各种逻辑分组来识别它们。(例如一个客户文件,包括客户姓名、地址等个人信息,以及客户的各种信用卡和卡号。一个客户一般有多张信用卡,信用卡需同客户信息相连才有意义。因此,这个客户文件含有两个记录单元:客户信息和信用卡信息)

〃文件引用类型File Type Referenced(FTR):指在一个事务过程中,所引用到的各种文件,可以是内部逻辑文件,也可以是外部接口文件。

〃数据单元类型Data Element Type(DET):是用户可识别的无递归,不重复的信息单元。DET是动态的,而非静态的,可以读自于文件,或由FTR的数据单元创建。另外,一个DET也可是对一个事务处理过程的唤醒,或是事务的有关信息。如果DET存在递归或重复,只计算其中的一个(如上例中的客户姓名、地址就是两个DET。在可视化编程中,用于唤醒事务处理的添加、修改按钮,也算DET)。

4 确定技术复杂度因子TCF

算出功能点总数UFC后,还需要根据项目具体情况,对各个技术复杂度参数进行调整。技术复杂度一共考虑了14个调节参数,分别是:

24

软件开发费用计算方法

6.2付款方式软件项目建设过程,为保证工程按时按质完成并保证投资方和开发商的利益,可将整个软件项目分解为多个子项目或者分阶段项目,逐个实施,分项付款。6.3评估机构项目概算过程中要充分发挥专家和中介机构在管理与决策中的咨询和评议作用。20附录软件
推荐度:
点击下载文档文档为doc格式
7vi1h161cz0fluh9bazu
领取福利

微信扫码领取福利

微信扫码分享