




已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)基于uml和com技术的课件转换工具系统实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
垩塑! 查堂堡圭兰垡笙茎 生塞塑塞 摘要 本论文所研究的课题是国家科技部“十五”科技攻关项目“课件制作与转换 工具”项目的一部分。 u m l 是r a t i o n a l 公司制定的用于描述、可视化和构架软件系统以及商业 建模的语言,它涵盖了面向对象的分析、设计和实现,融合了早期面向对象建模 方法和各种建模语言的优点,为面向对象系统的开发、软件自动化工具与环境提 供了丰富的、严谨的、扩展性强的表达方式。u m l 建模语言是种定义良好、 易于表达、功能强大且使用广泛的建模语言,它溶入了软件工程领域的新思想、 新方法、新技术。它统一了面向对象的基本概念,术语及图形符号,为人们建立 了便于交流的语言。 c o m ( c o m p o n e n t o b j e c t m o d e l ,组件对象模型) 结合了面向对象技术和组 件技术两种特性。它是一种基于二进制标准与编程语言无关的软件构架。语言无 关性、进程透明性、可重用性和安全性是c o m 的主要特性,因此中间层的代码 是以可重用的二进制的组件形式存在的。组件程序设计就是将复杂的应用程序设 计成一些小的、功能单一的组件模块,这些组件模块可以运行在同一台机器或不 同的机器上,甚至不同的操作系统上。基于c o m 的程序设计使软件以即插即用 的方式进行升级和维护,降低了成本,提高了软件生产的效率。 随着教育和多媒体技术的发展,课件在教学中起着越来越重要的作用。课件 制作的工具也越来越多,但是传统的课件制作工具在研制技术上缺乏系统的理论 分析,没有遵循统一的标准。以至于在开放性和可扩展性方面存在诸多缺陷,例 如不能和资源库有机集成。国家科技部“十五”科技攻关项目“课件制作与转换 工具”是网络教育平台的核心软件,是教育部网络教育关键技术及示范工程项目 之一。该项目的目标是研制简单易学易用的课件制作工具,使普通教师能制作出 体现各种教学方法和教学模式的课件和课程,学生能够进行个性化的学习。课件 转换工具系统是课件制作工具的子项目,它的目的是为了把不合标准的w e b 、p p t 和视频流课件转换为合乎标准的课件,提高课件的共享性和复用性。 本论文最后结合c o m 和u m l 实现了国家科技部“十五”科技攻关项目“课 件制作与转换工具”项目。 关键字:c o m ,u m l ,课件,课件制作与转换工具,课件转换工具 皇星:! ! ! 塑主兰垡堡茎 茎壅塑墨 a b s t r a c t w h a tt h i sd i s s e r t a t i o nr e s e a r c h e di sa p a r to f c o u r g e w a r em a k i n ga n ds w i t c ht o o l s p r o j e e l ,s u p p o r t e db y t h e s c i e n c e t e c h n o l o g yp r o j e c t o ft h en a t i o n a l t e n t h f i v e - y e a r - p 1 a l l o f c h i n a t h eu n i f i e d m o d e l i n gl a n g u a g e ( u m l ) ,w h i c hi sd e s i g n e db yr a t i o n a ls o f t w a r e c o r p o r a t i o n ,p r o v i d e ss y s t e ma r c h i t e c t sw o r k i n go no b j e c ta n a l y s i sa n dd e s i g nw i t h o n ec o n v e n i e n tl a n g u a g ef o r s p e c i l y i n g , v i s u a l i z i n g ,c o n s t r u c t i n ga n dd o c u m e n t i n gt h e a r c h i t e c t so fs o f t w a r es y s t e m s u m li st h e c o n v e r g e n c eo fb e s tp r a c t i c e si nt h e o r i e n t e d - t e c h n o l o g yi n d u s t r y a n di ti sar i c h ,p r e c i s e ,e x t e n s i b l em o d e l i n gl a n g u a g ef o r o b j e c t o r i e n t e ds y s t e md e v e l o p m e n t a n ds o f t w a r e d e v e l o p i n g a u t o m a t i o n e n v i n r o n m e n t u m li st h e r e p r e s e n t a t i o n o fe x c e l l e n ts o f a f a r e e n g i n e e r i n g m e t h o d o l o g yw h i c hi sa p p r o b a t e di nl a r g e s c a l ea n dc o m p l e xm o d e l i n gf i e l d u m l u n i f y st h eb a s i cc o n c e p t i o n ,t e c h n i c a lt e r m sa n dg r a p h i c ss y m b o lo fo b j e c t - o r i e n t e d i n d u s t r y , i tp r o v i d e sa c o n v e n i e n t l a n g u a n g ee a s y t oc o l n m u c a t i o nf o ru s c o m ( c o m p o n e n to b j e c tm o d e l ) i n t e r g m t e st w oc h a r a c t e r s :o b j e c tt e c h n i q u ea n d c o m p o n e n tt e c h n i q u e i t r e f e r st oas o f t w a r ef r a m e w o r k ,b a s e do nb i n a r ys y s t e m , r e g a r d l e s so f t h eo p e r a t i n gs y s t e m a n d p r o g r a m m i n gl a n g u a g e s ,w h i c hi sp r o d u c e db y m i c r o s o f tc o c h a r a c t e r i s t i c so fl a n g u a g ei n d e p e n d e n t ,p r o c e s st r a n s p a r e n t ,s o f t w a r e r e u s e da n dm o r es e c u r ea r ef u n d a m e n t a lo fi t t h ea i mo fc o m sp r o g r a m m i n gi st o d i v i d et h e a p p l i c a t i o n i n t o d e p e n d e n t m o d e l s ,e v e n d i f f e r e n to s i t i n t e g r a t e f u n c t i o n s o f t w a r ei n t oa p p l i c a t i o nb yp l u g a n d - p l u gm o d e ,w h i c hm a k e st h es o f t w a r e e a s y t od e s i g n ,u p g r a d e ,m a i n t a i na n dr e d u c et h ec o s t 、 w i t ht h ed e v e l o p m e n to f e d u c a t i o na n dm u l t i m e d i a ,c o u s e w a r ei sb e c o m i n gm o r e a n dm o r ei m p o r t a n ti nt e a c h i n g t h e r ea r em o r e a n dm o r ec o u r s e w a r em a k i n g t o o l s , b u t t h ec o n v e n t i o n a lc o u r s e w a r em a k i n gt o o l sa r el a k eo fs y s t e m i ca n da c a d e m i ca n a l y s e s a n dd o n o tc o n f o r mt oo n es t a n d a r d ,s ot h e yh a v em a n y l i m i t a t i o n si ne x p a n s i b i l i t ya n d o p e n i n g f o re x a m p l e ,c o u r s e w a r ec a n n o ti n t e g r a t ew i t hr e s o u r c es y s t e me a s i l y t h e c o u r s e w a r em a k i n ga n ds w i t c ht o o l sp r o j e c t ,s u p p o r t e db yt h es c i e n c e t e c h n o l o g y p r o j e c to f t h en a t i o n a l t e n t hf i v e y e a r - p l a n o fc h i n a ,i sa c o r es o f t w a r ei nn e t w a r e e d u c a t i o n s y s t e m t h et a r g e t o ft h e p r o j e c t i s d e v e l o p i n gs t u d y i n g - e a s i l y a n d u s i n g e a s i l yc o u r s e w a r em a k i n gt o o l s ,w i t h i tt e a c h e r sc a nm a k ec o u r s e w a r e sa n d c o m e sw h i c hs h o wa l lk i n d so ft e a c h i n gw a y sa n dt e a c h i n gp a t t e r n s ,s t u d e n t sc a n 重庆大学硕士学位论文 英文摘要 s t u d yi n d i v i d u a l l y t h ec o u r s e w a r es w i t c ht o o l sp r o j e c t i sa p a r to f c o u r s e w a r em a k i n g a n ds w i t c ht o o l sp r o j e c t c o n v e r t i n gw e b ,p p ta n dv i d e oc o u r s e w a r e sw h i c hc a n n o t c o n f o r mt oo n es t a n d a r dt on o r m a lc o u r s e w a r e sa n de n h a n c i n g t h es h a r ea n dr e u s eo f c o u r s e w a r e sa r et h et a r g e to f t h ec o u r s e w a r es w i t c h t o o l sp r o j e c t a tl a s tw e d e v e l o p e dc o u r s e w a r em a k i n ga n d s w i t c ht o o l sp r o j e c t ,s u p p o r t e db y t h es c i e n c e t e c h n o l o g yp r o j e c to f t h e n a t i o n a l t e n t hf i v e y e a r - p l a n o fc h i n a , b a s e d o n u m l a n d c o m k e v w o r d s :u m l ,c o m ,c o u r s e w a r e , c o u r s e w a r em a k i n g a n ds w i t c h t o o l s ,c o u r s e w a r es w i t c h t o o l s i l l 墅盔兰堡主堂垡丝塞 ! 堕笙 l绪论 1 1 问题的提出及研究意义 1 1 1 问题的提出 随着教育和多媒体技术的发展,课件在现在教学中起着越来越重要的作用。 课件制作的工具也越来越多,但是传统的课件制作工具在研制技术上缺乏系统的 理论分析,没有遵循统一的标准。以至于在开放性和可扩展性方面存在诸多缺陷, 例如不能和资源库有机集成,课件的共享性和复用性差。国家科技部“十五”科 技攻关项目“课件制作与转换工具”是网络教育平台的核心软件,是教育部网络 教育关键技术及示范工程项目之一。该项目的目标是研制简单易学易用的课件制 作工具,使普通教师能制作出体现各种教学方法和教学模式的课件和课程,学生 能够进行个性化的学习。课件转换工具系统是课件制作工具的子项目,它的目的 是为了把不合标准的w e b 、p p t 和视频流课件转换为合乎标准的课件,提高课件 的共享性和复用性。 1 1 2 研究的意义 本课题是国家科技部“十五”科技攻关项目“课件制作与转换工具”项目的 一部分。 从2 0 世纪6 0 年代软件危机的出现人们直在寻找更先进的软件方法和技 术。结构化的程序设计通过编写能重复调用的子程序减少了代码的编写量,降低 了维护的难度。但这种程序的设计方法,可以复用的规模小,数量大,耦合关系 复杂,当代码量达到定的程度时,维护变的很困难,面向对象的程序设计语言, 以更符合客观世界的实体对象的概念,提供了封装性,继承性和多态性,将软件 的可复用性和维护性向前迈进了一步,软件组件技术是当今解决软件复用的最有 效和最前沿技术。它能极大的降低软件的开发周期和维护成本。 u m l 是现在广泛使用的面向对象系统的建模方法,使用它可以很容易建立 和维护系统,保证系统能适应需求的改变。 那么本论文通过研究u m l 和c o m 组件技术及其在课件转换工具系统中的 应用以期达到在软件的开发过程中减少开发的时间、提高效率、减少开发失败的 风险,有利于与课件制作工具其他项目的集成与测试。同时课件转换工具的实现 有利于课件的标准化,提高课件的共享性和复用性,对推动课件的制作与转换有 一定的意义。 1 2 国内外研究现状 重壅查堂堡主堂垡笙兰 ! 堡笙 1 2 1 l i m l 和c o m 技术研究现状 组件技术是软件开发的个热点,现在主要有以下几种组件技术: 微软公司的c o m 、d c o m 组件技术。是微软公司推出的一种平台有关而与 语言无关的组件技术: s u n 公司的j a v a b e a n 组件技术; c o r b a 技术( 公共对象请求代理构架) 是o m g 推出的标准的面向对象的分 布应用程序体系结构。它主要的目标是在分布式异构环境下基于对象部件的重 用、移植和互操作性,它是分布和面向对象的结合。 组件技术在国外的研究及应用都比较早,许多开发工具都采用了比较成熟的 组件技术。目前,组件技术在国内已经成为了研究的热点,但是成熟和商品化的 国内组件还不多。 u m l 2 1 ( 统一建模语言,u n i f i e d m o d e l i n g l a n g u a g e ) ,是现在广泛使用的 面向对象系统的建模方法。在国外使用最广泛的一种的建模语言,在美国和欧洲 一些软件行业比较发达的国家已有大量的软件开发组织使用u m l 进行系统的建 模,但在国内使用的不是很理想,没有完全达到预期的效果。 1 ,2 2 课件转换工具研究现状 随着教育和多媒体技术的发展,课件的制作与开发在现在教育中越来越重 要,所以课件制作的工具也越来越多。但我们国内课件制作的工具并不多,而且 存在以下的不足: 1 的课件制作工具在研制技术上缺乏系统的理论分析,没有遵循统一的标 准。以至于在开放性和可扩展性方面存在诸多缺陷。 2 课件的共享性和复用性具比较差、低水平、重复性开发造成资源和人力 的浪费。 3 制作的课件不易被检索、传输和交换,大多数课件只能被限制在独立的 平台上执行。 1 3 本文研究内容和目的 本文研究的目的和主要内容是: 1 u m l 的研究,包括u m l 在软件系统建模和开发中应用。 2 c o m 组件技术研究介绍了组件技术的基本概念,阐述了c o m 组件结构、 特点、原理,研究了如何实现c o m 框架;如何定义c o m 对象和接口并实现其 方法以及怎样将c o m 组件技术应用到具体系统中。 3 如何使用j a v a 语言创建c o m 组件以及如何实现基于j n i 的c o m 组件 的调用。并且就r m i 和c o m 组件技术的结合实现软件跨平台和跨语言进行探 2 二! 鎏查堂堡圭兰垡堡塞 ! 堕堡 讨。 4 基于u m l 与c o m 技术的软件开发进行分析和探讨。 5 应用实例课件转换工具系统的实现。 1 4 本文的组织 论文的第一章首先简单介绍了论文选题及研究的学术意义及实用价值。在 此基础上主要介绍了u m l 和c o m 技术及课件转换工具在国内外的研究现状。 论文的第二章作者首先介绍了u m l 建模语言的概念、主要特点及其建模视 图及机制。统一建模语言u m l 是一种图形语言,用于对软件系统建模和开发工 作。在论文的实例系统中我们将用u m l 来进行建模。 论文的第三章作者介绍了组件对象模型概念、接口和可重用性。在此基础上 就c o m 创建和引用进行了分析,并给出了基于j n i 的c o m 组件调用的方法和 实现。最后作者结合c o m 和r m i 技术实现软件的跨平台和跨语言能力进行探 讨。 论文的第四章是本论文比较重要的一章,论文在分析了u m l 和c o m 技术 的基础上,介绍了基于u m l 与c o m 技术的软件开发模型,就软件建模过程r u p 、 基于组件的软件开发模式进行了探讨研究。给出了基于u m l 与c o m 组件技术 开发软件的方法。最后就基于u m l 的组件系统分析和设计优缺点进行了总结。 论文的第五章是本论文的重点。主要讨论了如何用u m l 和c o m 技术来实 现课件转换工具实例。作者首先简单介绍了课件模型,它是系统得以进行的基础, 接着作者详细的介绍使用u m l 进行系统建模和设计过程,并给出了系统的组件 图。最后给出了系统运行的结果。 论文的第六章是对本论文中作者所做工作的一个总结。在此基础上提出了进 一步的所应该做的工作以及发展完善问题。 垩塑翌兰! ! 壁堂垡鲨茎 ! 笙二:堡堡堕室些1 2 统一建模语言u m l 2 1 统一建模语言u m l 概述 2 1 1 统一建模语言u m l 的定义 统一建模语言( u m l ,u n i f i e d m o d e l i n gl a n g u a g e ) 是一个通用的可视化建 模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。 它记录了对必须构造系统的决定和理解,可用于对系统的理解、设计、测试、配 置、维护和信息控制。u m l 适用于各种软件开发方法、软件生命周期的各个阶 段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收 当今优秀成果的标准建模方法。 作为一种统一建模语言,u m l 的定义包括u m l 语义和u m l 表示法两个 部分。 1 、u m l 语义描述基于u m l 的精确元模型定义。元模型为u m l 的所有元 素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上 取得一致,消除了因人而异的最佳表达方法所造成的影响。此外u m l 还支持对 元模型的扩展定义。 2 、u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图 形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用 级的模型,在语义上它是u m l 元模型的实例。 2 1 2 统一建模语言u m l 的主要特点瞰1 统一建模语言u m l 的主要特点可以归结为三点: 1 、u m l 统一了b o o c h 、o m t 和o o s e 等方法中的基本概念。 2 、u m l 还吸取了面向对象技术领域中其他流派的长处,其中也包括非o o 方法的影响。u m l 符号表示考虑了各种方法的图形表示,删掉了大量易引起混 乱的、多余的和极少使用的符号,也添加了一些新符号。因此,在u m l 中汇入 了面向对象领域中很多人的思想。这些思想并不是u m l 的开发者们发明的,而 是开发者们依据最优秀的0 0 方法和丰富的计算机科学实践经验综合提炼而成 的。 3 、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 y m e c h a n i s m ) 、 线程( t h r e a d ) 、过程( 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 l l a b o r a t i o n ) 、活动图( a c t i v i t y d 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 ) 、 4 重鏖2 1 i 塑主堂垡堡茎 ! 笙二塞垡堕宣坚 接口( i n t e r f a c e s ) 和组件( c o m p o n e n t s ) 等概念。 2 2 i j m l 视图 给复杂的系统建模是一件困难和耗时的事惰。从理想化的角度来说,整个系 统象是一张图画,这张图画清晰而直观地描述了系统的结构和功能,即易于理解 又易于交流。但事实上,要画出这张图画几乎是不可能的,因为一个简单的图画 并不能完全反映出系统中需要的所有信息。完整地描述系统,通常的做法是用一 组视图反映系统的各个方面,每个视图代表完整系统描述中的一个抽象,显示这 个系统中的一个特定的方面。每个视图由一组图构成,图中包含了强调系统中某 一方面的信息。视图与视图之间有时会产生轻微的重叠,从而使得一个图实际上 可能是多个视图的一个组成部分。如果用不同的视图观察系统,每次只集中地观 察系统的一个方面。视图中的图应该简单,易于交流,且其他图和视图有关联关 系。 u m l 中的视图包括:用例视图( u s ec a s ev i e w ) 、逻辑视图( l o g i c a lv i e w ) 、 组件视图( c o m p o n e n t v i e w ) 、配置视图( d e p l o y m e n t v i e w ) 等四种。 2 2 1 用例视图 在传统的面向对象建模方法中,系统由一系列类组成,系统的功能通过对象 之间的消息机制来实现,没有一条贯串整个系统的主线。这样使得用户对面向对 象模型没有一个直观的理解。用例概念的出现正好弥补了面向对象方法的这一缺 点。它从用户( 或外界系统) 的角度。通过描述用户与系统的交互来理解系统功 能。当然,用例也可以用于描述一个类的功能( 操作) 。用例的概念现己被广泛 采纳,成为面向对象方法中捕获用户需求以及驱动开发过程的重要手段。 用例图用来表达用例之间以及参与者和用例之间的关系。系统所有的用例 ( 图) 共同组成了系统的用例模型。用例模型表现一个系统或一个类对于系统外 部的交互者的功能。构成用例图的元素有: 用例( u s ec a s e ) :一个用例是一个系统或一个类提供的紧凑的功能单元,它 是由系统与一个或多个外部交互者既参与者之间交换的消息序列以及系统执行 的活动共同体现的。 参与者( a c t o r ) :参与者是直接与系统交互的外部对象所扮演的角色。 用例图中的关系( u s e c a s er e l a t i o n s h i p ) ,包括如下4 种关系: 通信( c o m m u n i c a t e ) :这是参与者与用例之间仅有的关系,是参与者对用例 的参与。 扩展( e x t e n d ) :用例间的扩展关系描述了一般行为的变化。在用例a 的执 行过程中,可能会出现某些特殊情况,而一个用例一般只包含一条顺利执行的主 重! 薹2 登堡圭兰垡堡奎 ! 笙二垄竖至室些 线,不进行过多的逻辑判断而产生许多分支,这样这些特殊情况就可以被放到另 个用例b 中来处理。类似于编程语言中的异常处理。 包含( i n c l u d e ) :从用例a 到用例b 的包含关系表明用例a 的实例也包括了 在用例b 中说明的行为,即用例a 要使用用例b 所提供的功能。 泛化( g e n e r a l i z a t i o n ) :用例a 到b 的泛化,指的是用例a 继承了用例b 的特性并增加了新的特性。 用例视图是其他视图的核心和基础。其他视图的构造和发展依赖于用例视图 中所描述的内容。因为系统的最终目标是提供用例视图中描述的功能,同时附带 一些非功能性的性质, 因此用例视图影响其它的视图。 用例视图还可以用于测试系统是否满足用户的需求和验证系统的有效性。用 例视图主要为用户、设计人员、开发人员和测试人员而设置。用例视图静态地描 述系统功能,为了动态地观察系统功能,偶尔也用活动图描述。 2 2 2 逻辑视图 逻辑视图( l o g i c a lv i e w ) 用来显示系统内部的功能是怎样设计的,它利用 系统的静态结构和动态行为来刻画系统功能。它提供系统的详细图形,描述组件 之间如何关联。静态结构描述类、对象和它们之间的关系等。动态行为主要描述 对象之间的动态协作,静态结构在类图和对象图中描述,动态建模用状态图、序 列图、协作图和活动图描述。在逻辑视图中,要标识系统组件,检察系统的信息 与功能,检查组件之间的关系。 2 2 3 组件视图 组件视图( c o m p o n e n t v i e w ) 用来显示代码组件的组织方式。它描述了实现 模块和它们之间的依赖关系。组件视图包含模型代码、执行文件、运行库和其他 组件的信息。组件是代码的实际模块。组件按照一定的结构和依赖关系呈现。组 件视图的主要用户是负责控制代码和编译部署应用程序的人。 2 2 4 配置视图 配置视图( d e p l o y m e n tv i e w ) 用来显示系统的物理架构,即系统的物理展 开。比如,系统可能用三层结构,界面与业务逻辑可能分开,业务逻辑又与数据 库逻辑分开,但部署可能是两层:界面放在一台机器上,而业务与数据库逻辑放 在在另一台机器上。配置视图包括进程、处理器和设备。 配置视图的主要用户是发布应用程序的人。 2 3u m l 的建模机制 u m l 的建模机制包括用例图( u s e c a s ed i a g r a m ) 、类图( c l a s sd i a g r a m ) 、 重丛2 1 i 塑主兰垡堡茎 ! 笙二垄堡堡童婴! 对象图( o b j e c td i a g r a m ) 、包( p a c k a g e ) 、组件图( 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 ) 、消息( m e s s a g e ) 、顺序图( s e q u e n c ed i a g r a m ) 、协 作图( c o l l a b o r a t i o n d i a g r a m ) 、状态图( s t a t e d i a g r a m ) 、活动图( a c t i v e d i a g r a m ) 等。 2 3 1 用例图脚“3 1 用例模型( u s ec a s em o d e l ) 长期以来,在面向对象开发和传统的软件开发中,人们根据典型的使用情景 来了解需求。但是,这些使用情景是非正式的,虽然经常使用,却难以建立正式 文挡。用例模型由i v a r j a c o b s o n 在开发a x e 系统中首先使用,并加入由他所倡 导的o o s e 和o b j e c t o r y 方法中。用例方法引起了面向对象领域的极大关注。自 1 9 9 4 年i v a rj a c o b s o n 的著作出版后,面向对象领域己广泛接纳了用例这一概念, 并认为它是第二代面向对象技术的标志。 用例模型描述的是外部执行者( a c t o r ) 所理解的系统功能。用例模型用于 需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和 用户对需求规格达成的共识。首先,它描述了待开发系统的功能需求;其次,它 将系统看作黑盒,从外部执行者的角度来理解系统;第三,它驱动了需求分析之 后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用 于验证和检测所开发的系统,从而影响到开发工作的各个阶段和u m l 的各个模 型。u m l 允许用各种图来展现用例模型,这些图从不同的角度、以不同的目的 来表示参与者和用况。 2 用例( u s e c a s e ) 参与者使用系统的每种方式都可以表示为一个用例。用例是系统能够向其 参与者提供增值的功能块。在u m l 中,用例被定义成系统执行的一系列动作, 动作执行的结果能被指定执行者察觉到。 我们可以通过以下问题获取大部分用例: f 1 ) 执行者要求系统提供哪些功能? ( 2 1 执行者需要读、产生、删除、修改或存取的信息有那些类型。 ( 3 ) 必须提醒执行者的系统事件有哪些? 怎样把这些事件表示成用例中的 功能? ( 4 1 系统需要何种输入输出? 输入从哪里来? 输出到何处? 3 执行者( a c t o r ) 执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。若不 同的用户扮演着相同的角色,就用一个执行者表示。一个用户也可以扮演多种角 色( 执行者) 。在处理执行者时,应考虑其作用,而不是人或工作名称,这一点 重庆大学硕士学位论文 2 统一建模语言i n l 是很重要的。用不带箭头的线段将执行者与用例连接到一起,表示两者之间交换 信息,称之为通信联系。执行者触发用例,并与用例进行信息交换。单个执行者 可与多个用例联系:反过来,一个用例可与多个执行者联系。对同一个用例而言, 不同执行者有着不同的作用:他们可以从用例中取值,也可以参与到用例中。需 要注意的是执行者在用例图中是用类似人的图形来表示,但执行者未必是人。例 如,执行者也可以是一个外界系统,该外界系统可能需要从当前系统中获取信息, 与当前系统有进行交互。 在一个大系统中,要列出所有得用例清单常常是十分困难。这时可先列出执 行者清单,再对每个执行者列出它的用例,问题就会变得容易很多。 2 3 2 类图( c l a s sd i a g r a m ) 类图用来描述系统中类与类之间的关系。它描述的是系统的静态结构。 类用来表示系统中需要处理的事物或概念,是有着相同结构、行为和关系的一组 对象的描述符号。类由类名。属性和操作组成。类与类之间通过多种方式连接: 关联( a s s o c i a t i o n ) :表示类之间的关系。有二元关联和多元关联。 聚集( a g g r e g a t i o n ) :表示类的对象之间整体和部分的关系。 组合( c o m p o s i t i o n ) :更强的聚集关系,整体拥有部分,部分与整体共存亡, 若整体不在了,部分随之消失 依赖( d e p e n d e n c y ) :有两个类( 或包) x 和y ,如果修改x 会影响到y , 则称y 依赖于x ; 实现( r e a l i z a t i o n ) :接口由类来实现; 泛化( g e n e r a l i z a t i o n ) 或继承( i n h e r i t a n c e ) :表示元素之间的分类关系。 类和类之间的关系通过类的内部结构( 属性和操作) 来实现。一个系统可以 由多个类图组成,一个类可以出现在多个类图中,一个类图并不需要表现系统所 有的类。一般的,每个类图由关系密切的类组成,有一个主题。 2 3 。3 对象图( 0 b j e c td i a g r a m ) 对象图可以看成是类图的个变形,它包括对象和数据的值,对象图实际上 是类图的一个实例,它显示了在一个时间点上系统细节状态的一个快照。类图中 也可以有对象,一个有对象而没有类的类图便是一个“对象图”。对象与类的图 形表示相似,不同之处是对象名有下划线。 对象图用于表示复杂的类图的一个 实例,但基本上很少使用。 2 3 4 消息( m e s s a g e ) 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。在 u m l 的四个动态模型中均用到消息这个概念。通常,当一个对象调用另一个对 象中的操作时,即完成了一次消息传递。当操作执行后,控制使返回到调用者。 重鏖盔兰! ! 壁兰垡笙壅 ! 堑二鍪堡至童些 对象通过相互间的通信( 消息传递) 进行合作,并在其生命周期中根据通信的 结果不断改变自身的状态。 在u m l 中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者 联系起来,箭头的类型表示消息的类型,如图2 1 所示。 图2 1 消思的类型 f i 9 2 1 t h e 咖eo f m e s s a g e u m l 定义的消息类型有3 种: 简单消息( s i m p l em e s s a g e ) 表示简单的控制流。用于描述控制如何在对象 间进行传递,而不考虑通信的细节。 同步消息( s y n c h r o n o u sm e s s a g e ) 表示嵌套的控制流。操作的调用是一种典 型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执 行完毕后,调用者才可继续执行自己的操作。 异步消息( a s y n c h r o n o u sm e s s a g e ) 表示异步控制流。当调用者发出消息后不 用等待消息的返回即可继续执行自己的操作。异步消息主要用于措述实时系统中 并发行为。 2 3 。5 动态建模的四种图”m 1 1 顺序图 顺序图( s e q u e n c ed i a g r a m ) 用来描述对象之间动态的交互关系,着重体现 对象问消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直 轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名 和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象 间的通信通过在对象的生命线间画消息来表示,消息的箭头指明消息的类型。 顺序图中的消息可以是信号( s i g n a l ) 、操作调用或类似于c + + 中的r p c ( r e m o t ep r o c e d u r ec a l l s ) 和j a v a 中的r m i ( r e m o t em e t h o di n v o c a t i o n ) 。当收到 消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显 示一个细长矩形框来表示激活。 消息可以用消息名及参数来标识,消息也可带有顺序号,但较少使用。消息 还可带有条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每 个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。 9 重壅盔堂堡圭兰竺堡兰 ! 堑二垄竖堕宣些 在顺序图的左边可以有说明信息,用于说明消息发送的时刻、描述动作的执 行情况以及约束信息等。一个典型的例子就是用于说明一个消息是重复发送的。 另外,可以定义两个消息间的时间限制。 一个对象可以通过发送消息来创建另一个对象,当一个对象被删除或自我删 除时,该对象用”x ”标识。另外,在很多算法中,递归是一种很重要的技术。 当一个操作直接或间接调用自身时,即发生了递归,产生递归的消息总是同步消 息,返回消息应是一个简单消息。 2 协作图 协作图( c o l l a b o r a t i o nd i a g r a m ) 用于描述相互合作的对象问的交互关系和链 接关系。虽然顺序图和协作图都用来描述对象间的交互关系,但侧重点不一样。 顺序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关 系。 协作图中对象的外观与顺序图中的一样。如果一个对象在消息的交互中被创 建,则可在对象名称之后标以 n e w ) 。类似地,如果一个对象在交互期间被删 除,则可在对象名称之后标以( d e s t r o y 。对象间的链接关系类似于类图中的联 系( 但无多重性标志) 。通过在对象间的链接上标志带有消息串的消息( 简单、 异步或同步消息) 来表达对象间的消息传递。 3 状态图 状态图( s t a t ed i a g r a m ) 用来描述一个特定对象的所有可能状态及其引起状态 转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行 为。一个状态图包括一系列的状态以及状态之间的转移。 所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发 生后,对象的状态将发生变化。状态图中定义的状态有:初态、终态、中间状态、 复合状态。其中,初态是状态图的起始点,而终态则是状态图的终点。一个状态 图只能有一个初态,而终态则可以有多个。转移状态图中状态之间带箭头的连线 被称为转移。状态的变迁通常是由事件触发的,此时应在转移上标出触发转移的 事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自 动触发转移。 4 活动图( a c t i v ed i a g r a m ) 活动图的应用非常广泛,它既可用来描述操作( 类的方法) 的行为,也可以描 述用例和对象内部的工作过程。活动图是由状态图变化而来的,它们各自用于不 同的目的。活动图依据对象状态的变化来捕获动作( 将要执行的工作或活动) 与 动作的结果。活动图中一个活动结束后将立即进入下一个活动( 在状态图中状态 的变迁可能需要事件的触发) 。 1 0 重庆大学硕士学位论文 2 统一建模语言u m l 2 3 6 四种图的运用 上面对u m l 中用于描述系统动态行为的四个图( 状态图、顺序图、协作图 和活动图) 做了简单地介绍。这四个图均可用于系统的动态建模,但它们各自的 侧重点不同,分别用于不同的目的。下面对如何正确使用这几个图做一简单的总 结,在实际的建模过程中要根据具体情况灵活运用这些建议。 ( 1 ) 不要对系统中的每个类都画状态图。尽管这样做很完美,但太浪费精 力,其实你可能只关心某些类的行为。正确的做法是:为帮助理解类而画它的状 态图。状态图描述跨越多个用例的单个对象的行为,而不适合描述多个对象间的 行为合作。为此,将状态图与其它技术( 如顺序图、协作图和活动图) 组合使用。 ( 2 ) 顺序图和协作图适合描述单个用例中几个对象的行为。其中顺序图突 出对象间交互的顺序,而协作图的布局方法能更清楚地表示出对象之间静态的连 接关系。当行为较为简单时,顺序图和协作图是最好的选择。但当行为比变复杂 时,这两个图将失去其清晰度。因此,如果想显示跨越多用例或多线程的复杂行 为,可考虑使用活动图。另外,顺序图和协作图仅适合描述对象之间的合作关系, 而不适合对行为进行精确定义,如果想描述跨越多个用例的单个对象的行为,应 当使用状态图。 2 4u m l 的扩展机制俐1 2 0 】 u m l 提供了3 种机制来扩展机制:模板、附加值、约束。 2 4 1 模板【2 1 1 6 1 模板允许通过改变现有u m l 模型元素,创建新的渐变的模型元素。也就是 往u m l 中添加新的符号集。模型元素由基本的模型元素表示,其中模型元素由 封闭在( ) 中的字符串确定。例如,u m l 可以通过 e x t e n d ) ) 和 i n c l u d e ) ) 模 板自我描述扩展和包含关系。 2 4 ,2 附加值【2 】【2 1 1 o l 附加值可以用来定义并将新的属性关联到模型元素中,这样就可以将附加的 信息关联到模型元素中。图2 2 给出了附加值的例子。 2 4 3 约束脚 图2 2 附加值范例 f i 9 2 2t h ee x a m p l e o fa f f i x a t i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法课件课教学课件
- 民法学课件教学课件
- 初中广东会考试卷及答案
- 新质生产力工业设备
- 新质生产力中考材料分析
- 新质生产力与教育家精神
- 施工临时用水施工方案
- 科技与新质生产力的关系
- 海事领域新质生产力感悟
- 新质生产力动图设计与制作技巧
- 2025年航空业面试者必看航空公司招聘笔试预测试题及答案
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
- 2025秋仁爱科普版(2024)七年级上册英语教学计划
- 《非物质文化遗产概论(第三版)》全套教学课件
- 2025年信息安全应急演练记录
- 社区医院创建汇报课件
- 轴对称及其性质第1课时课件2025-2026学年人教版数学+八年级上册
- 2025秋苏教版(2024)小学科学二年级上册(全册)课时练习及答案(附目录)
- 2025年新疆投资发展集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 2024长沙电力职业技术学院单招考试文化素质物理考试历年机考真题集附完整答案详解【易错题】
- 2025至2030年中国银川房地产行业市场调查研究及发展战略规划报告
评论
0/150
提交评论