(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf_第1页
(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf_第2页
(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf_第3页
(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf_第4页
(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机科学与技术专业论文)基于角色模型的从分析到设计的规约结构的研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院学位论文 摘要 o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提供的u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 从标准化到产业化,已被国际软件业界广泛应用;u m l 中的类建模是反映对象共 有相似性的抽象机制,适用于软件设计和实现阶段,但对于概念建模的支持能力 不足;在u m l 建模的6 个视点中,u s ec a s e 法是一个缺陷较多的方法,从用例到 类结构跨度较大。 奉义试图在旁允u m l 升发过程基础上,以克服u m l 需求能力较弱同时将对 软件模式的支持过分依赖于开发者自身等方面进行一定程度的研究,通过引入其 它一些建模视点和手段,如角色模型,设计基于此的从分析到设计的框架结构, 达到软件开发过程顺利、平滑过渡,并能正确、迅速、合理地重用软件模式,以 提高软件开发效率和质量的目的。 本文的主要工作如下: ( 1 )从软件工程方法论研究出发,从方法、工具和过程三个方面研究基 于角色模型的建模,系统地研究了角色和角色模型,给出了角色模 型的形式化定义; ( 2 )对角色模型的规格描述语言r m l ( r o l em o d e l i n gl a n g u a g e ) 进行 了深入研究,得出角色建模应先于类建模及r m l 和u m l 结合建模 的三个两设:r o i e - t y p e - - c l a s s ,建立了r m l 和u m l 的完整列象 建模; ( 3 )论文中提出在分析阶段即使用软件模式,引入了r o l e 模式并把它作 为从分析阶段至类图设计阶段的中介,建立了基于角色模型的从分 析到设计的规约结构; ( 4 )本文提出采用角色用例弥补u m lu s ec a s e 的不足,设计了其与 a s p e c t s 组成的元级模型、u m l 设计对象模型的基本级模型之间的 反演关系; ( 5 )在e c l i p s e 平台上设计并实现了支持角色建模的c a s e ( c o m p u t e r a i d e ds o f t w a r ee n g i n e e r i n g ) 工具,已在实际开发中运行良好; ( 6 )基于本文的研究内容,构建了一种支持角色模型的开发过程框架, 对我国当前的软件过程研究和实践具有很好的借鉴作用。 主题词:角色,角色模型,软件模式,规约结构,软件工具,软件过程 第i 页 国防科学技术大学研究生院学位论文 a b s t r a c t t h eu n i f i e dm o d e l i n gl a n g u a g e ( u m l ) ,w h i c hw a sb r o u g h tf o r w a r db yt h e o b j e c tm a n a g e m e n tg r o u p ( o m g ) ,i sw i d e l ya c c e p t e da n da p p l i e db yt h ei n t e r n a t i o n a l s o f t w a r ei n d u s t r y c l a s sm o d e l i n go fu m li sa na b s t r a c tm e c h a n i s mw h i c hc a l lr e f e c t t h es i m i l a r i t ya m o n go b j e c t sa n di ti ss u i t a b l et os o f t w a r ed e s i g na n di m p l e m e n t a t i o n p h a s e b u tc l a s sm o d e l i n gd o n tf u l l ys u p p o r tc o n c e p t u a lm o d e l i nt h em i d d l eo fs i x v i e w si nu m l m o d e l i n g ,u m lu s ec a s em e t h o dh a sm o r ed e f e c t sc o m p a r e dw i t ho t h e r v i e w s t 1 l i sd i s s e r t a t i o n sm a i nw o r k sa sf o l l o w s : ( 1 ) t h ed i s s e r t a t i o n s t a r t sf r o ms o f t w a r e e n g i n e e r i n gm e t h o d o l o g ya n d s 1 1 】d i m l e h a 剃m o d e l i n g 仔n mt h r e ef a c e si n c l u d i n gm e t h o d t o n if n l r l p r o c e s s w e s t a t em l e c o n c e p t sa p p l i c a t i o n o no b j e c t - o b j e c ta n d s y s t e m a t i ce x p l o r er o l ea n dr o l em o d e l i nt h i sp a p e r , w ep r e s e n tr o l e m o d e l sf o r m a ld e f i n i t i o n ( 2 ) w ei n v e s t i g a t em o r ed e t a i l so nr m l ( r o l em o d e l i n gl a n g u a g e ) t h r o u g ht h es t u d i e s ,w eb e l i e v et h a tr o l em o d e ls h o u l db ec h o s e np r i o rt o c l a s sm o d e la n d a c q u i r e t h r e e p h a s e s b e t w e e nr m la n du m l : r o l e - 1 ,e _ 一c l a s s ( 3 ) t h ep a p e rp r e s e n tt h a tw es h o u l du s es o f t w a r ep a t t e r ni na n a l y s i sp h a s e a n db u i l das p e c i f i c a t i o ns t r u c t u r ef r o ma n a l y s i st od e s i g nb a s e do nr o l e m o d e lt h r o u g hi n l x o d u c i n gr o l ep a t t e r na si n t e r m e d i a t eb e t w e e na n a l y s i s a n dc l a s sd i a g r a m sd e s i g np h a s e ( 4 ) w e p u tf o r w a r dat h o u g ht h a tc h o o s i n gr o l eu e a s em e t h o dw i l lr e m e d y u m lu s ec a s e sd e t e c ta n dw ed e s i g nar e f l e c t i o nr e l a t i o na m o n gr o l eu s e c a s e ,m e t am o d e lc o m p o s e do fa s p e c t sa n db a s em o d e lo fu m ld e s i g n m o d e l ( 5 )m e a n w h i l e ,w ed e s i g na n di m p l e m e n tas o f t w a r et o o lc a l l e dr m o d e l e rf o r s u p p o r t i n gr o l em o d e l i n g 。n o w , r m o d e l e rr u n sw e l la n di sp r o v e dt h a t p e r f o r m a n c ei sp r a c t i c a l ( 6 ) a tt h ee n do ft h i s p a p e r ,w ec r e a t e as o f t w a r ed e v e l o p i n gp r o c e s s f r a m e w o r kb a s e dr o l em o d e l su n i f i e ds t r u c t u r es oa st op r o m o t et h i s m e t h o d sa p p l i c a t i o n k e yw o r d s :r o l e ,r o l em o d e l ,s o f t w a r ep a r e m ,s p e c i f i c a t i o n s t r u c t u r e , s o f t w a r et o o l ,s o f t w a r e p r o c e s s 第i i 页 国防科学技术大学研究生院学位论文 表2 1 表3 1 表4 1 表目录 静态r m l 图的表示记号1 3 g o f 设计模式相关表3 3 a o p 与r m 4 3 第1 v 页 国防科学技术大学研究生院学位论文 图目录 图1 1u m l i 4 中软件模式的适用方法1 图2 1 对象模型化的4 个视点6 图2 _ 2 角色模型7 图2 3对象结构8 图2 4r m 类合成操作9 图2 5 角色模型合成操作1 0 圈2 。6r m 虑合成撵作 1 n 图2 7 角色模型置换操作。1 0 图2 8r m 分解技术:水平分割和垂直分割1 l 图2 9r m 综合技术集成的两种实现方式:合成和替换1 2 图2 1 0r m 的基本图元素,1 2 图2 1 1r o l e 的构造1 3 图2 1 2r o l et y p e 的例子1 4 图2 1 3 角色暗示一个例子1 5 图2 1 4 角色相当及使用示例1 5 图2 1 5 交互图中的消息格式、交互图1 6 图2 1 6 协作图中的消息格式、概念抽象的角色、协作图1 7 图2 1 7 角色包1 8 图2 1 8 关联继承的9 种模式1 9 图3 1 静态图的映射。2 1 图3 2r m l 的r o l e 向u m l 的c l a s s 的映射2 1 图3 3 交互图的映射。2 2 图3 4 包图的映射。2 2 图3 5 协作图的映射。2 2 图3 , 6 完整的对象建模:r o l e - t y p e - c l a s s 规约2 3 图3 7 一个完整的分析到设计的规约结构。2 5 图3 8 依存管理模式的角色模型。2 5 图3 9o b s e r v e r 设计模式的角色模型r m l 2 6 图3 1 0 事件通知模式的角色模型r m 2 2 6 图3 1 1 通知服务模式的角色模型r m 3 2 6 图3 1 2 观察模式的知识级和操作级描述2 7 图3 1 3 软件模式应用的结构层次2 7 第v 页 国防科学技术大学研究生院学位论文 图3 1 4a d a p t e r 模式的角色模型2 8 幽3 1 5b r i d g e 模式的角色模型2 9 图3 1 6 “计算工资”部分顺序图3 0 图3 1 7 “计算工资”的角色模型图3 0 图3 1 8 组合模式的方法3 1 图3 1 9 图3 2 0 图3 2 1 图3 2 2 图3 2 3 b r i d g e 模式中的h o o k 方法和t e m p l a t e 方法 a d a p t e r 模式中的h o o k 方法和t e m p l a t e 方法 转换后生成的类图 结构化的角色约束模型s r c m 角色的组合约束。 图3 2 4o b s e r v e r 模式的角色模型3 6 图3 2 5 p r o x y 模式的兔色模型。 图3 2 6 角色的组台及分配j 图3 2 7 数据处理模式角色模型3 7 图3 2 8 处理分配模式角色模型3 8 图3 2 9 数据管理一数据保存模式角色模型3 8 图3 3 0 数据修改部分的角色模型到类模型的转换 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 囟q , 图5 1 图5 2 图5 3 图5 4 图5 5 图5 , 6 图5 7 图5 8 图5 9 图5 1 0 a s p e c t s 和组合对象的关系 角色u s ec a s e 模型中扩充的部分图式。 “啤酒罐自动售货机”角色u 辩c f l s e 模型。 角色的正交组合 角色u s ee a s e 模型的映射体系结构 扩充u m l c l a s s i f i e r 和r e l a t i o n s h i p 的元模型元素 “罐装砗酒购买“角色u s ec a s e 和u m l 类结构 r m l 模型的定义和表示 3 9 4 2 4 4 4 6 4 7 静态图中的记号设计。5 l 动态图中的记号设计5 2 r m o d e l e r 主界面设计5 3 u m l 变换处理步骤5 4 r m o d e l e r 的u m l 变换功能示例。5 5 变换前的角色模型。5 5 变换后的u m l 结构图5 5 r m o d e l e r 支持的i n t e g r a t i o n 功能示例5 7 m e s s a g e 的属性编辑对话框5 7 第v i 页 国防科学技术大学研究生院学位论文 图5 1 lr m o d e l e r 的结构5 7 图5 1 2r m lt 具部分结构图 图5 1 3 模型控制部分结构示意图。5 9 图5 1 4 模型管理部分结构示意图6 0 墨5 i 5 ;v ,u d c k f 实现的简要类图i i 图5 1 6 一致性检查过程 图5 17u m l 的x m i 文件生成步骤6 3 图5 18项目中的包及类结构创建6 3 图6 1支持角色建模的软件开发过程框架a f i 蝴。6 5 图6 2 b a n k 系统组件结构图6 7 图6 3 系统分析的初期阶段u s ec a s e 的定义6 7 图6 4 系统设计阶段i 型u s ec a s e 和s 型u s ec a s e 的定义。6 9 图6 5 初始原型生成 第v i i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目:基王角鱼搓型煎丛佥堑到遮盐盟赶约坌擅煎盈塞 糊黼摊:卑吼州年罗月缅 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王角鱼搓型塑丛金堑到遮进鲍趣约丝控丝叠壅 学位论文作者签名: 作者指导教师签名: 叁进 薹立麦么 日期:弼年7 月2 函 日期:) 酊年夕月。7 日 国防科学技术大学研究生院学位论文 第一章绪论 1 1 研究背景 近年来,o m g ( o b j e c tm a n a g e m e n tg r o u p ) 提供的u m l ( u n i f l e dm o d e l i n g l a n g u a g e ) 从标准化到产业化,已被国际软件业界广泛应用,为软件建模、设计和 开发提供了有力的手段。u m l 虽然被广泛使用,但正如美国学者m a r t i n f o w l e r 等人所认为 3 9 】:u m l 在软件设计和实现上是一个十分有效的方法和建模语言,而 在软件系统需求分析方面,显得十分软弱。因此扩充u m l 的下一代u m l 研究正 被学界、产业界所期待。 u m l 中的类建模是反映对象共有相似性的抽象机制,有广泛的程序开发语言 支持,适用与软件设计和实现阶段,但对于概念建模的支持能力不足;在u m l 建 模的6 个视点中,与其它视点相比,u s ec a s e 法是一个缺陷较多的方法,从用例到 类结构跨度较大。 软件模式已成为软件工程基础研究和应用的一个热点。e r i c h g a m m a 等的专著 h 纠中首先提出了设计模式的概念,极大地促进了近代软件工程学的发展。m a r t i n f o w l e r 在专著1 4 0 1 提出了分析模式的概念,进一步为软件系统的分析提供了一些 可重用的对象模型、系统分析经验和知识。f r a n k b u s c h m a n n 等的专著【拍】中提出了 软件体系结构模式,同时提供了一些可重用的软件体系结构设计经验、方法及其 模式。j a v a 语言的广泛应用则提供了应用软件设计模式的范例。 图1 1u m l i 4 中软件模式的适用方法 u m l 并没有给出软件模式的有效的适用方法,u m l i 4 仅仅给予了如图1 1 所示的软件模式的适用方法,同时u m l 2 0 也没有给软件模式与支持【4 7 】。所以, 目i ;i 软件模式的适用方法完全由软件分析和设计人员自己判断、以实现继承的方 式进行手工性适用。 第1 页 国防科学技术大学研究生院学位论文 软件模式都是解决某个特定问题的详细设计方案,一般都用类结构图来表示, 无法实现从分析到设计的平滑,从而导致了在模式的应用中对模式的生搬硬套; 而u m l 支持的u 辩c a s e 驱动的从分析到设计的转换,同时与支持u m lu s ec a s e 驱动的r u p 方法相对应,还没有出现能一方面克服u s ec a s e 缺陷且支持软件模式 顺利运用的开发过程。 因此对于克服u m l 缺陷的后u m l 扩充,建立一个从分析到设计平滑过渡的 过捍椎塑和开发过程支持重用软件模式,其理论和应用研究对于软件产业都是 十分必要和可行的。 1 2 国内外研究进展 二十世纪七十年代挪威工业研究中心的报告中t r y g v er e e n s k a u g 和e l s e n o r d b a g e n 提出了一种软件开发方法o o r a s s l 7 1 ( o b j e c t - o r i e n t e dr o l ea n a l y s i s , s y n t h e s i sa n ds t r u c t u r i n g ) ,后来改名做o o r a m ( o b j e c t - o r i e n t e dr o l ea n a l y s i sa n d m o d e l i n g ) ,它的目标即是提供一种能在概念建模阶段( 分析设计) 、实现阶段 和配置阶段之间实现无缝转换的工具。o o r a m t s 】方法认为面向对象建模的本质应该 是将系统的模型建立为一个相互作用的对象结构,对一个对象的研究应该在其协 作者的上下文巾进行。基于这个出发点,为实现在概念层次上对系统的描述, o o r a m 方法中产生了一种新的抽象方法r m ( r o l em o d e l i n g ) ,用角色模型( r o l e m o d e l ) 作为基本建模单元来描述一个通过要求服务和提供服务而相互作用的对象 集合。 1 9 9 6 年的o o p s l s 会议中关于传统o m t 和j a c o b s o n s 的用例( u s ec a s e ) 之 间的不相容的讨论表明了o m t 的面向类的方法不能适应描述分布式对象系统。在 1 9 9 7 年7 月的o m gm a d r i d 会议上,r e e n s k a u g 将r o l em o d e l i n g 技术提交给 b u s i n e s so b j e c t 组织,得到了该组织的强烈赞同和认可1 9 1 ,包括m m ,t a s k o n ,o p e n 及至r a t i o n a l 在内的几家大公司都在将这个新的概念加进传统的o m t 中。 角色建模技术的历史可以追溯至j j - - 十世纪七十年代早期,它的第一个应用实 例是面向对象的造船厂的产量计划和控制系统【l o l 。1 9 9 9 年挪威奥斯陆大学的e g i l a n d e r s c n 1 完成了o o m m 中这个接术的理论基础的建立。 有一些相关工作直接添加进角色概念作为关键的建模概念丽没有发展一个完 善的设计或编程方法。 ( 1 ) k r i s t e n s e n 和o s t c r b y e 向s c a n d i n a v i a n 传统的概念建模和编程中引进了 角色概念i ”】。 ( 2 ) g o t t l o b u 习等人讨论了向面向对象数据库系统中引进角色概念从而更好支 持o o 数据库中对象的生命周期。 第2 页 国防科学技术大学研究生院学位论文 ( 3 ) w i e r i n g a ( “j 等也用了角色概念来为对象的生命周期建模。 ( 4 ) b a u m e r 等讨论了角色对象( r o l eo b j e z t ) 模式模型【1 5 】。 以上的相关工作都是关于个体对象和它的角色的,没有涉及到通过对象的角 色来描述协作性行为,也没有把角色应用于软件体系的设计。 d i j k s t m 提出通过“分而视之”原则对复杂问题提供简单的解决方案【l “。近几 年来很多研究者都在为了让对象系统比以前更易组合而努力着。 ( 1 ) l i e b e r h e r t 的d e m c t e r 方法、h a r r i s o n 和o s s h e r 的s o p ( s u b j e c t o r i e n t e d p r o g r a m m i n g ) 和k i c z a l e s 的a o p ( a s p e c t - o r i e n w , dp r o g r a m m i n g ) 等工作都在传 统类抽象机制的基础上研究了将现成的类结构或应用或框架等重新组合产生新的 类结构或应用或框架【1 7 1 8 ,1 9 。2 0 1 。 ( 2 ) 在r o p ( r o l e - o r i e n t e dp r o g r a m m i n g ) 工作中,v a n h i l s t 和n o t k i n 将o o 设计看作是对对象协作描述的组合,他们把对象协作描述成对象在协作工作中扮 演的对象的集合f 2 “2 2 1 。 ( 3 ) 在数据库编程中,a 1 b a i l o 等描述了如何用角色来实现数据模型 ( i m p l e m e n td a t am o d e l sw i t hr o l e s ) 瞄】,其数据库编程语言f i b o n a c c i 让开发者用对 象扮演的角色来描述数据模型。 o o m m 方法中的角色建模理论成为今天几乎所有角色相关工作的一个理论基 础和指导思想,也是本文最重要的理论基础。 a n d e r s e n 的论文紧随o o r a r n t l l 】。用类来对对象的信息( i n f o n i l a t i o n ) 内容进 行建模。a n d e r s e n 也强调了角色模型是实例层( i n s t a n c e 1 e v e l ) 模型。 u m l l 2 4 中对角色概念的支持表现在两方面:u m l 中类间关系可以定义成每端 贴加一个所谓的角色名称( 一个表明关系那端类的一个实例要扮演的角色) 。通 用u m l 机制可以添加其它规约,但现在还没有提供具体的角色建模支持:另一方 面,u m l 提供c o l l a b o r a t i o n 概念让开发者描述对象为完成一个具体任务如何协作。 c o l l a b o r a t i o n 让开发者指明结构而不是行为,它的表达能力大致与基本o o r a m 的 角色模型相当;但它缺乏如角色模型综合等的高级特性。 德国的d i r kr i e h l e 将角色建模方法引进了而向对象框架设计中【2 7 l 。d i r kr i e h l e 的基于角色建模的框架设计以r e e n s k a u g 的o o r a m 中角色建模技术以及a n d e r s e n 的理论为基础。 日本富士通公司结合了早期角色建模理论和r i e h l e 的为系统体系设计而建立 的角色建模理论,尝试开发了独立的的建模语言规约r m l ( r o l em o d e l i n g l a n g u a g e ) 1 2 8 1 。 r j w i r f s b r a c k 在其2 0 0 6 年的论文中m7 2 1 ,基于文献的职责驱动设计引入 角色扩展类型( r o l es t e r e o t y p e s ) 以标识和理解对象所做工作。 国内的研究现状:目前武汉大学 5 9 , 6 0 , 6 7 1 、南京大学【6 1 】等研究小组都在需求分析 第3 页 国防科学技术大学研究生院学位论文 的角色建模机制、形式化描述及实际开发应用等方面展开研究。 1 3 课题目标 本课题关注软件工程三要素之方法论研究,在基于角色模型的从分析到设计 合理过渡和易于使用软件模式方面展开研究工作,在面向对象的软件开发方法和 软件模式的基础研究等方面取得理论、方法、技术上的成果。 课题试图在扩充u m l 开发过程基础上,以克服u m l 需求能力较弱同时将对 软件模式的支持过分依赖于开发者自身等方面做一些工作,通过引入其它一些建 模视点和手段,如角色模型,设计基于此的从分析到设计的框架结构,达到软件 开发过程顺利、平滑过渡,并能正确、迅速、合理地重用软件模式,以提高软件 开发效率和质量的目的。 具体的研究目标是:研究角色和角色模型的理论基础及形式化表示,使全文 建立在一致的概念基础上;采用角色u s ec a s e 弥补u m lu s ec a 的不足;将角色 建模与类建模相结合,较好地使用软件模式,从而建立从分析到设计的新的规约 结构;建立一种与研究内容相适应的开发过程框架。 1 4 论文结构 在绪论之后,第二章将分别详细介绍角色和角色模型概念,着重讲述对象的 角色抽象机制与类抽象机制的适用范围:探讨角色模型的合成、组合、约束。在 第二章的研究基础之上,在第三章中,提出了基于角色模型的从分析到设计的规 约结构;第四章在u m lu s ec a 基础上引入角色模型,研究了角色u c a 法。 竽百章介绍了支持角色建模的c a s f 工具的设计和实现。之后的第六章根据第= 四、五章的研究成果,提出了一个软件开发中支持角色模型的开发过程框架及案 例分析。最后,第七章是结束语,对整个工作进行了总结,并提出了下一步的研 究方向。 1 5 本文的研究成果 本文针对软件产业基础设施中的需求和重用等关键技术中基于角色视点进行 了深入的研究和探索,针对u m lu s ec 鹤e 法在软件模式应用中出现的一些不尽人 意的地方,设计了角色u s ec a s c 这一u m l 扩充的分析方法:同时提出在分析阶段 即使用软件模式,引入了r o l e 模式并把它作为从分析阶段至类图设计阶段的中介, 第4 页 国防科学技术大学研究生院学位论文 建立了基于角色模型的从分析到设计的规约结构;在此规约基础上设计了对应的 开发过程框架和支持角色建模的c a s e 工具r m o d e l e r ,并在实际软件开发中得以 使用,对促进软件的工程化开发具有积极的作用。在研究期间,部分相关研究成 果以第一作者在国内核心期刊发表和在全国学术会议上交流( 见本文附录) 。 第5 页 国防科学技术大学研究生院学位论文 第二章角色与角色模型 2 1 角色模型 2 1 1 对象模型化的4 个视点 构造对象模型必须根据使用者的立场和视点来认识对象。如图2 1 所示,可以 将这些视点归纳为角色视点、类视点、接1 2 1 视点、数据一实体视点四个方面1 5 2 j 。 ( 1 ) 角色视点:在对象系统中,对象间的协调行为是模型化首先要考虑的重 要因素。在协调的对象模型中,一个对象所具有的角色必须与被协调对象的角色 相匹配。因此,角色视点在面向对象模型中描述对象存在的理由,角色模型抽象 地描述对象在系统协调行为中的作用。角色和类是两个不同的概念,角色从概念 上描述了类的行为,一个角色可以由多个类来实现,一个类也可以实现多个角色。 ( 2 ) 接口视点:描述对象在外观上的操作和行为的接口。 ( 3 ) 类视点:描述对象如何抽象和实现。注目于对象的属性和操作等结构规 范的描述。 劁塑虚 抽象描k 睁掺存在的理b l 揍1 :2 1 视点 类视占 肘慨上看对象 l 对象i 在结梅上描述如 的自毳作o i 模型l 何抽象对象,如 li 何实现对象 麴魁幽 视对象为数据实体,槿 型化实体及其实体之问 的关连。 图2 1 对象模型化的4 个视点 然而对于描述一种活动( a c t i v i t y ,即由一系列互相关联的对象通过相互协作而 麸同完成的某个任务或操作) 时,用类抽象存在以下问题: 1 、以共性为基础将对象“分类”成类是一种有效的分解策略,因为这样可以 大大减少要描述的实体个数,然而对于一个活动来说,它总是通过对象的交互 ( i n t e r a c t i o n ) 来完成的,所以活动是分布于参加活动的各个对象的。 2 、如果在协作中对象间交互方式是可变的,而交瓦方式的变化会引起对象状 态的变化从而又引起对象间所提供的服务的变化,要刻画这样一种活动时便需要 了解特定对象在活动中的状态变化,以及消息发送和接受的顺序。 3 、在容错系统应用设计中需要考虑一个服务被多个冗余对象支持的可能性存 第6 页 国防科学技术大学研究生院学位论文 夺昕叫痧结构设计和描述活动时要合理使用类层次的抽象。 ( 4 ) 数据一实体视点:视对象为数据实体,描述实体及其之间的关系。 基于r m 识别对象及其协调关系,并展开到类模型、接口模型、实体模型是 本章提倡的对象模型化方法。对于标识、描述和应用像软件模式这类可重用的软 件知识和经验,这样做是更加必要的。 2 1 2 角色模型 角色模型( r o l em o d e l ) 是一种全新的对象抽象机制,角色建模( r o l em o d e l i n g , 简称r m ) 是一种基于角色抽象的面向对象建模方法,角色抽象不同于通常面向对 象建模机制所支持的类抽象,它用一个角色刻画一个特定的对象,角色具有可标 识性和封装性;角色模型包含了一系列角色的集合,角色模型刻画对象交互作用 的主题、对象间的关系、对象协作时向协作者传送的消息以及模型信息的处理过 程。 这种抽象机制有如下几个特征:角色维持了对象的可标识性,角色模型刻顽 了相互协作的对象结构,这样的模型有利于研究系统的综合行为;r m 支持“分而 视之”原则,而其综合技术更使之具有强大的重用能力;角色的概念重视一个对 象在系统内存在的理由、责任和位置,角色模型规定了对象的作用及其作用的协 调关系,因此r m 适用于系统的需求分析和概要设计;r m 是在角色协作中对对象 的语义进行描述的,它提供了对对象的一种新的抽象机制,可以让用户成为信息 系统的一个部分;r m 与模式技术具有很好的一致性;r m 中接口描述提供了r m 抽象和类抽象的兼容。 ( 1 ) 用角色模型来描述一个活动 可以用角色模型来描述参加活动的对象以及对象间的交互作用。角色模型包 含一系列的角色,用角色来代表角色模型所描述的参与活动的对象,如图2 2 描述 了银行职员、顾客和信贷经理三种角色以及他们的协作关系。模型中的三个椭圆 形表示的角色分别代表参与信贷活动的不同对象,角色之问的线形表示了角色间 相应的交互路径,而交互路径两端的实心黑圈则包含了这个角色向外发出的消息 和提供的服务,消息和服务指向的是交互路径另一端的角色所代表的对象。 图2 2 角色模型 ( 2 ) 用角色模型来描述对象的交互结构 系统模型中每个对象都会有和其它对象的关联,而关联可以是显式也可以是 第7 页 国防科学技术大学研究生院学位论文 隐式的,因此一般可以用对象结构来包容模型中所有对象。例如下面的图2 3 表示 一个系统的对象结构,而几个虚线区域表示几个有覆盖的子结构。 图2 3 对象结构 角色模型抽象机制就是将这样的各个协作对象结构抽象成相应的角色模型, 而在对象结构中具有相同位置的这些对象抽象成角色。 就象类描述的是具有相同属性的对象的集合,角色模型描述的是具有相同交 互行为的对象结构的集合。个对象可以参加不同的对象结构,也就是可以在不 同的角色模型里扮演不同的角色;一个对象也可以参加由同一个角色模型所描述 的不同的对象结构,同时扮演几次相同的角色;同一个对象结构中的同一个对象 也可以在同一个角色模型中同时扮演多种角色,角色模型中可以出现 s e l f - i n t e r a c t i o n 的情况。 2 1 3 角色模型中的几个基本概念 2 1 3 1 角色模型的形式化定义 本节根据文献【1 1 】对角色建模中几个概念进行形式化定义。 ( 1 ) 角色的定义:角色是对象在相互协调的活动中所承担责任和作用的抽象, 可表示为r o l e = r , s ,b ,其中r 表示角色名r o l en a m e ,s 表示状态属性,b 表示 行为语义。 在概念建模初始阶段,r o l e 可以只有r o l en a m e 。 ( 2 ) 角色模型的定义: = f i + 】 i + 1 每个r o l em o d e l 在上一级模型范围内具有唯一的名,除了名之外,r o l em o d e l 可以有一个唯一的缩写来简化对名的引用。 ( 3 ) 角色模型中包含有限个数的角色。 = , r o l e 的名在它所在的r o l em o d e l 内唯一,而在不同r o l em o d e l 中的r o l e 都是不 同的r o l e ,无论名是否相同,在引用一个r o l e 时应指明它的名以及它定义所在的 r o l em o d e l 的名或缩写。 ( 4 ) 角色的属性通过一个r o l ep a t h 集合来定义: r o l ep a t h = : , ,) 第8 页 国防科学技术大学研究生院学位论文 r o l ep a t h 的定义通过引用同一个r o l em o d e l 中的其它r o l e 来实现,所以这里的 不需要限定它所在的r o l e m o d e l 名。r o l e p a

温馨提示

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

评论

0/150

提交评论