1功能点基础IFPUGCPM4.2功能点分析度量步骤1.确定功能点计数类型2.识别软件的应用边界3.识别数据功能以确定其复杂度以及UFP4.识别事务功能以确定其复杂度以及UFP5.确定UFP数6.确定值调整因子7.计算调整FP数IFPUG4.2的定义用户——指明用户功能性需求的任何人和/或任何时候与软件通信或互动的任何人或事物。用户视角——是对业务功能的描述。此外,它应该被用户认可。可以用来计算功能点数。能以不同的文档形式出现。用户可识别——是指为处理而定义的需求或/和能被用户和软件开发者赞同和读懂的数据组。应用边界——定义了应用的外部范围。内部应用与外部用户世界的概念接口;起一种“膜”的作用,数据就是通过这层膜进出应用。包含被应用维护的逻辑数据;协助识别在应用中查询但不在应用中维护的逻辑数据依赖于用户对应用外部业务的视角;它与技术和/或实施方式相独立。范围——定义了一组(部分)被度量的软件;由功能点计数的目的决定;确定功能点计数中包括的功能;可以包含一个或多个应用。控制信息——是影响应用基本处理过程的数据。它指明了处理什么,何时处理或处理方式。外部输入(EI)——是处理来自应用边界之外的数据或控制信息的基本处理过程。EI的主要目的是维护一个或多个ILF并且/或者改变系统的行为。EI应该满足下面所有规则:数据或控制信息从应用边界之外输入。如果穿过边界的数据不是改变系统行为的控制信息,那么至少应维护一个ILF。对于已识别的处理过程,至少满足下面三个条件之一:处理逻辑与该应用中其它EI所用的处理逻辑不同。该组已识别的数据元素不同于该应用中其它EI的数据元素。所涉及的ILF或EIF不同于该应用中其它EI所涉及的文件。EI的复杂度取决于FTR和DET的数量EI的FTR计算规则:每个被维护的ILF算一个FTR。每个在EI处理过程中读取的ILF或EIF算一个FTR。由EI维护和读取的ILF只算一个FTR。EI的DET计算规则:完成EI的过程中,如果一个用户可识别的、非重复的字段穿越应用边界,那么该字段应算一个DET。如果在EI过程中,系统取出或派生一个字段并且该字段存储在一个ILF之内且没有穿越应用边界,则无须计算DET。如果应用能够发送一个系统响应信息(如:说明EI过程中发生错误,确认处理过程已经完成,确认处理过程应该继续)到应用边界之外,则算一个DET。即使有多种方法调用同一功能,则多个功能键算一个DET。1-4DET5-15DET16或更多0-1FTR低低一般2FTR低一般高3FTR或更多一般高高外部输出(EO)是向应用边界之外发送数据或控制信息的基本处理过程.EO的主要目的是通过逻辑处理方式向用户呈现信息,而不只是直接恢复数据或控制信息。该处理逻辑必须包含至少一个数学公式或计算过程,或生成派生数据。一个EO也可能维护一个或多个ILF和/或改变系统行为。EO应该满足下面所有条件:数据或控制信息发送出应用边界。对于已识别的基本处理过程,至少满足下面三个条件之一:处理逻辑与该应用中其它EO所用的处理逻辑不同。该组已识别的数据元素不同于该应用中其它EO的数据元素。所涉及的ILF或EIF不同于该应用中其它EO所涉及的文件。此外,EO还应该满足下述条件之一:处理逻辑包含至少一个数学公式或计算过程。至少一个ILF被处理逻辑维护。处理逻辑改变了系统的行为。外部查询(EQ)是向应用边界之外发送数据或控制信息的基本处理过程.EQ的主要目的是通过恢复数据或控制信息向用户呈现信息。该处理逻辑不包括任何的数学公式或计算过程,不会生成任何的派生数据。EQ处理过程中既不会维护任何ILF,也不会改变系统行为。EQ应该满足下面所有条件:数据或控制信息发送出应用边界。对于已识别的基本处理过程,至少满足下面三个条件之一:处理逻辑与该应用中其它EQ所用的处理逻辑不同。该组已识别的数据元素不同于该应用中其它EQ的数据元素。所涉及的ILF或EIF不同于该应用中其它EQ所涉及的文件。此外,EQ应该满足下述所有条件:该处理逻辑从一个ILF或EIF返回数据或控制信息。该处理逻辑不包含任何数学公式或计算过程。该处理逻辑不改变系统行为。该处理逻辑不维护任何ILF。EO/EQ复杂度取决于FTR和DET的数量EO/EQ的FTR计算规则:每个在EO/EQ处理过程中读取的ILF和EIF算一个FTR。EO的额外FTR每个在EO处理过程中维护的ILF算一个FTR。每个在EO处理过程中读取和维护的ILF算一个FTR。EO/EQ的DET计算规则:DET数量等于根据下列规则确定的字段总数:用户可识别的非重复的字段进入应用边界并且指明处理什么、何时处理或处理方式并且由EO/EQ返回或产生,那么每个字段算一个DET。每个发出应用边界的用户可识别的非重复字段算一个DET。如果字段同时进入发出边界,对该EO/EQ来说,只算一个DET。如果应用能够发送一个系统响应信息(如:说明过程中发生错误,确认处理过程已经完成,确认处理过程应该继续)到应用边界之外,这种能力算一个DET。2即使有多种方法调用同一功能,则多个功能键算一个DET。对那些虽然被保存、返回、派生的没有穿越边界的字段不计算DET。文字的,页面的,系统产生的标签不计算DET。1-5DET6-19DET20或更多0-1FTR低低一般2-3FTR低一般高4FTR或更多一般高高内部逻辑文件(ILF)是一组用户可识别的在应用边界内且被维护的逻辑相关数据或者控制信息。ILF的主要目的是通过应用的一个或几个基本处理过程维护数据。下面的所有规则用来判断ILF:该组数据或控制信息是逻辑相关的且由用户定义。该组数据在应用的边界之内且通过一个或几个基本处理过程来维护。外部接口文件(EIF)是一组在应用边界内被查询,但是在其它应用中被维护的、用户可识别的、逻辑相关数据或者控制信息。EIF的主要目的是使数据在应用边界之内通过一个或几个基本处理过程得以查询。这就意味着一个应用中的一个EIF必然是其它应用中的ILF。下面的所有规则用来判断EIF:该组数据或控制信息是逻辑相关的且由用户定义。该组数据处于被计数应用之外,且被该应用查询。被计数的应用不对该组数据进行维护。该组数据被其它的应用维护。ILF/EIF的复杂度取决于RET和DET数量ILF/EIF的DET计算规则:如果通过一个基本处理过程的执行在ILF维护或从ILF或EIF中返回一个特定的用户可识别的、非重复字段,那么每个这样的字段算一个DET。当两个应用维护和/或查询相同的ILF/EIF,但是每个应用单独维护/查询相应的DET,只计算被每个应用使用的DET。对于那些用户要求与其它的EIF/ILF建立关联的数据字段来说,每个这样的数据字段都应算一个DET。ILF/EIF的RET计算规则:每个ILF或EIF的可选或必选子组算作一个RET。如果该ILF/EIF没有子组,那么就将该ILF/EIF算作一个RET。ILF/EIF复杂矩阵1-19DET20-50DET51或更多1RET低低一般2-5RET低一般高6或更多一般高高功能点复杂程度对应表低一般高EI346EO457EQ346ILF71015EIF5710调整系数GSC的值取决于每个特征因子的影响程度,如:0.毫无影响1.偶然影响2.偏下影响3.一般影响4.重大影响5.强烈影响1.数据通讯8.数据在线更新2.分布式数据处理9.算法3.性能10.可重用性4.运行设备11.安装容易程度5.事务处理量12.操作容易程度6.在线数据输入13.多点运行7.终端用户效率14.客户化程度计算公式新型开发项目功能点总数=(UFP+CFP)*VAF应用功能点总数=ADD*VAF增强型功能点总数=[(ADD+CHGA+CFP)*(VAFA)]+(DEL*VAFB)增强后应用功能点总数=[(UFPB+ADD+CHGA)-(CHGB+DEL)]*VAFA调整系数=(全部影响度*0.01)+0.65ADD=增加的功能点CFP=转换功能点CHGA=增强后改变功能的UFPCHGB=增强前改变功能的UFPDEL=被删除功能点UFP=未调整功能点总数UFB=项目前应用UFPVAF=调整系数VAFA=增强后调整系数VAFB=增强前调整系数EI、EO和EQ的主要目的功能EIEOEQ改变系统行为PIFN/A维护一个或多个ILFPIFN/A将信息呈现给用户FPIPIPI事务功能类型的主要目的F事务功能类型的功能,可以有但不是主要目的N/A不允许的事务功能EI、EO和EQ使用的处理逻辑处理逻辑形式EIEOEQ进行验证ccc具备数学公式或进行计算cm*n等值转换ccc通过使用特定的标准筛选数据ccc分析条件以确定哪个是可行的ccC至少更新一个ILFm*m*n至少查询一个ILF或EIFccm返回数据或控制信息ccm生成派生数据cm*n改变系统行为m*m*n向边界之外发送数据cmm接受进入应用边界的数据或控制信息mcc对一组数据重新排序或重新排列ccc说明:m强制要求功能类型m*强制要求功能类型(至少具备这些处理逻辑之一)c可以有这样的处理逻辑但不是强制要求n不能有这样的处理逻辑