(计算机应用技术专业论文)基于uml的需求分析模型和设计模型的度量研究.pdf_第1页
(计算机应用技术专业论文)基于uml的需求分析模型和设计模型的度量研究.pdf_第2页
(计算机应用技术专业论文)基于uml的需求分析模型和设计模型的度量研究.pdf_第3页
(计算机应用技术专业论文)基于uml的需求分析模型和设计模型的度量研究.pdf_第4页
(计算机应用技术专业论文)基于uml的需求分析模型和设计模型的度量研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于u m l 的需求分车斤模型帮设计模型的度量研究 摘要 软件的质照问题是软件工程界普遍关注的一个焦点,软件度量学是软件工 群晌 个蘑要分支,通过度匿反馈的信息控制丌发过程,能够有效地提高软件 质量和软件韵开发效率。 u 瓣l 是静统一建模浯毒,它支持矮离对象按零主要概念,提供了t 批 揍本的表示模型元索的图形和方法,能够很好地表示丽 向对象系统中的需求分 机模型和设计模型,因此针对它开展度量研究县有重要的现实意义。 针对l ! m i 摸型,本文提出了套适合予u m l 分析模覆和设计模型的度艟方 法和凄量攫标。其中锋对u g l 努橱模型提出弱主要度量掺撂有:系统慧豹弼铡 数、抽象用例数、参与考的数量、与某个参与糍拥关的用例个数、与某个熠例 相关的参与者个数、用例的舰模腰、系统用例规模度、用例复杂度、系统用例 馁杂度、莱用倒的消息数量、系统消息总数、粪们动态复杂度等;针对设计模 型提出的主要艘量臻标有:孩子数、继承瓣懿深度、改逡鳃栩对继承樾深发、 类的加权方法数、类的公共属性所占比例、类内聚缺乏艘、类的总体依赖度和 被依赖度、某两个类之间的依赖艘和被依赖度、用例的消息维、系统的消息维 等。通过本课题的矫究能够对一鉴菠篓指标提出新的看法,避行合理的改迸。 竣后开发r 一个麈爨工具原型,劳进行了实验和数砉! 分撰,分辑缝果表臻: 通过列u m l 的需求分析和设计模型进行度量,一方颓可以更好地了解系统的规 模度、复杂度、功能划分等情况,从而能够较好地分配人力、物力,合理分配 稻:务:另方帮可以反陂u m i 。模型的难确褴、合瑾性,及时解决系统开发中出 现的问题,优化软件玎发过稷。 关键词:软件度量,面向对象度爨,u m i 。,需求分析模型度量,设计模型度量 m e t r i c sr e s e a r c hb a s e do nr e q u i r e m e n t s a n a l y s i sm o d e la n dd e s i g nm o d e lo fu m l a b s t r a c t t h eq u a l i t y o fs o f t w a r ei st h ef o c u so fs o f t w a r ee n g i n e e r i n g a sa ni m p o r t a n t b r a n c ho fs o f t w a r ee n g i n e e r i n g ,t h ea i mo fs o f t w a r em e t r i c si st oc o n t r o la n da s s u r e s o f t w a r eq u a l i t ya n di m p r o v et h ee f f i c i e n c yo fs o f t w a r ed e v e l o p m e n tb ym a k i n g u s i n go fs o m eu s e f u li n f o r m a t i o nr e c e i v i n gf r o mm e t r i c s u m li so n ek i n do fm o d e l i n gl a n g u a g et h a ts u p p o r t st h em a i nc o n c e p tt h a t a i m sa to b je c t o r i e n t e dt e c h n i q u ea n dp r o v i d e sab a t c ho fb a s i cg r a p h sa n dm e t h o d s e x p r e s s i n g m o d e l s e l e m e n t ,a n d i tc a na l s ob ew e l lu s e dt o o b je c t o r i e n t e d r e q u i r e m e n ta n a l y s i sm o d e la n dd e s i g nm o d e l i ti sv e r ym e a n i n g f u lt o m a k e m e t r i cr e s e a r c ht ou m l i nt h i s d i s s e r t a t i o n ,t h er e q u i r e m e n ta n a l y s i sm o d e la n dd e s i g nm o d e l e x p r e s s e db yu m l a r es t u d i e d t h es u i t eo fm e , t r i e sa b o u tr e q u i r e m e n ta n a l y s i s m o d ei n c l u d e s :n u m b e ro fu s e c a s e s ,n u m b e ro fa b s t r a c tu s e c a s e s ,n u m b e ro f a c t o r s ,n u m b e ro fr e l a t i v ea c t o ro ft h eu s e c a s e s ,n u m b e ro fr e l a t i v ea c t o ro ft h e u s e c a s e s ,s c a l eo fu s e c a s e ,s c a l eo fu s e c a s eo fs y s t e m ,c o m p l e x i t yo fu s e c a s e , c o m p l e x i t yo fs y s t e m ,n u m b e ro fm e s s a g e so fu s e c a s e ,n u m b e ro fm e s s a g e so f s y s t e m ,a c t i v ec o m p l e x i t yo fc l a s s t h es u i t eo fm e t r i c sa b o u td e s i g nm o d e l i n c l u d e s :n u m b e ro fc h i l d r e n ,d e p t ho ft h ei n h e r i t a n c et r e e ,i m p r o v e dd e p t ho f t h ei n h e r i t a n c et r e e ,w e i g h t e dm e t h o dc o u n t ,p e r c e n to fp u b l i ca t t r i b u t e ,l a c ko f c o h e s i o ni nm e t h o d s ,d e p e n d i n gd e g r e ea n dd e p e n e dd e g r e eo fc l a s s ,c o u p l i n g b e t w e e no b j e c tc l a s s e s ,m e s s a g es i z eo ft h eu s e c a s ed e s i g n e d ,m e s s a g es i z eo f s y s t e md e s i g n e d t h r o u g h tt h es t u d yt ot h es u b j e c tw ec a np r o p o s es o m en e w 0 1 5 i n i o n sa n dh a v es o m er e a s o n a b l ei m p r o v e m e n t st os o m em e t r i c s f i n a l l yb a s e do ut h i st h e o r y ,ap r o t o t y p eo fam e t r i ct o o lh a sb e e nd e v e l o p e d , a n dt h e ns o m ee x p e r i m e n t sa n dd a t aa n a l y s e sh a v eb e e nc o m p l e t e d t h ea n a l y s e s r e s u l t si n d i c a t e d :t h r o u g hc a r r y i n go nt h em e a s u r e m e n tt ot h em o d e lo fu m l ,o n t h eo n eh a n dw em a yb e t t e ru n d e r s t a n dt h es c a l eo fs y s t e m 、c o m p l e x i t yo fs y s t e m 、 f u n c t i o nd i v i s i o n sa n ds oo n ,t h u sw ec a l ! a s s i g nt h em a n p o w e ra n dt h ep h y s i c a l r e s o u r c e sw e l l ,a n dw ec a na l s oh a v er e a s o n a b l ed i s t r i b u t i o no fo u rd u t y o nt h e o t h e rh a n di tm a yr e f l e c tt h ea c c u r a c ya n dt h er a t i o n a l i t yo ft h eu m lm o d e l i th a s aq u i c ks o l u t i o nt ot h ep r o b l e m st h a ta p p e a ri nt h ed e v e l o p m e n to ft h es y s t e m ,a n d c a no p t i m i z et h ed e v e l o p m e n to ft h es o f t w a r e k e y w o r d s :s o f t w a r em e t r i c s ,0 b j e c t - o r i e n t e dm e t r i c s ,u m l ,t h em e t r i c sa b o u t r e q u i r e m e n ta n a l y s i sm o d e l ,t h em e t i r c sa b o u td e s i g nm o d e l 图2 1 图3 1 霜3 2 图3 3 蚕3 。4 图3 5 爱3 - 6 图3 。7 图3 - 8 图3 - 9 图4 1 图4 2 插霪清单 类表示法示意图 图书馆系统用例图, 学生查询成续活渤圈。,。+ 活动图规模树型图, 鬏痔銎,。,。, u m l 模型到功能点的映射图。 类分磐示意强。 类合并示意图 软件质菱 框架模型。 可维护住及萁子特征。 度量系统的总体框架图 度量系统的实蕊框架窝。 9 1 7 。2 0 2 1 ,。2 4 2 5 。3 3 3 3 3 6 。3 8 4 1 。4 2 表1 1 表3 - 1 表3 2 表3 - 3 表3 4 表3 5 表4 1 表4 2 表4 3 表4 - 4 表4 - 5 表4 - 6 表4 7 表4 8 表4 - 9 表4 1 0 表4 1 1 表4 1 2 表4 一1 3 表4 1 4 表4 15 表格清单 软件质量度量f c m 模型 事务复杂度判定表 未校正的功能点计算表 2 2 7 2 7 i s 0 9 1 2 6 中质量特性与子特性3 7 基于u m l 需求分析模型度量指标与系统规模度、复杂度的关系3 8 度量与质量子特征的关系,3 9 项目总体情况数据结构表5 1 用例数据结构表,5 2 参与者数据结构表5 2 类数据结构表,5 3 活动图数据结构表5 3 活动结点数据结构表5 4 权值数据结构表5 4 消息数据结构表5 4 对象数据结构表5 4 项目总体情况实验数据表5 5 每个用例情况实验数据表5 5 参与者相关情况实验数据表5 6 类相关情况实验数据表。5 7 类的内聚度情况实验数据表5 7 类的耦合性情况实验数据表,5 8 独创性声明 本人声明所呈芟的学位论文是本人在导舜指导下避霉亍匏磷究t 作及取褥的研究成 果。据我所知,除了文中特别加以标i - 2 和致谢的地方外,论文中不包含熟他人已经发表 或撰写避的研究成果,瞧不包禽为莪褥 金熙互些太燮 或其健教囊桩橡的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均融在论文中作了 明确的说明并表示谢意。 学位论文作者签名:1 矾三辐签字目期:帅6 年5 月,。日 学位论文版权使用授权书 本学位论文作者完全了解金蟹工业态掌有关保留、使用学位论文的规定,有权傈 露并向嘲家有关部门或机构送交论文的复印件和磁盘,允许论文拔查阅秘借阕。本人授 权盒殿姜些厶整可以将学位论文的全都或部分内容编八有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇犏学能论文。 ( 保密的学位论文在解密后邋用本授权书) 学位论文作者签名:出坦禳 签字日期;加6 年月f 口日 学位论文作者毕业后去向: 工作单位:翔r 强 毛 通讯地址;同俊oi 乞竹再权年 导师 签字日期 电话:o 2 一曲膳,弘船 邮编:z 睥一口 致谢 衷心感谢我的导师李心科副教授在整个论文指导阶段给我的悉心指导和 帮助。在熬个论文的学习阶段,李老师多次询问研究进程,并为我提出许多富 有启发性、建设性的意见,帮助我开拓研究思路,精心点拨、热忱效励。李老 疼羰薅懿戋翼识,一丝不莓静王 睾俘鼹,严谨求实鹣治学态度,露鼷实实豹敬业 精神,不仅授我以文,两且教我做人,虽历时二载,却给我终生受蕊无穷之道, 他是我学习的楷模。在此,i 夔向他表示诚挚的敬j 惑和谢意。 感谢铜陵学院计算机系钟虑水主任长期以来对我的无私帮助。谯本论文完 成过程中,憾给予我缀多的帮助,并提出许多宝爨的建议。 慧瀣鞭羧学院英语系懿海燕老爨积我靛其镪越仁们长絮甄来对我工 睾、学 习的关心和帮助。 向我的父桊、母亲和我的家人致谢。 顾,对我学翊和工作的充分理解与支持, 安心地完成论文的撰写工作。 感谢他们平时对我生活上的关心和照 正是他们在后面默默地支持,我才能 惑 褰| 合髓王监大学诗算凝与信惑学院戬及磷究生院静老帮和矮警们对我 的帮助和支持。 作者:姚瑶 2 0 0 6 年6 月 第一章软件度囊学 1 1 软件质量岛软件度鬓 1 11 软件质邀 随着科学技术的不断发展,计算机已经应掰到社会生活的各个领域。作为 倍怠技术静核心一软件发挥了及英重簧的作用,萁麓蚕瞧接影响到豫务蓊成功 秘人类熬生禽安全,霆拢软转载矮量爨经成为人稍非常重视躲一个闽题。瓣软 件质爨进行全碱评价是保证软件质量的重葵手段。 软件质量:i e e e s t d 7 2 9 给出的软件质量定义为:“与软件产晶满足规定的和隐 含的需求的能力有关的特镟或特征静全体”“。 1 2 软件度鬃对软件质量谦证的重溪,睦 度量;i e e e 在s t a n d a r df o rs o f t w a r eq u a l i 订m e t r i c sm e t h o d o l o g y ,i e e es t d , 1 0 6 卜1 9 9 2 ,1 9 9 3 中,黠度量绘出了定义:“发量憝一个丞数,它豹浚入 是软件数据,输出是单一的数值,能用以解释软件所具有的一个绘定属 性对质羹影响的程度”。 软件葳量度量楚搭鲻子确定菜一软件产晶麓量特征傻酶定量 瓣l 蠹与度蓬方 法“。,是软 牛矮量像涯与控制的一秽莛要手段。在i s 0 9 0 0 0 - 3 振准中,已经明 确指出了软件度量的重要性。通过软件度蹩,方面在软件的开发过程中通过 了解系统的规模度、复杂度以及功能划分等情况,能够较好魄分配人、物力和 辩阉,舍疆分酝任务,冬哥靛遗优佬软舞j 蓬程。镶懿,对予较难麓部分可以分 酝给较有经验的开发a 员,密易燃锘黝部分贝 j 照点测试。另方两可以反映模 裂的正确性、合理性,能够及时解决系统开发过程中出现的问题。 质量评估指标般可以分为定性指标筘定囊指标。理论上讲,为了能够科 学客潞遗葳获较释耱质爨葑锾,瘫该尽毒戆逮选择定量指标。毽是对于大多数 软件来说,并不是所有的质嶷特,征都w 以用定艟指标进行描述,所以不可避免 地采用一定的定性指标。 1 2 软件度量的方法体系 软件度量学作为软件工程的一个骥要研究方向,其报本目的就是瑟用软件 度量学的方法来科学逸评价软件质量,更好缝对软件开发过稷进行控翻和管理, 合理蟪缝织帮分配资源,裁定援实可行静软 孛开发计划,以便获褥低藏本鹰震 攫的软件。一般来说,软件度量可以分为下列几种: 1 2 1 项盟度量 顼曩度量是针对敬转开发项题的特定度量,目的在予度璺项强规模、项耳 成本、项目进度、顾客满意度等,辅助项目管理,进行项目控制。 1 2 2 产品度量 软件产品的度量主要是针对作为软件开发成果的软件产品的质量而言,独 立于其过程。般情况下,可以将软件质量特性定义成分层模型。m c c a l l 等人 将软件质量分解成能够度量的层次,提出了表1 1 所示的f c m - 3 层模型:软件 质量要素( f a c t o r ) 、衡量标准( c r i t e r i a ) 和度量标准( m e t r i c s ) ,包括1 1 个标准,分为产品操作( p r o d u c to p e r a t i o n ) 、产品修正( p r o d u c tr e v i s i o n ) 和产品转移( p r o d u c tt r a n s i t i o n ) ”。i s 0 9 1 2 6 将软件质量总结为6 大特性, 每个特性包括一系列副特性,其软件质量模型包括3 层,即高层软件质量需求 评价准则( s q r c ) 、中层软件质量设计评价准则( s q d c ) 和低层软件质量度量评 价准则( s q m c ) ”。 层次名称内容 质量要素:描述和评价软件质量 功能性、可靠性、易用性、效率性、 第一层可维护性、可移植性等质量特性以 的一组属性 及将质量特性细化产生的副特性 精确性、稳健性、安全性、处理有 效性、设备有效性、可操作性、培 衡量标准:衡量标准的组合反映 训性、完备性、一致性、可追踪性、 第二层 可见性、硬件系统无关性、软件系 某一软件质量要素 统无关性、可扩充性、公用性、模 块性、清晰性、自描述性、简单性、 结构性、文件完备性等 根据软件的需求分析、概要设计、 度量标准:可由各使用单位自定 详细设计、编码、测试、确认、维 第三层护与使用等阶段,针对每一个阶段 义 制定问卷表,以此实现软件开发过 程的质量度量 表1 - 1 软件质量度量f c m 模型 1 2 3 过程度量 过程度量是对软件开发过程的各个方面进行度量,目的在于预测过程的未 来性能,减少过程结果的偏差,对软件过程的行为进行目标管理,为过程控制、 过程评价、持续改善提供定量基础。软件过程质量的好坏直接影响软件产品的 质量,如果能对过程进行有效的度量,及时发现过程中不合理的因素并对其进 行相应的调整,有利于提高软件开发的效率。过程度量主要包括成熟度度量 ( m a t u r i t ym e t r i c s ) 、管理度量( m a n a g e m e n tm e t r i e s ) 和生命周期度量( 1 i f e c y c l em e t r ic s ) 三方面的内容: 其实,这三种度量之间存在着紧密的联系。无论何种度量,其目的都是为 了有效地控制和改善软件的开发过程,提高软件开发的效率和质量,获得高质 量、低成本的软件产品。 1 3 面向对象软件度量学的研究隋况 面向对象技术主要特征包括抽象性、封装性、继承性、多态性,将数据和 操作封装起来,强调以对象为核心。而面向过程的软件度量方法大多以模块度 量为主,不能很好地反映面向对象特征,需要专门的度量方法。 1 3 1 面向对象度量的特征 任何产品的技术度量都取决于产品的特性。面向对象软件包括以下几个特 征,可以对相应的特征来进行度量。 1 、封装性 传统的软件开发使得数据与过程相分离,其典型的实现形式为过程模块, 此时的度量主要放在模块的内部结构和复杂性上:而面向对象度量的重点不再 是单一的模块,而是把抽象数据类型( 对象) 作为一个完整的实体来度量。 2 、抽象性 面向对象的软件开发方法强调的是数据抽象,它把数据和操作结合起来, 形成不同的抽象数据类型。在面向对象中,类就是一个抽象,可以针对这种抽 象数据类型来进行度量。例如类的耦合度、类的内聚度等。 3 、继承性 在面向对象系统中,继承性是一个关键性的特性,很多面向对象系统都以 此为重点。例如继承树的深度、孩子的数量等。 4 、多态性 传统的软件开发方法中,过程和函数是不能重名的;而在面向对象的开发 方法中,有时却需要利用“重名”现象来提高程序的抽象度和简洁性。 1 3 2 已有的面向对象的软件度量体系和方法”1 1 、c h i d a m b e r 和k e m e r e r 提出的用于度量面向对象软件设计的c & k 度量方 法 9 o 它主要是针对具体类的度量,对于类的大小、层次、继承关系等设计有一 定的指导作用。c k 为面向对象度量定义了6 个度量指标:类的加权方法数 w m c ( w e i g h t e dm e t h o d sp e rc l a s s ) 可以用来估计开发和维护一个类需要的时 间和难度;继承树的深度d i t ( d e p t ho fi n h e r i t a n c et r e e ) ,一个类的d i t 越大,表示它可能继承的方法数目越大,设计越复杂,但复用程度高;孩子数 目n o c ( n u m b e ro fc h i l d r e n ) ,一个类的n o c 越大,表示该类在设计中有很大 影响,应成为测试重点,同时重用性好;类之间的耦合c b o ( c o u p l i n gb e t w e e n o b j e c tc l a s s e s ) ,一个类的c b o 越小,表明该类影响到的类越少,独立性越强; 类的响应集合r f c ( r e s p o n s ef o rac l a s s ) ,类的r f c 越大,意味着该类复杂 度越大,测试将更困难;类的内聚缺乏度l c o m ( l a c ko fc o h e s i o ni nm e t h o d s ) , 类的l c o m 越大,意味着类的复杂度越大,类可以分裂成两个或更多的子类。 2 、m o o d 度量方法。 c & k 度量方法只是针对单独的类并不足以评价软件的整体质量。f e r n a n d o b r i t 0ea b r e u 和w a l c e l i 0m e l 0 提出的m o o d 度量集m e t r i c sf o ro b j e c t d e s i g n e d 对面向对象的系统进行度量“。m o o d 集包括“: 方法隐藏因子m h f ( m e t h o dh i d i n gf a c t o r ) :面向对象系统类方法总体 隐藏程度。 属性隐藏因子a h f ( a t t r i b u t eh i d i n gf a c t o r ) 面向对象系统类属性总 体隐藏程度。 m h f 和a h f 分别从方法和属性两方面度量程序的信息隐藏程度。信息隐藏 有助于软件的理解和测试。 方法继承因子m i f ( m e t h o di n h e r i t a n c ef a c t o r ) :面向对象系统中类 继承其它类方法的总体程度。 属性继承因子a i f ( a t t r i b u t ei n h e r i t a n c ef a c t o r ) :面向对象系统中 类继承其它类属性的总体程度。 m i f 和a i f 分别从方法和属性两个方面度量程序使用继承机制的程度,继 承机制使用越频繁,类通过继承使用的属性方法就越多,越难控制其行为,对 可理解性、可测试性和可修改性不利,但增加了可重用性。 多态因子p o f ( p l o y m o r p h i s mf a c t o r ) :面向对象系统中类使用多态机 制的总体程度。 多态机制使软件具有类似功能的方法设计简单化。对多态因子大的程序, 修改比较简单,但也使程序行为变得难以预测,需要加强测试。 耦合因子c o f ( c o u p l i n gf a c t o r ) :面向对象系统中类之间耦合的整体 程度。 系统中耦合的程度越大说明对象类之间的耦合越多,对模块化设计有害, 不利于程序的理解和测试。 3 、l o r e n z 和k i d d 提出的l k 度量方法。 把基于类的度量分成四种类型:规模、继承、内部特性和外部特性。对类 的规模的度量重点放在度量单一的类的属性和方法的数量;基于继承的度量, 关注的是贯穿于类层次的操作被重用的方式;对类的内部特性的度量主要集中 4 在内聚问题上;而外部特性的度量,则是度量耦合和重用问题。 4 、c h e n & l i u 度量方法“。 这是我国台湾学者f yc h e n 和j fl i u 提出的一种面向对象设计的新的度 量方法。它从八个方面提出软件度量的方法,即操作复杂性度量、操作参数复 杂性度量、属性复杂性度量、操作耦合度量、类继承性度量、内聚度量、类耦 合度量、重用度量。 在上述方法的基础上,近年来我国学者对面向对象的软件度量学做了必要 的改进和有益的补充,使面向对象的软件度量更加合理、实用。另外,我国的 一些学者还致力于面向对象软件度量工具的研制,如武汉理工大学研制了一个 软件复杂性度量工具s e e sl l a j ,合肥工业大学开发了基于改进的c k 度量学理 论和方法的度量工具s m t c p p 等“。 1 4 本文的组织结构 本文的组织结构 第一章:介绍了软件度量学对软件质量控制的重要性;软件度量的方法体系以 及面向对象度量的特点、研究情况。 第二章:介绍了u m l 2 0 的有关概念,基于u m l 进行面向对象的系统分析及设计 方法,包括静态建模和动态建模的相关内容。最后介绍了基于u m l 的 c a s e 工具:r a t i o n a lr o s e 。 第三章:针对u m l 的需求分析模型和设计模型,提出了一套适合于u m l 需求模 型和设计模型的度量理论和度量指标。并在此基础上阐述了基于u m l 模型的度量指标和度量体系。此章为重点。 第四章:开发出一个基于u m l 的度量工具原型。通过实例分析了上述提出的度 量理论和度量指标。 第五章:对本文的工作进行了总结,并对下一步需要研究的方向进行了展望。 第二章统一建模语言u m l 和r a t i l n a lr o s e 2 1u m l 的概述 2 1 1u m l 的发展史 u m l 。的全称为u n i f i e dm o d e l i n gl a n g u a g e ,意为统一建模语言,可以 实现大型复杂系统各种成分描述的可视化,以及建立各种所需的文档,它是一 种定义良好、易于表达、功能强大且普通适用的建模语言。 2 0 世纪9 0 年代出现了很多新的面向对象方法和建模语言,其中最流行的 三个是j i mr u m b a u g h 的0 m t 一2 ( o b j e c tm o d e l i n gt e e h n i q u e ,对象建模技术) 、 g r a d yb o o c h 的b o o e h9 3 、和i v a rj a c o b s o n 的0 0 s e ( o b j e e t o r i e n t e d s o f t w a r ee n g i n e e r i n g ,面向对象的软件工程) 。0 m t 一2 使用对象模型、动态模 型、功能模型和用例模型共同完成对系统的建模,所定义的概念和符号可用于 软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同 阶段进行概念和符号的转换。b o o e h9 3 方法关心的是项目的设计和构造阶段, 并已被证明特别适合于工程应用软件。7 a c o b s o n 于1 9 9 4 年提出了0 0 s e 方法, 其最大的特点是面向用例( u s e c a s e ) ,并在用例的描述中引入了外部角色的概 念。 虽然这些建模语言大多雷同,但仍存在着某些细微的差别,因而妨碍了用 户之间的交流,人们越来越感觉到统一建模语言的必要性。 u m l 的发展主要经历了以下几个阶段: ( 1 ) 最初的阶段是专家联合行动,由三位o o 方法学家将他们各自的方法 结合在一起。1 9 9 5 年1 0 月发布了称之为统一方法( u n i f i e dm e t h o d ) 的u m l 0 8 ; 1 9 9 6 年6 月和1 0 月分别发布了u m l 0 9 和u m l 0 9 1 两个新的版本,并重新命名 为u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 。 ( 2 ) 第二阶段的公司的联合行动。由十几家公司组成的“u m l 伙伴组织” 将各自的意见加入u m l ,形成了u m l l 0 和u m l l 1 ,并作为向0 m g 申请成建模 语言规范的提案。 ( 3 ) 第三阶段是m g 控制下的修订与改进,0 m g 于1 9 9 7 年1 1 月正式采纳 了u m l l 1 作为建模语言规范,然后成立任务组进行不断的修订,并产生了 u m l l 2 、1 3 和1 4 版本,其中u m l l 3 是较为重要的修订版本。 目前u m l 最新版本为u m l 2 0 。 2 12u m l 的组成、特点 2 1 2 1u m l 的组成 u m l 是标准的建模语言而不是标准的开发过程。u m l 的定义包括u m l 语义和 u m l 表示法两个部分。 u m l 语义描述了基于u m l 的精确元模型定义。元模型为u m l 的所有元素在 语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取 得一致,消除了因人而异的表达方法所造成的影响。 u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图形符 号文本语法进行系统建模提供了标准。 2 1 2 2u m l 的特点 l 、统一标准。u m l 删除了大量引起混乱的、多余的和极少使用的符号,也 添加了一些新符号,提供了标准的面向对象的模型元素的定义和表示法,并已 成为o m g 的标准。 2 、面向对象。u m l 支持面向对象技术的主要概念,它提供了一批基本的表 示模型元素的图形和方法,能够简洁明了地表达面向对象的各种概念和模型元 素。 3 、可视化,表示功能强大。通过u m l 的模型图能清晰地表示系统的逻辑模 型和实现模型,可用于各种复杂系统的建模。 4 、独立于过程。u m l 是系统建模语言,独立于开发过程。 5 、独立于程序设计。用u m l 建立的软件系统模型可以用j a v a 、v c + + 、 s m a l l t a l k 等任何一种面向对象的程序设计语言来实现 6 、易于掌握使用。u m l 图形结构清晰,建模简洁明了,容易掌握使用。 使用u m l 进行系统分析与设计,可以加速开发进程,提高代码质量,支持 动态的业务需求。u m l 适合于各种规模的系统开发,能促进软件复用,方便地 集成已有的系统,并能有效地处理开发中的各种风险。 2 2u m l 视图 一般来说,系统通常是由多个不同的方面来描述的:功能方面( 系统的静 态结构和动态交互) 、非功能方面( 时间需求、可靠性、部署等方面) ,以及组 织结构方面( 任务组织结构、代码模块的映射) 。因此,系统需要由多个视图来 共同描述,其中每个视图最示系统的某个特定方面。u m l 主要包括以下五种视 图: 1 、用例视图 用例视图描述了系统应该交付的功能,也就是外部参与者所看到的功能。 用例视图是核心,因为它的内容驱动其他视图的开发。用例视图主要用用例图 进行描述,也会用活动图来描述。 2 、逻辑视图 逻辑视图描述如何实现用例视图中提出的那些系统功能。它既描述系统的 静态结构( 类、对象,以及它们之间的关系) ,又描述系统内部的动态协作关系。 系统的静态结构在类图和对象图中进行描述,而动态模型则在状态图、交互图 和活动图中进行描述。 3 、实现视图 实现视图描述系统的主要模块,以及这些模块之间的依赖关系。它是由系 统的那些主要软件制品组成的,这些软件制品包括不同类型的代码模块,这些 模块表示了它们的结构和相互之间的依赖关系。 4 、进程视图 进程视图的目的是将系统划分为多个进程,并将其分配到各个处理器上, 它主要考虑资源的有效利用、代码的并行执行,以及系统环境中异步事件的处 理。进程视图显示的重点是系统中存在的并发性。进程视图由动态图( 状态图、 交互图和活动图) 和实现图( 构件图和配置图) 组成。 5 、部署视图 部署视图显示了系统的物理部署、指定各个处理器内不同的执行环境。该 视图由配置图表示。部署视图还包括了一个显示软件制品如何在物理结构中部 署的映射。 2 3 静态建模和动态建模 2 3 1 静态建模 u m l 的静态建模机制包括用例图、类( 包含包图) 、对象图、构件图和配置 图。 1 、用例图 在u m l 中,一个用例模型由若干个用例图描述,用例图由以下一些要素组 成。 ( 1 ) 用例 用例用一个包含该用例名称的椭圆来表示,或者也可以将该用例的名称放 置在椭圆的下方。 从本质上讲,一个用例是用户与计算机之间的一次典型交互作用; 用例捕获某些用户可见的需求,实现一个具体的用户目标; 用例由参与者激活,并提供确切的值给参与者; 用例可大可小,但它必须是对一个具体的用户目标实现的完整描述。 ( 2 ) 参与者( 角色) 参与者是指用户在系统中所扮演的角色。在划分参与者时,应从其作用的 角度来划分,而不是按人或工作名称来划分。u m l 中的参与者是带有构造型 ( ( a c t o r 的类别。在用例图中,参与者是用一个人标准构造型图标来表示,但 参与者不一定是人,所有与系统进行交互的人或外界系统都可作为参与者 ( 3 ) 用例之间的关系 扩展关系 若一个用例中加入了一些新的动作后,构成了一个新的用例,这两个用例 之间的关系就是扩展关系,后者通过继承前者的一些行为得来,故称为前者的 扩展用例。用例之间的扩展关系当做带有 的依赖关系( 一条带有一 个箭头的虚线,该箭头指向被扩展的用例) 来显示。 包含关系 如果某些用例之间存在一些公共行为,或相互之间存在必要的关系,则可 将这些公共行为放在一个单独的用例中建模,然后其它用例包含该例即可。在 图形上,用例之间的包含关系通过带有构造型 的依赖关系( 一条带 有一个箭头的虚线,该箭头指向被包含的用例) 来显示。 泛化关系 如果某些用例之间存在类似的行为,或相互之间存在必要的关系,则可将 相同的用例以封闭的方式加以组合。 ( 4 ) 参与者之间的关系 泛化关系 如果系统中存在几个参与者,它们既作为它们角色的部分,同时也扮演一 个更一般化的角色,那么此时就用一种泛化关系来描述它们。参与者之间的泛 化关系用一个带有空心箭头的实线表示,该箭头指向扮演一般角色的超类。 参与者与用例之间用不带箭头的线段连接到一起。参与者触发用例,单个 参与者可以与多个用例联系;反过来一个用例可与不同的参与者联系。不同的 人对于一个系统会有不同的用例划分,因此用例的获取是因人而异的。 2 、类图 类描述同类对象的属性和行为。在u n l 中,类可以表示成图2 1 所示的一 个划分为3 格的长方形。在u m l 中,类之间可以有如下的关系: ( 1 ) 关联关系 关联是类之间的一种连接,这意味着关联关系也是这些类的对象之间的一 个连接。在u m l 中,关联关系被定义为描述一组链接的一种关系,其中链接被 定义为一组对象之间的一种语义连接。 ( 2 ) 聚合关系 是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系。 图2 - 1 类表示法示意图 ( 3 ) 继承( 泛化) 关籁 与一般面向对象语言的继承关系类似,用于描述类之间“一般”与“特殊” 的关系。 ( 4 ) 依赖和细化的关系 姨羧关系接述夔是嚣个模型( 类、建蚓等) 之阗翡语义上戆连接关系。缀 设有元索x 、¥,如果修菠x 的定义可能会引怒对元素y 定义的修改,刚称元素 y 依赖于元素x 。有很多情况可以导致类的依赖关系,例如,某个类中使用另一 个类的对象作为操作中的参数;或一个类调用另一个类操作等。 细化关系是对同一事物不同抽象级别的瞬种描述之间的一种关系。例如在 对固一攀勃建摸时,在分辑类与设计类之越黢楚缓佬关系。缨豫主要爱子模型 之闻熬合俸,表示各除袋不弼开发垂次筷型鹃耀关毪,常翔予躐鲸模登的演交。 ( 5 ) 抽象关系 抽魏是同一事物的两种描述之间的一种关系,但这两种描述是在不同的抽 象层进行的。实现是一种抽象,显示了一个实现了一个更一般元索的模型元素。 3 、对象图 怼象嚣是类霪羲一令燮孳奉,它镬瑟懿簿墨与类嚣豆乎一徉。瓣蒙整鸯类整 两者之间的区别是;对象瀚露于显示类静多个对象实铡,丽不怒实际的类。对 象图与炎图在使用符号上也有区别:对象图用带下划线的对象名称来表示对象, 以及显示一个关系中的所肖窳例。对象图主翳用来为复杂类图摁供示例,该示 例显示了炎的实际实例和关系的可能样子。 4 、锻錾 惫隧怒将诲多类集合袋一令更毫层次熬擎位,形藏一个麓海聚、低藕会静 类集台。在u m l 中,分包最有用和用得最多的原则是依赖原则。包的内容可以 是类,也可以是另一个包圈,还可以是类图。 5 、配鬣图 配黧图描述系统硬件的物理拓李 结构以及在茈结构上执行的软 孛。配置慰 可班显示诗箕缝点瓣燕羚缀稳秘逶露露径、绥蠡上运费懿软传缀箨、款箨蕴锌 包含的逻辑单元( 对象、凝) 等。另外配誊潮也可以显示各个缢件之阍的依赖 关系。 6 、组件图 组件圈显示软件组件之间的依赖关系。一般来说,软件组件就是一个实际 文锌,可以是澡代玛文件、二进割代码文锌帮胃羲嚣文锋等。霹以嗣寒显示绫 译、链羧蔽飘行组箨之间静依赖关系。 7 、复合结构图 复合结构图为建模人员提供了一种用来描述在某个类别( 例如;用例、对 象、协作、类、或活动) 内相互合作元素之间存在的各种连接的机制。例如, 1 0 这些元索可能在一个协作的各个任务上工作,或者在支持某个炎的需要上进行 合作。 2 3 2 动态建模 u m l 瞧疆袋疆述系绫渤态露为夔图形工爨,懿状态梳、交互强、活动圈等, 焉予糖述系统中对象在执行期闽的不同时阍点是如何动态交曩的。 1 、状态机( s t a t em a c h i n e ) 状态机是对类的描选的补充。用来描迷一个特定对象在一个生命周期实例 期间的所有可能状态及引趣状态转移的事件。它由对象的状态和触发事件组成, 状态极分为拐始状态、中阀状态和终止状态,襁始状态只能鸯一个,终止状态 可以鸯多令;狡态辊豹敬态可敬楚复合袄态,嚣狡态中戆子凝淼蠢“或”弱“与” 的两种关系。状态之间带绪点的边线称为变迁。状态的变迁通常由事件触发的, 此时应在转移上标出触发转移的事件表达式,如果转移上未标明事件,则表明 迁移由状态内部活动触发。 u m l 有两种类型的状态枫: ( 1 ) 学秀凌态援( b e h a v i o r a ls t a t e m a c h i n e ) 鬟l 述类瓣象鑫髑矮戆酝毒 细节。 ( 2 ) 协议状态机( p r o t o c o ls t a t em a e h i l l e ) 仅关注状态的转换和用来管 理各个操作执行顺序的规则。协议状态机可以通过接口或端脚掇供用于实现的 规则。 勇终,在实酝建模孛,莠不需要荛所蠢黪类都绘铡其状态枕,仅对那些其 畜多个鞠礁凝态豹类,并氛类戆这些不同麓浚态会影穗帮敬交炎豹霉亍为薅才绘 制这个类的状态机。也w 以为系统绘制一个总体状态梳。 2 、交亘图 u m l 提供了多个用于鼹示软件执行过程中对象之间发生的务种交互的图。 这些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论