功能点(Funciton Point FP)估算法(二) 事务复杂度计算

软件项目管理中的功能点估算法将功能点分为5类:ILF(Internal Logical File,内部逻辑文件)、EIF(External Interface File,外部接口文件)、EI(External Input,外部输入)、EO(External Output,外部输出)和EQ(External Inquiry,獠坎檠??F渲校琁LF和EIF属于数据类型的功能点,EI、EO、EQ属于事务类型的功能点。

EI、EO、EQ的比较

    EI是处理来自应用程序边界外部的一组数据输入,它的主要目的是维护一个或多个ILF,以及/或者更改系统的行为。
    EO是输送数据到应用程序边界外部的过程。它的主要目的是通过逻辑处理过程向用户呈现信息。该处理过程必须包含至少一个数学公式或计算方法,或生成派生数据。一个EO也可以维护一个或多个ILF,并/或改变系统行为。
    EQ是向应用程序边界外发送数据基本处理的过程。其主要目的是从ILF或EIF中通过恢复数据信息来向用户呈现。该处理逻辑不包括任何数学公式或计算方法,也不会生成任何派生数据。EQ不会维护任何一个ILF,也不会改变应用程序的系统行为。
    EO和EQ的共同点是,其主要目的都是通过基本操作过程展现数据给用户。EI、EO、EQ的比较见下表。

表1 EI、EO、EQ的主要目的

目的EIEOEQ
改变应用程序的属性或行为主要目的次要目的不允许
维护一个或多个ILF主要目的次要目的不允许
显示信息给用户次要目的主要目的主要目的

表2 EI、EO、EQ的主要行为

行为EIEOEQ
数学公式或计算被执行可以至少选择一次不可以
至少一个ILF被修改至少选择一次至少选择一次不可以
至少一个ILF或EIF被引用可选可选必选
数据被重新恢复可选可选必选
派生数据被创建可选至少选择一次可选
应用程序的行为或属性被修改至少选择一次至少选择一次可选
准备或呈现信息到系统边界外可选必选必选
接受进入系统边界内的数据的能力必须可选可选

事务类型功能点的计算规则

    在IFPUG的定义中有一个重要的单词“Elementary Process”——基本处理过程。该过程对用户来说是一个有意义的、最小的活动单位,并且是一个自包含的活动。功能点的分类,EI、EO、EQ的识别都是基于“Elementary Process”基本处砉?痰摹?/p>

    EI的计算规则
    1. 从应用边界之外收到数据。
    2. 如果进入系统边界内的数据不是一个改变系统行为的控制信息,那么至少一个ILF应该被改变。
    3. 对于已识别的处理过程,至少满足下面三个条件之一。

  • 该基本处理过程的逻辑与本应用系统中其它基本处理过程的逻辑不同。该基本处理过程应该具有唯一性。例如:不能存在两个完全一模一样的存盘操作。
  • 在应用程序边界内,该基本处理过程所使用的这组数据应该与其他基本处理过程所使用的数据不同。
  • 在应用程序边界内,基本处理过程所引用的ILF或EIF是不同于其它基本处理过程所引用的ILF或EIF。

    EO和EQ通用计算规则
    必须全部满足以下内容才能被视为一个EO或EQ:
    1. 从外部发送数据或控制信息到应用程序边界内。
    2. 为了识别这个过程,以下三点必须满足一个:

  • 该基本处理过程逻辑上必须是唯一的,该唯一性是指其在应用程序中与其他EO或EQ在逻辑性上保持唯一。
  • 该基本处理过程所使用的数据应该是唯一的,该唯一性是指其在应用程序中与其他EO或EQ所使用的数据不同。
  • 该基本处理过程所引用的ILF或EIF文件应该是唯一的,该唯一性是指其在应用程序中与其他EO或EQ所引用的ILF或EIF文件不同。

    EO补充的计算规则
    除了要满足上面的通用规则外,还要满足下面其中一条:

  • 在基本操作过程中至少包含一个数学公式或计算方法
  • 在基本操作过程中要产生派生数据
  • 在基本操作过程中至少要维护一个ILF
  • 在基本操作过程中要改变系统的行为。

    EQ补充的计算规则
    除了要满足上面的通用规则外,还要满足下面其中一条:

  • 基本操作过程从ILF或EIF中获取数据。
  • 基本操作过程不能包含数学公式或计算方法。
  • 基本操作过程不能生成派生数据
  • 基本操作过程不能维护任何一个ILF
  • 基本操作过程不能改变系统的行为

EI、EQ和EO的技术复杂性计算

  复杂性取决于FIRs和DETs的数量。FTR是被一个事物读取或维护的ILF,或者是被一个事物读取的EIF。

    EI中识别FTR规则

  • 每一个ILF应该算做一个FTR。
  • 通过EI读取的每个ILF或EIF都应该计算为一个FTR。
  • 既被EI维护又被读取的ILF仅计算为一个FTR。

    EI中识别DET规则

  • 在EI的过程中,以用户角度识别的、通过应用系统边界输入系统内部的非重复字段,应算作一个DET。
  • 在EI的过程中,只要没有通过系统边界输入,即使它存在于系统内的一个ILF中,也不能算为一个DET。

    例如,外贸订单系统中,订单的金额是被单价和数量自动计算的,那么金额是没有通过系统边界输入的,因此在EI操作中就不应该算做一个DET。

  • 在应用程序的EI操作时,系统提示的错误信息或完成操作的信息,应该被分别计算为一个DET。

    例如,在网站注册用户信息时,由于输入错误系统会显示提示信息,那么这些提示信息应该被逐个计算为一个DET。
    再如,当EI操作完成时系统提示并显示出来的信息,应该被计算为一个DET。

  • 在EI操作中,如果遇到主外键的字段,应该算作一个DET。

    EO和EQ计算FTR的规则
    1. 通用规则:

  • 每个在EO/EQ处理过程中读取的ILF和EIF算一个FTR

    2. EO额外的FTR计算规则

  • 在EO处理过程中每个被维护的ILF算一个FTR
  • 在EO处理过程中既被读取又被维护的ILF算一个FTR

    EO和EQ计算DET的通用规则

  • 用户可识别的非重复字段,进入应用边界并指明处理什么、何时处理或处理方式,并且由EO/EQ返回或产生,那么这样的每个字段算一个DET。

    例如,报表中的每个字段都是一个DET。

  • 在应用边界内以用户角度识别的非重复字段算一个DET。

    例如,在报表中起到解释或备注作用的文字信息,不管是一个字、一个词或一段话,都当作一个DET。
    再如,某种编号或日期,即使它被物理存储在不同字段中,但从用户角度看是一个整体的信息,因此被算作一个DET。
    还有,在饼图中百分比和分类算作不同的DET。

  • 在EO或EQ操作中,如果对系统进行输入或读取操作时,相同的字段只计算一个DET。

    例如,在报表查询时,输入的字段在报表上也有显示,那么将算作同一个DET。

  • 在应用程序的EO或EQ操作时,系统提示的错误信息或完成操作的信息,应该被计算为DET。

    例如,用户查询一个列表时被拒绝,那么拒绝的提示信息就算为一个DET。

  • 在EO或EQ操作中如果遇到主外键的字段,应该算作一个DET。
  • 在EO或EQ过程中,只要没有通过系统边界输入,就算它存在于系统内的一个ILF中,也不能算为一个DET。

    例如,在公司发工资的时候,员工对应的状态信息被更新,但这个状态信息的更新是没有通过系统边界输入的,因此也不能算做一个DET。

  • 页面的标题等类似信息不计算DET。
  • 系统字段生成的记号不能被算作一个DET。

    例如,页码、位置信息、时间、上一页和下一页等信息,都不能算作一个DET。

EI复杂度计算矩阵

 1~4个DET5~15个DET多于16个DET
0~1个FTR中等
2个FTR中等
大于2个FRT中等

EO和EQ复杂度计算矩阵

 1~5个DET6~19个DET多于20个DET
0~1个FTR中等
2~3个FTR中等
多于4个FTR中等

未调整前功能点对应矩阵
EI、EO、EQ、ILF和EIF技术复杂度对应的功能点如下表所示:

 一般
EI346
EO457
EQ346
ILF71015
EIF5710
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值