基于COSMIC-FFP的功能点估算方法

本文介绍了COSMIC-FFP功能点分析方法,用于软件规模度量,特别是信息系统、实时系统和多层系统。COSMIC-FFP基于数据流类型(Entry、Exit、Read、Write)确定软件功能规模,并通过UML设计方法辅助估算。以时间管理模块为例,展示了如何识别用例图、类图、时序图来计算功能点(CFP)。在案例中,创建任务功能点为64个,可用于评估人员生产效率。
摘要由CSDN通过智能技术生成


1 术语表

数据组:所谓的数据组就是一个包含了唯一非空的并且非冗余的数据属性集合;从JAVA的角度说,就是一个对应数据库表的Domain Class(JavaBean)。

功能过程:功能过程是一个能够实现某一软件功能的用户功能需求集合,其中包含了一组指定的可执行的数据传送。

关注对象:工程过程中传递的主要数据组。

2 COSMIC-FFP简介

通用软件度量国际协会(Common Software Measurement International Consortium ,COSMIC)提出的全功能点分析方法(COSMIC-FFP)。

COSMIC-FFP是第2代的功能规模度量方法,它不仅适合于信息系统的规模度量,还适合于实时系统和多层系统的规模度量,已经被ISO接受为国际标准(ISO/IEC 19761:2003,软件工程 - COSMIC-FFP - 一种功能规模度量方法)。该方法可以在软件开发生命周期的各个阶段使用,从用户功能的视角入手,起源于客户可以理解的术语,不需要调整因子,简单易行。

3 COSMIC-FFP工作原理

COSMIC-FFP 通过入口(Entry)、出口(Exit)、读取(Read)和写入(Write)4 种数据流类型来确定软件系统功能的规模。它的度量标准单位是CFP(COSMIC Function Point),等同于一个数据流。

COSMIC-FFP 软件模型中有几个关键的概念:功能用户(FU) , 层(Layer) , 边界(Boundary) , 关注对象(Object of Interest),功能过程(FP)和数据组(Data Group)。待度量的目标软件首先被分解为多个层,每个层分别实现不同部分的软件功能;每一个层都需要定义十分清晰的边界,在边界上会有不同类型的数据传送发生;数据传送就是将某一特定的数据组在边界上进行传递。

该模型把数据移动分为4 种类型:Entry(将数据组从用户移到目标软件),Exit(将数据组从目标软件移到用户),Read(将数据组从存储设备移到目标软件)和Write(将数据组移到存储设备)。其中,Entry 和Exit 属于用户接口,Write 和Read 属于存储器接口。每个有效的数据传送都被看成一个CFP。

4 COSMIC-FFP估算过程

1. 识别系统中的用例图;通过用例图确定度量范围和应用程序边界;

2. 识别系统中的类图;通过类图确定关注对象和数据组;

3. 通过时序图来确定用例中的有效数据移动类型和次数;

4. 识别CFP值并累加形成总CFP值

5 COSMIC-FFP实例

实例引用自PMS系统的创建任务。

5.1 时间管理模块的部分用例图

5.2 时间管理模块的部分类图

5.2.1 实体类

5.2.2 边界类

5.2.3 控制类

5.3 时间管理模块的部分时序图

 

5.4 对COSMIC-FFP的扩展

考虑到数据项的多少会影响开发量的大小,所以在COSMIC-FFP中增加了对数据组的扩展。

在此实例中,关注对象为任务实体。所以我们主要关注任务实体的数据属性的个数。

5.5 结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值