【项目管理知识】软件产品的规模度量-功能点与代码行

软件产品的规模度量 -功能点与代码行

功能点与代码行,作为两种度量方法已经长期并存又竞争,他们的支持者 已进行了大量的争论,如今这种争论仍未停息。人们似乎想看到:功能点与代 码行,到底谁将后胜出?

众所周知,用 “平方米 ”可以衡量住房大小,用 “台”可以表示汽车数量,然 而,长久以来,软件产品的规模(Size)度量却是个争论不休的问题。

不论是对软件开发企业、还是对软件用户,软件规模度量的重要性都是不 容置疑的。因为它极大影响着甲方对发包产品的成本估算、乙方对自身开发成 本的预测、乙方对开发过程的量化管理等诸多方面。

比如,A软件项目的规模是100功能点,我们根据行业基准

(Benchmarking)知道平均成本是5000元/功能点,那么本项目的成本预测就是 50万元;我们又根据行业基准知道平均生产率为 1功能点/人天,则计算得到项

目需要投入 100 个人天的工作量,这些计算的结果将成为签定合同的依据和软 件项目管理的基础。

功能点与代码行,作为两种度量方法已经长期并存又竞争,他们的支持者 已进行了大量的争论,如今这种争论仍未停息。

人们似乎想看到:功能点与代码行,到底谁将后胜出?

国际软件工程权威专家 Rogers.Pressmar在 _______ 年曾经对LOC和 FP的辩论

结果进行总结 [1]:

代码行的支持者认为,LOC是所有软件开发项目的生成品,并且很容易进 行计算;许多现有的软件估算模型使用 LOC作为输入,并且关于LOC已经有大

量的文献数据。

代码行的反对者认为,LOC测量依赖于程序设计语言;它们对设计的很好 但较小的程序会产生不利的评判;它们不适合于非过程语言;它们在估算时需

要一些可能难以得到的信息(例如,在分析和设计之前,计划者就必须估算要 产生的

LOC)。

功能点(及其扩展)的支持者认为:FP和程序设计语言无关,使得它既适 合于传统的语言,也可用于非过程语言;它是基于项目开发初期就可能得到的 数据。

反对者声称:该方法需要某种 “人的技巧 ”,因为计算是基于主观的而非客

观的数据;信息域(及其它维)的计算可能难以搜集事后信息; FP没有直接的

物理含义 ―它仅仅是个数据而已。

究竟如何看待这些争论?认为应该用发展的眼光来判断,特别是考虑近年 来软件开发技术的迅猛发展以及国际软件产业商业模式的变革趋势。

近的技术发展包括诸如可视化编程工作的大量采用,以及摸板库、类库的 广泛采用,在程序的结果中有大量的自动生成的代码、复杂的自动配置脚本或

资源文件设置,在采用这些工具的项目中,用 LOC分析方法得到的数据的意义

已经大大降低了 [2]。

从产业商业模式来看,由于软件系统已经变的的更大和更复杂,软件工程 化分工加剧,专门从事软件下游业务的商业组织大量涌现,特别是随着国际产 业转移带来的服务外包的巨大发展,需求和架构设计等上游工程与详细设计、 编码、测试、信息录入和处理等下游工程分别在不同的组织中实现。上下游组 织之间在业务管理和开发技术方面的的沟通需要更加标准化的度量语言。而实 际上,LOCK来没有在满足客户需求方面有什么重大意义,代码行数对客户来 说没有什么实际意义,客户关心的是 “功能”。

有研究者[2]认为,LOC在帮助管理者开展项目管理方面也差强人意, LOC

只是对技术人员有一定意义。

实际上,LOC带来的误导越来越严重,以至于著名的软件度量专家,美国 软件生产率研究所的首席科学家 Capers Jones指出,使用代码行数进行涉及

多种语言和生命周期活动的生产率研究,应该被认为是一种职业的不良实 践。 ”[3]

与LOC方法陷入的窘境相比,FP正逐步突破其原有缺陷,重新受到重视。

这些趋势包括,来自许多国家的软件度量团体,一直不停的对 FP方法进行

改进和完善,FP的历史数据也已经有了非常大的积累,这促使 FP技术向成熟快 速迈进;在应用方面,随着相关培训和认证制度的不断完善,专业人员将更方 便的获得认证,对人员

的统一资质认定,将极大的提高功能点计数的 “一致 性”,从而减少计数结果的 “差异性 ”。

国际上近的进展包括:

年ISO公布ISO/IEC14143功能点成为国际标准 年功能点分析方法开始和挣值管管理(EVM)结合 年功能点分析和平衡计分卡结合使用

国内的新进展包括:

国内在中国软件行业协会系统与软件过程改进分会等机构主持了一些基础 工作:

年与IFPUG达成谅解备忘录,引进和翻译《功能点计数标准手册》

____ 年成立ISBSG中国代表处(CSBSG,开始搜集中国功能点数据并建立 行业软件过程能力基准。

____ 年与台北、台中和台南软体协会签署备忘录,将建立海峡两岸一致的

度量元标准,并开展数据交换。

年与TotalMetrics等国际机构合作,引进 CFPSA证前培训

年筹划建立 “中日韩软件度量联盟 ”

FP的发展,来自于有关国际组织和研究团体的协同努力。这方面有影响力 的国际组织包括IFPUG(美国国际功能点组织)和ISBSG(国际软件过程基准组

织)以及各国的软件度量协会。事实上,在经历了 90年代的发展低谷后,FP正

再一次受到广泛重视,FP应用中存在的一些困难正在被一一克服。显著的事例

是韩国,由于政府的高度重视,发布政府公文促进产业界对 FP的使用,韩国的

认证功能点专家(CFPS数量目前已经跃居全球,仅仅三星总部一家就有超过

100 名的 CFPS。

值得说明的是,尽管代码行有很多的缺点,也不应该弃置不用,在开发管 理的某些环节和某些应用方面,它仍是一件很方便使用的有用工具,比如具体 一个项目内部的缺陷密度统计等等。所以在实践应用中,在全生命周期采用 FP

的同时,在项目内部局部结合使用 LOC作为补充手段,也是有价值的选择。

从这个意义上来讲,FP和LOC应该还会继续并存,随着对两者换算因子的 更深入研究,二者的竞争将显得不重要,而配合应用将成为主流。

目前,国内部分知名咨询公司已经尝试开展软件度量相关领域的专项业 务,包括:SoftTech赛柏科技、随济公司等。其中的部分公司也在推动功能点

的应用,这些工作将会带来有益的变化,有助于增加各类专项服务的提供,使 过程方法论服务市场得到进一步的丰富和发展。

[1]《软件工程-实践者的研究方法》Rogers.Pressma著梅宏译机械工业出版

社 _____

[2]《功能点分析方法与实践》李帜等编著清华大学出版社

[3]《软件评估、基准测试与实践》 Capers Jones著韩柯译机械工业出版社

中信出版社 _____

合集下载

软件项目规模估计方法介绍

软件项目规模估计方法介绍

软件项目的规模估计历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的规模估计往往和实际情况相差甚远。 因此,估计错误已被列入软件项目失败的四大原因之一。

软件工程师经常会被问到,编一个什么什么样的软件需要多长时间、多少钱。面对这个问题,有不少人很犯难,因为,第一用户的需求太不具体,第二,自己缺乏一个科学的估计方法。下面是几种软件项目规模的估计方法。

概念介绍

先介绍一个衡量软件项目规模最常用的概念--LOC(Line of Code),LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力。组织可以根据对历史项目的审计来核算组织的单行代码价值。

例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则该项目中1LOC的价值为:

(240×10000)/150000=16元/LOC

改项目的人月均代码行数为:

150000/240=625LOC/人月

方法一、Delphi 法

Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家"专"的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种软件相关经验人的参与,互相说服对方。

功能点估算名词

功能点估算名词

功能点估算是一个在软件开发和项目管理中常用的术语,主要用于估计项目的复杂性,以便更好地规划和管理资源。下面是对功能点估算的一些基本概念和名词的解释。

1. 功能点:功能点是软件系统中一个重要的度量单位,表示软件中可用的单一功能或能力。它们通常根据软件系统的用户视角进行分类,包括数据输入、数据处理、数据输出、人机交互等功能。

2. 功能点估算:功能点估算是对软件系统中功能点数量的预测和评估。这个过程需要对软件系统有深入的理解,并考虑系统的主要功能、数据流以及与其他系统的交互等因素。

3. 功能点计数:功能点计数是功能点估算的一个具体实现,它基于对软件系统的详细分析,对每个功能点进行计数,从而得到一个相对准确的功能点数量。

4. 功能点分析:功能点分析是通过对软件系统的功能点进行详细研究和分析,以了解每个功能点的复杂性和对整个系统的重要性。这有助于项目团队更好地理解系统需求,制定开发计划,以及分配资源。

5. 功能点度量:功能点度量是对软件系统的功能点进行量化和评估的过程。它通常涉及一些度量指标,如每个功能点的代码行数、开发时间、测试用例数等。这些度量指标可以帮助项目团队更好地了解项目的规模和复杂度。

6. 功能点映射:功能点映射是将软件系统的功能点与特定的度量指标相关联的过程。这有助于项目团队在开发过程中监控和评估项目的进度,以及确定是否需要调整开发计划。

7. 功能点估算器:功能点估算器是一种工具,用于帮助项目团队进行功能点估算和映射。它通常基于历史数据和经验公式,以提供对软件系统功能点数量的估计。

8. 功能点评审:功能点评审是对功能点估算结果进行审查和验证的过程。这有助于确保估算的准确性和可靠性,以及发现可能存在的问题。

总之,功能点估算是一个在软件开发项目中非常重要的过程,它可以帮助项目团队更好地理解项目需求,制定开发计划,以及分配资源。了解这些相关的术语和概念将有助于更好地理解和应用功能点估算方法。

软件项目开发和管理规范标准[详]

软件项目开发和管理规范标准[详]

WORD格式

专业资料 .. .. .. ..

软件项目开发和管理规范 V1

软件开发标准化工作流程

1 引言

1.1 编写目的

软件项目管理是软件工程和项目管理的交叉学科 , 软件项目管理的概念涵

盖了管理软件产品开发所必须的知识 、 技术及工具 。 根据美国项目管理协会

PMI 对项目管理的定义可以将软件项目管理定义为 : 在软件项目活动中运用一

系列知识 、技能 、工具和技术 , 以满足软件需求方的整体要求 。

软件项目管理是为了使软件项目能够按照预定的成本 、进度 、质量顺利完

成 ,而对成本 、 人员 、 进度 、 质量 、 风险等进行分析和管理的活动 。实际上 ,

软件项目管理的意义不仅仅如此 ,进行软件项目管理有利于将开发人员的个人

开发能力转化成企业的开发能力 , 企业的软件开发能力越高 ,表明这个企业的

软件生产越趋向于成熟 , 企业越能够稳定发展 。

软件生存周期包括可行性分析与项目开发计划 、 需求分析 、设计 ( 概要设

计和详细设计 )、 编码 、测试 、维护等活动 ,所有这些活动都必须进行管理 ,

在每个阶段都存在着权限角色控制 、 文档管理 、 版本控制 、 管理工具等 ,软件

项目管理贯穿于软件生命的演化过程之中 。

参考.资料WORD格式

专业资料 .. .. .. ..

1.2 适用范围

所有软件项目管理 。

1.3 定义

列出本文件中用到的专门术语的定义 、 外文首字母组词的原词组 。

2 软件项目管理过程

2.1 概述

为保证软件项目获得成功 ,必须对软件开发项目的工作范围 、要完成的任

务 、需要的资源 、需要的工作量 、进度的安排 、可能遇到的风险等做到心中有

数。软件项目的管理工作开始于技术工作开始之前 ,在软件从概念到实现的过

程中持续进行 , 最后终止于软件开发工作结束 。

参考.资料WORD格式

专业资料 .. .. .. ..

1.4 流程图

(整理)功能点估算法介绍及应用.

(整理)功能点估算法介绍及应用.

精品文档

精品文档 一、功能点估算法识别项目范围和数据复杂度

功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。

功能点估算法的特点

项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及。对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP功能点法。它们之间的区别和关系如下:

• 功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。假如这个时候使用LOC代码行估算法,则误差会比较大。

• 使用功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法则与软件开发技术密切相关。

• 功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算。

• 通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的。

在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同。因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。

功能点分析的步骤

本文将以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法V4.1.1为基础进行讲解。如下图所示,首先大家应该了解功能点估算法的使用步骤。

图1 功能点估算法的步骤 精品文档

精品文档

具体步骤包括:

1. 识别功能点的类型。

2. 识别待估算应用程序的边界和范围。

如何进行代码质量度量与评估

如何进行代码质量度量与评估

如何进行代码质量度量与评估

代码质量度量与评估是指对软件项目中的代码进行分析和评估,以确定代码的质量以及确定改进代码质量的措施。在软件开发中,代码质量是一个非常重要的指标,它直接影响到软件的可维护性、可扩展性和可靠性。下面将介绍如何进行代码质量度量与评估。

一、代码度量方法

1.代码规模度量

代码规模度量是通过统计代码的行数、函数数、类数等来评估代码复杂性和可维护性的指标。通常使用的度量方法有LOC(Lines of

Code)和函数点法(Function Points)。

LOC是统计代码行数的方法,通过统计源文件中的代码行、注释行和空行的数量来评估代码的规模。LOC的缺点是无法区分复杂代码和简单代码,因此对于短小的函数和复杂的函数无法准确评估。 函数点法是通过统计软件系统中独立的逻辑功能来评估软件规模的方法。它将软件的功能划分为不同的逻辑功能,每个逻辑功能都有相应的权重,通过加权计算来评估软件的规模。

2.代码复杂度度量

代码复杂度是指代码的可读性和可维护性,通常使用的度量方法有圈复杂度和文件复杂度。

圈复杂度是通过统计程序中的判断结构和循环结构的数量来评估代码的复杂性。圈复杂度越高,代码的可读性和可维护性就越差。

文件复杂度是通过统计文件中的行数、函数数和类数来评估代码的复杂性。文件复杂度能够反映代码中的模块化程度,文件复杂度越高,代码的模块化程度越低。

3.代码规范度量

代码规范度量是通过检查代码是否符合编程规范来评估代码的质量。编程规范包括命名规范、注释规范、代码风格等。代码规范度量可以通过静态代码分析工具来检查代码是否符合规范。

二、代码质量评估方法 1.静态代码分析

静态代码分析是通过对代码进行静态检查来评估代码的质量。静态代码分析可以检查代码是否符合编程规范、是否存在潜在的Bug和性能问题等。常用的静态代码分析工具有PMD、FindBugs、Checkstyle等。

2.代码复审

基于功能点分析方法的软件规模度量

基于功能点分析方法的软件规模度量

15开发应用

1引言

2功能点分析方法概述软件项目度量是针对软件开发项目的特定度量,旨在对项目规模、项目开发成本、开发进度、顾客满意度进行度量,辅助项目决策者进行项目管理。以软件项目的规模度量为例,软件规模度量是估算项目规模、编制成本预算、安排合理进度的基础,是软件工程中的一个重要环节,也是关系软件项目开发成败的重要因素之一。在传统的开发中,开发人员习惯用代码行方法(LinesofCode,LOC)表示软件规模,认为代码行是项目的生成品,而且很容易进行计算,许多现有的软件估算模型都是使用代码行作为输入。但是,LOC也存在着缺陷:依赖于程序设计语言;与软件内部的技术实施有关;在分析和设计之前,开发人员就必须估算出要产生的代码行,存在着不准确性;不便于和客户进行交流。针对LOC存在的各种缺陷,另外一种规模度量方法——功能点分析方法(FunctionPointsAnalysis,FPA)正在逐渐取代它。FPA作为一种方便理解和交流系统规模的手段,在可用性和客观性方面都优于传统的LOC方法。本文详细介绍了功能点分析方法,并提出了基于功能点分析方法构建的一套科学的度量体系,贯穿于软件的整个生命周期中。FPA是20世纪70年代末期由IBM公司的工程师AllanAlbrecht为解决LOC度量的局限性和所产生的问题首先提出来的,1994年其设计理念被国际功能点用户协会(TheInternationalFunctionPointUsers’Group,IFPUG)提出的IFPUG方法所继承,在国际软件行业中得到一致的推祟和接受。FPA是一种使用功能点为单位对软件规模进行度量的方法,其特征是在项目开发初期就可以利用需求分析模型进行功能点的估算,不依赖于开发语言和内部技术实施。功能点分析方法作为软件规模度量的一种有效方法逐渐被软件行业所接受。功能点分析方法的实施。利用IFPUG方法在计算功能点时,首先要确定软件项目的范围和程序边界。范围即针对某一个具体的系统进行度量,边界则是指所度量的系统与外部系统或使用者间的界限分割。其次,将系统划分为多个具有独立意义的子系统。子系统由五类基本功能组件构成(如图1),分别是:内部逻辑文件(InternalLogicalFile,ILF),外部接口文件(ExternalInterfaceFile,EIF),外部查询(ExternalQuery,EQ),外部输入(ExternalInput,EI),外部输出(ExternalOutput,EO)。(1)计算未调整的功能点数。在子系统的五类基本功能组件中,找出每一类的功能点数,并与相应的加权值相乘,然后求和,得到未调整的功能点数(UnadjustedFunctionPoints,UFP)。(2)计算调整因子值。通过软件系统的14个通用系统特征(GSC)的影响程度(TDI)计算出调整因子数值(VAF)。每一个GSC的影响程度(DI)是介于值0到5之间,代表其影响程度从没有影响到很大影响。将每一个GSC的DI相加,得到整体影响程度TDI,将TDI代入以下公式计算出VAF:VAF=(TDI×0.01)+0.65。(3)计算已调整的功能点数。根据前面计算出的未调整功能点数(UFP)和调整因子(VAF),就可得到调整后的功[1]基于功能点分析方法的软件规模度量赵帆宋中山(中南民族大学计算机科学学院,湖北武汉430074)摘要:在现代软件工程中,软件规模度量已成为一个重要的研究方向,近年来受到了广泛的关注。本文详细分析了一种重要的软件规模度量方法——功能点分析方法,并提出了一套基于功能点分析方法的度量体系,用于获得更精确的规模度量和更客观的评价、促进软件过程改进。关键词:软件项目;规模度量;功能点分析方法;度量体系SoftwareSizeMeasurementBasedonFunctionPointsAnalysisMethodZHAOFanSONGZhong-shan(SchoolofComputerScience,South-CentralUniversityforNationalities,Wuhan430074,China)Abstract:Inthemodernsoftwareengineering,softwaresizemeasurementhasbecomeanimportantresearchdirectionandhasbeenwidelyconcernedinrecentyears.Inthispaper,animportantmethodofsoftwaresizemeasurement-FunctionPointsAnalysisisintroduced,andasetofmeasurementsystembasedonFunctionPointsAnalysisisproposed,whichcangetamoreaccuratesizemeasurementandobjectiveassessment,andalsocanpromotetheimprovementofsoftwareprocess.Keywords:Softwareproject;Sizemeasurement;FPA;Measurementsystem,

软件开发实习报告中的软件规模估算

软件开发实习报告中的软件规模估算

1. 简介

在软件开发实习报告中,软件规模估算是一项关键任务。准确估算软件的规模对于项目的成功实施、资源分配和时间管理至关重要。软件规模估算是指根据软件的功能需求、复杂性和规模来评估项目所需的工作量和资源。

2. 软件规模估算方法

软件规模估算通常使用以下两种方法:基于功能点的估算和基于代码行数的估算。

2.1 基于功能点的估算

基于功能点的估算是一种常用的软件规模估算方法,它基于软件的功能需求来评估项目的规模。功能点是指软件的具体功能或功能集合,可以根据用户需求、用例文档或功能列表来确定。

常用的功能点估算方法有IFPUG(国际功能点用户组)方法、COSMIC(计算尺寸方法和测定方法)方法和NESMA(荷兰软件度量协会)方法等。这些方法通过不同的计算公式和指标来评估功能点的数量和工作量。

2.2 基于代码行数的估算 基于代码行数的估算是另一种常用的软件规模估算方法,它通过统计软件代码的行数来评估项目的规模。这种方法基于一个假设:软件的规模与代码的行数成正比。

根据项目的编程语言、开发平台和代码风格,可以使用不同的公式和指标来估算代码行数。常见的代码行数估算方法有SLOC(源代码行)方法和KLOC(千行代码)方法等。

3. 软件规模估算的步骤

无论使用基于功能点还是基于代码行数的估算方法,软件规模估算的步骤大致相同。

3.1 确定软件需求

首先,需要对软件的功能需求进行准确的分析和定义。这可以通过与项目经理、业务分析师和最终用户的沟通和讨论来实现。明确软件的功能需求可以帮助更好地估算软件的规模。

3.2 评估功能点或代码行数

接下来,根据所选的估算方法,对功能点或代码行数进行评估。对于基于功能点的估算方法,可以使用IFPUG、COSMIC或NESMA等方法来计算功能点的数量。对于基于代码行数的估算方法,可以根据项目的编程语言和代码风格来选择适当的公式和指标。

3.3 计算工作量和资源 根据功能点或代码行数的评估结果,可以计算项目的工作量和所需资源。这可以通过使用预先定义的指标和模型来实现,如功能点乘以工作量指标(如人月)计算工作量,或者代码行数乘以代码行数指标(如人天)计算工作量。

软件功能点估算法

功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。

FP功能点估算法的特点

项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及,对软件项目范围的估算有很多种方法,常见的就是LOC代码行和FP功能点法,它们之间的区别和关系如下:

1、 FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。

2、 使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法与软件开发技术密切相关。

3、 FP功能点法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算的。

4、 通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。

在项目刚开始的时候进行功能点估算可以对项目的范围进行预测,在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同,因此在项目结束时还需要对项目的范围情况进行估算,这个时候估算的结果才能最准确反映项目的规模。

功能点分析的步骤

以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法V4.1.1为基础与大家进行讲解。如下图所示,首先大家应该了解功能点估算法的使用步骤。

 功能点估算的步骤

1、 识别功能点的类型。

2、 识别待估算应用程序的边界和范围。

3、 计算数据类型功能点所提供的未调整的功能点数量。

4、 计算人机交互功能所提供的未调整的功能点数量。

5、 确定调整因子。

6、 计算调整后的功能点数量。 EI、EO、EQ

软件度量试题及答案

软件度量试题及答案

1. 软件度量是指什么?

答案:软件度量是指使用特定的量度来评估软件产品或软件过程的特性,以便于理解、管理和改进软件。

2. 软件度量的类型有哪些?

答案:软件度量的类型包括但不限于:

- 规模度量:如代码行数、功能点数。

- 复杂度度量:如循环复杂度、结构复杂度。

- 质量度量:如缺陷率、可靠性。

- 性能度量:如响应时间、吞吐量。

- 工作量度量:如人月数、工作小时数。

3. 软件度量的目的是什么?

答案:软件度量的目的是:

- 帮助项目管理者做出更明智的决策。

- 提供软件项目进展的量化指标。

- 为软件质量评估提供依据。

- 促进软件开发过程的持续改进。

4. 请列举几种常用的软件度量工具。

答案:常用的软件度量工具包括:

- LOC(Lines of Code)计数器。

- Function Point Analysis(功能点分析)工具。

- Complexity Analyzer(复杂度分析器)。

- Code Metrics Tools(代码度量工具)。

- Performance Profilers(性能分析器)。

5. 软件度量过程中可能遇到哪些挑战?

答案:软件度量过程中可能遇到的挑战包括:

- 度量标准的不一致。

- 数据收集的难度和成本。

- 度量结果的解释和应用。

- 度量指标的选择和定制。

- 度量数据的可靠性和有效性。

6. 如何选择适合项目的软件度量指标?

答案:选择适合项目的软件度量指标的方法包括:

- 确定项目目标和需求。

- 分析项目的特点和约束。

- 考虑度量指标的可获取性和成本。

- 评估度量指标的适用性和有效性。

- 参考行业标准和最佳实践。

7. 请简述软件度量数据收集的方法。

答案:软件度量数据收集的方法包括:

功能点估算(CMMI-FP)

1 功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目 计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资 源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。

功能点估算法的特点

项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及。对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP功能点法。它们之间的区别和关系如下:

• 功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。假如这个时候使用LOC代码行估算法,则误差会比较大。

• 使用功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法则与软件开发技术密切相关。

• 功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算。

• 通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的。

在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初 估计的不同。因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。

功能点分析的步骤

本文将以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法V4.1.1为基础进行讲解。如下图所示,首先大家应该了解功能点估算法的使用步骤。

图1 功能点估算法的步骤 2

具体步骤包括:

1. 识别功能点的类型。

2. 识别待估算应用程序的边界和范围。

3. 计算数据类型功能点所提供的未调整的功能点数量。

4. 计算人机交互功能所提供的未调整的功能点数量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档