uml教程new

上传人:xins****2008 文档编号:100844922 上传时间:2019-09-25 格式:DOC 页数:22 大小:308KB
返回 下载 相关 举报
uml教程new_第1页
第1页 / 共22页
uml教程new_第2页
第2页 / 共22页
uml教程new_第3页
第3页 / 共22页
uml教程new_第4页
第4页 / 共22页
uml教程new_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《uml教程new》由会员分享,可在线阅读,更多相关《uml教程new(22页珍藏版)》请在金锄头文库上搜索。

1、UML模型的基本概念1 UML的建筑块组成UML有三种基本的建筑块:1、 事物(Things)2、 关系(Relationships)3、 图(Diagrams)事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。1.1 UML的事物UML中有始终类型的事物:1、 结构事物(Structural things)2、 动作事物(Behavioral things)3、 分组事物(Grouping things)4、 注释事物(Annotational things)这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上

2、的元素。1.1.1结构事物。总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩型,通常包括它的名字、属性和方法。WindowOriginSizeOpen()Close()Move()Display()图1-1 类第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中被画成一个圆和它的名字。ISpelling图1-2 接口第三种是协作(collaborat

3、ion),协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML中用一个虚线画的椭圆和它的名字来表示。响应链图1-3 协作第四种是use case,use case是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中use case通常用来组织动作事物。Use case是通过协作来实现的。在UML中,use case画为一个实线椭圆,通常还有它的名字。Place order图 1-4 use c

4、ase第五种是活动类(active class),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML中活动类的画法和类相同,只是边框用粗线条。EventManagerSuspend()Flush()图1-5活动类第六种是组件(component),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+或JAVA BEANS。组件在UML中用如下的图表示: Orderform.java图1-6 组件第七种是结点(node),结点是一个物理元素,它在运行时存在,代表一

5、个可计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:Server图1-7 结点类、接口、协作、use case、活动类、组件和结点这七个元素是在UML模型中使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角色、信号(某种类),进程和线程(某种活动类),应用程序、文档、文件、库、表(组件的一种)。1.1.2 动作事物动态事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。第一种是ineraction,interaction是由一组对象之间在特定上下

6、文中,为达到特定的目的而进行的一系列消息交换而组成的动作。 在interaction中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作),连接(对象之间的连接)。在UML中消息画成带箭头的直线,通常加上操作的名字。display图1-8 消息第二种是状态机(state machine),状态机由一系列对象的状态组成。在UML中状态表示为下图: waiting图案1-9 状态interaction和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。1.1.3 分组事物分组事物是UML模型中组织的部分,可以把它们看成是个盒子,

7、模型可以在其中被分解。总共只有一种分组事物,称为包(package)。包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。在UML中用如下图表示包:Business rules图 1-10 包1.1.4 注释事物注释事物是UML模型的解释部分。UML中用如下图表示:Return copy of self图1-11注释1.1.5 UML中的关系UML中有四种关系:1. 依赖(Dependencies)图1-12 依赖2. 关联(Association)0.1*图1-13 关联3. 一

8、般化(generalization)图1-14 一般化4. 实现(realuzation)图1-15 实现1.1.6 UML中的图1、 类图(class diagram)2、 对象图(class diagram)3、 Use case diagram4、 Sequence diagram5、 Collaboration diagram6、 Statechart diagram7、 Activity diagram8、 Compomnent diagram9、 Deployment diagram关于这些图的详细介绍将在今后的章节中讲解。第二章Hello World记得在学习C语言的时候,教科书

9、上的第一个程序就是叫Hello world,一个在屏幕上简单地打印出“Hello world!”语句的例子。在系统的学习UML语言之前我们来看一个简单的例子,让大家有一个系统的认识。在java中一个在浏览器中显示“Hello World!”的Applet代码如下:import java.awt.Graphics;class HelloWorld extends java.applet.Appletpublic void paint( Graphics g )g.drawString(Hello World!, 10,10 );代码的第一行:import java.awt.Graphics;使得

10、程序可以使用Graphics类。前缀 java.awt指出了类Graphics所在的包。第二行代码:class HelloWorld extends java.applet.Applet从Applet类派生出新的类HelloWorld,Applet类在java.applet包中。接下来的三行代码:public void paint( Graphics g )g.drawString(Hello World!, 10,10 );声明了类HelloWorld的方法paint,在他的实现中调用了另一个方法drawString来输出“Hello World!”。我们可以很直接地为这个程序用UML建立模

11、型。如图2-1。HelloWorldPaint()g.drawString(Hello World!,10,10)图 2-1 HelloWorld图2-1表达了最基本的HelloWorld模型,但它还有很多东西没有表示出来。在我们的程序中Applet类和Graphics类的使用是不相同的。Applet用作HelloWorld类的父类,而Graphics类用在方法paint的实现中。在UML模型中可以将这些关系表示为图2-2:AppletHelloWorldPaint()Graphics图2-2 HelloWorld的类图在图2-2的类关系图中,我们用简单的矩行图标表示类Applet和Graph

12、ics类,没有将它们的属性和方法显露出来是为了简化。图中的空心箭头表示HelloWorld类是Applet类的子类,代表一般化。HelloWorld和Graphics之间的虚线箭头表示依赖关系,表示HelloWorld类使用了Graphics类。到这里或许你认为已结束了,其实不然,如果认真研究java库中的Applet类和Graphics类会发现他们都是一个庞大的继承关系中的一部分。追踪Applet的实现可以得到另外一个类图,如图2-3所示:ObjectComponentContinerPanelAppletHelloWorldImageObserver图2-3 HelloWorld继承图图2

13、-4 绘图机制第三章 类类是具有相同属性、操作、关系的对象集合的总称。通常在UML中类被画成矩形。名称每个类都必须有一个名字,用来区分其它的类。类名是一个字符串,称为简单名字。路径名字是在类名前加包含类的包名为前缀。例如Wall、java:awt:Wall都是合法的类名。属性属性是指类的命名的特性,常常代表一类取值。类可以有任意多个属性,也可以没有属性。在类图中属性只要写上名字就可以了。如下图也可以在属性名后跟上类型甚至缺省取值,如下图:操作操作是类的任意一个实例对象都可以调用的,并可能影响该对象行为的实现。操作在类图中如下图描述:组织属性和方法在画类图的时候没有必要将全部的属性和操作都画出来

14、。实际上,在大部分情况下你也不可能在一个图中将类的属性和操作都画出来。在画类图时可以只将感兴趣的属性和操作画出来就可以了。可以用”.”表示还有属性或方法没有画出来。为了更好地组织属性或方法,可以在一组功能相同的属性或方法前加上一个描述的前缀(中的文字),如下图:职责职责指的是类所担任的任务,类的设计要完成什么样的功能,要存担的义务。一个类可以有多种职责,设计得好的类一般至少有一种职责,在定义类的时候,将类的职责分解成为类的属性和方法。通常在UML中在类图的最下方用单独的部分列出类的职责。类的职责其实只是一段或多段文本描述。通用建模技术1. 为系统的词汇建立模型l 标识出用户或解决问题时用来描述问题的东西,使用CRC卡片和基于USECASE的分析来找出这些抽象。l 对每一个抽象,标识出它的职责集合。确定明确地定义了每一个类,在为所有类确定的职责中取得了很好的平衡。l 为类提供实现类的职责所需要的属性和方法。2. 为系统的职责分配建立模

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号