(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf_第1页
(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf_第2页
(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf_第3页
(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf_第4页
(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(系统工程专业论文)UML在三峡财务网上银行系统中的应用研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 ,信息系统的建模语言和建模方法是信息系统建设的重要内容。在开放式信息 系统建设中,对建模语言和方法的选取提出了更高的要求。本文主要讨论了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 与渐进模型法介 绍了建设信息系统的一般过程。1 随着软件工程和面向对象技术的发展,各种信息系统的建模语占和方法大量 提出,使得建立的系统模型之间难以交流,u m l 的产生建立了系统模型交流平台 的基础。 现行的各种信息系统的建设方法各有优缺点和适用范围,综合部分流行的信 息系统建设方法,提出了一种新的方法一渐进模型法。这种方法是以模型为中心、 迭代和增量的方法。强调以信息系统开发的不同阶段的模型为中- i i , ,将迭代和增 量的执行贯穿于整个信息系统开发过程中。并以三峡财务公司内部管理系统建设 为例介绍了u m l 同渐进模型法的结合。 开放、分布式信息处理参考模型r m o d p ( r e f e r e n c em o d e lo fo r i e l l d i s t r i b u t e dp r o c e s s ) 是i s o 定义的标准模型,文中指出了u m l 的各类符号表述同 参考模型中涉及分析和设计的前三个视图的对应关系,介绍在开放式信息系统建 设中u m l 与渐进模型法的结合。以三峡财务公司网上银行系统为例详细讲述 u m l 元素同参考模型对应关系以及u m l 与渐进模型法在开放式信息系统建设中 的应用。 在实际项目开发过程中,u m l 使信息系统建设的效率提高、风险降低,并使 开发人员、用户之间的交流变得更为容易、清晰。 关键词:u m l ,渐进模型法,软件工程t 信息系统,建楱参考模型 婀冬j 吼t 华中科技大学硕士学位论文 a b s t r a c t t h e m o d e l i n gl a n g u a g e s a n dm e t h o d so fi s ( i n f o r m a t i o n s y s t e m ) a r e t h e i m p o r t a n tp a r t so ft h e i sc o n s t r u c t i o n t h es e l e c t i o no ft h em o d e l i n gl a n g u a g ea n d m e t h o d si s r e q u e s t e d m o r eh i g h l yi nt h eo p e ni sc o n s t r u c t i o n t h ep a p e rm a i n l y d i s c u s s e st h er e s e a r c ha n da p p l i c a t i o no fu m l ( u n i f i e dm o d e l i n gl a n g u a g e ) i nt h ei s c o n s t r u c t i o n an e wm o d e l i n gm e t h o d ,t h ei m m ( i n c r e m e n t a lm o d e l i n gm e t h o d ) ,i s p r e s e n t e d t h en o r m a lp r o c e s si s i n t r o d u c e dt h r o u g ht h ei n t e g r a t i o no ft h eu m la n d i m m w i mt h e d e v e l o p m e n t o ft h es o f t w a r e e n g i n e e r i n g a n d o n e c t o r i e n t e d t e c h n o l o g y ,m a n ym o d e l i n gl a n g u a g e s a n dm e t h o d so fi sa r em e n t i o n e d t h e c o m m u n i c a t i o n sa m o n gd i v e r s es y s t e mm o d e l sb e c o m ed i f f i c u l t t h eb a s e m e n to f s y s t e mm o d e l sc o m m u n i c a t i o np l a t f o r m i sb u i l tw i t ht h ea p p e a r a n c eo f u m l a l lk i n d so fc u r r e n tc o n s t r u c t i o nm e t h o d sh a v et h e i ro w n a d v a n t a g e s , d i s a d v a n t a g e sa n ds u i t a b l ea r e a s a f t e rc u r r e n tc o n s t r u c t i o nm e t h o d sa r ec o m p a r e da n d a n a l y z e d ,t h en e wm o d e l i n gm e t h o d ,t h ei m m ,i sp r e s e n t e d t h i sm o d e l c e n t r i cm e t h o d i n c l u d e st h ec o n t e n to fi t e r a t i o na n di n c r e m e n t a n di te m p h a s i z e st h a td i f f e r e n tp h a s e m o d e l so ft h ei sb e c o m et h ec e n t e r t h ei t e r a t i o na n di n c r e m e n ta r eg o i n gt h r o u g ht h e w h o l ep r o c e s so fi sc o n s t r u c t i o n t h ei n t e r i o rm a n a g e m e n ts y s t e mo ft h r e eg o r g e s f i n a n c i a lc o r p l i m i t e d ( t g f c l ) i sg i v e na sa ne x a m p l eo ft h ei n t e g r a t i o nb e t w e e n u m l a n d i m m r m - o d p ( r e f e r e n c em o d e lo fo p e nd i s t r i b u t e dp r o c e s s ) i st h es t a n d a r dm o d e l d e f i n e d b yi s o ( i n t e r n a t i o n a lo r g a n i z a t i o n f o r s t a n d a r d i z a t i o n ) t h er e l a t i o n s h i p b e t w e e nu m ls y m b o ln o t a t i o na n dt h ef i r s tt h r e e v i e w p o i n t s o fr m o d pi s i l l u m i n a t e d a n dt h ei n t e g r a t i o no fu m la n di m mi nt h eo p e ni sc o n s t r u c t i o ni s m e n t i o n e d i na d d i t i o n ,i td i s c u s s e st h e s er e l a t i o n s h i p so f r m o d pa n du m ln o t a t i o n , a n da l s ot h ea p p l i c a t i o no fi m ma n du m lo nt h eb a c k g r o u n do ft h en e t b a n ks y s t e m o ft g f c l d u r i n gt h ep r o c e s so f t h ep r o j e c td e v e l o p m e n t ,u m lm a k e si tp o s s i b l et h a tt h e e f f i c i e n c yo fi sc o n s t r u c t i o ni si m p r o v e d ,a n dt h eh a z a r d i sr e d u c e d f u r t h e r m o r e , u m lm a k e si tm u c he a s i e ra n dc l e a r e rt oc o m m u n i c a t i o n sb e t w e e nd e v e l o p e r sa n d u s e r s k e y w o r d s :u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) ,i v i m ( i n c r e m e n t a lm o d e l i n g m e t h o d ) ,s o f t w a r ee n g i n e e r i n g ,i n f o r m a t i o ns y s t e m ,m o d e l i n g ,r e f e r e n c em o d e l n 华中科技大学硕士学位论文 1绪论 1 1 软件工程产生及其发展 随着社会的巨大进步,计算机系统的整体发展,新技术的不断涌现,使计算 机应用的需求迅速增加。而软件费用的增加,可靠性能下降,维护工作量增大, 出现了严重的“软件危机”。根本原因在于“手工作坊”式生产软件,难以适应和 满足软件应用的需求。为解决“软件危机”提出了统一、规范的开发软件的新理 论思想,即软件工程采用工程的原理和技术来开发和维护软件,更好地从管 理和技术两方面开发和维护软件。它的精髓是在软件开发过程中应用软件生存周 期的思想和结构化软件开发方法,以增强软件开发过程中的管理机制,保障软件 开发技术的严格落实。创建自动化、高可靠性、通用性好、易于维护的软件,这 成为计算机专业人员所追求的目标。 为此,许多学者提出一些理论思想,并总结出许多软件开发的方法步骤,如 瀑布型、原型模型、总体数据库规划模型。软件工程学的出现并不等于“软件危 机”的彻底结束,随着现代社会的高速进步,软件工业蓬勃发展,许多大型复杂 的软件项目,由于软件工程自身理论性强、实施方法的局限性,使得“软件危机” 依然存在。近年来出现了许多新的思想和方法,如新的软件开发模型、软件再用、 计算机辅助软件工程c a s e 、软件自动生成器、软件工程与人工智能等,促进了 软件工程的发展,奠定了软件工程学的基础,也从根本上使软件的生产产生了质 的飞跃。即软件生产的社会化、软件生产的自动化、软件生产的标准化。 1 1 1 软件生产的社会化 软件工程是一个新技术领域,它的提出是针对软件生产的“手工作坊”式的 个体化生产导致的软件危机的出现。软件本身的特点是专业人员从事的脑力劳动 的结果,很难达到通用性强、重用性好。如何能使一个软件具有生命力,适应面 广,应使其生产不仅仅局限于个别劳动,而是集体、社会化大生产。从参与简便 易学的一种生产,到可视化软件工程理论,面向对象的程序设计方法的出现,为 软件生产的社会化提供了强有力的工具,减少对程序设计、开发的重复投资与重 复劳动,以达到开发软件系统的整体速度和效益的提高。面向对象的程序设计方 法在软件的开发过程中以可重用性为中心,它构造软件的方法不再是仅从库中调 用函数,而是强调代码部件的可重用性,独立于具体的工作,高度重用,灵活性 强,即形成重用软件库的软部件【1 1 。就像搭积木一样,将这些软件适当组合即可 华中科技大学硕士学位论文 一褥季i 磊的百标系磊,也就达到软件生产的社会化。都能组装、都能拼结,不再是 个体专业人员的个体劳动,而是人人都能参与并切实可行。软件生产的社会化提 供了丰富实用的图形库和组合库,软件专业人员已不再绞尽脑汁为图形介面的美 观实用而发愁。 1 1 2 软件生产的自动化 软件线性组合自动化生产一直是软件工业中追求的目标。软件工程就是把软 件作为产品,像工业化生产一样生产软件,那么自动化生产是提高生产率的唯一 途径。自动化生产依赖于生产工具,工具和方法是软件工程的环境。软件工具经 历了单一工具、工具箱、集成化工具阶段,方法有结构化程序设计、j a c k s o n 方法、 w a m i e r 方法及o m t ( 对象建模技术o b j e c tm o d e l i n gt e c h n i q u e ) 、o o s e ( o b j e c t o r i e n t e ds e ) 等。最后人们梦想只是完成需求的定义就可以完成整个软 件的构造,就好像一个巨大的黑盒,应用某些开发环境就可以自动的生成软件产 品。 1 1 3 软件生产的标准化 软件生产的社会化和自动化都离不开软件生产的标准化,且更有利于软件重 用和通用,加速软件的制作,实现易维护、高可靠、易拼结的软部件| 1 1 。形式化 方法对软件工程的软件生产标准化起了关键作用。特别是面向对象的形式化方法 的发展,对形成完整的形式语义的定义起到了很好的作用,许多专家提出了面向 对象软件的形式描述语言,可以描述需求规范、概要设计和详细设计等。采用形 式化方法或形成一定标准的形式化方法,可实现软件开发的统一化、标准化,避 免不同方法的差异,提高软件重用效率,最终实现高效率的软件生产。 1 2 面向对象技术的发展 面向对象( o b j e c t o r i e n t e d ) 已经成为一个频频出现在各种程序分析、设计、 编程等书籍、杂志上,很多的文章和项目主要是进行面向对象分析设计 ( o b j e c t o r i e n t e da n a l y s i s d e s i g n ) 的应用和研究,这也是面向对象方法( o o m ) 的当前的主要应用。关于面向对象的一些概念如类、封装、层次与继承、聚合、 联合和多态性等,就不在此赘述了【2 】。在面向对象之后又有人提出面向组件和面 向接口的方法,实际上可以将面向组件和面向接口看成特殊的抽象的更加具体的 “对象”:现在人们又提出g p 思想( g e n e r i cp r o g r a m m i n g ,泛型编程) ,这是一个 更加高层次的抽象、是一个高可重用性、低耦合关系的方法,m i c r o s o f t 积极倡导 2 华中科技大学硕士学位论文 g p 并提出高效的s t l ( s t a n d a r d t e m p l a t e l i b r a r y ) 实现。 回顾从顺序编程一 面向对象编程一,面向组件编程一,泛型编程,可以看到这 是一个更加概括、更加抽象的提升,用以来获得更高的可靠性、可重用性、可扩 展性和可维护性。 现在很多公司都进行了更高层次上的实现工具和开发环境的研究,用以适应 上述编程方法、思想的变化,其中m i c r o s o f t 、r a t i o n a l 、毋m 等更是积极。其中 以m i c r o s o f t 的n e t 、s u n 的j 2 e e ( j a v a2p l a t f o i i t ie n t e r p r i s ee d i t i o n ) 以及r a t i o n a l 的r o s e 为代表。实际上m i c r o s o f t 的n e t 、s u n 的j 2 e e 均是一个框架型的概念, 其中包含了面向对象或组件的开发工具和思想:而r a t i o n a l 公司的r o s e 就是应用 软件工程的思想指导面向对象组件开发的工具,加之r u p ( r a t i o n a lu n i f i e d p r o c e s s ) 的实施方法,已经成为众多开发商的首选。 1 3u m l ( u n i f i e dm o d e ii n gl a n g u a g e ) 的提出 从七十年代兴起的面向对象技术现在已经占据了软件开发过程的主导地位。 其中,建模可视为面向对象分析和设计的核心,也是分析和设计过程中最基本和 最关键的活动之一。面向对象的分析和设计是从建模开始,建模语言则一直是面 向对象技术的研究重点。从1 9 8 9 年到1 9 9 4 年,建模语言数量从不到十种增加到 五十多种,如a p p l a 是基于文法、以程序语言形式来描述模型的语言s l a n g 是建立在高级p e t r i 网体系上的过程建模语言,近期还有国内的北京航空航天大学 软件工程研究所与美国i s s i ( i n t e r n a t i o n a ls o f t w a r es y s t e m s ,i n c ) 公司合作研究 与开发的系统建模语言可视化系统建模语言v s m l ( v i s u a ls y s t e mm o d e l i n g l a n g u a g e ) 等等【3 】除此之外还有不少公司在自己出产的建模工具中定义了自己 的建模语言标准。方法更是很多,最引人注目的是b o o c h 方法、o m t 方法( 对 象建模技术) 以及o o s e 方法( 面向对象的软件工程方法) 。各种建模语言和方法 实际上各有千秋,但是总是存在某些差别,这极大地妨碍了用户之间地交流【4 】。 u m l 的根本动机是想集成包括基于不同抽象层次、不同应用领域、不同体系 结构、不同开发阶段以及不同实现技术在内的各种先进工业方法。u m l 的开发始 于9 4 年8 月,r a t i o n a l 公司的g r a d yb o o c h 和j i mr u m b a u g h 着手进行统一b o o c h 方法和o m t ( 对象建模技术) 的工作。9 5 年1 0 月发表了统一方法( t h eu n i f i e d m e t h o d ) 的初版( 0 8 版) 1 3 1 。同年秋天,i v a rj a c o b s o n 加盟联合开发小组,并力 图把o o s e 方法( 面向对象的软件工程方法) 也统一进来。b o o c h 、r u m b a u g h 和 华中科技大学硕士学位论文 使用面向对象的概念构造系统( 不仅仅指软件系统) 模型: 建立设计框架与代码框架间明确的联系: 解决复杂的、以任务为中心的系统内在规模问题; 开发人与机器通用的建模语言。 经过b o o c h 、r u m b a u 曲和j a c o b s o n 的不懈努力,u m l 0 9 和o 9 1 版在1 9 9 6 年的6 月和l o 月分别出版。经多方努力,u m l i 0 版终于在1 9 9 7 年1 月发布。 现在广泛应用的是u m l l 3 版本。开发应用于面向对象的分析和设计的表示并不 象设计一门编程语言那么简单。首先,要考虑到表示法是否能够表达系统的开发 需求,是否要把表示法设计成形象化的语言。其次,设计者需要在表达能力的简 洁程度之间作折衷。如果设计者欲统一已有的一些方法,则还要照顾到过去的基 础。因此,u m l 的定义要在这几个方面权衡利弊。u m l 融合了b o o c h 方法、 o m t 方法以及o o s e 方法等方法中的基本概念,集众家之长,并对现有方法的应 用范围进行扩展,因此受到了业界和用户的普遍欢迎【3 】。 在美国u m l 已经获得了各个行业的广泛应用,1 9 9 7 年1 1 月1 7 日,u m l 被 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 m l 论坛遍布网络上,越来越多的软件开发公司、高 校等都将目光投向了眦。 1 4 课题背景 三峡财务公司内部管理系统是三峡财务公司网上银行系统的子系统,三峡财 务公司网上银行系统包括网上交易系统、c a 认证系统、营业部前台结算系统、综 合查询系统、网上股票查询交易系统和内部管理系统( 也称综合管理系统) 等子 系统”l ,这些子系统是由北京时代软件公司、深圳紫金公司和武汉智维信息系统 工程公司等共同建设的,各个子系统之间存在着大大小小的接口,需要每个公司 都能够及时的沟通和交流,特别是在系统分析和设计阶段,需要为以后子系统的 无缝组合创造一个良好的基石。每个公司都有自己的软件开发规则和程序,加上 一些编程和设计人员的个人习惯,统一的建模语言和模型表示便成为及时沟通和 交流的基础。几家公司都选择了u m l 为建模语言,选择了r a t i o n a l 公司的r o s e 为建模工具。 三峡财务公司内部管理系统主要是同综合查询系统以及营业部前台结算系统 4 华中科技大学硕士学位论文 - - _ - _ _ 一- _ _ _ _ _ _ _ _ _ _ _ - _ _ - _ - l - _ _ _ - ! _ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 1 1 弱獗磊两丽丽面野f 丙酾甄醺甄两霸藏j 瓢霸丕丽磊罹面吾而i 。一 作,包括保险金管理、固定资产管理、文档管理、工资管理、劳动合同及人事档 案管理、考勤管理和文档礼品管理一j 。 内部管理系统是一个典型的c l i e n t s e r v e r 模式( 客户机服务器模式) ,后台数 据服务器是m i c r o s o f ts q l s e r v e r 7 0 、后台操作系统是m i c r o s o rw i n d o w s n t 4 0 , f i f 台操作系统是m i c r o s o f tw i n d o w s 9 x n t 2 0 0 0 。客户端和服务器端直接通过 t c p f l p 协议进行连接和传递数据口1 。 由于内部管理系统和综合查询系统均采用了w i n d o w s n t 4 0 作为服务器端操 作系统、s q l s e r v e r 7 作为后台数据库管理系统,故而使内部管理系统同综合查询 系统共用一台服务器和一个数据库管理系统。两个系统间的数据实现部分共享, 数据接口是内部的。内部管理系统同营业部结算系统也有部分的数据交换,营业 部结算系统服务器采用s c ou n i x 为操作系统、i n f o r m i x 为数据库管理系统,这 两个系统的接口为外部的并且是跨平台的,通过消息传递中间件c m p 实现数据接 口。系统结构图如图1 1 所示】。 客户端c l i e n t w i n d o w 9 x n f f 2 0 0 0 请求r e q u e s t 局域网t c p i p 结果r e s u l t 营业部结算系统 服务器端s e r v e r s c o u n i x i n f o r m i x 蠼 内部管理系统i 服务器端s e r v e rl w i n d o w s n “ s q l s e r v e r 7 0 i 内部数据接口 综合查询系统 服务器端s e r v e r w i n d o w s n t 4 s q l s e r v e r 7 0 图1 - 1内部管理系统结构图 华中科技大学硕士学位论文 1 5 论文的主要内容 本文以三峡财务公司内部管理系统和网上银行系统为背景和对象,讲述了 u m l 在信息系统建模过程中的实际应用,本文的叙述作如下的安排: 第一章( 本章) 介绍了软件工程相关领域的情况,面向对象技术的发展以及 简单介绍了研究课题的背景等。 第二章介绍了u m l 的语义、组成部分,并简介了支持u m l 的工具。 第三章提出了新的信息系统建设方法一渐进模型法,分析了u m l 的一般建 模过程,并在三峡财务公司内部管理系统建设的例子中说明了渐进模型法和u m l 结合。 第四章则以三峡财务公司网上银行项目为例介绍了u m l 和渐进模型法在构 建开放式信息系统的r m o d p 中的应用。 第五章对全部总结并展望。 华中科技大学硕士学位论文 2u m l 的介绍 2 1u m l 的语义 u m l 是面向对象开发中的一种通用、统一、图形化模型语言。l f m l 的语义 描述基于u m l 的精确元模型定义。元模型为l t m l 的所有元素在语法和语义上提 供了简单、致、通用的定义性说明,使开发者能在语义上取得一致,消除了因 人而异的最佳表达方法所造成的影响。此外l v l 还支持对元模型的扩展定义。 u i v i l 所提供的视见元素构件可以设计、表达复杂的面向对象软件的体系结 构。u m l 模型元素的扩展机制支持建立在域分析基础上的模型元素到视见元素的 映射关系。讧l 统一的表示法体系可以支持任何基于0 0 的方法学。以上这些特 点都是基于u m l 具有一种简单、通用、明确的抽象模型理论元模型理论”。 2 1 1 元模型的分层结构 元模型是描述模型的语言。它能对模型的语法和语义提供简单、通用、明确 的描述,为u m l 要素的语法和语义作出简单、一致的定义性说明,而它本身则 是用元递归的方式定义的用u m l 记号表示法和语义的一个子集作自我说明 ( 类似于用编译器作自编译的方式来自行扩展) 。 在u m l 语义文档中描述的u m l 元模型,定义了l r m l 表示对象模型的完整 语义。元模型的概念框架基于一个四层的体系结构:元元模型( m e t a m e t a m o d e l ) 、 元模型( m e t a m o d e l ) 、模型( m o d e l ) 和用户对象( u s e r o b j e c t ) i s 。 ( 1 ) 元元建模层( m e t a m e t am o d e l i n g ) 构成了元建模( m e t am o d e l i n g ) 体 系结构的基础结构。这一层的主要责任是定义描述元模型的语言。它比元模型具 有更高的抽象级而且更加简洁。无论是元模型还是元元模型都保持着自己设计的 完整性。 ( 2 ) 元模型是元元模型的实例。元模型层的主要责任是定义描述模型的语言。 元模型比定义自身的元元模型更加精细,尤其是当它们定义动态语言时。 ( 3 ) 模型是元模型的实例。模型层的主要责任是定义描述信息论域的语言。 ( 4 ) 用户对象是模型的实例。用户对象层的主要责任是描述特定的信息论域。 2 1 2 模型语义的形式化 当用户借助视见元素表示模型元素时,其语义解释不够准确。u m l 提供形式 化语占o c l ( 对象约束语言,o b j e c t c o n s t r a i n t l a n g u a g e ) 并以一阶谓词逻辑模型 描述,但其语言的约束只能准确刻划静态语义,对于动态语义还必须以自然语言 华中科技大学硕士学位论文 型中不能充分表达的建模信息。它是一种形式化的语言,但容易书写和阅读。作 为一种建模语言,它并不表示实现方面的问题。就是说,它是用来对模型作详细 说明的,而不是可编译执行的。 u m l 在给出自身的语义说明时就运用了自然语言的办法,对每个逻辑包都给 出了三个层次的说明: ( 1 ) 抽象的语法( a b s t r a c ts y n t a x ) 。由一个u m l 类图给出各元类之间的关 系。 ( 2 ) 良构的规则( w e l l f o r m e d n c s sr u l e s ) 。用形式语言o c l 表达无边界效 应的约束。 ( 3 ) 语义( s e m a n t i c s ) 。用自然语言描述引入的新概念和动态语义 8 1 。 总之,u m l 元模型是由图形表示法、自然语言和形式化语言组成的描述, 这种合成强调表述性和易读性之间的平衡。 2 2u m l 的组成块 组成i h v f i 有三种基本的组成块: 事物( t h i n g s ) ;关系( r e l a t i o n s h i p s ) :图( d i a g r a m s ) 事物是u m l 中重要的组成部分。关系把事物紧密联系在一起。图是很多有 相互关联关系的事物的组。 2 2 1 u m l 的事物“1 l v l 中有四种类型的事物: 结构事物( s t r u c t u r a l t h i n g s ) 、动作事物( b e h a v i o r a l t h i n g s ) 、分组事物( g r o u p i n g t h i n g s ) 和注释事物( n o t a t i o n a lt h i n g s ) 。 这些事物是u m l 模型中最基本的面向对象的建筑块。它们在模型中属于最 静态的部分,代表概念上的元素。 22 1 1 结构事物 总共有七种结构化事物。 首先是类( c l a s s ) ,类是描述具有相同属性、方法、关系和语义的对象的集合。 一个类实现一个或多个接口。在u m l 中类被画为一个矩型,通常包括它的名字、 属性和操作( 也称方法) 。 第二种是接口( i n t e r f a c e ) ,接口是指类或组件提供特定服务的一组操作的集 华中科技大学硕士学位论文 否。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类 或组件的全部动作,也可以只实现一部分。接口在u i v l l 中被画成一个圆和它的 名字。 第三种是协作( c o l l a b o r a t i o n ) ,协作定义了交互的操作,是一些角色和其它 元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作 具有结构化、动作化、维的特性。个给定的类可能是几个协作的组成部分。这 些协作代表构成系统的模式的实现。协作在u m l 中用一个虚线画的椭圆和它的 名字来表示。 第四种是用例( u s ec a s e ) ,用例是描述一系列的动作,这些动作是系统对一 个特定角色执行,产生值得注意的结果的值。在模型中用例通常用来组织动作事 物。用例是通过协作来实现的。在u m l 中,用例画为一个实线椭圆,通常还有 它的名字。 第五种是活动类( a c t i v ec l a s s ) ,活动类是这种类,它的对象有一个或多个进 程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是 同时存在的。在u m l 中活动类的画法和类相同,只是边框用粗线条。 第六种是组件( c o m p o n e n t ) ,组件是物理上或可替换的系统部分,它实现了 一个接口集合。组件在u m l 中用如下的图表示: 第七种是结点( n o d e ) ,结点是一个物理元素,它在运行时存在,代表一个可 计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一 个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示: 类、接口、协作、用例、活动类、组件和结点这七个元素是在u l 模型中 使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角色、信 号( 某种类) ,进程和线程( 某种活动类) ,应用程序、文档、文件等。 2 2 1 2 动作事物 动态事物是u m l 模型中的动态部分。它们是模型的动词,代表时间和空间 上的动作。总共有两种主要的动作事物。 第一种是交互( i n t e r a c t i o n ) 交互是由组对象之间在特定上下文中,为达到特定的目的而进行的一系列 消息交换而组成的动作。在交互中组成动作的对象的每个操作都要详细列出,包 括消息、动作次序( 消息产生的动作) ,连接( 对象之间的连接) 。在u m l 中消 息画成带箭头的直线,通常加上操作的名字。 第二种是状态机( s t a t em a c h i n e ) ,状态机由一系列对象的状冬组成。在u m l 华中科技大学硕士学位论文 中状态表示为下图: 交互和状态机是u m l 模型中最基本的两个动态事物元素,它们通常和其他 的结构元素、主要的类、对象连接在一起。 2 2 1 - 3 分组事物 分组事物是u m l 模型中组织的部分,可以把它们看成是个盒子,模型可以 在其中被分解。总共只有种分组事物,称为包( p a c k a g e ) 。 包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组 事物都有可能放在一个包中。与组件( 存在于运行时) 不同的是包纯粹是一种概 念上的东西,只存在于开发阶段。在u 1 l 中用如下图表示包: 2 2 1 4 注释事物 注释事物是u m l 模型的解释部分。 2 2 2 u m l 中的关系 l 兀l 中有四种基本的关系鸭 依赖( d e p e n d e n c y ) ;关联( a s s o c i a t i o n ) :一般化( g e n e r a l i z a t i o n ) ;实现 ( r e a l i z a t i o n ) 2 2 3u m l 中的图 用视见元素描述模型元素是面向对象建模方法的一大特点。u “l 符号的表 示法也定义了视见元素,并为开发者或开发工具使用这些图形符号和文本语法进 行系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义 上它是u m l 元模型的实例。还应注意到l t m l 表示法同u m l 语义之间具有相 互解释、相辅相成、密不可分的关系。 u m l 表示法的主要内容可由下列五类图( 九种模型图) 来定义【3 1 【” 第一类是用例图( u s ec a s ed i a g r a m ) 从用户角度描述系统功能,并指出各功能的操作者。 第二类是静态图( s t a t i cd i a g r a m ) 包括类图( c l a s sd i a g r a m ) 、对象图( o b j e c td i a g r a m ) 。 其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联 系如关联、依赖、聚合等,也包括类的内部结构( 类的属性和操作) 。类图描述的 是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几 乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例, 而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此 对象图只能在系统某时间段存在。包由包或类组成表示包与包之问的关系。 华中科技大学硕士学位论文 特殊形式。有些人将包图从类图中分出,这也就是为什么在国内的有些文章将 u m l 的表示法说成是五类图( 十种模型图) 的原因。 第三类是行为图( b e h a v i o rd i a g r a m ) ,描述系统的动态模型和组成对象问的交 互关系。 包括状态图( s t a t e c h a r td i a g r a m ) 和活动图( a c t i v i t yd i a g r a m ) 。 其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。 通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那 些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描 述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。 第四类是交互图( i n t e r a c t i v ed i a g r a m ) ,描述对象间的交互关系。 包括顺序图( s e q u e n c ed i a g r a m s ) 和合作图( c o l l a b o r a t i o nd i a g r a m ) 。 其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序, 同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似, 显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之 间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择 合作图。 第五类是实现图( i m p l e m e n t a t i o nd i a g r a m ) 。 包括构件图( c o m p o n e n td i a g r a m ) 和配置图( d e p l o y m e n td i a g r a m ) 。 其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可 能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实 现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。配置图定 义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备( 用节点表示) 以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内 部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。 2 3 u m l 的主要特点 u m l 统一了b o o c h 、o m t 和o o s e 等方法中的基本概念。 u m l 还吸取了面向对象技术领域中其他流派的长处,其中也包括非0 0 方法 的影响。u m l 符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、 多余的和极少使用的符号,也添加了一些新符号。因此,在u m l 中汇入了面向 华中科技大学硕士学位论文 者们依据最优秀的o o 方法和丰富的计算机科学实践经验综合提炼而成的。 u m l 并在演变过程中还提出了一些新的概念。在u m l 标准中新加了模板 ( s t e r e o t y p e s ) 、职责( r e s p o n s i b i l i t i e s ) 、扩展机制( e x t e n s i b i l i t ym e c h a n i s m s ) 、 线程( t h r e a d s ) 、过程( p r o c e s s e s ) 、分布式( d i s t r i b u t i o n ) 、并发( c o n c u r r e n c y ) 、 模式( p a t t e m s ) 、合作( c o i l a b o r a t i o n s ) 、活动图( a c t i v i t yd i a g r a m ) 等新概念, 并清晰地区分类型( t y p e ) 、类( c l a s s ) 和实例( i n s t a n c e ) 、细化( r e f i n e m e n t ) 、 接口( i n t e r f a c e s ) 和组件( c o m p o n e n t s ) 等概念”“。 另外u m l 还具有定义良好、功能强大、图形元素丰富等基本特点。 2 4 u m l 的支持工具 统一建模语言i h 咀,定义良好、易于表达、功能强大、不仅支持面向对象的 分析与设计,而且支持从需求分析开始的软件开发的全过程。但如何恰当地将这 种可视化图形建模技术用于解决软件开发所面临的问题,如何研制和开发支持 u m l 的建模及其支持环境,仍是目前该领域的热点问题。目前,在基于u i v i l 的 歼发方法和环境方面,国际上已经进行了一些研究和实际开发工作,已形成产品 的支持u i v i l 的工具有微软的m i c r o s o f tv i s u a lm o d e l e r 、v i s u a lo b j e c tm o d e l e r s 公 司的v i s u a lu m l 、以及r a t i o n a l 公司r a t i o n a lr o s e 。国内对u m l 支持环境的研 制开发工作尚处于起步阶段。 2 4 1r a t i o n a ir o s e r a t i o n a lr o s e ( r a t i o n a lo b j e c t o r i e n t e ds o f t w a r ee n v i r o n m e n t ) 目前在面向对 象分析、建模、设计工具市场上起着主导作用。其特点如下: 支持u m l 对象建模符号标准。r a t i o n a lr o s e 提供完整的u m l 支援。由系统 分析、设计、至程序设计,均可用u m l 来表示。u m l 让系统开发的所有参与者, 在此世界通用的建模语言的基础上沟通刈 支持构件化软件发展。对复杂系统而言,构件式的软件开发已跃升为最有效 率的模式。r a t i o n a lr o s e 允许使用者构造构件图( c o m p o n e n td i a g r a m ) ,清楚地表 达构件及其介面之间的关联。 支持多种语言的软件开发。在大型软件开发中,使用数种的程序语言是很常 见的。r a t i o n a lr o s e 企业版提供了多种语言的支援,让使用者可以发展不同程序 语言的构件。r a t i o n a lr o s e 可从模型产生c 抖、j a v a 、v b 、d e l p h i 、p o w e r b u i l d e r 、 华中科技大学硕士学位论文 s m a l l t a l k 或a d a 的程序代码。 反复式工程( r o u n d t r i pe

温馨提示

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

评论

0/150

提交评论