原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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. kettle简介(整体架构,运行方式,使用方法)

    项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出.呵呵,外国人都很有联想力.看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到Kettle的四大块: Chef ...

  2. C# FTPClient--FTP操作帮助类,上传下载,文件,目录操作

    FROM :http://www.sufeinet.com/forum.php?mod=viewthread&tid=1736&extra=page%3D1%26filter%3Dty ...

  3. 对MBProgressHUD第三方进行源码分析

    GitHub源码地址,及时更新:iOS-Source-Code-Analyze MBProgressHUD是一个为iOS app添加透明浮层 HUD 的第三方框架.作为一个 UI 层面的框架,它的实现 ...

  4. 写一个python的服务监控程序

    写一个python的服务监控程序 前言: Redhat下安装Python2.7 rhel6.4自带的是2.6, 发现有的机器是python2.4. 到python网站下载源代码,解压到Redhat上, ...

  5. glib-dbus 在ubuntu9.10 和 ubuntu10.04 上安装环境的搭建

    dbus-glib 安装环境搭建 安装 dbus apt-get install dbus 安装 d-feet ,用于查看 session bus 和 system bus apt-get insta ...

  6. 如果去掉UITableView上的section的headerView和footerView的悬浮效果

    项目需要cell的间距,又不需要悬浮效果,百度之后找到这个方法,记录一下,备忘. 用UIScrollView的代理方法实现 - (void)scrollViewDidScroll:(UIScrollV ...

  7. 【uWSGI】实战之Django配置经验

    uWSGI 是应用服务器,实现了uwsgi, wsgi等协议,可以运行wsgi 应用 uwsgi 是协议名 Django配置 下面是自己经常用的一个配置模板,基于1.9以上的版本使用的, 主要基于dj ...

  8. android Material Design详解

    原文地址:http://blog.csdn.net/jdsjlzx/article/details/41441083/ 前言 我们都知道Marterial Design是Google推出的全新UI设计 ...

  9. 用shell脚本挂载linux主机拷贝相应文件copy.sh

    #!/bin/sh # $1 MOUNTDIR $2 TARGETDIR $3 ERRORLOG #参数检查 if test $# -ne 3 then echo "argument che ...

  10. 高仿qq健康

    概述 学习别人的代码,在此基础上 优化代码结构 增加动画 要点记录 通过mRatio参数,让宽高始终是一个比例 贝塞尔曲线手动画矩形圆角 画虚线 根据基准点绘制文字 属性动画的使用 画笔宽度的自适应 ...