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

    #include "stdio.h" #include <vector> using namespace std; float function(float alfa[ ...

  2. vector的简易实现

    vector的简易实现整理自<数据结构与算法分析–C++描述(第3版)>3.4节“向量的实现”.详细可参考<STL源码分析>4.2节. 具体实现代码如下: #ifndef VE ...

  3. 解决javac和java命令在Mac OSX终端里的乱码问题

    转自:https://www.surfchen.org/archives/710 java和javac在简体中文的Mac OSX的终端(Terminal.app)环境下,默认是以GBK编码的中文输出各 ...

  4. 【57】android图片印刻,阳刻,素描图效果处理

    介绍我参与开发的妙趣剪纸app使用的图片处理相关的技术 关于妙趣剪纸,各大android商店都可以下载,下面贴出小米商店的链接 妙趣剪纸下载 软件效果截图 如何实现上面的图片处理效果呢 1.初始化高斯 ...

  5. Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法

    Android ROM开发(二)--ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法 怪自己二了,写好的不小心弄没了,现在只好重新写一些了,上篇简单的配置了一下环境, ...

  6. Linux - Shell变量的配置守则

    变量的配置守则 变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird ...

  7. OpenCV图片矩阵操作相关,对png图片操作(多通道)

    文献链接: http://www.cnblogs.com/tornadomeet/archive/2012/12/26/2834336.html 下面这个高手,写了个小程序我还没有调试,回头 调试看看 ...

  8. 基于友善之臂ARM-tiny4412--uboot源码分析

    /* * armboot - Startup Code for OMAP3530/ARM Cortex CPU-core * * Copyright (c) 2004 Texas Instrument ...

  9. javascript中的instanceof运算符

    instanceof运算符希望左操作数是一个对象,右操作数表示对象的类:如果左侧的对象是右侧类的实例,则返回true,否则返回false.由于js中对象的类是通过初始化它们的构造函数来定义的,因此in ...

  10. python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码

    参考博客:https://blog.csdn.net/xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/ar ...