功能点分析 学习笔记 2

来源:互联网 发布:手机怎么推广淘宝店铺 编辑:程序博客网 时间:2024/04/30 02:38

功能点计算的前两步没什么可说的,我们直接从第三步开始:如何计算数据复杂度!

否现得确定那些数据文件才能行。FPA中把文件分成两种:

ILF【内部逻辑文件】:是用户认可的,在应用程序内部维护的、逻辑上相关的数据快或者控制信息
。ILF的主要意图是通过应用程序的几个或者多个基本处理来保存数据。

用户认可:就是经过用户和开发人员共同认证的。不存在任何异议的数据;比如,金融系统中的支票帐户就是一个ILF
逻辑相关:就是数据块中间要有逻辑关系,时逻辑相关的。比如:学生的姓名和年龄相关。  学生信息与银行支票号信息就不想关
 一个ILF不能依赖于其他的ILF。如果发生依赖关系,就需要把两个ILF合并。一个ILF可以被多个应用程序当作ILF来计算
但是在同一个应用中,一个ILF只能被计算一次

EIF【外部输入文件】:由其他的应用程序维护的。被本应用程序引用的文件。一个EIF可以被多个应用当作EIF引入,但是同一个
应用中只能应用一次。

知道了有什么文件我们现在就要知道如何计算文件的复杂度。文件拿什么来量化呢?这里又是两个概念:DET,RET

DET【数据元素类型】:简单说就是类的属性。比如:学生类的年龄,姓名等。一个RET中的每个字段都可以被看成DET。
需要注意的是:一些因为技术实现的原因而引入的字段和一些重复的字段不计在内。比如ID字段

RET【记录元素类型】:就是类了。可以把一个ILF或者EIF的子集【比如:一个文件的必填字段】作为一个RET。如果没有子集,那么
一个ILF或者EIF可以被看作一个RET。如果一个RET还存在父子关系的RET,那么父RET就不计在内。

通俗的说就是:  人 是一个抽象对象, 教师和学生是实例对象。  在这里人的属性有:编号,姓名,年龄;教师的属性有:姓名,
年龄,教龄;学生的属性有:姓名,年龄,入学日期。
注意:上面的例子只是为了更好的项了解OOAD的人来说明问题的。事实上,由于人这个概念并不是用户识别的,也就是说用户需求中
不会出现人这个概念。所以他不能作为一个ILF。

在这里认得DET有:姓名,教龄,年龄,入学日期4个DET,因为人有教师和学生两个子对象。所以人不能计为RET。
RET有 教师,学生 两个

现在我们考虑文件的复杂性了,起始很简单,只要确定了ILF、EIF的DET 、RET然后查表就行了
下面就是表:
                ->  DET

                     1~19        20~50        >=51
 ||        1           低                低           平均
 //       2~5    低               平均          高
RET   >5      平均                 高         高

确定了复杂性,后面再查另一个表就可以确定功能点了。注意这里功能点时未调整的
  
                          复杂级别
                低           平均             高
ILF           7            10                 15
EIF             5             7               10
EI               3               4               6
EO              4                 5              7
EQ             3               4                  6

 

原创粉丝点击