功能点分析法FPA笔记

转载请注明出处:http://www.cnblogs.com/lidabnu/p/5700412.html

主要参考资料来自百度文库:http://wenku.baidu.com/link?url=yIlNC-mchaeBPtiz6zeXTMPQgIgY_1tyfb0rlJjvB43aqRNWZrcdfL13cL7pgfgWawJZ1Rq2ZDAsLs2IqaXNgfr5VEEWHUCvKt4xAJalXua

关键点:

功能点分析是一种从用户的角度对软件开发进行度量的方法。

目标:

功能点方法度量的是软件的规模,它是主要从逻辑设计的角度出发对提供给客户的功能进行量化的方法。功能点分析方法的目标是:

  • 度量用户要求和能够接收到的功能的规模。
  • 提供一种与具体实施方法和技术无关的对软件开发和维护进行度量的手段。

步骤:

1、决定分析类型:包括开发项目功能点分析、升级项目功能点分析、应用功能点分析;开发项目功能点分析适用于一个新开发项目,升级项目功能点分析则适用于对已有项目的升级,应用功能点分析适用于分析一个已有应用的功能规模。

2、识别分析范围和应用边界:分析范围确定了一次分析的功能点范围;应用边界确定了用户和应用的边界;

3、识别未经调整的功能点数:仅计算向用户提供的功能数量,原则是仅计算”向用户提供了什么功能“,而不包含”怎么提供的这些功能“,包含”数据“”交易“两大类功能。

数据功能是指用户能够识别的、满足内部或外部数据需求的功能。分为内部逻辑文件ILF和外部接口文件EIF两类,ILF是用户能够识别的、存在内在逻辑关系的一组数据或控制信息,其目的是容纳一组在本应用范围内被一组基本处理所维护(所谓维护,及本应用会修改它)的数据;EIF则是用户能够识别的、在本应用中被引用的、存在内在逻辑关系的一组数据或控制信息,其与ILF的不同在于其是由边界之外控制的,其目的是容纳本应用一组基本处理所引用(也即只读)的数据,这意味着本应用的EIF必然是另外一个应用的ILF。

交易功能是指向用户提供的来处理数据的功能,包括外部输入、外部输出和外部查询三类。外部输入EI是指对来自本应用边界之外的数据或控制信息的基础处理,EI的目的是为了维护ILF或者改变系统的行为;外部输出EO则是向应用边界之外发送一组数据或控制信息的基本处理,其目的是为了向用户展示一组经过了提取之外(提取操作属于外部查询)的其他逻辑处理的数据或控制信息,这里的处理至少包含一个数学演算和衍生数据的生成,EO可能包括对ILF的维护或系统行为的改变;外部查询也是向应用边界发送一组数据或控制信息的基础处理,与EO的不同之处在于其包含的逻辑处理仅仅是提取,不包含数学公式的计算或衍生数据的生成,因此不维护ILF,也不会改变系统行为。区分EI和EO的目的在于二者的复杂程度会不同,因此度量出来的功能点是不同的。

4、确定调整系数VAF,包含14个基本特征,每个特征都有规则来描述该特征对本应用的影响大小,以0-5的分值表示。

5、计算调整后功能:针对项目开发、项目升级、应用三个类型使用不同的公式计算而来。

时间: 2024-10-05 13:11:13

功能点分析法FPA笔记的相关文章

【龙书笔记】用Python实现一个简单数学表达式从中缀到后缀语法的翻译器(采用递归下降分析法)

上篇笔记介绍了语法分析相关的一些基础概念,本篇笔记根据龙书第2.5节的内容实现一个针对简单表达式的后缀式语法翻译器Demo. 备注:原书中的demo是java实例,我给出的将是逻辑一致的Python版本的实现. 在简单后缀翻译器代码实现之前,还需要介绍几个基本概念. 1. 自顶向下分析法(top-down parsing) 顾名思义,top-down分析法的思路是推导产生式时,以产生式开始符号作为root节点,从上至下依次构建其子节点,最终构造出语法分析树.在具体实现时,它会把输入字符串从左到右

enote笔记语言(4)(ver0.3)——“5w1h2k”分析法

章节:“5w1h2k”分析法   what:我想知道某个“关键词(keyword)”(即,词汇.词语,或称单词,可以是概念|专业术语|.......)的定义. why:我想知道事物发生的原因.“why”代表的是一种“演绎推理”:我会不会犯“归因错误”?是“单因素”的还是“多因素”的原因?是直接原因,还是“因果链”中的一个间接原因?是“因果关系”还是“相关关系”? when:何时.无论是“自我(内部)”还是“宇宙(外部)”都永恒地处在一直持续的“变化”之中.“变”是这个世界唯一不变的东西. whe

enote笔记语言(4)(ver0.4)——“5w1h2k”分析法

章节:“5w1h2k”分析法   what:我想知道某个“关键词(keyword)”(即,词汇.词语,或称单词,可以是概念|专业术语|.......)的定义. why:我想分析and搞清楚弄明白“事物发生的原因(原理)”.“why”代表的是一种“演绎推理”:我会不会犯“归因错误”?是“单因素”的还是“多因素”的原因?是直接原因,还是“因果链”中的一个间接原因?是“因果关系”还是“相关关系”? when:何时.无论是“自我(内部)”还是“宇宙(外部)”都永恒地处在一直持续的“变化”之中.“变”是这

构建之法阅读笔记四—团队开发

构建之法阅读笔记—团队开发 软件开发过程中有团队和非团队之分.其区别就在于目标利益的不同,团队中每个人的目标是一致的.共同的,会根据实际情况给每个人分配不同的任务,不会计较个人利益的得失.非团队每个人的目标都是不同的,大家都为自己的利益而奋斗. 在阅读了构建之法后,我了解到团队开发有以下的特点:1.团队开发有一致的集体目标,团队要完成这个目标.一个团队成员不一定要同时工作.2.团队成员有各自的分工,互相依赖合作,共同完成任务.还有完成一个项目开发的工作流有业务建模,需求,分析和设计,实现,测试,

老师的问题和《构建之法》笔记

谈构建之法之前,先回答老师的几个问题~ 1.我本科专业是物联网工程,四年间的学习内容一直处于软硬件间摇摆,一度使我怀疑人生.这种学习方式最大的好处是可以从底层理解整个计算机的运作,循序渐进,而最大的缺点是,体系太过于庞大,低效,冗杂.当我到了大三的时候,我依然不能够独立编写一些软件,也不能处理有意义的硬件问题,所以当务之急便是做出取舍,否则我的大学可能就止步于C语言和单片机了.几经周折,最后还是选定了偏向软件的方向,原因众多,硬件的学习难度和深度让我苦不堪言,对数模电,通信原理,高频电路亦有较高

构建之法阅读笔记三—结对编程

构建之法阅读笔记三——结对编程 何谓结对编程,结对编程就是程序员肩并肩,平等的,互补的进行开发工作,他们使用同一台电脑,编写同样的程序,一起分析,一起设计,一块交流想法. 然而我以前却并不是这样做的,我以前喜欢在没人打扰的环境下写代码,我觉得有人在我身边看着,会影响我的思路,还有我个人自尊心比较强,不太喜欢被人指指点点,所以每次都是,我写完代码之后,自己先找自己的bug,每当自己实在找不到之后,才会请教大神,但是有时候可能由于自己的能力不足,往往一个很简单的问题,我自己发现就会花费很久的时间,让

《需求工程-软件建模与分析》读书笔记2

随着学习的进行,我的阅读也在继续,在第一阶段读完<需求工程——软件建模与分析>的第一部分和第二部分后,在这几天里我阅读了这本书的第三部分需求分析,这部分是这本书的重点所在,同样在这部分的阅读中对我的帮助也是最大的. <需求工程——软件建模与分析>在需求分析这一部分分别介绍了需求分析概述.过程建模.数据建模.面向对象建模等知识,在阅读中我对这些知识做了简要的了解,在阅读中对我的帮助很大,了解到在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的.范围.

《大型网站技术架构 -核心原理与安全分析》读书笔记

大型网站架构演化的价值观 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候去追求网站的架构是舍本逐末,得不偿失的.小型网站最需要做的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长. 网站架构设计误区 一味追求大公司的解决方案 大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的道路上迟早会迷路. 为了技术而技术 网站技术是为业务而存在的,除此毫无意义.在技术选型和架构设计中

交流等效电路分析法

在信号输入时,电路中各个环节的电压或电流,就要按输人信号的变化规律及电路对输 人信号的响应规律而变化.这种变化可分两种类型.一种是电路中各点电压或电流的变化规律是与输人的信号变化规律相同的(同相或反相这种电路)就是通常所说的放大电路和LC 振荡电路,另一种是电路中各点电压或电流的变化规律与输人信号的变化规律不完全相同,但它们之间有一定的关系,例如微分关系.积分关系等.这种电路常见的有各种脉冲电路. 各种解调电路等.在信号输人后,对于前一种电路采用交流等效电路分析法. 交流等效电路分析法,是把电路