搜索
您的当前位置:首页统一建模语言的全功能点度量方法

统一建模语言的全功能点度量方法

来源:飒榕旅游知识分享网
第14卷第5期 上海电机学院学报 V0l_14 No.5 2011年 JOURNAL OF SHANGHAI DIANJI UNIVERSITY 2O11 文章编号2095—0020(2011)05—0319—06 统一建模 {J,五 口日 的全功能点度量方法 计春雷 ● 肖 薇 (1.上海电机学院电子信息学院,上海200240; 2.上海理工大学光电信息与计算机工程学院,上海200093) 摘 要:分析了统一建模语言(uML)主要部件和全功能点规模估算方法COSMIC-FFP主要 元素之间的概念映射关系,建立了22条度量映射规则,提出了UML的全功能点度量方法,阐述了 UML的全功能点度量过程,并提出了相应的度量步骤。对实例分析后表明,该方法能比较客观和 有效地度量软件功能规模。 关键词:全功能点度量方法;统一建模语言;功能过程;映射规则;度量过程 中图分类号:TP 311.52 文献标志码:A UML Based Full Function Point Measurernent JI Chunlei 。X 0 Wei (1.School of Electronics and Information,Shanghai Dianji University,Shanghai 200240,China; 2.School of Optical—Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China) Abstract:This paper analyzes the notional mapping between main components of unified mod— eling language(UML)and the method of main elements of full function point(COSMIC—FFP), and establishes 22 measurement mapping rules.It proposes a full function point(FFP)method based on UML,explains the measurement process from an FFP method based on UML.The COSMIC—FFP measurement steps based on UML are proposed,and an example is presented. Experimental results show its effectiveness and objectiveness in evaluating software functions. Key words:fuH function point measurement method;unified modeling language(UML); function process;mapping rules;measurement process 全功能点规模估算方法COSMIC-FFP是第 信息系统的功能规模度量,还适合于实时系统和 2代软件功能规模度量方法,它不仅适合于管理 多层系统的功能规模度量,已被ISO接受为国际 收稿日期:2011—08—22 基金项目:上海电机学院重点建设学科项目资助(07XKJ01) 作者简介:计春雷(1964一),男,教授,博士,专业方向为软件度量技术,E-mail:jicl@sdju.edu.cn 32O 上 海 电 机 学 院 学 报 2011年第5期 标准(ISO/IEC 19761:2003)。该方法可在软件 开发生命周期的各个阶段使用,从用户功能的视 角人手,不需要调整因子,简单易行,弥补了最初 功能点方法的一些缺陷口]。 统一建模语言(Unified Modeling Language, UMI )是一种用于各种应用领域的软件建模语 言,其定义良好、易于表达、使用方便、功能强大, 目前已成为面向对象技术领域内占主导地位的 标准建模语言。 本文通过研究UML技术的主要部件(用 例图、类图和顺序图)和COSMIC—FFP度量方 法的主要元素(层、边界、功能用户、数据组、功 能过程和数据移动等),分析了UML主要部件 与COSMIC—FFP主要元素之间的概念映射关 图1 COSMIC-FFP度量步骤 Fig.1 Measurement steps of COSMIC—FFP 系,建立了从UML用例图、类图和顺序图到 COSMIC—FFP主要元素间的22条度量映射规 则,阐述了从用例图、类图和顺序图到度量结果 计算的度量过程,提出了UML的COSMIC— FFP度量方法的度量步骤,同时给出了应用 实例。 2 UML和COSMIC-FFP的概念映射关系 利用UML建模语言实现COSMIC—FFP功 能规模度量方法的关键是将UML主要视图中的 重要元素映射到COSMIC-FFP方法的度量模型 中。本文在文献E4—14]的基础上,研究并建立了 COsMIc—FFP度量模型与UML3种主要视图中 重要元素间的概念映射关系,如表1所示。 表1 COSMIC-FFP与UML概念之间的关系 Tab.1 Notional relationship between C0SMIC—FFP and UML 1 UML和COSMIC—FFP UML利用模型来描述软件系统的结构、静态 特征、行为或动态特征,从不同的视角为系统的架 构建模形成系统的不同视图,主要有用例图、类 图、顺序图等l_2]。 COSMIC—FFP是一种应用于商业软件、实时 系统和嵌入式系统的软件功能规模度量方法嘲。 COSMIC—FFP方法通过输入(Entry)、输出(Ex— it)、读(Read)和写(Write)4个数据移动类别来决 定软件功能规模。其度量标准单位是CFP(Cos— mic Function Point,CFP),即一个数据移动。一 个数据移动是一个数据组的传输,一个数据组是 一个非空、有区别的、无顺序且无冗余的数据属性 的集合。COSMIC—FFP中的主要元素包括:层、 边界、功能用户、功能过程、关注对象和数据 组等 。 3映射规则 表1中,COSMIC—FFP主要关注的概念都在 用例图、类图和顺序图中有相应的体现 ¨ 。本文 给出UML 3种主要视图(用例图、类图和顺序图) COSMIC—FFP的度量过程分为映射和度量2 个阶段,可进一步细化为8个流程,其度量步骤如 图1所示。 与COSMIC-FFP主要元素之间的映射规则。 2011年第5期 3.1用例图的映射规则 计春雷,等:统一建模语言的全功能点度量方法 321 存在组合关系,则将整体作为数据组的候选。如 果一个类同其他类存在聚集关系,若其共存亡,则 将其作为一个数据组的候选;反之,为不同数据组 的候选。 用例图可帮助确定度量范围(所有用例的集 合)、软件边界、层、功能用户和功能过程。其相关 映射规则如下: R1应用层常处于最高层,从属层的软件可 不依赖于使用它的层而独立存在。若用例A依赖 R14如果一个类同其他类之间不存在组合、 聚集和继承关系,且该类不是抽象类,则作为数据 组的候选;反之,不作为数据组的候选。 R15 每一个数据组只能包含属于同一个关 用例B,但B不依赖A,则认为它们处于不同层。 R2数据库管理系统、操作系统、设备驱动等 功能性服务包通常处于单独的层中。 R3用例图中参与者和其关联的用例之间存 在边界。 R4 同一层的任何两个对等组件之间存在边 界;具有从属关系的层之间存在边界。 R5功能用户是用例图中所表示的发起功能 性用例的对象,包括人和非人参与者。 R6功能用户位于系统外部,如系统管理员、 系统维护员、系统的主要使用者、使用系统提供数 据的人或设备、系统控制的硬件及与系统交换数 据的其他软件系统,但操作系统不被视为功能 用户 R7功能过程存在于用例中,并且必须由外 部事件触发。 R8功能过程必须从用户功能需求(FUR) 中用户的角度直接识别出来。 R9对于每个功能用户,选取用例图中与它 们直接相关联的用例(包括主要用例和扩展用例) 作为功能过程的候选。 3.2类图的映射规则 类图可用来确定COSMIC—FFP度量方法中 的关注对象和数据组,相关映射规则如下: R10从功能用户的角度,以可识别的类为关 注对象,类图中类版型为“Entity”和“Control”的 类可作为关注对象的候选。 R11 每个数据组必须在用例中有明确的描 述,关注对象的属性组可作为数据组的候选。 R12所有的查询条件、查询结果和出错提示 信息都识别为数据组。 R13如果一个类同其他类之间存在继承关 系,若父类是抽象类,则父类不作为数据组的候 选;反之,为数据组的候选。如果一个类同其他类 注对象的属性,如果涉及的属性属于不同的关注 对象,则识别为多个不同的数据组。 3.3顺序图的映射规则 顺序图描述了功能过程的执行步骤,反映了 软件的动态行为能力规模,其相关映射规则 如下: R16顺序图中一个有序的、完成了某个功能 的消息序列具体描述了功能过程,该消息序列由 称之为触发事件的某个消息触发,结束于指向功 能用户或持久存储器的消息。 R17顺序图中出现的每个实体类和每个参 与者(功能用户)识别为一个数据组。 R18顺序图中消息携带的参数(组)识别为 数据组的个数等于消息参数涉及到的、不同关注 对象的个数。 R19顺序图中对象间传递的每一个消息都 被看作一次数据移动,其类型可为输入、输出、读 和写;其中,由功能用户穿过边界发送到内部对象 的消息识别为该功能过程的触发事件。 R20数据移动类型的判断。从功能用户到 接口对象的消息为输入;从接口对象到功能用户 的消息为输出;对象问传递的消息为读或写;顺序 图中消息发生的条件和用例图中用例发生的前置 条件可视为读的数据移动。 R21数据移动大小的判断。以其涉及到的 不同数据组的个数来计算,通常为该次数据移动 的数据项所涉及到的不同关注对象的个数。 R22消除重复的数据移动规则。在同一个 功能过程中,若一个数据移动的数据组与另一个 同类型的数据移动的数据组相同,则它们被识别 为同一个数据移动。 上 海 电 机 学 院 学报 2011年第5期 4 UML的COSMIC—FFP度量方法 被度量软件的整体功能规模Size(被度量软 体)等于该软件全部功能过程的功能规模之和, 4.1 UML的COSMIC-FFP度量过程 Size(被度量软件)一>:Size(功能过程 )(2) 图2为UML的COSMIC-FFP度量过程。该 4.2 UML的CoSMIC-FFP度量步骤 度量过程包括数据组识别阶段、数据移动识别阶段 根据给出的UML主要部件与C0SMIC—FFP (度量功能过程的规模)和度量结果统计阶段。 主要元素之间的概念映射关系、映射规则与度量 过程,可得出UML的COSMIC-FFP度量方法的 度量步骤如下:①由FUR和用例图确定软件的 度量范围和度量视角;②应用规则R1~R9确定 软件边界、层和功能用户,同时识别出各功能过程 和它们的触发事件;③对类图和顺序图应用规则 R10--R16识别出关注对象和数据组;④对于描 述每个功能过程的顺序图,应用规则R17-R21并 根据文献[16]中所述方法和度量规则识别出该功 图2度量流程图 能过程包含的数据移动个数及类型;⑤将度量范 Fig.2 Measurement process diagram 围内的各功能过程的功能规模(CFP)值累加,得 4.1.1数据组识别阶段根据实体一关系图或实 到整个被度量软件的功能规模(CFP)值。 体类图,利用“数据组”的识别规则识别出每一个 4.3应用实例 数据组。 本文以图书信息管理系统的一个模块作为应 4.1.2数据移动识别阶段如图2所示,用户功 用实例进行分析。该系统主要包括基本业务处 能需求(FUR)中提供的各种文档的结构依次为用 理、信息查询和系统维护等系统模块;系统的功能 例图、用例、顺序图和消息。由于由若干个用例构 性需求主要包括系统管理员管理、图书管理员管 成了每个用例图,而每个用例又由若干个顺序图 理、图书借阅者服务等内容。图3为图书借阅者 来解释,故在度量某个功能过程的功能规模前,应 服务功能模块的用例图,它显示了图书信息管理 先搞清楚顺序图和用例的关系,分析并了解该顺 系统为图书借阅者所提供的服务功能。 序图描述哪个用例图,再对用例的每个顺序图通 为了获得该功能模块的功能规模度量值,需 过识别数据移动类型逐个度量。利用文献[16]中 要对此用例图中的“预定图书”、“查询个人信息” 度量规则可识别出各个功能过程与消息,应用映 和“查找图书”3个用例用顺序图表示。 射规则R17-R21可识别出各个数据移动类型。 4.1.3 度量结果统计阶段根据用户的软件功 能规模度量需求,可以计算出某个功能过程的功能 规模,也可以统计出被度量软件整体的功能规模。 当为每一个功能过程识别出其应有的所有数 据移动后,将它们累加在一起就可得到这个功能 过程的功能规模Size(功能过程 ),即 Size(功能过程 )一>:Size(输入 )+ ∑Size(输出 )+∑Size(读i)+ 图3借阅者服务用例图 Size(写 ) (1) Fig.3 Borrower service use case diagram 2011年第5期 计春雷,等:统一建模语言的全功能点度量方法 323 先确定“借阅者服务”功能模块的度量范围是 由该功能模块中指定的功能组成。由于该功能模 和“预定图书”功能过程中也需使用,故由规则 R22可知,该用例在度量时仅需考虑一次。 块的功能需求属于同一个抽象层,故应用规则R1 和R2可识别为一个单独的软件层;由规则R3和 R4识别出用例图中的软件边界;由规则R5和R6 应用式(1)得到“查询个人信息”功能过程的 功能规模为5 CFP。同样地,得到“查找图书”功 能过程和“预定图书”功能过程的功能规模分别为 4 CFP和6 CFP。应用式(2)求得该图书信息管理 识别出“借阅者(Borrower)”为功能用户;根据规 则R7~R9识别出“预定图书”、“查找图书”和“查 系统的“借阅者服务”功能模块的总功能规模 为15 CFP。 询个人信息”用例为功能过程,“登录系统”扩展用 例也为功能过程。 为说明数据移动类型的识别方法,本文以“查 询个人信息”功能过程为例进行说明。“查询个人 信息”功能过程的顺序图如图4所示。 图4查询个人信息顺序图 Fig.4 Inquiry personal information sequence diagram 图4中,以规则R17识别出顺序图中的类 LoginWindow和PersonInfoWindow为数据组, 功能用户(Borrower)也为数据组。该功能过程起 始于借阅者通过用户登录界面(LoginWindow)录 入登录信息,由消息“登录系统”表示,应用规则 R20识别出此为一个“输人”类型的数据移动。登 录后,LoginWindow返回消息显示“登录信息”, 由规则R20可知,该消息产生一个“输出”类型的 数据移动。同时,LoginWindow将Borrower类实 例化,产生了“实例化借阅者对象”消息,由规则 R20识别出该消息是一个单独的“读”类型的数据 移动;再返回给用户信息显示界面(PersonInfoW— indow),这由消息“返回借阅者信息”表示,由规则 R20识别出其为一个“输出”类型的数据移动。最 后,系统用“显示借阅者信息”的消息向借阅者返 回借阅者信息,由规则R20识别出它也是一个“输 出”类型的数据移动。 对于“登录系统”用例,由于其在“查找图书” 5结语 本文较好地解决了COSMIC-FFP度量方法 过于抽象、难以应用于面向对象软件系统的问题, 为利用UML技术度量各种软件系统的功能规模 提供了一种切实可行的解决方案,从而有利于 COSMIC—FFP方法的全面推广与应用,并实现度 量过程的自动化。 参考文献: [1] Abran A,Desharnais J M,Aziz F.Measurement convertibility—。from function points tO COSMIC FFP [C]//15th International Workshop on Software Me-asurement:IWSM2005. Montreal,Canada: Shaker Verlag,2005:227—240. [2]王少锋.面向对象技术UML教程[M].北京:清华 大学出版社,2004. [3]Abran A,Oligny S,Symons C R.COSMIC FFP and the world—wide field trials strategy[J].Lecture Notes in Computer Science,2001,2006:125—134. [4]ISO/IEC 19761—2003.COSMIC full function points measurement manual v.2.2Es3.Is.1.]:The Common Software Measurement International Con- sortium,2003. ’ [5]Pods G.Definition and validation of a COSMIC— FFP functional size measure for o bjec卜o riented sys— tems[c]//Proceedings of the 7th ECOOP Work— shop on Quantitative Approaches in Object-Orien— ted Software Engineering.Is.1.]:CiteSeer,2003: 1—6. [6]Jenner M S.COSMIC-FFP 2.0 and UML:estima— tion of the size of a system specified in UML—-Prob—。 lems of granularity[c]//Proceedings of the 4th Eu— ropean Conference on Software Measurement and 324 上 海 电 机 学 院 学 报 2011年第5期 ICT Contro1.Heidelberg,Germany:Is.n.],2001: Mexico:Springer,2005:126—140. 173—184. [12] Nagan0 S,Ajisaka T.Functional metrics using [7] Wang Xi,Guo Liang,Miao Huaikou.An approach C0SMIC—FFP for object—oriented real—time systems tO transforming UML model to FSM model for au— [C]//13th International Workshop on Software tomatic testing[c]//2oo8 International Conference Measurement.Montreal,Canada:Is.n.],2003:l一 on Computer Science and Software Engineering. 7. Wuban,Hubei,China:IEEE,2008:251—254. [13] Top 0 0,Demirors O,Ozkan B.Reliability of [8] Sellami A,Ben-Abdallah H.Funetional size of use COSMIC functional size measurement results:a case diagrams:a fine~grain measurement[C]//2009 multiple case study on industry cases[c]//35th Eu— Fourth International Conference On Software Engi— romicro Conference on Software Engineering and neering Advances.Porto:IEEE,2009:282—288. Advanced Applications.Patras,Greece:IEEE, [9] Jenner M S.Automation of counting of functional 2009:327-334. size using COSMIC——FFP in UML[C]//lZth Inter・ [141 Cuadrado—Gallego J J,Buglione L,Dominguez—Alda national Workshop Software Measurement.Magde— M J,et a1.An experimental study on the conver— burg,Germany:Es.n.],2002:43—51. sion between IFPUG and COSMIC functional size [1O] Condori-Fernandez N,Abrahao S,Pastor O.On the measurement units[J].Information and Software estimation of the functional size of software from re— Technology,2010,52(3):347~357. quirements specifications[J].Journal of Computer Sci~ [151 计春雷,谈叶勇,宋国新.基于UML的C0sMIC— ence and Technology,2007,22(3):358—370. FFP度量方法[J].计算机工程,2010,36(10): [11] Sibertin-Btanc C,Tahir O,Cardoso J.Interpreta~ 41-43. tion of UML sequence diagrams as causality flows [161 计春雷,陈文辉,宋国新.UML顺序图的COSMIC— [c]//Internationa1 School and Symposium on Ad~ FFP度量方法[J1.华东理工大学学报:自然科学 vanced Distributed Systems,No.5.Guadalajara, 版,2010,36(3):418—422. (上接第313页) [2]阮煜.840D数控系统轮廓监控故障分析及检测 611D参数分析与优化[J].机床电器,2006(5):16— [J1.设备管理与维修,2009(3):27—28. 17,2O. [3]杨文健.SIEMENS 840D数控系统轴报警故障处理 [1O] 边江,马国春.西门子840D系统驱动优化详解 [J].设备管理与维修,2009(12):25—27. (上)[J].金属加工,2009(4):66—69. [4]张 宇.PLC运行信息监控故障处理[J1.一重技 [11] 王莉,罗学科,张超英.数控机床伺服特性调试技 术,2009(3):59—60. 术研究[J].机械工程与自动化,2009(5):125— [5]颜冠军,冯斌,张东升,等.840D数控系统摩擦补 126,129. 偿的实现[J].制造技术与机床,2011(2):157—159. [12] 郭亮,梅雪松,张东升,等.840D数控系统的伺服 [6]杨文健.基于SIEMENS 840D数控系统的机床数 参数优化[J].机电工程,2008,28(4):444—447. 据调整与维修[J].制造技术与机床,2O08(1):104. [13] 刘丹,陈林.光栅尺在840D数控系统中的应用 [7]杨诚,张为民.西门子611D驱动工程应用的优化 及调整[J].机电工程技术,2009,38(12):74—76. 研究[J1.制造技术与机床,2008(3):53—56. [141 陈先锋,何亚飞,朱弘峰,等.SINUMERIK 840D/ [8] 曲改玉,周生伟,李 敏.优化840D数控系统参数 810D数控系统功能应用与维修调整教程[M].北 实现机床的高精度加工[J].制造技术与机床,2009 京:人民邮电出版社,2010. (11):133~136. [15] 廖常初.S7—300/400 PLC应用教程[M].北京:机 [9]高峰,王清标.SINUMERIK 840D数字驱动伺服 械工业出版社,2009. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top