GB_T 42452-2023 系统与软件工程 功能规模测量 COSMIC方法.docx
1(?S35,0«0CCS1.77中华人民共和国家标准GBZT424522023/ISO/IEC19761:2011系统与软件工程功能规模测量COSM1.C方法SystemsandsoftwareengineeringFunctiona1.sizemeasurement一COSMICmethod(ISO/IEC19761:2011,SoftwareengineeringCOSMICcafunctiona1.sizemeasurementmethod,IDT)202303-17发布2023-10-01实施国家市场监督管理总局国家标准化管理委员会目次同1引吉I1.1O1.I2规范性引用文件13术语和定义I4缩略语55测St单位56测量活动56.1 通则56.2 确定FSM目的和范困56.3 识别用户功能?S求(FUR)66.4 识别层66.5 识别功能用户66.6 识别软件边界66.7 识别功能过程76.8 识别数据组76.9 识别数据移动76.10 数据移动的分类76.11 i功能规模的计尊86.12 FUR变更的功能规模计算97测盘报告97.1 标记97.2 测绘结果的文档编制9附录A(资料性)用户功能需求的提取I1.附录NA(资料性)本文件应用案例13参考文战15本文件按照GB,T1.1-2020£标准化工作导则第1部分:标准化文件的结构和起草规则3的规定起草.木文件等同采用ISO/IEC19761:2011£软件工程COSMIC:一种功能规模测瞅方法。本文件熠加了“规范性引用文件”一章,本文件做下列最小限度潟辑性改动:一为与现有标准文件协调,将标准名称改为£系统与软件工程功能规模测仪COSMIc方出:墙加了附录NA(资料性)”本文件应用案例”。请注意本文件的某些内容可能涉及专利.本文件的发布机内不承担识别专利的费任.本文件由全国信息技术标准化技术委员会(SMTTC28)提出并归口°本文件起草单位:山东山科数字经济研究院有限公司、中国电子技术标准化研咒院、深圳赛西信息技术有限公司、浙江省电子信息产品检验研究院、上海市软件行业例会、麦哲思科技(北京)有限公司、山东省计算中心(国家超级计算济南中心)、广西达译科技有限公司、上海宝信软件股份有限公司、中国石油天然气股份有限公司规划总院、中冶娈迪Jg庆信息技术有限公司、广东省科技域础条件平台中心、北京软件造价评估技术创新联需、道普信息技术有限公司、上悔同思廷软件技术有限公司、云南电网有限田任公司信息中心、上海计算机软件技术开发中心、北京中法教联科技有限公司、北京软件和信息限务交易所有限公司、成都四方伟业软件股份有限公司、上海淀思智能科技有限公司、中国航天系统科学与工程研究院,本文件主要起草人:李刚、李文鹤、李旺、张肠肠、周呜乐'仔甲林.令永炜、扬根兴、苏伟、许撇6、龚家瑜、玉铿俊、李敏、孙金洋、柱唐、许华寿、吕乐苏圣杰、张艺、李培圣、刘鸿、冯科I、李翔武邹玲、安文章、杨超、车江涛、郭林、吴迪龙、欧阳树生、韩明军、冯宽、福i0fi、顾关营、姚阻发,关广、韩庆良、于铁强、卿、刘林、覃晓吉、文M琳、祁忠明、刘芬、武海军、姜劲、J也同、浏颜、卅、韩勇、刘永超.为了规范我国的软件质化评估工作,尽可能减少不同规模测球方法所带来的差异,需要对软件规模的计算方法进行标准化.软件的投入是很多企业预算的JR要组成部分。各组织认识到控制软件费用、分析在软件开发和维护上投入预算的执行情况的堂要性,以便与该领域的行业标杆进行比较.为此,需要测限和应用这些测量:的模里.在分析软件开发和维护工作的质量、生产率时都寓要相应的测一方面,从开发者的角度来看,产品或服务的技术表现荡要技术性测量来限化.这些技术性测限可用于效率分析,例如提升状件设计效率.另一方面.从用户或者拥仃者的角度来存.量化产品或服务的表现需要功能测量.如生产率分析.功能测班必须独立于技术上的开发手段和实现方式的选择。只有如此,这些功能测量才能用于比校采用不同方法和技术时的生产率,系统与软件工程功能规模澳!CoSMIC方法1CT本文件规定了COSMIC功能规模刈盘方法的定义.约定和活动的集合.本文件适用于以下领域的软件功能规模的测显:a)应用软件:示即:银行、晒、人串、采购、循刎制b)实时软件;示傀电话交换H哈息交换的软件,收入在设备以控家用电器、电悌H汽车发动机等装孔用户过程控制和自动数据栗东,以及在计划联作系统之中的实时控制部分的软件,C)上述两种类型相结合的软件.示份灶航班或酒店的宓N预定系统.本文件不适用于以下类型的软件段或其部分的功能规模测量:一使用复杂数学算法或其他红杂专业规则的软件,例如:专家系统、仿真软件、自学习软件和天气预报系统;处理音频声音或觇顿图像等连续变出的软件,例如:电脑游戏软件、音乐处理软件等诸如此类的软件.2规范性型用文件本文件没有规范性引川文件.3*9MX下列术语和定义适用于本文件,3.1baseftmcticna1.ccnent为测量目的,由功能规模偶整t(Fuuc1.iona1.SiZeMCaSUreroVn1.,FSVO方法定义的且由FSY方法使用的用户的功能需求的基本单元.注:CCSIIC网方法将数据移动也定义为基木功能部件(WFIrctiCraIc<mcnt.BTC1.来源:ISoMEC14141:2007,3.113.2苔木件类Sponenttype己定义的基本功能部件的类别。来源:ISO1.EC14143-1:2007,3.213.3边界boundary被测后软件与功能用户之间的概念性界面.注:COSHC功能规模测域方法中使用的术语“功能MJ户”,它比ISQIEC43-1:3007中术语33定义的“用户范围更轧因此本文件使1卜功豺护”,而不是-JHP-,3.4数据属性dataattribute在已知的数据组中,从软件的用户功能褥求角度出发表示某种含义的及小信息块.3.5ft三fidatagroup数据蛆类型datagrouptype一加独特、非空、无序、无冗余的数据属性集,各个数据随性互相补充,分别描述了同一个关注对以(见3.18)一个方面的特征.3.6datamanipu1.ation数据的各种处挥,但不包括功能过程内的,以及功能过程与持久存储器之间的数据输入、旅出。3.7依据移动dataBoveaent数据移动类型datamovementtype移动整个数据组的基本功能部件.注1.cosmic功能规校测IIt方法行1种类型的数据移动:输入、输出、i卖和写.这些同样是4个Bic类型.注2:为了达到测泉的目的,每个数据移动用般认为可以代表特定相关喇怫作.3.8入entry入矩Sentrytype将功能用户得到的数楙组通过边界格动到需要它们的功能过程的一种数据格动类型.注;“徽入-可以被认为包括特½相关数据操作(例m的入数据的校验)3.9出exit出类型exittype将功能过程的数据组通过边界移动到功能用户的-种数据移动类型,注:“输出”可以微g牌包搦艇的格关熠解作(例如格式术路由相岗三,以便执行箱出操作).3.10功能过程functiona1.process研,程类型functiona1.processtype一组用户功能需求的葩础组件,包括-殂唯一的、紧密相关的、可独立执行的数据移动,注I:由功能户的数据移动能入触发,通知软件段的功能HI户己确伙11惋!发事件,当软件执行完所有为响应班发,f件所需的工作后,该步骤结束,注2:除了逋知攸件段所发生的事件,由事件触发的输入可包括咻T相关的利益对象的数据.3.11功偷短袖RHtfunctiona1.sizeBeasuremnt功能规模的盘化过程.来泄Isa1.EC14145-1:2(X)7.3.73.12ftmctina1.sizeBeasureaentthod种符合ISa1.EC14143-1:2007强制要求的,Ih-系列规则所定义的FSM的特定实现.米源:ISO/IEC14143-1:2007,3.43.13功能用户Ancticna1.USer软件段的用户功能需求中作为数据发送者和/或预期的数据接收者的用户.3.14用户功能京functiona1.userrequirements描述软件在执行任务和提供眼务时所做工作的用户需求子集.注卜用户功能需求包括但不限:一数据迁移制妣输入客户数据、发送控船号);一数据恭换(例如;计算馄行利息、计/平均温度):一致第存储(例如:保存客户订中、的时记液环境阻度):一数据检索(例如:列出当前雇员、检索飞机位置)注2:用户4功能需求包括但不限F:一防里约束(例如:易用性、可筌性、效率和可移粮性);a欧约束(例如:操作位置、E1.标硬件、标准依从性):一环域约束(例如Ii操作恨信息安全性、触制安全):实现约束(例如:开发语音.交付计划).裸浪ISCHEC14143-1:2007.3.813.15层1.ayer对软件系统进行功能划分后的结果,K中:一一层也成了层次结构:每个层级只右一个层:一一在软件系统中,由可以宜接进行数据交换的任意两层中软件提供的功能服务之间,有上下层等级依梭关系:在交换数据的软件系统中.在任总两层中的软件,只可阐择相同的数据怖分,3.16,重方法BeasureaentMthod对测量中所使用操作的龙轮如织的通用描述.注IiM量方法通过多种方贰汨例如:-HMia法:差异测量法一冬测量法:或者一直接测麟:-fi愉哂来源:1SQ"ECGuide99:200725)3.17测量规程measurementprocedure根据一个或多个测做原理和给定的浏后方法,基测成模型并包括任何计尊以获得测出结果的详ta描述。注1:测M序通常有足够详细的文件记录,确保操作:人¢4能略进行湖匕注2:测此程序可以包拈关于目标测量彳确定度的陈述.注3:洒价程序有时称为原(懒作fm荷价明来源:1SQ"ECGuide99:2007263.18测it过程measurementPrOCeiS在一个完成项日或组织测fft机构中确立、策划、执行和评价软件测殖的过程.来源:ISQqEQ1.EEE15939:2017.3,23击1SQ'11IEEE19909:30仃被川I的内容与IS<y1119939:300破川I的内容无技术差比.3.19关注对象Ubj<x1.ofin1.crcs1.关注对象类31Objec1.ofinteresttjPe软f1.需处理和/或存储根据用户功能需求确认的事物的数据.注I:关注对象可以是物理事物,也可以是功户提出的任何抽初在第物或概念性对象.注2:树U”关注对ST术语主要是为了旧闻其他软件工程方法的术语.该术语中的“对象”并非面向对象方法中的对象.同样W“实体”一词用于数雌MWit½1.'三tHJ.3.20舒科Ioperatingenvironmentf归甲4赚件operatingenviraaentsoftware在特定的计算机系统中同时运行的软件集合.3.21对等软件peersoftware与另一个软件段位于同一层并与其交换数据的软件段.3.22持久存MMIPtrSiSkntSIOnIKC允许一个功能过程存谛的数据超出其生命周期,和/或允许功能过程提取其他功能程序所存谛的数据,相同功能过程早期存储的数据,或者其他过程存储的数据。注1:因为W久存储寄在边用搬件i他因此彳破认为是榔物:件的冰明儿也沐烦血叮鼬过胖可能出蹴内存,3.23读read读类型readIyPC将数据机从持久存储搦中移动到需要这些数据的功能过程内部的一种数据移动类型.注:读一般包括实现读操作所需的某些关联数据探帆活动.3.24%9scopeKSM的范B1.scopeoftheESM被包含在特定的功能规模测量实例中的用户功能需求集.3.25触发事件t11RjerinRevent触发事件类型triggeringeventtype导致软件段的功能用户启动(“触发“)一个或多个功能过程的步件。注:在用户功解求集中,导四户破功能过确事件:一在该条用户功能需求中不能被进一步细分:一可以是已发生的或未发生的.3.26JM单位unitOfmeasurenwnt通过约定定义和采用的实标S1.任何其他同类fit可以与其比较,使两个fit之比用一个数表示.&毓单到的定HAf的名眼啮号衣示.来源:1SQqECGuide99:2007.1.93.27用户user在任何时刻与软件通信或交互的人或事物。½“事物包括但不仅限于软件电以动物、传阂S或其他硬件.来源:ISQ1IEC14145-1:20073.1132«号write写类型WriICtypt将功能过程中的数据组移动到持久存储涔中的一种数据移动类型,注:耳-班钦包括为了完成可操作所需的相关数据做.4 m«下列缩略语适用于本文件.BFC:基本功能部件(BaSCFunctiona1.Conponcnt)CFPrCOSMIC功能点(COSMICFUnCtiOnPoint)FSM:功能规模测KKFunctiona1.SizeMeaSUreme1.H)FUR:用户功能需求(FUnCtiona1.UserRequirements)5 ”单位通川软件测量:国际协会(Cangr1.SoftwareMeasurementInteniationa1.Consortium,OCSMIC)if(播单位用CFP表示.66.1 mCOSMIe功能规模的最绛确定应包含第6章描述的所有内容.一旦确定了FSM的目的,确定FSM范围、功能用户(详见6.5)、层(详见6.4)和边界(详见6.6)等工作的过程可能会有迭代.62 MFSM目的和SB1.在开始进行任何测用活动之前,应先明确功能规模测小的R的和范困。注:本文件没彳热淀向测战分析人仍描述或者建议找出Mw1.I常定目的.菸TW1.f的目曲洌吊分析檄择被合适的方式来进行测匏活0,示例1:时于一个软件块,一种是要衡量软件的最终用户所使用的功能规模:另一种是要雷世软件开发团队需要交付祖仲的功能班模.这两种不同的目的通常会导致不同的功能规模.最终用户只会用簸层提!蝴各即力够相对而言.为了满的心H层的用户功能需求和腕Ct功能的)露求.软件开发团队除了开发ff1.层外,还要开发和域修改软件系统更底层的辅助软件,示例2:如果和好1的是要洌h策定的项目团队所交付软件的功能规模,首先有必要明胸所要测MIrJ交付组件的衽国,这些需要交付的料件中可能包括从旧系统中辽移数据且仅使用一次的软件,如果测附口的换成测网软件IE式运行后,功能用户使用的各项功三J规模,那么所测用的功能规模会更小一点,因为基于此目的所确定的测试范闱不包括仅例H-次的数据迁移软件.63 3用户功能*(FuR)识别为FSM范的内的FUR应当用作测M软件功能规模的哈来源,注:怩原A提!共了些如啊从各种维班烟I1.1.取F1.R的指南,&4MJI6.4.1 FSM及其的重B1.软件拥有的功能组件可使分布在软件操作环境的不同层中,根据测圻目的濯要,的个相关层都应破识别.取个待测出的软件段范国应腐户同一层。注1:FuR"明确域暗示)提出,或者由测业分析人员推断出,应用于不同层或不I可项的软件的FUR存必要分别进行独立的规模i«氏兄外,测及分析人员可能蒯Si对出存在<½行)的软件进行测IMJ任务,而这样的软件正好就由不同的层或着对等项细在1两种情况下,都需要的些指南(期4.2)来帮助确定软件的I1.K是否山一个或多个层或对等项组成.注2:层的识别是一个出席动,拓箱测Sh占动的行.层的精确M期狗到完也注3:同一层内的软件可被划分为独加向“段”阳亍开发和规模俅,注4:同层内不同软件段之间的数据移动岫常被认为是对等通信。6.4.2 屋的柞在网范的内见别出的层应具有如下特征Ia>层的软件都应为功能用户提供功能;b)从附层的软件应为其服务层的软件提供功能服务:c)与其他软件共享数据的软件应被认为在相同的层,但前提是它们对共享的数据属性的觥析相同.注1:从修层的软件能在不使用其服务层软件协出的情况下运行.注2:如果从碳层的软件运行异常,使用K服务层的软件也可能会出J½行异常,注3:处于同一层的软件不一定使用从隔层提供的所仃功能服务.注1:A混次架构中,任何层的软件都可能是更破软件的从腐,为期供服务支持。注5:存在很多被广泛使用的软件体系模型,这电使用分层模型未提供软件的一个功能视图,其他模型能彼用来提供软件全体,或部例枷雄视图.注6:本文中遑出的层的救急和一分层体系结构”概念有所不同.虽然两者有共同的元索,他是GNIC层的主要作为个工具耒帮助测量分析者识别测.量范阳和边界。如果抽憎1中已存在特定的攸件系统架构图,就需变在现有架构中的特定软件系统兀索和本文中所定义的层之间建立f等价的层,并在进行规模颇婀使用这÷W附品注7:提佛眦动倒H珀的软件通沽被识用城不同的层,例如数据雌理级、图形化用户岫i、掾(乍系统或冽励粉.6.51剔功能用户在FSM范用内触发FUR中功能过程的所有用户都应被识别出来。6.6仅别软件边界识别边界的要求如下.a)在FSM范围内的以及各层内的每个软件段的边界都应被识别.b)口边界被识别,FSM范眼内的班个FrR就应被分配给软件段.注i:在识别边册h卜列ft油是有帮助的:首先确定功能用户,然后识别助能用户所认可的触发事件,之后确定破发事件的功树程.边界就便于功能IH户和瞰堆Z闻根据定义,边界存在于已知的两层之间.该层f怫:件是另夕卜一层软件的功能用户,而后者为测盘对象.同样地.边界存在于同一层的两个对等软件段之间,两者也是对方的功能用户.注2:边界的K1.S1.是一个出席动,随着范球活动的世行,被测软件段之间的确切边界不喉善,&7识期功过程在FSM范围内识别的功能过程都应:a)至少来自于一个可识别的FUR;b)输入类型的数据移动由功能用户启动,该操作通知功前过程已检测到独发事件:c)至少包含两个数据移动,通常是一个输入类型加上一个输出类型或写入类型:注I:掂于此特性如果以IG(E为S提单位,理论上,功能过程的最小功能规模Zf1.OP,d)M于且仅限于一个层:e)在到达基于RJR设定的异步定时时间点后结束。注2:当一个按i掰源行的数据移动的最后一个数据移动和其他数据移动不能同步时,就到达了一个异步定时时一点。&8IRJMMia在FSM范国内识别的数据组都应:a)通过数据蟠性集合的独特性来保证自己的唯一性和辨别性:b)和软件FUR中描述的关注对象也接相关.注:数据组不包括功能过程内的常量与变量、运算的中间结果、来自实现功能过程存错的数据和I口加j踹求.函数过程内部的和*域变他或计兜中的中间结果一娴飒程存储的仅由三11HJR献州,都不足数据组.6.9iR则期略动在6.7中识别的功能过程都应分解成多个数据移动.时于任何一个功能过程,用来描述F1.1.R要求输入的单个关注时象的每一个输入类型的数据移动都应被识别出来并统计其数;丸除非,F1.JR明确要求相同关注对象的数据在阿个功能过程中会输入多次.同样,用来描述FUR要求的相应数据移动(例如:输出、读、写的单个关注对纵的所方输出、读或写类型的数据移动都应被识别出来并统计其数状,除非,FUR明确要求相同关注对象的数据在同个功能过程中会以同样的活动类型移动多次,在功能过程执行时,如果某个数据移动类鞭(输入、输出、读或引以不同的数做多次发生,例如在循环中,那么在该功能过程中,此数据移动类型应只识别和统计一次.6.10败售动的分类aIftA给人类型应:a)接收来自边界外功能用户侧的单个数据组的数据M性:b)解择所有必需的数据格式化和演示操作以及输入数据属性的相关粉证,这"操作不涉及其他类型的数据移动:注:输入类型解杼输入代码f力验证或获取相关描述的所彳i操作,但是,如果需要少或多个送类型作为骁证过程的一部分,这些类型将被识弱并统计为单独的该类型数据移动。C)包括任何“请求接收进入”功能无需指定应物入哪些数据.6 .W1.2Ita输出类型应:a)将数据组中的数据属性发送给边界外的功能用户;b)解择所有必需的数据格式化和演示操作,包括发送给功能用户的数据处理,这些操作不涉及其他类型的数据移动。7 .10.3*读类型战:a)从持久存储器的数据组中读取一个数据属性:b)好林所有逻辑处理和/或数据计算需要的读取数掘,这些操作不涉及其他类型的数据移动:c)包含任何”请求获得读”的功能.&M1.4耳写类里应:a)而一个数据组中数据属性写入持久存储器中:b)解择所有由逻辑处理和数学计算写入数据而创建的数据墀性,这些操作不涉及其他类型的数据移动.从持久存储器中删除数据组的需求应被单独识别成一个写类型数匏移动.6.11 功能糊触浒算6.11.1 设MC移动的捉41M位功能过程中识别出的福个数据移动(输入、输出、读或写)应分归一个测盘第位c>P).6.11.2ttMMX从6.11.1.得到的结果,适川于己识别功能过程内的所有已识别的数据移动,应通过以下方式将该功能过程累加成单个功能规模侪:a>母种数据移动类鞭的数量乘以规模单位:b)对步骤加中每种数据移动类型的规模进行假加.因此,如果用E为单位进行计算,一个功能规模(FS)的计算公式是:FS=(NCXEUS)+(NXXXUS)+(NrXRUS出NWXWUS)式中:Nc功能过程中输入类型的故域;Eus输入的胞位规模(二ICFP):Nx功能过程中输出类型的数豉:XUS输出的单位规模(=ICFP);Nr功能过程中读类型的数后:Rus读的旗位规模(=ICFP);Nw功能过程中写类型的数量;WUS写的单位规模(=ICFP)。注:”椒!程刖加根汉古卜孤6.11.3 ,”的软件股IHuN出FUR的功模的最合在一个层里通过梁加啾件段»1别出的FUR中的功能过程规模来得到1>f个被测软件段的规模。注I:在坍个识别的层里,罂合功能是“川稀的.毗根据RSM的目的佃屯制能得到妊个功能过程、单个软件段、或整个层的规模总和.注2:按照数据移动类例行即同到的测做i果UHi助J分析各种数据移动类伤W该层软件总规模的贡献,同时也旬WJ描由峭Iity的功能槌特征.杜3彳i时候.功能现模会被作为模型的个蝴来使用,例如用F估计工作就投入,而且祓#济上的软件存在多个不同的层,不同层的中产率不同.此jm;要只刈,缀别的赛惭珀耶保6.12 I1.R变更的功倦IM计算在每个识别的层中,FSM范国内的每个软件段FUR变更的功能规模应通过下列公式架合相应受影响数据移动的规模来计算,对该软件段的所有功能过程求和:FS<1.ng=FS+FSdmgokFSetd式中,FSthangcs一软件段变更规模:FSadded增加的数据移动规模;FSChangtti己更改的数据移动规模:FSd1.ctcd删除的数据移动规怏.注1:如果数据组中的任何属性发生变更,或者需要对数据移动所涉及的数据线弧进行变更,都认为该数据移动己受更,示例:假设阴要进行的更改是:增加个新的、视帙妆开的功能过程:在另今功能过程中增加1个数据£励、改变另外3个数据移动、州除2个数据移动,则变更的总规模就是6+1+3+2=12CFP.注2:为相助用户理解COSMIC的测“母程,附录NA给出了一个木文件的应用案例,77.1 «Ke以J遵循木文件要求坐条歆的个软件段功能用户需求的COSM【C测量结果应按照本文件中的CFP进行标记.格式为rCFRGBT424522023)7.2 一«票的文林”COSMICSSH结果的报告文档应包括以下信息:a)功能熄模测量范附内的所有软件段的识别(名秋、版木识别或配置识别);b)涓”tH的和范困的描述;C)描述功能姬模测地范围内外软件段与其功能用户之间的关系,以及对等块之间、层与层之间边界的位置;d)功能规模测属范围内各物件段的功能现模tf1.这些他根据6.11或6.12计算得到,并且根据7.I进行报告.此外.COSMIC测技结果文档中还陶包含FSM范困内的所行软件段的下列信息:a)识别出的功能过程及尤H1.关联的数据活动壳型的夕衣:b)识别出的数据如的列表:c)识别出的功能过程的总数;d)识别出的数据组的总数:O所有''输入”的总动能规模:0所有“输出”的总功能规模:g)所有“读”的总功能规模:h)所有“写”的总功能规模.注;对于每个层中嬲的每个软件段都需碘供喇课文档.IOM«AGMMD用户功倒”的提取测量软件功能规模原因有很多,比如特定场景下,有必要在开发前测量软件功能规模;在不同场景中.在软件投入使用后某个阶段.需要对软件功能由模进行后溯量.在软件开发前测量其功能规模是基于软件“计划”,即在开发之前就形成的产物.从这些产物中,通过适当的约定(从用户功能需求的视角出发,而没有技术和质负方面的考虑),可以提取出规模测状所需信息(基础功能组件),并且通过特定的测Ift公式计算出规模.政我分析,'烦飘口同理,在软件投入使用之后测收其规模,通过略微不同的测M双程,从不同的产物中提取信息,尾管这些产物性施不同,但是提取出来的信息、测技单位和测址原则依然相同.软件具有多样性.从CoSM1.C功能规模测用方法的视角出发,所关心的是软件提供给用户的功能,COSMIC功能规模测录方法使用FUR来描述软件提供给用户的功能。实际情况卜用户功能需求有时是以一种特定文档(例如需求规格说明书的形式存在,但也经常从其他软件工程产物中提取出来,如图AJ中所示,用户功能需求可以在软件未开发前就被提取出来了(典鞭的如系统架构和设计文档),因此,软件规模可以在软件未开发前就被测JA出来.ftftMttttW-ftW(H'RHaj在软件实现之,9取fur在其他情况下,软件可能在没有或仅有很少可获得的系统或设计产物下被使用,而用户功能需求也可能没有被文档化(例如遗留软件).在这类情况下,仍然可以从安装在计分机里的产物中提取出用户功能需求,如图A2所示。从不同类型的软件产物中提取用户功能需求所需的工作fit显然是不同的.但是软件的用户功能需求在木质上是不变的,因为不管是从何种软件工程产物中提取出这些用户功能需求,它们都表达了软件带给用户的功能描逑.SA.2在软件实现之周RFURW»NA(IM他本文件Ifi用案例N.I皿为方便读者理解和使用本文件,本附录以某课程注册系统中“ri询课程设置”功能为例,给出实施COSMIC功能规模测用的过程示例.NA.2功帼活动NA.2.1½0目的和范围本系统为新开发的在线课程注册系统,它允许教师通过PC客户端完成在城课程注册,NA22IIJMfur课程注册系统需求说明书中的查彻课程设置功能需求如下:a)如果一个教师想要唐询卜学期可以执教的课程,他需要进入主菜单的“课程信息维护”,再进入子菜单选择.依询课程设置(教师版)”功能;b)输入自己的ID:O系统会获取该教师的学历和所属院系信息,发送至课程目录系统;<1)系统获取课程日录系统的相关信息,并展示该教师有资格执教并且还没有其他教师承诺在下学期执教的处尸“可选”状态的课程列表;同时给H1.每一门课程预排定的月份和所在教室,以便于该教师进行选择,避免跟其他课程的时问和所用教室发成冲突:e)当然,如果没有符合条件的下学期该教师可以执教的课程,系统会给出错误提示,该教师可以在确认后放弃本次操作。NA.2.3识别JI该需求包含在课程注册系统中,课程注册系统处于应用层。NA.2.4识别功用户在该需求中,进行相应操作的教师为功能用户,另外课程注册系统需要与课程日录系统进行交互,课程目录系统也是功能用户.NA23识别软件边界用户界面,本软件与人及课程目录系统进行交互.NA.2.6识别功能过程在查询课程设置需求中包含一个功能过程:杳询课程设置.NA-2.7识删HHf1.在该杳询课程设置功能过程中包含数据如是课程设置信息数据祖、教师信息数据如、院系信刖数据俎、错误/确认消息。NA.2.8iR别致握移动功能点识别详细记录如&NA.1所示.«NA.1.功健点火别记录功前过程致殆移动类型ftiii!i!fi!i5ff我师输入教附读教g输出课程被黄检入院系输出课界谀贾输出WW仲山功能点识别汇总结果如表NA.2所示。*NA.2功能点税刚汇总Ia果移动类5!输入埔出it月合计咨询课汴设W2407NA.2.9功能找澳的计算每个数据移动的功能规模均设置为IeFR则根匏6.11.2中公式进行计算,“查询课程设置”功能规模为2X1+4X1+1X1+OX1=7CFP.考文献1.ISO1ECGuide99:2007Internationa1.VoCab1.1.1.aryofmetro1.ogy-Basicandgenera1.conceptsandassociatedte11ns(V1.M>(2)ISOIEC14143-1:2007Infonnationtechno1.ogySoftwareIneasuretneniFunciiona1.sizemeasurementPart1.Dctinitionofconccpts3)IS0IHCIEEE15939:2017SystemsandsoftwareengineeringMeasurementprocess41Abran.A.DeshamaisJ.-M.:OIigny.S.:St-Pierrc.D.:Sy!iw)ns.C.COSMIC-FFPMeasurementManua1.version2.1.Montrea1.(Canada)A1.ay21.www.cosmicon.corn.51.eSICrhuis.A.:SymOnSCR.:(Edi1.orS)TheCOSMICFunctiona1.SizeMeasurementMeIhOd.Version3.0.MeasurementMatuia1.D.