UML模型的基本概念
1 UML的建筑块
组成UML有三种基本的建筑块:
1、事物(Things)
2、关系(Relationships)
3、图(Diagrams)
事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。
1.1UML的事物
UML中有始终类型的事物:
1、结构事物(Structural things)
2、动作事物(Behavioral things)
3、分组事物(Grouping things)
4、注释事物(Annotational things)
这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上的元素。
1.1.1结构事物。
总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩型,通常包括它的名字、属性和方法。
第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中被画成一个圆和它的名字。
ISpelling
图1-2 接口uml图用什么软件画
第三种是协作(collaboration ),协作定义了交互的操作,是一些角和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML 中用一个虚线画的椭圆和它的名字来表示。
图1-3 协作
第四种是use case ,use case 是描述一系列的动作,这些动作是系统对一个特定角执行,产生值得注意的结果的值。在模型中use case 通常用来组织动作事物。Use case 是通过协作来实现的。在UML 中,use case 画为一个实线椭圆,通常还有它的名字。
图 1-4 use case
第五种是活动类(active class ),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML 中活动类的画法和类相同,只是边框用粗线条。
EventManager
Suspend()
Flush()
图1-5活动类
第六种是组件(component ),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+或JA V A BEANS 。组件在UML 中用如下的图表示:
图1-6 组件
第七种是结点(node ),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。
一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:
Server
图1-7 结点
类、接口、协作、use case、活动类、组件和结点这七个元素是在UML模型中使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角、信号(某种类),进程和线程(某种活动类),应用程序、文档、文件、库、表(组件的一种)。
1.1.2 动作事物
动态事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。
第一种是ineraction,interaction是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。在interaction中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作),连接(对象之间的连接)。在UML中消息画成带箭头的直线,通常加上操作的名字。
display
图1-8 消息
第二种是状态机(state machine),状态机由一系列对象的状态组成。在UML中状态表示为下图:
图案1-9 状态
interaction和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。
1.1.3 分组事物
分组事物是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包(package)。
包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。在UML中用如下图表示包:
图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.一般化(generalization)
图1-14 一般化
4.实现(realuzation)
1.1.6 UML中的图
1、类图(class diagram)
2、对象图(class diagram)
3、Use case diagram
4、Sequence diagram
5、Collaboration diagram
6、Statechart diagram
7、Activity diagram
8、Compomnent diagram
9、Deployment diagram
关于这些图的详细介绍将在今后的章节中讲解。
第二章Hello World
记得在学习C语言的时候,教科书上的第一个程序就是叫Hello world,一个在屏幕上简单地打印出“Hello world!”语句的例子。在系统的学习UML语言之前我们来看一个简单的例子,让大家有一个系统的认识。
在java中一个在浏览器中显示“Hello World!”的Applet代码如下:
import java.awt.Graphics;
class HelloWorld extends java.applet.Applet{
public void paint( Graphics g ){
g.drawString("Hello World!", 10,10 );
}
}
代码的第一行:
import java.awt.Graphics;
使得程序可以使用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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论