功能点方法概述

什么是功能点方法

简单的说,功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。功能点方法进入国内也有近10年的时间。在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。

2)功能点方法的起源及发展

功能点方法最早由IBM于1979年提出,它是一种相对抽象的方法,是一种“人为设计”出的度量方式,主要能够对项目的工作量进行合理估计,并能够在项目的整个生命周期中对之进行客观、公正、有效性地度量。由于功能点分析方法是从用户的角度去分析,这样更容易被用户理解、接受和采纳。近年来,使用功能点方法的组织越来越多,主要体现在以下几个方面:

  • 软件市场的扩大,很多项目管理模型得到广泛的认可和接受,度量则成为一个基础性要求,功能点方法简单实用,是一种有效的软件度量方式。
  • 外包软件项目越来越多,需要一种比较客观、独立的方式对软件项目规模进行估计,功能点方法是软件项目最通用、最基本的成本计算方法。
  • 功能点方法本身也在逐步完善,逐步适应最新技术的发展,国际标准化组织开始建立相应的标准,从根本上肯定了功能点分析方法的科学性,大大促进这种方法的推广。
  • 功能点方法是一种投入少见效快的方法,对于提高软件项目的管理水平,提高软件开发效益,降低成本而言,值得推广。

3)功能点方法的核心思想

功能点方法的核心思想是把软件系统按照组件进行分解,从而确定系统的功能点数量。功能点方法是一种预测软件系统总规模的方法。通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点方法是一种分解类的规模度量方法,即把复杂的系统分解为较小的子系统进行评估的方法。功能点度量方法是基于软件文档的功能性需求来进行度量,其结果是以功能点数的形式来表示软件的规模。把软件系统按照组件进行分解,从而确定系统的功能点数量。

5)功能点方法的优势

一是功能点方法简单、实用,对于用户来说,可以不必理解功能的具体开发和实现过程,而根据功能的复杂度粗略估算出系统的规模,进而了解开发成本,能够建立开发者与顾客之间的信任关系,即开发者将用户的需求转化成要实现的功能,通过功能点的多少来衡量软件规模的大小。

二是能够在项目早期进行规模度量。这是因为在软件开发过程中,可以对早期的工作产品分析软件的功能规模,如项目需求规格说明书、设计文档等。

三是比其他度量方法更为客观。功能点度量不考虑编程语言、实现技术或者硬件平台信息。这种区分功能规模与技术因素的机制,使软件规模度量更加客观。

时间: 2024-08-06 21:27:34

功能点方法概述的相关文章

日志分析方法概述(转)

原文:日志分析方法概述 日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核.各种应用服务器等等.日志的内容.规模和用途也各不相同,很难一概而论. 本文讨论的日志处理方法中的日志,仅指Web日志.其实并没有精确的定义,可能包括但不限于各种前端Web服务器――apache.lighttpd.tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志. 在Web日志中,每条日志通常代表着用户的一次访问行为,例如下面就是一条典型的apache日志: 211.87.

Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

日志分析方法概述

最近几年日志分析这方面的人才需求越来越多,主要伴随数据挖掘的快速发展而迅速增长的.碰巧又在工作中又接触到一些日志记录方面的工作,就顺便了解一下日志系统的整个流程.下面这篇文章转自百度同学的一篇文章,针对大规模日志分析,联系到hadoop,hive的解决方案,阐述的比较全面. 另外就是阿里已经开发出类似的系统odps-通过sql语言进行数据的分析处理,详情见:http://102.alibaba.com/competition/addDiscovery/faq.htm --------------

如何修改基于Debian包管理dpkg的程序流程方法概述

/*********************************************************************  * Author  : Samson  * Date    : 05/14/2014  * Test platform:  *              Mint 15-3.8.13.13  *              GNU bash, version 4.2.45  * ***************************************

使用Spring Security3的四种方法概述

使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过,并经过验证: 二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证. 三种是细分角色和权限,并将用户.角色.权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,     并分别实现Ac

python实现whois查询功能的方法源码

恐怕很多朋友跟我一样,使用python语言居然能实现whois服务器查询功能.下面我把代码和说明搬来给大家看看,有谁需要可以参考下.本来想直接从whois服务器查询的,但是发现要写socket 用43端口链接服务器,但是有些服务器的地址不清楚,而且查询命令貌似有改变所以不想折腾了,就想着直接用chinaz的页面实现一下算了.如下代码是在 win7下操作的,安装python3.2测试通过. Python3.2实现whois查询功能的方法源码: # -*- coding:utf-8 -*- impo

Linux中LVM功能使用方法

1.介绍        LVM全称Logical Volume Manager(逻辑卷管理器),是将存储空间虚拟化成虚拟设备来进行管理的一种机制.LVM本身通过调用Linux内核中的"Device-mapper"功能来实现这种机制.         LVM组成部分: Physical volume(pv)物理卷:是LVM底层的设备,可以是硬盘分区,硬盘. Volume group (vg)卷组:是组织pv的管理单元. Logical volume(lv)逻辑卷:虚拟分区,既可以存储数据

Objective-C语言的对象、功能和方法

Objective-C 的对象.功能和方法 (object.function和method的关系). 在Objective-C里,称对象的功能为“方法”. “实现”指的是当某个方法得到调用时,iOS实际干了些什么,也就是执行了什么代码. 在Objective-C语言里,方法和实现的关系不是在编译时决定的,而是在运行是决定的.

Ubuntu14.14开启Apache Rewrite功能的方法详解

Ubuntu上开启Apache Rewrite功能的方法发布时间:2012-09-11编辑:脚本学堂本文介绍ubuntn系统中开启apache的urlrewrite功能的方法. 在Windows上开启Apache的urlRewrite非常简单,因为apache的用户配置都是放在http.conf文件中,要开启Rewrite功能,只需要把该文件中LoadModule rewrite_module modules/mod_rewrite.so前面的注视去掉,然后重启APACHE即可. 但在Ubunt