为了能更好地理解和掌握软件功能点估算的一些规则,本文通过介绍一个需求实例来展开软件功能点估算的介绍,欢迎各位专家批评指正。

新增需求:实现一个订单的录入,更新,删除、查询、打印、导出功能,其中用户界面如下。订单明细包含了订购的具体产品及数量的情况,明细记录数原则不限。导出、打印、更新、删除订单记录应先从图2的查询界面查出记录,再鼠标双击某记录进入图1的增、删、改界面,也可以选择修改或删除菜单后输入订单号进入图1的增、删、改界面,新增时订单编号自动产生,更新时订单编号不能修改。订单的明细记录在增、删、改界面可进行删除或添加处理,要添加时通过鼠标定位在编辑区按右键选择添加功能,然有会弹出一个产品列表来供操作者选择,材料代码和材料名称及单价是通过选择后自动添加的,不能人工修改,操作者只能修改订单数量,要删除时也通过鼠标定位在编辑区的某产品上按右键选择删除功能即可。打印版面通过打印模板定制并打印到打印机、导出版面也通过excel模板定制并输出到excel文件。

其他说明:

1、用户表和产品数据表本次不变,订单功能开发仅仅是引用这些数据。

2、暂不考虑其它特殊业务逻辑和权限,如:不写日志、功能按钮不根据权限加以屏蔽。

功能界面情况如下:

图1:增、删、改界面

图2:查询界面

功能点分析:

1、首先我们来确定本功能涉及到哪些用户数据(ILF,EIF)

因为新增需求是订单管理,故订单信息属于一个,另外在需求中提到用户表和产品数据表本次不变,订单功能开发仅仅是引用这些数据,所以用户信息和产品信息也是系统的ILF或EIF,只不过本次新增需求时不计算它的ILF或EIF功能点,因为它没有改变,相信引用它的方式与以前一样,但在EI、EO、EQ中引用需要考虑其FTR复杂度。另外,需求又要求打印和导出需要使用版面模板,故应该有三个模本文件。订单类型没有提及需要动态从系统内部获取,根据一般经验应该是一个在程序中做死的下拉选择列表,到此这个新增需求涉及的ILF,EIF应为如下内容:

用户数据列表

文件描述

类型

DET

RET

功能点数

备注

订单信息

ILF

查询结果导出excel模板

ILF

通过其他编辑程序修改,本系统仅引用

订单导出excel模板

ILF

通过其他编辑程序修改,本系统仅引用

订单打印模板

ILF

通过其他编辑程序修改,本系统仅引用

产品信息

ILF

本新增功能不计算其功能点

客户信息

ILF

本新增功能不计算其功能点

2、然后我们再来确定本功能涉及到哪些用户事务(EI、EO、EQ)

通过需求描述和界面我们不难发现,它们有新增、查询、修改、删除、打印和导出功能,只不过导出又分查询结果导出和订单导出,因为它们的内容和版面都不同,而查询结果没有提及需要打印输出,故无查询结果打印功能,查询又分批量查询和根据订单号查询。再分析我们又会发现客户名称是通过下拉列表选择的,而需求明确提到有一客户信息供引用,故界面中出现的客户名称选择应是一个EQ,尽管在两个界面都出现,但它们的输入、输出和处理都一样故只算一个。另外,产品添加时也是通过弹出一个产品列表来选择的,故产品列表提取也是一个EQ。订购时间、订单类型不是从系统内部动态获取的过只能算DET。

到此这个新增需求涉及的EI、EO、EQ应为如下内容:

用户事务列表

事务名

类型

DET

FTR

功能点数

备注

订单添加

EI

订单修改

EI

订单删除

EI

订单打印

EQ

假定仅引用模板输出没有加工处理

订单导出

EQ

假定仅引用模板输出没有加工处理

根据订单号查询

EQ

订单批量查询

EQ

批量查询结果导出

EQ

假定仅引用模板输出没有加工处理

客户查询

EQ

产品查询

EQ

3、分析完五大估算要素(EIF、ILF、EI、EO、EQ)后,下面我们就来分析ILF的复杂度,即它的DET和RET。

订单信息:

从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、订购数量八个属性,其中材料代码、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,8个DET。

查询结果导出excel模板:

从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间六个属性,并且无子逻辑,因此本信息只有1个RET,6个DET。

订单导出excel模板

从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量十个属性,其中材料代码、材料名称、单价、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,10个DET。

订单打印模板

从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量十个属性,其中材料代码、材料名称、单价、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,10个DET。

用户数据列表

文件描述

类型

DET

RET

功能点数

备注

订单信息

ILF

8

2

7

查询结果导出excel模板

EIF

6

1

5

通过其他编辑程序修改,本系统仅引用

订单导出excel模板

EIF

10

2

5

通过其他编辑程序修改,本系统仅引用

订单打印模板

EIF

10

2

5

通过其他编辑程序修改,本系统仅引用

产品信息

ILF

0

本新增功能不计算其功能点

客户信息

ILF

0

本新增功能不计算其功能点

EIF、ILF的复杂度分析

4、分析完ILF的复杂度后,接着分析EI、EO、EQ的复杂度,即它的DET和FTR。

订单添加:

从需求文字和界面中可分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码+材料名称+单价、订购数量、保存按钮九个DET,其中材料代码+材料名称+单价、订购数量属于重复项,只计算一次,材料代码+材料名称+单价是通过执行查询产品(EQ)信息后填入的,查询产品信息已独立算作一个EQ,故其结果不算从内到外穿越边界,而其材料代码在保存时需写入订单中,故只算一个DET。客户名称也是通过查询客户信息后填入的,故本功能实际只涉及9个DET和订单信息一个ILF。所以本功能是:9个DET,1个FTR。

订单修改:

从需求文字和界面中可分析出订单编号(代表订单查询结果的DET)、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码+材料名称+单价、订购数量、保存按钮九个DET,其中材料代码+材料名称+单价、订购数量属于重复项,只计算一次,材料代码+材料名称+单价是通过查询产品信息后填入的,查询产品信息已独立算作一个EQ,故其结果只算一个DET。客户名称也是通过查询客户信息后填入的,故本功能实际只涉及订单信息一个ILF。所以本功能是:9个DET,1个FTR。

订单删除:

从需求文字和界面中可分析出订单编号(代表订单查询结果的DET)、删除按钮2个DET,其中其他属性都是订单查询的结果,只计一个DET,并且穿越外部到内部的数据也只要是订单编号即可。修改的ILF也只是订单信息。所以本功能是:2个DET,1个FTR。

订单打印:

从需求文字和界面中可分析出订单打印模板中的10个DET(穿越外部到内部)、打印按钮11个DET。访问的ILF只有订单打印模板,所以本功能是:11个DET,1个FTR。

订单导出:

从需求文字和界面中可分析出订单导出模板中的10个DET(穿越外部到内部)、导出按钮11个DET。访问的ILF只有订单导出模板。所以本功能是:11个DET,1个FTR。

根据订单号查询:

根据订单号查询有两个地方调用,一个是从菜单中选择修改或删除后会提示输入订单号时调用,还有一个是在批量查询界面中鼠标双击某记录中调用,因为它们的DET、FTR以及处理逻辑都相同,故只算一个EQ。从需求文字和界面中可分析出订订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量、确定/鼠标双击按钮11个DET,其中材料代码、材料名称、单价、订购数量属于重复项,只计算一次。访问的ILF有订单信息、产品信息(因客户名称直接写入订单中,故这里不在考虑访问客户信息ILF)。所以本功能是:11个DET,2个FTR。

订单批量查询:

从需求文字和界面中可分析出订单号、订单名称、客户名称、订单类型、订购时间、发运地址、查询按钮7个DET。访问的ILF只有订单信息(因控制信息中的客户名称另算为一个EQ,故算一个DET,不算访问FTR,另外,过滤条件中的订单编号、订单名称、订单类型、客户名称、订购时间始、订购时间终属于重复字段)。所以本功能是:7个DET,1个FTR。

批量查询结果导出:

从需求文字和界面中可分析出查询结果导出excel模板中的6个DET(穿越外部到内部)、导出按钮7个DET。访问的ILF只有查询结果导出excel模板。所以本功能是:7个DET,1个FTR。

客户查询:

从需求文字和界面中可分析出客户名称、选中键2个DET。访问的ILF只有客户信息。所以本功能是:2个DET,1个FTR。

产品查询:

从需求文字和界面中可分析出材料编号、材料名称、单价、选中键4个DET。访问的ILF只有产品信息。所以本功能是:4个DET,1个FTR。

用户事务列表

事务名

类型

DET

FTR

功能点数

备注

订单添加

EI

9

1

3

订单修改

EI

9

1

3

订单删除

EI

2

1

3

订单打印

EQ

11

1

3

订单导出

EQ

11

1

3

根据订单号查询

EQ

11

2

4

订单批量查询

EQ

13

1

3

批量查询结果导出

EQ

7

1

3

客户查询

EQ

2

1

3

产品查询

EQ

4

1

3

EI、EO、EQ的复杂度分析

思考:

从以上分析发现,找全和找对软件功能点估算的EIF、ILF、EI、EO和EQ五类要素最关键,一般它们的复杂度都为简单。而分析DET和RET或FTR的过程工作量大效果差,所以在时间紧任务重的情况下,我们只要分析出EIF、ILF、EI、EO和EQ五类要素后采用快速估算法即可。快速估算法就是把所有要素都定为简单或一般。

ei eo eq什么意思_软件功能点估算相关推荐

  1. ei eo eq什么意思_CMMI之功能点估算法:EI、EQ和EO

    EI.EO.EQ EI是处理来自于应用程序边界外部的一组数据的输入,它的主要目的是维护一个或多个ILF,以及/或者更改系统的行为. EO是输送数据到应用程序边界外部的过程.它的主要目的是通过逻辑处理过 ...

  2. ei eo eq什么意思_招生官看重的EI和CPCI到底是啥?

    很多同学都了解到能够发表英文学术论文对于名校录取的重要性.因为英文学术论文不仅能反映出学生的学术思维和学术能力,更能代表学生未来的学术潜力.几乎所有美国TOP30大学都会在录取时考虑申请者的学术经历- ...

  3. ei eo eq什么意思_音响中的EQ是什么意思呀?

    展开全部 EQ,是图形均衡器的简写.图形均衡器,英文名为 Graphics EQ,又简称"EQ",但是真正的"EQ"(均衡器)代表的意思更为广阔,3231313 ...

  4. FPA笔记六 计算EI/EO/EQ的功能点

    本篇主要介绍在功能点分析法FPA中,如何计算一个处理元(EI/EO/EQ)有多少个功能点.ILF/EIF的功能点是根据其包含的DET和RET来确定的:EI/EO/EQ的功能点则是根据其包含的DET和F ...

  5. 软件工程工作量评估中的ILF,EIF,EI,EO,EQ术语解释

    功能点计数元素包括以下5个: a) 内部逻辑文件(Internal Logical File,ILF,以下简称内部数据) 软件内部需要维护(如增删改查)的数据.如本系统用户角色的增删查改 b) 外部接 ...

  6. 一年代码功能点的创新性怎么写_软件功能点技术与应用创新.ppt

    * * 基于功能点的经验公式 8 项目平均人员规模 功能点/150 2014.02 * 基于功能点的经验公式 9 软件维护人员数目 功能点数/750 2014.02 * 基于功能点的经验公式 10 软 ...

  7. ei eo eq什么意思_EI源刊是什么意思

    EI源刊是什么意思?EI检索分为两种,一种是会议论文检索,一种是期刊论文检索,这两种检索的价值和地位是不同的,也由此引出了EI源刊的概念,EI检索包括JA类型和CA类型,JA是期刊论文检索,CA是会议 ...

  8. 电脑磁盘清理_软件 | 功能强大的电脑磁盘清理工具中文优化版,有了它,你的电脑就像德芙巧克力一般丝滑...

    公号每天都有非常精彩的头条内容,然而茫茫订阅号,如何快速找到我,这是一个问题.答应我,解决它不要超过8秒钟:点击上方公号名称→点击右上角三个点→选择设为星标.我们与你同在! -正文时间- ▼ 不管是电 ...

  9. ei eo 功能类型_[转载]CMMI之功能点估算法:EI、EQ和EO

    EI.EO.EQ EI是处理来自于应用程序边界外部的一组数据的输入,它的主要目的是维护一个或多个ILF,以及/或者更改系统的行为. EO是输送数据到应用程序边界外部的过程.它的主要目的是通过逻辑处理过 ...

最新文章

  1. 三篇文章了解 TiDB 技术内幕——说存储
  2. Flash 与 C#交互 (简单按钮事件)
  3. boost::safe_numerics模块实现数据类型下溢的测试程序
  4. 如何更加简单的理解JS中的原型原型链概念
  5. LeetCode 1570. 两个稀疏向量的点积(哈希)
  6. js生成1~100个随机不重复数
  7. 感觉百度输入法好于搜狗输入法
  8. 前端面试题及答案(持续更新)
  9. 计算机专业期末试卷分析,计算机期末试卷分析
  10. Microsoft Visual Studio 2010安装教程
  11. python分段函数图像画法_特殊分段函数的图像画法
  12. xp系统计算机蓝屏,XP电脑蓝屏错误代码0*0000007E该怎么解决?
  13. 关于Raster的理解
  14. 计算机加密解除,pdf文件加密怎么解除?解除加密pdf文件的教程
  15. 下列签名无效: EXPKEYSIG CDFB5FA52007B954 Metasploit 解决办法
  16. 手机触屏特效Java_手机触屏触摸特效javascript-TouchSwipe(依赖于jquery库)中文说明...
  17. 深度学习代码学习笔记(一)——阶跃函数与激活函数的python代码实现
  18. Windows.h和windows.h的区别
  19. java开发工作地池州_安徽8个地级市,池州排第八前途不可限量
  20. 甲骨文java计算机考证

热门文章

  1. 【将金令】1.19晚评:欧版QE箭在弦上,破高有望
  2. 你知道CAD看图软件浩辰CAD看图王中的批注如何删除/保存吗?
  3. 本周言论 之 C2C模式
  4. 笔记本电脑计算机乱跳,笔记本屏幕的鼠标指针乱跳解决方法
  5. 路缘石滑模机对于公路施工的适用性分析
  6. 扬帆志远:shopee电商海外本土化趋势是大势所趋
  7. 机械专业夹具类毕业设计题目汇总/组合机床、车床拨叉、飞锤支架、连接座、倒挡拨叉、盖、法兰盘、铜衬轴套、心轴零件、曲轴箱零件、托板、发动机曲轴、方刀架、车床变速箱、柴油机机体、车床滤油器、方刀架……
  8. 西门子博途TIA Portal V15.0同时打开两个项目的方法
  9. APNs苹果推送使用的是pushy框架+.p8证书(java后台)(附上与.p12的不同)
  10. 一个ABAP中级开发工程师应该学习什么