第一节、FPA研究之基础名词梳理
豆豆 2022-09-08 11:26:16 1326人已围观
1、FPA
Function Point Analysis 功能点分析法具有30多年的发展历史,是由IBM的工程师Allan Albrecht 在1984年第一个公开发布了用于软件规模度量的功能点分析方法。之后由一个民间组织IFPUG不断对该方法进行加强,现已经形成了功能点度量方法的国际标准,即ISO/IEC 20926《IFPUG功能规模度量方法》,这个标准规定了详细功能点度量方法。
2、IFPUG:
国际功能点用户组织 (IFPUG) 是一个全球性的、由成员管理的非营利组织,它通过软件规模标准帮助组织改进其软件开发过程。该协会由来自 30 个国家/地区的 1,200 多名功能点分析专家和成员组成,并提供一套用于专业用途和认证目的的标准计数做法。目前最新的标准是4.3.1。官网:https://ifpug.org/
3、UFPC (Unadjusted Function Point Count 简称:UFPC)未调整功能点:
未调整功能点是只记用户可见功能的中间结果,主要分为:数据功能、事务功能(又称:交易功能),如下图:
3.1、针对上图中的分类,在FPA中,任何一个软件系统都被看作是由外部输入处理、外部输出处理、外部查询处理、内部逻辑文件和外部参照文件五种要素组成
3.2、在图中上述五种要素的含义如下:
(1)、外部输入处理EI(External Input),是获取数据的过程,对终端用户的输入进行相关的处理。
(2)、外部查询处理EQ(External Inquiry),针对终端用户的查询情况,输出相应的检索结果。
(3)、外部输出处理EO(External Output),是反馈数据的过程,完成对票据、报表等的输出。
(4)、内部逻辑文件ILF(Internal Logical File),在信息系统内部,为了完成相关功能使用的逻辑文件,包括顺序文件、数据库表、临时文件等。可以理解为业务对象,可能对应多个数据库表。
(5)、外部文件EIF(External Interface File),用户可以识别的一组逻辑相关数据,这组数据只能被引用。数据完全存在于应用的外部,并且由另一个应用维护。外部接口文件是另一个应用内部逻辑文件。例如:其他应用提供的接口数据。
3.3、这里需要特别注意的是:外部查询处理EQ和外部输出处理EO区别?
外部查询(EQ External Inquiry):发送数据或控制信息到应用程序边界外的一个基本处理,其主要目的是通过检索来自内部逻辑文件或外部接口文件的数据或控制信息,向用户提供信息。处理逻辑既不包含数学公式或计算,也不创建新的数据。处理期间不维护内部逻辑文件,也不改变系统行为。
外部输出 (EO External Output):发送数据或控制信息到应用程序边界外的一个基本处理,其主要目的是通过检索数据或控制信息,此外还通过处理逻辑来向用户提供信息,其处理逻辑必须包含至少一个数学公式或计算,或创建派生的数据。一个外部输出也可以维护一个或多个内部逻辑文件,和/或改变系统行为。
EO和EQ的基本目地相同,它们的区别在于是否包含四种关键的处理逻辑。这四种处理逻辑,EO至少要包含一种,EQ一种也不能包含。
a、输出了衍生数据。
b、是否包含数学运算。等值转换不算。
c、是否包含对至少一个ILF的维护。
d、是否改变了系统的行为或状态。
此外,EQ还必须是从系统内获取了数据或控制信息,也就是说至少引用了一个ILF或EIF。
4、AFPC(Adjusted Function Point Count 简称:AFPC)调整功能点:
调整功能点是最终结果,在未调整后功能点基础上加入了系统实现和内部架构方面的因素。一般说一个系统包含多少个功能点,是指调整功能点。
5、IPO 的异同:
输入(Input)、处理过程(Process)和输出(Output)的同与不同亦是FPA 重要的判断标准。
6、RET(Record element type 简称 RETs\RET) 记录元素类型
是指在一个ILF 或EIF 内,用户可认知的数据元素子集。如客户的家庭信息为客户信息的 RET。
7、DET(Data element type ,简称DETs\DET) 数据元素类型
是指在一个ILF 或EIF 内,用户可认知的、唯一的、非重复的字段。如客户姓名、年龄、地址、联系方式等。
8、引用文件类型(File Types Referenced,简称FTR)
是指一个事务功能读取或维护的一个ILF,或者一个事务功能所读取的一个EIF。处理涉及到的文件,包括读取,更新和修改的文件。
9、处理元(Elementary Process)的定义
要进行FPA分析,必须把处理功能分解为处理元(Elementary Process)。自然,FPA中的处理元与计算机技术中的事务、处理等不是一回事。处理元有两个识别标准:
(1)、它是对用户有意义的最小活动单元。
(2)、它就自包含的,并使系统保持一致的行为和状态。
如果经过一段处理,系统的状态或行为不一致了,就说明这段处理不能构成处理元。同样,如果在整个处理过程中,系统在行为和状态发生多次改变,且在多个点达到新的一致性行为和状态,则这段处理很可能包含多个处理元。
笔者以为,实际情况下,正确的识别处理元非常困难。实际上也用不着在这上面钻牛角尖。FPA的目的是计算出功能点数。如果处理元粒度较大,处理元的总数就少,单个处理元的功能点数就多。反之如果处理元粒度较小,处理元的总数就多少,单个处理元的功能点数就少。对计算整个系统的功能点数并无大碍。
10、处理逻辑(Processing Logic)定义
处理元必然包含一种或多种的处理逻辑。处理逻辑(Processing Logic)是用户为完成后一个处理元而定义的特定需求。IFPUG CPM定义了13种处理逻辑。EI和EO可以包含所有13种的处理逻辑,而且有一些种类必须包含。EQ则有4种处理逻辑不能包含。具体见下表。
表中符号说明:
a、空白:处理功能(EI,EO,EQ)可以包含对应的处理逻辑。
b、M:处理功能必须包含对应的处理逻辑。
c、M*:所有标M*的处理逻辑,对应的处理功能必须包含至少一种。
d、N:处理功能不得包含对应的处理逻辑。
11、文件
FPA中的文件是指:内部逻辑文件ILF和外部接口文件EIF
12、DI(Degree of Influence)影响程度
13、TDI(Total Degree of Influence)整体影响程度
13、其他
参考文献:
1、https://wenku.baidu.com/view/4e7019eba68da0116c175f0e7cd184254b351bc1.html
2、https://blog.csdn.net/weixin_42641513/article/details/123393760
3、https://wenku.baidu.com/view/350a0f266f85ec3a87c24028915f804d2b168736.html
4、https://zhuanlan.zhihu.com/p/440413591
5、https://it.sohu.com/a/555840554_121405732
6、https://www.docin.com/p-227008991.html?docfrom=rrela
7、https://www.pianshen.com/article/76961997045/
8、https://blog.51cto.com/welkinhu/116184