原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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. OpenCV 轮廓检测

    使用OpenCV可以对图像的轮廓进行检测.这是之前用过的代码,挺简单的,回顾一下.主要要进行以下2步操作: 1.cvThreshold():对图像进行二值化处理 2.cvFindContours(): ...

  2. Rxjava + retrofit + dagger2 + mvp搭建Android框架

    最近出去面试,总会被问到我们项目现在采用的什么开发框架,不过据我的经验网络框架(volley)+图片缓存(uIl)+数据库(orm)+mvp,不过现在这套框架比较好了,现在采用什么呢?Rxjava + ...

  3. RecyclerView详解

    RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实 ...

  4. MTK Android添加驱动模块

    1 [编写linux驱动程序] 1.1 一.编写驱动核心程序 1.2 二.配置Kconfig 1.3 三.配置Makefile 1.4 四.配置系统的autoconfig 1.5 五.编译 2 [编写 ...

  5. BT币(金融有风险,投资需谨慎)哥的失败投资

    谁都知道bt币是一个旁氏骗局, 而进去的人,就必须保证自己不赔钱,所以只能随着大潮往前走,谁也不能让它跌 压垮骆驼的最后一根稻草, 还是幕后有个 推手, 在炒作 BT币, 事实上,作为新的投资项目,B ...

  6. myBatis源码之XMLConfigBuilder

    XMLConfigBuilder是对mybatis的配置文件进行解析的类,会对myabtis解析后的信息存放在Configuration对象中,Configuration对象会贯穿整个mybatis的 ...

  7. ZooKeeper leader election

    Paxos是分布式应用中解决同步问题的核心.作为应用研发工程师,我们总是倾向于使用一种相对简洁的方式实现复杂的算法.ZooKeeper leader election实现就是一个非常好的参考. 其实现 ...

  8. SharePoint 2007 图片库视图不可用、页面标题不显示

    描述: 问题1:SharePoint新建图片库,想选择"视图"-"所有图片",选择"详细信息.幻灯片.缩略图"等视图,均没有反应.如图1. ...

  9. 如何在os x或ubuntu下安装最新的ruby

    os x下基本上可以安装到比较新的ruby,首先先安装rvm,然后用rvm list known看当前可供安装的ruby的版本,不过这也不是绝对的,比如在我的os x 10.9上,命令返回如下: # ...

  10. 和菜鸟一起学linux之常见错误的解决和常用命令

    1.错误提示:make:警告:检测到时钟错误.您的创建可能是不完整的. 解决方法:当前编译目录下,命令行输入:find . -type f -exec touch {} \; 2.SSH生成密钥:ss ...