1 目的
本规程的目的是基于软件需求产生软件规模的估计。功能点是基于应用软件的外部、内部特性以及软件性能的,一种间接的软件规模的测量。功能点与软件成本具有重大的成本估计关系(CER:Cost Estimating Relationship)。功能点可以作为经验统计参数化软件成本估计公式和模型的输入,以对软件的成本进行估计。功能点方法被广泛的认可在信息系统、数据库密集型、4GL应用系统开发的规模测量。
2 范围
功能点是对软件功能和规模的间接定量测量,它基于客观的外部应用接口和主观的内部应用复杂度以及总体的性能特征。该规程由三个逻辑部分组成:决定未调整的功能点计数、加权因子和功能点。
决定未调整的功能计数包括对外部输入、外部输出、外部查询、内部逻辑文件和外部接口文件的计数。决定加权因子包括划定系统、输入和输出、应用复杂度的级别。决定功能点包括将未调整的功能点和加权因子整合在一起。
功能点具有两个独立的目标。第一个目标是作为软件测量、对比和分析(如,软件度量方法)的基础。第二个,也是更重要的目标是作为软件成本估计模型(如,公式)和产出工作量(如,工时)工具的输入,软件成本估计模型和工具则基于功能点和工作量之间的经验成本估计关系(CER)。
3 角色和职责
任务经理:任务经理负责为软件成本估计进行对功能点的估计。任务经理必须基于外部应用接口估计未调整功能点,和基于应用程序的复杂度和性能对加权因子进行估计。 任务经理必须辅助决定功能点以及从技术人员处获取输入。
下列任务承担责任:
! 6.1 决定未调整功能点计数
! 6.2 决定加权因子
! 6.3 决定功能点
4 输入
事务和文件清单:应用软件功能和规模的间接的定量测量基于外部应用接口客观的数量,如:外部输入、外部输出、外部查询、内部逻辑文件和外部接口文件。
! 外部输入:数据由外向内跨越边界的基本处理过程。数据可能来自于数据输入屏幕、电子输入或其它应用程序。数据可以是控制信息或业务信息。如果数据是业务信息,它用于维护一个或多个内部逻辑文件。如果数据是控制信息,它不必更新内部逻辑文件。
! 外部输出:导出的数据由内向外跨越边界的基本处理过程。数据创建发送给其它应用的报表或输出文件。这些报表和文件由一个或多个内部逻辑文件和外部接口文件所创建。
! 外部查询:包括输入和输出构件的基本处理过程。输入和输出构件导致一个或多个内部逻辑文件和外部接口文件的数据检索。该信息被发送出应用程序边界。输入过程不会更新任何内部逻辑文件以及输出不包含导出的数据。
! 内部逻辑文件:完全驻留在应用程序内部的逻辑相关数据的用户可识别的组,通过外部输入所维护。
! 外部接口文件:仅用于引用目的的逻辑相关数据的用户可识别的组。数据完全驻留在应用程序外部,由其它应用程序所维护。外部接口文件是其它应用程序的内部逻辑文件。
下列任务需要输入条件:
! 6.1 决定未调整功能点计数
系统的总体特性:间接和主观的应用软件功能和规模的测量基于内部应用复杂度和整体性能特性级别的划分,如系统、输入和输出以及应用复杂度。
以下的任务需要输入条件:
! 6.2 决定加权因子
5 输出
功能点:功能点作为软件成本估计基础,是软件规模、功能和复杂度的测量。
下列任务需要输出条件:
! 6.3 决定功能点
6 步骤
6.1 决定未调整功能点:
决定未调整功能点的数目包括对外部输入、外部输出、外部查询、内部逻辑文件和外部接口文件的计数。
6.1.1 决定外部输入:
外部输入是数据由外向内跨越边界的基本处理过程。数据可能来自于数据输入屏幕、电子输入或其它应用程序。数据可以是控制信息或业务信息。如果数据是业务信息,它用于维护一个或多个内部逻辑文件。如果数据是控制信息,它不必更新内部逻辑文件。
对于低、平均或高,将数目分别乘以3、4或6。
6.1.2 决定外部输出:
外部输出是导出的数据由内向外跨越边界的基本处理过程。数据创建发送给其它应用的报表或输出文件。这些报表和文件由一个或多个内部逻辑文件和外部接口文件所创建。
对于低、平均或高,将数目分别乘以4、5或7。
6.1.3 决定外部查询:
外部查询是包括输入和输出构件的基本处理过程。输入和输出构件导致一个或多个内部逻辑文件和外部接口文件的数据检索。该信息被发送出应用程序边界。输入过程不会更新任何内部逻辑文件以及输出不包含导出的数据。
对于低、平均或高,将数目分别乘以3、4或6。