1、GB!T 18491.1-2001 前主口本标准等同采用国际标准ISO!IEC14143-1: 1998信息技术软件测量功能规模测量第1部分z概念定义。本标准定义了功能规模测量(FSM)的重要概念,描述了应用FSM方法的一般原则。本标准的附录A是提示的附录。本标准由中华人民共和国信息产业部提出。本标准由中国电子技术标准化研究所归口。本标准由中国电子技术标准化研究所负责起草。本标准主要起草人E罗锋盈、吴纪、冯惠。 331 G/T 18491.1-2001 ISO/IEC前言ISO(国际标准化组织)和lEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或IEC的成员国)通过
2、国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准oISO和IEC的各技术委员会在共同感兴趣的领域内进行了合作。与ISO和IEC有联系的其他官方和非官方国际组织也可参与国际标准的制定工作。对于信息技术.IS0和1EC建立了一个联合技术委员会,即IS0/IEC JTCl 0由联合技术委员会提出的国际标准草案需分发给国家成员体进行表诀。发布一项国际标准,至少需要75%的参与表决的国家成员体投票赞成。国际标准IS0/IEC14143-1由ISO/1ECJTCl信息技术联合技术委员会SC7软件工程分技术委员会制定。ISO/IEC 14143在信息技术软件测量功能规模测量总标题下,目前包括以
3、下部分2第1部分z概念定义一一第2部分z软件规模测量方法与ISO/IEC14143-1的符合性评价一-第3部分z功能规模测量方法的验证一-第4部分:参考模型-一第5部分z供功能规模测量使用的功能域的确定附录A的内容仅供参考。332 GB/T 18491.1-2001 司|去日软件工程组织多年来一直致力于寻找一种可接受的量化方法,用于测量过程的效率和有效性,管理软件成本和软件工程组织所获得、开发、增强或维护的系统。至今测量(需求)中一个关键的、令人迷惑的方面是确定软件的规模。过去已经推荐了为数众多的软件规模测量方法,其中包括程序源代码行的数目和各种源于软件技术特征的测量方法。这些方法在以下几方面
4、具有一定的局限性:一它们不能应用于软件开发过程的早期;一一它们不能自始至终一致地应用于软件生存期内;-一软件用户不能理解它们的内涵。功能规模测量(FSM)重点不在于被测量软件的实现方式,而是根据软件用户所要求的功能来测量软件的规模,从而克服了上述局限性。自从功能点分析方法提出以来,已出现了许多基于Albrecht的方法和其他概念测量方法。由于这些不同的规模测量方法在FSM方面没有取得-致意见,因此自然地就出现了不-致的情况。削弱这些方法中的任何一个方法成为软件功能规模测量标准方法的能力和吸引力,使得它们无法成为软件功能规模测量的标准方法,本标准定义了FSM的基本概念,因而可以促进对于FSM原则
5、的一致性解释。本标准的格式编排是为了便于审查一个候选的软件规模测量方法是否与苏标准-致。333 1 范围中华人民共和信息技术软件测第1部分:国家标准功能念定义量Information technology-Software measurement一Functional size measurement Part 1: Definition . of concepts GB/T 18491.1-2001 idt ISO/IEC 14143-1: 1998 本标准定义了功能规模测量CFSM)的重要概念,描述了应用FSM方法的一般原则。对于下列活动,本标准不提供关于如何进行的详细的规则2一一使用特定
6、的方法来测量软件的功能规模g使用由特定的方法得到的结果;一一-选择特定的方法。注zFSM的使用指南参见附录A。本标准可用于确定一个软件规模测量的方法是杏就是FSM方法。它并不妨碍开发不同方法,而是为评估一个特定的方法是否与FSM一致提供了基础。本标准可为那些与获取、开发、使用、支持、维护和审核软件相关的个人使用。2 引用标准下列j标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。GB/T 16260-1996 信息技术软件产品评价质量特性及其使用指南(idtISOIIEC 9126:
7、 1991) 3 定义本标准采用下列定义。3. 1 基本功能部件base functional component(BFC) 为测量目的,由FSM方法定义的旦由FSM方法使用的用户的功能需求的基本单元。注g个例于,即功能用户需求可以是维护顾客.该维护顾客可以由F列BFC组成产增加新顾客、报告顾客采购和改变顾客细节。另个例于可能包括自诸如顾客细节之类的在研的软件所维护的逻辑相关业务数据的汇集。还有许多其他的例子。3.2 BFC类型BFC type 一种已定义的BFC的种类。 注,BFC魏陋的若干例子是指吁卡部输入、外部输出和逻辑事务,以及数据存储,诸如内部逻辑文件。3. 3 边界boundary
8、 在研的软件与其用户之间的概念上的界面。3.4 FSM方法FSM method 中华人民共和国国东质量监督锥验检疫总局2001-11-02批准2002-06可01实施334 GB/T 18491. 1-2001 用一组规则定义的FSM的特定实现,它与本标准的强制特性一致。3- 5 功能域functional domain 基于与FSM有关的用户功能需求特性的软件类。3.6 功能规模functional size 通过功能用户需求进行量化而导出的软件规模。3.7 功能规模测量(FSM)functional size measurement (FSM) 功能规模的量化过程。3.8 用户功能需求fu
9、nctional user requirements 用户需求的子集。用户功能需求表示软件必须实现的用户业务惯例和过程,以满足用户的要求。功能用户需求不包括质量需求和任何技术需求。3.9 客户化local customiza tion 为供本地使用而修改了的FSM方法,与修改之前相比,它可能产生不同的功能规模。3- 10 质量需求qual叮requlrements与GB/T16260定义的软件质量相关的任何需求。3.11 FSM的范围scope 01 the FSM 在特定FSM实例中包含的用户功能需求集合。注:FSM的范围由测量软件的用途来确定。例如,如果一个组织需要知道它的软件文件夹的规模
10、,那么FSM的范围将包括当前使用的所有功能用户需求。然而,如果一个项目经理还在寻找确定特定发布的软件规模.FSM的范围只包括那些受项目影响的用户功能需求自3- 12 技术需求technical requirements 与用于软件开发、维护、支持和执行的技术以及环境相关的需求。注.技术需求的例子如编程语言、测试工具、操作系统、数据库技术和用户接口技术。3.13 用户user 规定用户功能需求的人和(或在任何时刻与软件通信或交互的任何个人或事物。注2事物的例子包括但不限于软件应用、动画、传感器或其他硬件.4 缩略语FSM 功能规模测量BFC 基本功能部件5 特性与精求5. 1 特性5.1.1 F
11、SM方法的特性5. 1- 1.1 个FSM方法应具有下列特性:a)它基于用户角度的功能用户需求表示gb)一旦定义了用户功能需求,并且用户功能需求可得到,就可以立即应用它;c)它通过对BFC的评估(参见5.2.2)来获得功能规模。5. 1- 1. 2 FSM方法应尽可能地也立于特定的软件开发方法或技术。注z这将便于更广泛的使用FSM方法。5.1.2 BFC特性一个BFC应具有下列特性za)它只表达用户功能宿求gM它不表达技术需求;335 GB/T 1创91.1 2001 c)它不表达质量需求;d)它可归类为一个且仅一个BFC类型。5. 1. 3 功能规模特性功能规模应具有下列特性a)它不是由开发
12、被测量软件所需的工作量来导出gM它不是由支持被测量软件所需的工作量来导出sc)它独立于用来开发被测量软件的方法3d)它独立于用来支持被测量软件的方法;时它独立于被测量软件的物理部件pf)它独立于被测量软件的技术部件。5.2需求5.2.1 FSM方法的需求5.2.1.1 FSM方法应:a)定义BFC的属性;b)定义用来评估BFC的规则sc)定义表示功能规模的单位;注2例如s功能点.d)描述FSM方法可以适用的功能域。5.2. 1- 2 FSM方法宜:a)描述使FSM方法能应用所需的信息,b)提供关于为特定FSM实例如何编制文件的指南5c)描述最佳使用该方法的目的,从而使FSM方法的用户可以判断它
13、是否合适于其目的;d)说明它与其他测量方法的可转换程度。注可转换程度的例子如但不限于), 一完全可转换z在任何条件下使用个算法或数学模型,可以将功能规模测量转换成另软件规模测量,一一有限可转换z在某些条件下使用一个算法或数学模型,可以将功能规模测量转换成另一种规模测量.例如,在有限规模拖围内进行转换或者在规定的精度范围内进行转换,不可转换z功能规模测量不能转换成另一软件规模测量。5.2.2 BFC的评估要求注1,下列BFC评估需求表示次序由FSM方法决定DFSM方法应za)定义BFC类型;b)描述如何标识FSM范围内的用户功能需求gc)描述如何标识用户功能需求范围内的BFC,d)如果存在一个以
14、上的BFC类型,定义如何将BFC分类为BFC若干类型:e)定义如何按惯BFC的BFC类型来赋予该BFC一个数值值;注2,举个定义的例于f输出是一个BFC类型.如果该BFC访问少于两个文件.Iiltl赋予该BFC的值为5,如果该BFC访问多于两个文件,则赋值为8Jf)定义BFC类型和边界之间的关系(如果有的话h注3,BFC类型和边界的关系的一个例子是产内部逻辑文件必须处于边界的软件边。g)定义BFC若干类型之间的关系(如果有的话)。注4,BFC若干类型之间的关系的一个例子是内部逻辐文件必须由一个或多个外部输入来维持二注5,BFC若干类型之间的关系的一个例子是f每个逻属事务包括一个输入、处理和输出
15、部件a5.2.3 功能规模的指明336 GB/T 18491.1 2001 FSM方法应说明报告功能规模时所采纳的约定,这样可使功能规模受限于下列内容za) FSM方法的单位sb) FSM方法的名称;注1,例如.功能规模=300个功能点(XY2v2.0).c)在适用的场合,已使用了客户化的特殊FSM方法的指示符。注2,例如客户化XY2方法的版本2.0=XY2v2. O. 6 应用FSM方法的过程为了导出功能规模,FSM方法应包括下列活动za)确定FSM的范围pb)标识出在FSM的范围内的用户功能需求sc)标识用户功能需求范围内的BFC.d)若适用,将若干BFC分类成BFC若干类型;时将合适的数
16、值值赋予每个BFC;。计算功能规模。7 FSM方法标识约定FSM方法应za)使用某个名称,该名称将区别它和所有其他现有FSM方法:注1,例子方法名称=XY2。b)在适用的场合,包括在方法名称后面所附加的版本号,它将区别它和该方法的所有其他版本。注2,例子,XY2方法的2.0版=XY2v2.O. u 337 A1 引亩GB/T 18491.1-2001 附录A(提示的附录)FSM的若干用法本附录的目的是为了把FSM方法的某些用法介绍给读者。它不作为FSM方法的用法子册,也不对FSM作详尽描述。软件的用户需求可以包括质量需求、技术需求(参见第3章定义).还有用户功能需求。有些规模测量方法向功能规模
17、测量所要求的过程步骤中加入一条或若干条,从而也考虑了质量要求和技术需求。这些附加的步骤不是应用FSM方法过程的组成部分(参见第6章).但是对于下面就要描述的功能规模的实际使用会有帮助。注2通过这些附加步骤的调整超出了FSM的范围,因为它测量了特性而不是用户需求的功能.FSM方法的用法被组织成两部分:用于项目管理的用法和用于预测与性能管理的用法。A2 项目管理这部分关于FSM方法的用法指出了如何把功能规模应用到项目管理和控制中EA2.1 跟踪项目进展在软件项目生存周期的早期.FSM方法可以为软件的开发或增强建立一个BFC清单。项目经理可以使用该库存清单,首先跟踪目标BFC集合的变化(即,标识出由
18、于范围变化引起的从该库存清单所增加的和所删除的BFC).其次记下已开发的和仍未开发的BFC.来跟踪和交流项目的进展,然后项目的进展可以按照已经通过的里程碑或已经完成的目标BFC的百分比来进行项目进展的交流。A2.2 管理范围变化在软件项目生存周期的早期.FSM方法通过创建与软件用户和软件供应商商定的BFC清单来确定软件的范围。对于BFC清单的每个变化,可以计算功能规模,并且可以将功能规模纳入估算模型,以预测工作量和进度。该影响也可以用来协商软件范围和项目计划的修改。A2.3 软件包功能吻合度FSM方法可以帮助表达软件包所提供的功能度与功能需求的吻合程度。对功能需求来说,可以计算出功能规模。对软
19、件包所满足的功能需求来说,功能规模也可以计算出来。使用另一功能规模时,配合的程度可以表达为所满足的功能需求的比例。A3 预测与性能管理这部分关于FSM方法的用法指出了如何把功能规模应用到预测资源利用和性能管理。本章典型地涉及把功能规模用作规格化因子和大量数据的汇集,以创建模型。A3.1 计算组织的软件资产对于某个组织的应用文件夹的一部分或全部而言,功能规模可以计算出来,并且功能规模纳入估算模型,以确定整个软件资产,或者关于替换或再工程的总成本。A3.2 生产率管理FSM方法可以帮助管理软件开发、增强和维护过程的生产率。生产率指示符(功能规模除以工作量、时间进度或成本)和人员统计的特征可以予以分
20、析,以确定哪些人员统计特征对生产率影响最大。人员统计的特征是指环境、项目,和(或)工作人员的特征,这些特征可以影响软件开发、增强或维护过程。工作人员经验、工具使用、用户关系、工作状况、汇作人员业务知识和开发语言就是若干例子。生产率可338 GB/T 1创91.1-2001以通过操纵那些特征和监视未来软件项的生产率趋势来进行管理,以考察是否达到了预期效果。A3.3 质量管理FSM方法可以帮助管理缺陷的数目。可以分析缺陷密度(在一段时间内所识别到的缺陷数目与功能规模之比).以确定哪些人员统计的特征对缺陷密度影响最大。缺陷密度可以通过操纵这些特征和监视未来软件项目的缺陷密度趋势来进行管理,以考察是否
21、达到了预期效果。A3. 4 项目资源预测对于新开发和增强的项目,一个算法预测模型可以用从已完成项目样品中所采集到的各种类型的数据来构造,例如,功能规模、质量需求、技术需求、所消耗的资源(表达为所消耗的成本、工作量或日程安排)以及预期对所消耗的资源总量已有的人员统计特征。一旦模型已经构成.资源的预测就可以通过把例如下列信息纳入模型早期或在未来软件项目的生存周期中s一一软件的功能规模;一一对质量需求、技术需求和人员统计特征的预期影响。注2同软件维护相比,软件增强是修改软件以增加、变更和删除用户功能的过程$而软件维护则是一个修改软件以纠正缺陷、改进性能和支持计算环境变化(如增加了新型的数据存储设备)的过程。A3.5 维护预算FSM方法能够帮助预算某个组织的软件文件夹的维护。该文件夹的功能规模,以及与功能规模相比较的维护成本或工作量都可以加以监视,该信息可以用来预测维护预算。A3.6 合同管理FSM方法可以帮助供应商管理软件开发的成本和进度。与厂商的合同可以基于功能需求、功能规模、预期的生产率和每个功能规模单元的成本。339