GB/T 42452-2023
基本信息
标准号:
GB/T 42452-2023
中文名称:系统与软件工程 功能规模测量 COSMIC方法
标准类别:国家标准(GB)
标准状态:现行
发布日期:2023-03-17
实施日期:2023-10-01
出版语种:简体中文
下载格式:.pdf .zip
下载大小:3809661
相关标签:
系统
软件工程
功能
规模
测量
方法
标准分类号
标准ICS号:信息技术、办公机械设备>>35.080软件开发和系统文件
中标分类号:电子元器件与信息技术>>信息处理技术>>L77软件工程
关联标准
相关单位信息
发布部门:国家市场监督管理总局 国家标准化管理委员会
标准简介
本文件规定了COSMIC功能规模测量方法的定义、约定和活动的集合。本文件适用于以下领域的软件功能规模的测量:a)〓应用软件;
标准内容
ICS35.080
CCS L 77
中华人民共和国國国家标准
GB/T42452—2023/ISO/IEC19761:2011系统与软件工程
功能规模测量
COSMIC方法
Systems and software engineering—Functional size measurementCOSMIC method
(ISO/IEC 19761:2011,Software engineeringCOSMIC:a functionalsizemeasurementmethod,IDT)
2023-03-17发布
国家市场监督管理总局
国家标准化管理委员会
2023-10-01实施
GB/T 42452—2023/ISO/IEC 19761:2011前言
2规范性引用文件
3术语和定义
缩略语
测量单位
测量活动
确定FSM目的和范围
识别用户功能需求(FUR)
识别层
识别功能用户
识别软件边界
识别功能过程
识别数据组
识别数据移动
数据移动的分类
功能规模的计算
6.12FUR变更的功能规模计算
7测量报告
7.1标记
7.2测量结果的文档编制
附录A(资料性)用户功能需求的提取附录NA(资料性)
参考文献
本文件应用案例
GB/T42452—2023/IS0/IEC19761:2011本文件按照GB/T1.1一2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。
本文件等同采用ISO/IEC19761:2011《软件工程COSMIC:一种功能规模测量方法》。本文件增加了“规范性引用文件”一章。本文件做了下列最小限度编辑性改动:为与现有标准文件协调,将标准名称改为《系统与软件工程功能规模测量COSMIC方法》;
增加了附录NA(资料性)“本文件应用案例”。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本文件起草单位:山东山科数字经济研究院有限公司、中国电子技术标准化研究院、深圳赛西信息技术有限公司、浙江省电子信息产品检验研究院、上海市软件行业协会、麦哲思科技(北京)有限公司、山东省计算中心(国家超级计算济南中心)、广西达译科技有限公司、上海宝信软件股份有限公司、中国石油天然气股份有限公司规划总院、中冶赛迪重庆信息技术有限公司、广东省科技基础条件平台中心、北京软件造价评估技术创新联盟、道普信息技术有限公司、上海同思廷软件技术有限公司、云南电网有限责任公司信息中心、上海计算机软件技术开发中心、北京中基数联科技有限公司、北京软件和信息服务交易所有限公司、成都四方伟业软件股份有限公司、上海旋思智能科技有限公司、中国航天系统科学与工程研究院。
本文件主要起草人:李刚、李文鹏、李旺、张旸旸、周鸣乐、任甲林、季永炜、杨根兴、苏伟、许颖媚、龚家瑜、玉德俊、李敏、孙金洋、楼莉、许华寿、吕雪、苏圣杰、张艺、李培圣、刘一鸣、冯军红、李玲、郭玲、安文章、杨超、车江涛、郭栋、吴迪龙、欧阳树生、韩明军、冯宽、福德鹏、顾美营、姚祖发、吴广、韩庆良于铁强、郝琳、刘林、覃晓吉、刘小萍、祁志明、刘芬、武海军、姜劲、庄园、沈颖、李沫、韩勇、刘永超。GB/T424522023/ISO/IEC19761:2011引言
为了规范我国的软件量化评估工作,尽可能减少不同规模测量方法所带来的差异,需要对软件规模的计算方法进行标准化。
软件的投入是很多企业预算的重要组成部分。各组织认识到控制软件费用、分析在软件开发和维护上投入预算的执行情况的重要性,以便与该领域的行业标杆进行比较。为此,需要测量和应用这些测量的模型,
在分析软件开发和维护工作的质量、生产率时都需要相应的测量。一方面,从开发者的角度来看,产品或服务的技术表现需要技术性测量来量化。这些技术性测量可用于效率分析,例如提升软件设计效率。另一方面,从用户或者拥有者的角度来看,量化产品或服务的表现需要功能测量,如生产率分析。功能测量必须独立于技术上的开发手段和实现方式的选择。只有如此,这些功能测量才能用于比较采用不同方法和技术时的生产率。1范围
GB/T 42452—2023/ISO/IEC 19761:2011系统与软件工程功能规模测量
COSMIC方法
本文件规定了COSMIC功能规模测量方法的定义、约定和活动的集合。本文件适用于以下领域的软件功能规模的测量:a)应用软件;
示例1:银行、保险、会计、人事、采购、分销或制造。b)实时软件;
示例2:电话交换和信息交换的软件,嵌入在设备中以控制家用电器、电梯和汽车发动机等装置,用于过程控制和自动数据采集,以及在计算机操作系统之中的实时控制部分的软件。c)上述两种类型相结合的软件。示例3:航班或酒店的实时预定系统。本文件不适用于以下类型的软件段或其部分的功能规模测量:使用复杂数学算法或其他复杂专业规则的软件,例如:专家系统、仿真软件、自学习软件和天气预报系统;
处理音频声音或视频图像等连续变量的软件,例如:电脑游戏软件、音乐处理软件等诸如此类的软件。
2规范性引用文件
本文件没有规范性引川文件。
3术语和定义
下列术语和定义适用于本文件。3.1
基本功能部件basefunctionalcomponent为测量目的,由功能规模测量(FunctionalSizeMeasurement,FSM)方法定义的且由FSM方法使用的用户的功能需求的基本单元。注:CoSMICFSM方法将数据移动也定义为基木功能部件(BaseFunctionalComponent,BFC)。[来源:ISO/IEC14143-1:2007,3.1]3.2
basefunctional componenttype基本功能部件类型
已定义的基本功能部件的类别。[来源:ISO/IEC
边界boundary
14143-1:2007,3.2]
被测量软件与功能用户之间的概念性界面。GB/T424522023/ISO/IEC19761:2011注:C0SMIC功能规模测量方法中使用的术语“功能用户”,它比IS0/IEC14143-1:2007中术语3.3定义的“用户”范围更窄。因此本文件使用“功能用户”,而不是“用户”。3.4
数据属性dataattribute
在已知的数据组中,从软件的用户功能需求角度出发表示某种含义的最小信息块。3.5
数据组datagroup
数据组类型datagrouptype
-组独特、非空、无序、无穴余的数据属性集,各个数据属性互相补充,分别描述了同一个关注对象(见3.18)一个方面的特征。
数据操作datamanipulation
数据的各种处理,但不包括功能过程内的,以及功能过程与持久存储器之间的数据输入、输出。3.7
数据移动data movement
数据移动类型data movement type移动单个数据组的基本功能部件。注1:COSMIC功能规模测量方法有4种类型的数据移动:输入、输出、读和写。这些同样是4个BFC类型。注2:为了达到测量的目的,每个数据移动都被认为可以代表特定相关数据操作。3.8
输入 entry
输入类型entrytype
将功能用户得到的数据组通过边界移动到需要它们的功能过程的一种数据移动类型,注:“输入”可以被认为包括特定相关数据操作(例如输入数据的校验)。3.9
输出exit
输出类型exittype
将功能过程的数据组通过边界移动到功能用户的一种数据移动类型注:“输出”可以被认为需要包括特定的相关数据操作(例如格式化和路由相关的数据,以便执行输出操作)。3.10
功能过程functionalprocess
功能过程类型functionalprocesstype组用户功能需求的基础组件,包括一组唯一的、紧密相关的、可独立执行的数据移动。注1:由功能用户的数据移动(输入)触发,通知软件段的功能用户已确认此触发事件。当软件执行完所有为响应触发事件所需的工作后,该步骤结束注2:除了通知软件段所发生的事件,由事件触发的输入可包括事件相关的利益对象的数据。3.11
功能规模测量functional size measurement功能规模的量化过程
[来源:ISO/IEC14143-1:2007,3.7]3.12
功能规模测量方法functionalsizemeasurementmethod一种符合ISO/IEC14143-1:2007强制要求的,由一系列规则所定义的FSM的特定实现。[米源:IS0/IEC14143-1:2007,3.4]2
功能用户functional user
GB/T42452-2023/ISO/IEC19761:2011软件段的用户功能需求中作为数据发送者和/或预期的数据接收者的用户。3.14
用户功能需求functional userrequirements描述软件在执行任务和提供服务时所做工作的用户需求子集。注1:用户功能需求包括但不限于:数据迁移(例如:输入客户数据、发送控制信号);数据转换(例如:计算银行利息、计算平均温度):数据存储(例如:保存客户订单、随时记录环境温度):数据检索(例如:列出当前雇员、检索飞机位置注2:用户非功能需求包括但不限于:质量约束(例如:易用性、可靠性、效率和可移植性);组织约束(例如:操作位置、目标硬件、标准依从性);环境约束(例如:互操作性、信息安全性、隐私和安全):实现约束(例如:开发语言、交付计划)。[来源:ISO/IEC
层layer
14143-1:2007,3.8]
对软件系统进行功能划分后的结果,其中:层组成了层次结构;
每个层级只右一个层;
在软件系统中,由可以直接进行数据交换的任意两层中软件提供的功能服务之间,有上下层等级依赖关系;
在交换数据的软件系统中,在任意两层中的软件,只可阐释相同的数据部分。3.16
measurementmethod
测量方法
对测量中所使用操作的逻辑组织的通用描述。注:测量方法通过多种方式获得,例如:替代测量法:
差异测量法
零测量法;
直接测量法:
间接测量法。
[来源:ISO/IEC Guide 99:2007,2.5]3.17
测量规程
measurementprocedure
根据一个或多个测量原理和给定的测量方法,基于测量模型并包括任何计算以获得测量结果的详细描述。
注1:测量程序通常有足够详细的文件记录,确保操作人员能够进行测量。注2:测量程序可以包括关于目标测量不确定度的陈述。注3:测量程序有时称为标准操作程序,简称SOP。[来源:ISO/IEC Guide 99:2007,2.6]3.18
测量过程
measurementprocess
在一个完成项日或组织测量机构中确立、策划、执行和评价软件测量的过程。3
GB/T424522023/ISO/IEC19761:2011[来源:ISO/IEC/IEEE
15939:2017,3.23]
注:IS0/TEC/IEEE15939:2017被引用的内容与IS0/IEC15939:2007被引用的内容无技术差异。3.19
关注对象objectof interest
关注对象类型 object of interest type软件需处理和/或存储根据用户功能需求确认的事物的数据注1:关注对象可以是物理事物,也可以是功能用户提出的任何抽象的事物或概念性对象。注2:使用“关注对象”术语主要是为了回避其他软件工程方法的术语。该术语中的“对象”并非面向对象方法中的对象。同样,因“实体”一词用于数据模型,因此也回避使用。3.20
操作环境operatingenvironment操作环境软件operatingenvironmentsoftware在特定的计算机系统中同时运行的软件集合。3.21
对等软件peersoftware
与另一个软件段位于同一层并与其交换数据的软件段。3.22
持久存储器persistentstorage
充许一个功能过程存储的数据超出其生命周期,和/或充许功能过程提取其他功能程序所存储的数据,相同功能过程早期存储的数据,或者其他过程存储的数据。注1:因为持久存储器在边界的软件一端,因此不被认为是被测软件的功能用户。注2:本文件中的“其他过程”可能是只读内存。3.23
读read
读类型readtype
将数据组从持久存储器中移动到需要这些数据的功能过程内部的一种数据移动类型。注:读一般包括实现读操作所需的某些关联数据操纵活动。3.24
范围scope
FSM的范围
scope ofthe FSMbzxz.net
被包含在特定的功能规模测量实例中的用户功能需求集。3.25
触发事件triggering event
触发事件类型triggeringeventtype导致软件段的功能用户启动(“触发”)一个或多个功能过程的事件。注:在用户功能需求集中,导致用户触发功能过程的事件:在该条用户功能需求中不能被进一步细分;一可以是已发生的或未发生的。3.26
测量单位unit ofmeasurement
通过约定定义和采用的实标量。任何其他同类量可以与其比较,使两个量之比用一个数表示。注:测量单位用约定赋予的名称和符号表示。4
[来源:ISO/IECGuide99:2007,1.9]用户user
在任何时刻与软件通信或交互的人或事物注:“事物”包括但不仅限于软件应用、动物、传感器或其他硬件。[来源:ISO/IEC
写write
14143-1:2007,3.11]
写类型writetype
GB/T42452—2023/ISO/IEC19761:2011将功能过程中的数据组移动到持久存储器中的一种数据移动类型注:写一般还会包括为了完成写操作所需的相关数据操纵。4缩略语
下列缩略语适用于本文件。
BFC:基本功能部件(BascFunctionalComponcnt)CFP:COSMIC功能点(COSMIC FunctionPoint)FSM:功能规模测量(FunctionalSizeMeasurement)FUR:用户功能需求(FunctionalUserRequirements)5测量单位
通川软件测量国际协会(CommonSoftware MeasurementInternationalConsortium,CoSMIC)测量单位用CFP表示。
6测量活动
6.1通则
cOSMIC功能规模的最终确定应包含第6章描述的所有内容。一旦确定了FSM的目的,确定FSM范围、功能用户(详见6.5)、层(详见6.4)和边界(详见6.6)等工作的过程可能会有迭代6.2确定FSM目的和范围
在开始进行任何测量活动之前,应先明确功能规模测量的目的和范围。注:本文件没有规定向测量分析人员描述或者建议执行测量的特定目的。基于测量的目的,测量分析者选择最合适的方式来进行测量活动。
示例1:对于一个软件块,一种是要衡量软件的最终用户所使用的功能规模;另一种是要衡量软件开发团队需要交付组件的功能规模。这两种不同的目的通常会导致不同的功能规模。最终用户只会用到应用层提供的各项功能。相对而言,为了满足应用层的用户功能需求和其他(非功能的)需求,软件开发团队除了开发应用层外,还要开发和/或修改软件系统更底层的辅助软件。
示例2:如果测量目的是要测量特定的项目团队所交付软件的功能规模,首先有必要明确所要测量的交付组件的范围。这些需要交付的组件中可能包括从旧系统中迁移数据且仅使用一次的软件。如果测量口的换成测量软件正式运行后,功能用户使用的各项功能的规模,那么所测量的功能规模会更小一点,因为基于此目的所确定的测试范围不包括仅使用一次的数据迁移软件。
19761:2011
GB/T424522023/ISO/IEC
6.3识别用户功能需求(FUR)
识别为FSM范围内的FUR应当用作测量软件功能规模的唯一来源,注:附录A提供了一些如何从各种来源处抽取FUR的指南。6.4识别层
1FSM及其层的范围
软件拥有的功能组件可能分布在软件操作环境的不同层中。根据测量目的需要,每个相关层都应被识别。
单个待测量的软件段范围应属于同一层。注1:FUR可明确(或暗示)提出,或者由测量分析人员推断出,应用于不同层或不同项的软件的FUR有必要分别进行独立的规模测量。另外,测量分析人员可能面临对已经存在(运行)的软件进行测量的任务,而这样的软件正好就由不同的层或者对等项组成。在上述两种情况下,都需要有一些指南(见6.4.2)来帮助确定软件的FUR是否山一个或多个层或对等项组成。注2:层的识别是一个迭代活动。随着测量活动的进行,层的精确识别将得到完善注3:同一层内的软件可被划分为独立的“段”进行开发和规模测量。注4:同一层内不同软件段之间的数据移动通常被认为是对等通信。6.4.2层的特征
在FSM范围内识别出的层应具有如下特征:a)每一层的软件都应为功能用户提供功能;从属层的软件应为其服务层的软件提供功能服务;b)
c)与其他软件共享数据的软件应被认为在相同的层,但前提是它们对共享的数据属性的解析相同。
注1:从属层的软件能在不使用其服务层软件协助的情况下运行。注2:如果从属层的软件运行异常,使用其服务层的软件也可能会出现运行异常。注3:处于同一层的软件不一定使用从属层提供的所有功能服务。注4:在层次架构中,任何层的软件都可能是更高层软件的从属,为其提供服务支持。注5:存在很多被产泛使用的软件体系模型。这里使用分层模型来提供软件的一个功能视图。其他模型能被用来提供软件全体,或者部分的功能视图。注6:本文中提出的层的概念和“分层体系结构”概念有所不同。虽然两者有共同的元素,但是COSMIC层的主要作为一个工具来帮助测量分析者识别测量范围和边界。如果在组织中已存在特定的软件系统架构图,就需要在现有架构中的特定软件系统元素和木文中所定义的层之间建立一个等价的层,并在进行规模测量时使用这个等价的层。
注7:提供特定功能服务的软件通常被识别成不同的层,例如数据库管理系统、图形化用户界面、操作系统或者驱动程序。
6.5识别功能用户
在FSM范围内触发FUR中功能过程的所有用户都应被识别出来6.6识别软件边界
识别边界的要求如下。
a)在FSM范围内的以及各层内的每个软件段的边界都应被识别。b)一日边界被识别,FSM范围内的每个FUR就应被分配给软件段。6
注1:在识别边界时,下列指南是有帮助的:GB/T 42452—2023/ISO/IEC 19761:2011首先确定功能用户,然后识别功能用户所认可的触发事件,之后确定触发事件的功能过程,边界就位于功能用户和功能过程之间。
根据定义,边界存在于已知的两层之问,该层的软件是另外一层软件的功能用户,而后者为测量对象。同样地,边界存在于同一层的两个对等软件段之间,两者也是对方的功能用户。注2:边界的识别是一个迭代活动,随着测量活动的进行,被测软件段之间的确切边界不断完善。6.7识别功能过程
在FSM范围内识别的功能过程都应:a)至少来自于一个可识别的FUR;b)输入类型的数据移动由功能用户启动,该操作通知功能过程已检测到触发事件;c)至少包含两个数据移动,通常是一个输入类型加上一个输出类型或写入类型:注1:基于此特性,如果以1CFP作为测量单位,理论上,功能过程的最小功能规模为2CFP。d)属于且仅限于一个层;
e)在到达基于FUR设定的异步定时时间点后结束。注2:当一个按顺序执行的数据移动的最后一个数据移动和其他数据移动不能同步时,就到达了一个异步定时时间点。
6.8识别数据组
在FSM范围内识别的数据组都应:a)通过数据属性集合的独特性来保证自已的唯一性和辨别性;b)和软件FUR中描述的关注对象直接相关。注:数据组不包括功能过程内的常量与变量、运算的中间结果、来自实现功能过程存储的数据和非功能需求。函数过程内部的常量或变量,或计算中的中间结果,或函数过程存储的仅由实现而非FUR产生的数据,都不是数据组。
6.9识别数据移动
在6.7中识别的功能过程都应分解成多个数据移动。对于任何一个功能过程,用来描述FUR要求输入的单个关注对象的每一个输入类型的数据移动都应被识别出来并统计其数量,除非,FUR明确要求相同关注对象的数据在同一个功能过程中会输入多次。
同样,用来描述FUR要求的相应数据移动(例如:输出、读、写)的单个关注对象的所有输出、读或写类型的数据移动都应被识别出来并统计其数量,除非,FUR明确要求相同关注对象的数据在同一个功能过程中会以同样的活动类型移动多次。在功能过程执行时,如果某个数据移动类型(输入、输出、读或写)以不同的数值多次发生,例如在循环中,那么在该功能过程中,此数据移动类型应只识别和统计一次6.10数据移动的分类
6.10.1输入
输入类型应:
接收来自边界外功能用户侧的单个数据组的数据属性;a)
解释所有必需的数据格式化和演示操作以及输入数据属性的相关验证,这些操作不涉及其他b)
类型的数据移动:
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。