原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://welkinhu.blog.51cto.com/447606/115477
    一个系统含有多少功能点,来自其所有子功能的功能点简单汇总。要计算功能点数,必须尽可能无遗漏的把从系统分解成一个个的基本功能。然后再分别计算每一个基本功能的功能点数。FPA把系统的基本功能分为两大类五小类,不同类型的基本功能有不同的功能点计算方法。
l  数据功能 Data Function
n  内部逻辑文件 ILF
n  外部接口文件 EIF
l  处理功能 Transaction Function
n  外部输入 EI
n  外部输出 EO
n  外部查询 EQ
这五种功能类型关系如下图所示。
 
 
图表 1 五种基本类型
数据功能指为满足用户的内部或外部数据需求而提供的功能。其实数据功能的ILF和EIF这两个名称有点冗繁,不如直接叫内部文件和外部文件简单明了。请注意,这里的文件完全不同于传统意义上的物理的文件;它是指一组逻辑相关的数据。请注意这些概念都是基于用户视角的概念,不是计算机上的文件和处理元。在《FPA笔记一 概述》中有具体解释。

1.   相关术语解释

处理元(Elementary Process)

对用户有意义的最小活动单元。它必须是自包含的,且能使业务保持一致的状态。处理元是处理功能的基本单位。

控制信息(Control Information)

影响某一个处理元的输入信息,它定义了处理的内容:处理什么数据,何时处理,如何处理。

用户可识别的 (User identifiable)

指用户和开发人员双方都认可,且达成一致理解的需求,处理或数据。它必须是用户关心的内容。像程序的代码,内部设计,临时文件等,都不是用户关心和认可的东西。

维护 (Maintained)

    通过处理元维护改变数据的能力,如增加、修改、删除、展现、创建、转换等。

2.   识别ILF

ILF在CPM中的定义是:An internal logical file (ILF) is a user identifiable group of logically related data or control information maintained within the boundary of the application. The primary intent of an ILF is to hold data maintained through one or more elementary processes of the application being counted.
根据这个定义,可得出三条ILF的识别规则,ILF必须同时满足这些规则。
l  ILF是一组用户可识别的数据或控制信息。
l  ILF是一组逻辑关联在一起的数据。
l  ILF在系统范围内维护。
ILF的基本目的是持有系统要维护的数据。维护ILF必然会涉及到一个或多个处理元。在特定情况下,一个ILF可能属于多个系统。
在识别ILF时,下列文件不在FPA的考虑范围内,可以第一时间排除。
l  临时文件。
l  工作文件。
l  排序文件,如国家排序列表, Index文件
l  Static Code Table,如硬编码的下拉框列表,因为系统没有维护它。维护它的是程序员或用户。
l  Code lookup table,如国家代码与名称对照表。

3.   识别EIF

EIF在CPM中的定义是:An external interface file (EIF) is a user identifiable group of logically related data or control information referenced by the application, but maintained within the boundary of another application. The primary intent of an EIF is to hold data referenced through one or more elementary processes within the boundary of the application counted. This means an EIF counted for an application must be in an ILF in another application.
根据这个定义,可得出四条EIF的识别规则,EIF必须同时满足。
l  EIF是一组用户可识别的数据或控制信息。
l  EIF是一组逻辑关联在一起的数据。
l  EIF不在系统范围内维护。就是说,EIF不会被改变。
l  EIF一定就另一个系统的ILF,并被其维护。
EIF的基本目的是持有在系统的一个或多个处理元中引用的数据。

4.   ILF与EIF的区别与例子

ILF和EIF最根本的区别在于是否在系统范围内维护。在系统范围内维护的,就是ILF;否则就是EIF。
如果一个文件来自外部系统,但被目标系统修改。此时要根据这个文件包含的数据,将其拆分为两个文件:来自外部系统的数据归入EIF,被修改的数据归入ILF。即来自外部系统,又被修改的数据,在两个文件中都算。
下面举两个案例。
 
目标系统
逻辑文件
是否ILFEIF
电子商务系统,提供功能有:购物车,订单和在线支付。
购物车
ILF
订单
ILF
商品种类列表,客户可通过页面维护
ILF
税率表,开发人员手工维护
EIF
工资系统,负责公司所有员工的工资计算和发放。
员工信息表,来自人事系统
EIF
工资等级表,通过界面人工输入。
ILF
 
 

本文出自 “威尔金的IT博客,51CTO” 博客,请务必保留此出处http://welkinhu.blog.51cto.com/447606/115477

FPA笔记三 数据功能的识别的更多相关文章

  1. SpringMVC 学习笔记(三)数据的校验

    34. 尚硅谷_佟刚_SpringMVC_数据绑定流程分析.avi 例如:在jsp中输入一个String字符串类型,需要转换成Date类型的流程如下 convertservice对传入的数据进行转换 ...

  2. 功能点分析法FPA笔记

    转载请注明出处:http://www.cnblogs.com/lidabnu/p/5700412.html 主要参考资料来自百度文库:http://wenku.baidu.com/link?url=y ...

  3. 第三篇 功能实现(3) (Android学习笔记)

    第三篇 功能实现(3) ●发一个广播和启动一个隐式的Intent非常像,那么它们之间有什么区别呢? Implicit Intents (sent via startActivity( )) and B ...

  4. 第三篇 功能实现(2) (Android学习笔记)

    第三篇 功能实现(2) ●Activity的四种启动模式 Activity的启动模式有四种,分别是standard.singleTop.singleTask和singleInstance. 在Andr ...

  5. 第三篇 功能实现(1) (Android学习笔记)

    第三篇 功能实现(1) 第8章 Android应用程序组成 ●Android的一些中.底层基础知识 ※ Android Framework 启动过程 Android手机系统本质上是一个基于Linux的 ...

  6. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  7. 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus

    物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...

  8. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  9. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

随机推荐

  1. CSS中让一个div的高度随着另外个一个统计的div的高度变化而变化的代码

     .w1002 .left_part{overflow:hidden; padding-bottom:9999px; margin-bottom:-9999px;display:inline;}

  2. Android 自定义view --圆形百分比(进度条)

    转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50334595 注:本文由于是在学习过程中写的,存在大量问题(overdraw onDr ...

  3. 新书《Ext JS 4.2实战》即将出版

    目录: 第1章    Ext JS 4概述1.1    从Ext JS 4.0到4.071.2    从4.1到4.1.1a1.3    从4.2到4.2.11.4    如何选择版本1.5    基 ...

  4. 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法

    如下代码: private void stopPreview() { Log.w(TAG, "stopPreview(), _isPreviewing = " + _isPrevi ...

  5. Xcode模拟器中无法播放音频文件的原因分析

    在本猫的Mac Mini上开发iOS app,发现当执行到播放音频的代码时,发生错误,log如下: 2015-10-05 07:22:17.122 LearnSpriteBuilder[10321:5 ...

  6. 【65】Mybatis详解

    Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果.MyBatis能够 ...

  7. ITU-T Technical Paper: NP, QoS 和 QoE的框架以及它们的区别

    本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...

  8. Android FrameWork浅识

    接收讯息及事件 储存共享数据 处理UI互动的事情 幕后服务(播放背景音乐) 在框架的手中,它的生命的周期完全由框架来控制,new也是由框架.它的逻辑调用则是自己实现,确保强龙的地位 框架反向来控制相应 ...

  9. windows下ruby中显示中文的3种方法

    A: 1将x.rb编码为ascii格式 2 在x.rb开头加上 #code:gbk或者 #coding:gbk B: 1 将x.rb编码为utf-8格式 2 在x.rb开头加上 #code:utf-8 ...

  10. 记一次erlang语言bug导致rabbitmq的队列没有消费者的问题

    公司开发和测试环境采用的erlang版本是19.0.3,rabbitmq版本为3.6.10.集群条件下稳定使用了近一年时间,没什么问题. 为了保持和线下一致,线上生产环境采用了相同的版本,运行几个月后 ...