UML基础内容UML的组成_第1页
UML基础内容UML的组成_第2页
UML基础内容UML的组成_第3页
UML基础内容UML的组成_第4页
UML基础内容UML的组成_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 UMLUML概述概述 统一建模语言(Unified Modeling Language )是一个用于描述面向对象软件设计、可视化、构 造和文档化软件系统的建模语言。 它统一了Grady Booch、Jim Rumbangh和Ivar Jacobson三位大师的面向对象建模描述语言 (Booch,OMT、 OOSE),并对其做了进一步的发展, 最终成为广泛接受的面对象建模语言。UML已被OMG 所采用,目前成为业界的标

2、准。 lUML概述概述 l适用于描述以用例为驱动,以体系结构为中心的软件 设计的全过程。 l UML的定义包括UML语义和UML表示法两个部分。 l (1) UML语义语义:UML对语义的描述使开发者能在语 义上取得一致认识,消除了因人而异的表达方法所造 成的影响。 l (2) UML表示法表示法:UML表示法定义UML符号的表示 法,为开发者或开发工具使用这些图形符号和文本语 法为系统建模提供了标准。 l uml是一种标准的图形化建模语言。它是面向是一种标准的图形化建模语言。它是面向 对象分析与设计的一种标准表示。对象分析与设计的一种标准表示。 l 它不是一种可视化的程序设计语言,而是一种它

3、不是一种可视化的程序设计语言,而是一种 可视化的建模语言。可视化的建模语言。 l 不是工具或知识库的规格说明,而是一种建模不是工具或知识库的规格说明,而是一种建模 语言规格说明,是一种表示的标准。语言规格说明,是一种表示的标准。 l 不是过程也不是方法,但允许任何一种过程和不是过程也不是方法,但允许任何一种过程和 方法使用它。方法使用它。 l 易于使用、表达能力强、进行可视化建模。易于使用、表达能力强、进行可视化建模。 l 与具体的实现无关,可应用于任何语言平台和工具平与具体的实现无关,可应用于任何语言平台和工具平 台。台。 l 与具体的过程无关,可应用于任何软件开发的过程。与具体的过程无关,

4、可应用于任何软件开发的过程。 l 简单并且可扩展,具有扩展和专有化机制,便于扩展简单并且可扩展,具有扩展和专有化机制,便于扩展 无需对核心概念进行修改。无需对核心概念进行修改。 l 为面向对象的设计与开发中涌现出的高级概念,例如为面向对象的设计与开发中涌现出的高级概念,例如 协作框架模式和组件提供支持,强调在软件开发中对协作框架模式和组件提供支持,强调在软件开发中对 架构框架模式和组件的重用。架构框架模式和组件的重用。 l 与最好的软件工程实践经验集成。与最好的软件工程实践经验集成。 l 可升级,具有广阔的适用性和可用性。可升级,具有广阔的适用性和可用性。 l 有利于面对对象工具的市场成长。有

5、利于面对对象工具的市场成长。 l uml是由图和元模型组成的。图是uml的语法。而元模 型则给出的图的意思,是uml的语义。uml的语义是定 义在一个四层或四个抽象级建模概念框架中的。这四 层分别是: l 元元模型(meta-metamodel)层组成uml最基本的元素 事物(thing),代表要定义的所有事物。 l 元模型(metamodel)层组成了uml的基本元素,包括 面向对象和面向组件的概念。这一层的每个概念都是 元元模型中事物概念的实例。 l 模型(model)层组成了uml的模型。这一层中的每个 概念都是元模型层中概念的一个实例。 l 用户模型(user model)层。这层中的

6、所有元素都是 uml模型的例子。这一层中的每个概念都是模型层的一 个实例。 l 元模型(meta-model)当然也是模型,他描述的对象是 “模型中的元素、元素间关系以及表示法”,或者说 它是一种语言,人们使用这种语言来描述模型。使用 同样元模型的人,可以互相理解彼此所建立的模型。 l 我们的每一句话,每篇文章都是一个模型中文是我们 的建模语言。掌握中文的人,可以通过理解对方的句 子和文章。中文、英文、德文、法文都是自然语言, 也都是元模型。 l 如果你要发明一种新的自然语言,你需要发明 哪些要素呢?例如:你是否需要发明相关的词 汇和语法?词汇是否需要分成名词、动词、形 容词等等?每一个词汇是

7、否都应该有读音和写 法?(ps,指环王的作者托尔金大叔就发 明了一种新的语言,名曰精灵语,而且居然还 有个女人把它学会了。)或者,你发明了一种 新的“自然语言”,但是它是不是真正意义上 的自然语言呢? l 显然,要回答这个问题,我们需要先搞清楚什 么是“自然语言”。怎么才能精确的说清楚? 最好是建立一个模型,用这个模型来阐明“自 然语言”的要素和结构。使用这个模型,我们 可以定义自己的“自然语言”。这个模型对于 任何一种自然语言(例如中文),就是元模型; 而相对于一个句子或者一篇文章则是元元模型。 l 如此类推,我们还可以建立元元元模型,元元 元元模型,等等。但是,陷于人类的思维能力 和实际的

8、需要,4层可能就足够了。 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 基本构造块:也就是建模基本构造块:也就是建模 元素,是模型的主体元素,是模型的主体 UML规则:也就是支配基规则:也就是支配基 本构造块如何放在一起的本构造块如何放在一起的 规则规则 公共机制:运用于整个公共机制:运用于整个 UML模型中的公共机制、模型中的公共机制、 扩展机制扩展机制 lUML模型图的构成模型图的构成 l事物事物(Things):UML模型中最基本的构成元素, 是具有代表性的

9、成分的抽象 l关系关系(Relationships):关系把事物紧密联系在一 起 l图图(Diagrams ):图是事物和关系的可视化表示 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 事物构造块是对模型中最具有代表性的成分的抽象事物构造块是对模型中最具有代表性的成分的抽象 结构事物:结构事物:UML中的名词,它是模型的静态部分,描中的名词,它是模型的静态部分,描 述概念或物理元素。述概念或物理元素。 行为事物:行为事物:UML中的动词,它是模型中的动态部分,中的

10、动词,它是模型中的动态部分, 是一种跨越时间、空间的行为。是一种跨越时间、空间的行为。 分组事物:分组事物:UML中的容器,用来组织模型,使模型更中的容器,用来组织模型,使模型更 加的结构化。加的结构化。 注释事务:注释事务:UML中的解释部分,和代码中的注释语句中的解释部分,和代码中的注释语句 一样,是用来描述模型的。一样,是用来描述模型的。 首先建立反应现实世界中不同事物的首先建立反应现实世界中不同事物的“构造块构造块”,然后,然后 确定确定“构造块构造块”之间的之间的“关系关系”,再确定各个构造块的,再确定各个构造块的 属性和属性和“行为行为”。这样,在软件系统中就可以模拟现实。这样,在

11、软件系统中就可以模拟现实 世界的世界的“构造块构造块”之间的交互与协作之间的交互与协作 面向对象软件开发的核心思想就是高内聚(封装)、低面向对象软件开发的核心思想就是高内聚(封装)、低 耦合(消息驱动),使用简洁的接口拼合简单的部件耦合(消息驱动),使用简洁的接口拼合简单的部件 类(类(class)和对象()和对象(object) 接口(接口(interface) 主动类(主动类(active class) 用例(用例(use case) 协作(协作(collaboration) 构件(构件(component) 节点(节点(node) 类是对一组具有相同属性、相同操作、相同关系和相同类是对一

12、组具有相同属性、相同操作、相同关系和相同 语义的对象的抽象语义的对象的抽象 UML中类是用一个矩形表示的,它包含三个区域,最中类是用一个矩形表示的,它包含三个区域,最 上面是类名、中间是类的属性、最下面是类的方法上面是类名、中间是类的属性、最下面是类的方法 对象则是类的一个实例对象则是类的一个实例 l 1.边界类(Boundry Class); l 2.实体类(Entity Class); l 3.控制类(Control Class); l 1.用来描述什么问题? l 边界类用于描述外部参与者与系统之间的交互。 l 边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。 这种交互包

13、括转换事件,并记录系统表示方式(例如接口)中的变更。 l 2.可以带来什么好处? l 识别边界类可以帮助开发人员识别出用户对界面的需求。 l 3.如何理解边界类 l 边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、 直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。 l 通过用例图可以确定需要的边界类,每个Actor/Use Case对至少 要一个边界类,但并非每个Actor/Use Case对要唯一的边界类。 l 用户界面类 - 帮助与系统用户进行通信的类 l 系统接口类 - 帮助与其他系统进行通信的类 l 设备接口类 - 为用来监测外部事件的设备(如传感器)提供接

14、口 的类 l 实体类主要是作为数据管理和业务逻辑处理层面上存 在的类别。 l 实体类的主要职责是存储和管理系统内部的信息,它 也可以有行为,甚至很复杂的行为,但这些行为必须 与它所代表的实体对象密切相关。 l 实体类保存要放进持久存储体的信息。持久存储体就 是数据库、文件等可以永久存储数据的介质。实体类 可以通过事件流和交互图发现。通常每个实体类在数 据库中有相应的表,实体类中的属性对应数据库表中 的字段。 l 实体类是用于对必须存储的信息和相关行为建模的类。 实体对象(实体类的实例)用于保存和更新一些现象 的有关信息,例如:事件、人员或者一些现实生活中 的对象。 l 1.用来描述什么问题?

15、l控制类用于描述一个用例所具有的事件流控制行为, 控制一个用例中的事件顺序。 l 2.如何理解控制类? l控制类是控制其他类工作的类。每个用例通常有一 个控制类,控制用例中的事件顺序,控制类也可以 在多个用例间共用。其他类并不向控制类发送很多 消息,而是由控制类发出很多消息。 l 1.用来描述什么问题? l控制类用于描述一个用例所具有的事件流控制行为,控制一 个用例中的事件顺序。 l 2.如何理解控制类? l控制类是控制其他类工作的类。每个用例通常有一个控制类, 控制用例中的事件顺序,控制类也可以在多个用例间共用。 其他类并不向控制类发送很多消息,而是由控制类发出很多 消息。 l 考试系统中当

16、学生在考试时 ,学生与试卷交互, 那么学 生和试卷都是实体类; l 而考试时间,规则,分数都是控制类 l 当考试完了将试卷提交给试卷保管者,则试卷则成了边 界类。 l 1.边界类,描述外部与系统内部交互的类; l 2.控制类,控制其他类; l 3.实体类,存储信息(持久化)和相关行为的类; 接口是描述某个类或构件的一个服务操作集接口是描述某个类或构件的一个服务操作集 主动类实际上是一种特殊的类。引用它的原因,实际上主动类实际上是一种特殊的类。引用它的原因,实际上 是在开发中需要有一些类能够起到是在开发中需要有一些类能够起到 启动控制活动的作用启动控制活动的作用 主动类是指其对象至少拥有一个进主

17、动类是指其对象至少拥有一个进 程或线程,能够启动控制活动的类程或线程,能够启动控制活动的类 用例是著名的大师用例是著名的大师Ivar Jacobson首先提出的,现已经成首先提出的,现已经成 为了面向对象软件开发中一个需求分析的最常用工具为了面向对象软件开发中一个需求分析的最常用工具 用例实例是在系统中执行的一系列动作,这些动作将生用例实例是在系统中执行的一系列动作,这些动作将生 成特定执行者可见的价值结果。一个成特定执行者可见的价值结果。一个 用例定义一组用例实例。用例定义一组用例实例。 协作定义了一个交互,它是由一组共同工作以提供某协协作定义了一个交互,它是由一组共同工作以提供某协 作行为

18、的角色和其他元素构作行为的角色和其他元素构 成的一个群体。成的一个群体。 对于某个用例的实现就可对于某个用例的实现就可 以表示为一个协作以表示为一个协作 在实际的软件系统中,有许多要比在实际的软件系统中,有许多要比“类类”更大的实体,更大的实体, 例如一个例如一个COM组件、一个组件、一个DLL文件、一个文件、一个JavaBeans、 一个执行文件等等。为了更好地对在一个执行文件等等。为了更好地对在UML模型中对它模型中对它 们进行表示,就引入了构件(也译为组件)们进行表示,就引入了构件(也译为组件) 构件是系统设计的一个模块化部分,它隐藏了内部的实构件是系统设计的一个模块化部分,它隐藏了内部

19、的实 现,对外提供了一组外部接口。在系统中满足相同接口现,对外提供了一组外部接口。在系统中满足相同接口 的组件可以自由地替换的组件可以自由地替换 为了能够有效地对部署的结构进行建模,为了能够有效地对部署的结构进行建模,UML引入了引入了 节点这一概念,它可以用来描述实际的节点这一概念,它可以用来描述实际的PC机、打印机、机、打印机、 服务器等软件运行的基础硬件服务器等软件运行的基础硬件 节点是运行时存在的物理元素,它表示了一种可计算的节点是运行时存在的物理元素,它表示了一种可计算的 资源,通常至少有存储空间和处理能力资源,通常至少有存储空间和处理能力 Server 交互(交互(interact

20、ion):):是在特定语境中,共同完成某是在特定语境中,共同完成某 个任务的一组对象之间交换的信息集合个任务的一组对象之间交换的信息集合 交互的表示法很简单,就是一条有向直线,并在上面标交互的表示法很简单,就是一条有向直线,并在上面标 有操作名有操作名 状态机(状态机(state machine):是一个对象或交互在生命周):是一个对象或交互在生命周 期内响应事件所经历的状态序列期内响应事件所经历的状态序列 在在UML模型中将状态画为一个圆模型中将状态画为一个圆 角矩形,并在矩形内写出状态名角矩形,并在矩形内写出状态名 称及其子状态称及其子状态 等待等待 对于一个中大型的软件系统而言,通常会包

21、含大量的类,对于一个中大型的软件系统而言,通常会包含大量的类, 因此也就会存在大量的结构事物、行为事物,为了能够因此也就会存在大量的结构事物、行为事物,为了能够 更加有效地对其进行整合,生成或简或繁、或宏观或微更加有效地对其进行整合,生成或简或繁、或宏观或微 观的模型,就需要对其进行分组。在观的模型,就需要对其进行分组。在UML中,提供了中,提供了 “包(包(Package)”来完成这一目标来完成这一目标 数据访问数据访问 结构事物是模型的主要构造块,行为事物则是补充了模结构事物是模型的主要构造块,行为事物则是补充了模 型中的动态部分,分组事物而是用来更好地组织模型,型中的动态部分,分组事物而

22、是用来更好地组织模型, 似乎已经很完整了。而注释事物则是用来锦上添花的,似乎已经很完整了。而注释事物则是用来锦上添花的, 它是用来在它是用来在UML模型上添加适当的解释部分模型上添加适当的解释部分 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 l UML关系关系 l依赖依赖 依赖(dependency)是两个事物之间的语义关系,其中一个事物 (独立事物)发生变化, 会影响到另一个事物(依赖事物)的语义 l关联关联 关联(association)是一种结构关系,它指

23、明一个事物的对象与 另一个事物的对象间 的联系 l泛化泛化 泛化(generalization)是一种特殊/一般的关系。也可以看作是常 说的继承关系 l实现实现 实现(realization)是类元之间的语义关系,其中的一 个类元指定了由另一个类元保证执行的契约 种类变种表示法关键字或符号种类变种表示法关键字或符号 抽象派生依赖关系derive导入 私有依赖关系access 显现manifest公有import 实现实现关系实现关系虚线加空心三角信息流flow 精化依赖关系refine包含并merge 跟踪trace许可permit 关联关联关系关联关系实线协议符 合 未指定 绑定依赖关系bi

24、nd(参数表)替换依赖关系substitute 部署deploy使用调用call 扩展Extendextend(扩展点 ) 创建create 扩展extensi on 扩展关系扩展关系实线加实心三角实例 化 instantiate 泛化泛化关系泛化关系实线加空间三角职责responsibility 包含依赖关系include发送send 关联(关联(Association)表示两个类之间存在某种语义上的)表示两个类之间存在某种语义上的 联系。关联关系提供了通信的路径,它是所有关系中最联系。关联关系提供了通信的路径,它是所有关系中最 通用、语义最弱的。通用、语义最弱的。 在在UML中,使用一条实

25、线来表示关联关系中,使用一条实线来表示关联关系 在关联关系中,有两种比较特殊的关系:聚合和组合在关联关系中,有两种比较特殊的关系:聚合和组合 聚合关系:聚合(聚合关系:聚合(Aggregation)是一种特殊形式的关联。)是一种特殊形式的关联。 聚合表示类之间的关系是整体与部分的关系聚合表示类之间的关系是整体与部分的关系 如果发现如果发现“部分部分”类的存在,是完全依赖于类的存在,是完全依赖于“整体整体”类类 的,那么就应该使用的,那么就应该使用“组合组合”关系来描述关系来描述 泛化关系描述了一般事物与该事物中的特殊种类之间的泛化关系描述了一般事物与该事物中的特殊种类之间的 关系,也就是父类与

26、子类之间的关系。关系,也就是父类与子类之间的关系。 实现关系是用来规定接口和实现接口的类或组件之间的实现关系是用来规定接口和实现接口的类或组件之间的 关系。接口是操作的集合,这些操作用于规定类或组件关系。接口是操作的集合,这些操作用于规定类或组件 的服务。的服务。 扩展表示将一个构造型附加到一个元类(扩展表示将一个构造型附加到一个元类(metaclass)上,)上, 使得元类的定义中包括这个构造型。使得元类的定义中包括这个构造型。 有两个元素有两个元素X、Y,如果修改元素,如果修改元素X的定义可能会引起对的定义可能会引起对 另一个元素另一个元素Y的定义的修改,则称元素的定义的修改,则称元素Y依

27、赖依赖 (Dependency)于元素)于元素X。 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 命名:也就是为事物、关系和图起名字。和任何语言一命名:也就是为事物、关系和图起名字。和任何语言一 样,名字都是一个标识符样,名字都是一个标识符 范围:与类的作用域相似,包括所有者作用域(范围:与类的作用域相似,包括所有者作用域(owner scope)和目标作用域()和目标作用域(target scope)两类)两类 可见性:可见性: 可见性规则标准 表示 法 Ros

28、e 属性 Rose 方法 public任一元素,若能访问包容器,就可以访问它+ + protected只有包容器中的元素或包容器的后代才能够看到它# private只有包容器中的元素才能够看得到它- package只有声明在同一个包中的元素才能够看到该元素 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 在图形表示法的每个部分后面都有一个规格描述(也称在图形表示法的每个部分后面都有一个规格描述(也称 为详述),它用来对构造块的语法和语义进行文字叙述。为详述),它用来

29、对构造块的语法和语义进行文字叙述。 这种构思,也就使可视化视图和文字视图的分离这种构思,也就使可视化视图和文字视图的分离 : 预订房间 登记入住 顾客 结帐离店 UC01: 预订房间 参与者: XXX 前置条件: XXX 基本事件流: 1. xxxxxxxxxxxxxx 2. xxxxxxxxxxxxxx 3. xxxxxxxxxxxxxx 扩展事件流 2 a. xxxxxxxxxxxx 后置条件: xxxxx UC02: 登记入住 可视化视图可视化视图 文字规格描述视图文字规格描述视图 在为了更好的表示这些细节,在为了更好的表示这些细节,UML中还提供了一些修饰中还提供了一些修饰 符号,例如

30、不同可视性的符号、用斜体字表示抽象类符号,例如不同可视性的符号、用斜体字表示抽象类 UML通用划分:通用划分: 1)类与对象的划分:类是一种抽象,对象是一个具体)类与对象的划分:类是一种抽象,对象是一个具体 的实例的实例 。UMLUML的每一个构造块几乎都存在像类的每一个构造块几乎都存在像类/ /对象这对象这 样的二分法。例如用例和用例实例(场景),构件和构件样的二分法。例如用例和用例实例(场景),构件和构件 实实 例,节点和节点实例等。例,节点和节点实例等。 2)接口与实现的分离:接口是一种声明、是一个契)接口与实现的分离:接口是一种声明、是一个契 约,也是服务的入口;实现则是负责实施接口提

31、供约,也是服务的入口;实现则是负责实施接口提供 的契约的契约 。例如用例和实现它们的协作,操作和实现它。例如用例和实现它们的协作,操作和实现它 们的方法们的方法 UML的组成的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 构造型:在实际的建模过程中,可能会需要定义一些特定于某个领构造型:在实际的建模过程中,可能会需要定义一些特定于某个领 域或某个系统的构造块,构造型可以被看成特殊的类,用双尖括号域或某个系统的构造块,构造型可以被看成特殊的类,用双尖括号 内的文字字符串表示内的文

32、字字符串表示 标记值则是用来为事物添加新特性的。标记值的表示方法是用形如标记值则是用来为事物添加新特性的。标记值的表示方法是用形如 “标记信息标记信息”的字符串。的字符串。记值扩充了记值扩充了UMLUML的构造块的属性,允许你的构造块的属性,允许你 在元素的规格中创建新的信息。约束扩充了在元素的规格中创建新的信息。约束扩充了UMLUML建筑块的语义,允建筑块的语义,允 许你添加新的规则或修改已有的。你将使用这些机制来让许你添加新的规则或修改已有的。你将使用这些机制来让UMLUML满足满足 你的领域和开发的特别需要。你的领域和开发的特别需要。 Overflow 注注 exception exce

33、ption Overflow Overflow 构造型标准表示法构造型标准表示法 小图标表示法小图标表示法 新图标表示法新图标表示法 : OverflowOverflow为类名为类名 当你用当你用UMLUML建立模型的时候,你总是使用建立模型的时候,你总是使用UMLUML定义的规则,这实在是定义的规则,这实在是 件好事,因为别的懂得如何读件好事,因为别的懂得如何读UMLUML的人可以毫无偏差地读懂你想要的人可以毫无偏差地读懂你想要 表达的东西。然而,如果你发现你需要表达的语义是表达的东西。然而,如果你发现你需要表达的语义是UMLUML无法表达无法表达 的或你想要修改的或你想要修改UMLUML的

34、规则,这时你就需要使用约束(的规则,这时你就需要使用约束(constraintconstraint) 了。了。 约束是用来增加新的语义或改变已存在规则的一种机制(自由文本约束是用来增加新的语义或改变已存在规则的一种机制(自由文本 和和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花两种表示法)。约束的表示法和标记值法类似,都是使用花 括号括起来的串来表示,不过它是不能够放在元素中的,而是放在括号括起来的串来表示,不过它是不能够放在元素中的,而是放在 相关的元素附近。相关的元素附近。 用于加入新的规则或修改已经存在的规则,即利用一个表达式把约用于加入新的规则或修改已经存在的规则,即利用

35、一个表达式把约 束信息应用于元素上。约束是用文字表达式来表示元素、依赖关系、束信息应用于元素上。约束是用文字表达式来表示元素、依赖关系、 注释上的语义限制。注释上的语义限制。 对象约束语言对象约束语言(Object Constraint Language)(Object Constraint Language),简称,简称OCLOCL,是一种,是一种 指示用户建模系统中的限制方式。它是指示用户建模系统中的限制方式。它是UMLUML可选的附加内容,可以可选的附加内容,可以 用来更好地定义对象的行为,并为任何类元指定约束。用来更好地定义对象的行为,并为任何类元指定约束。 l 图中图显示了每个图中图

36、显示了每个Person可能是可能是0个个 或多个或多个Department的成员。每个的成员。每个 Department至少要有一个至少要有一个Person成员。成员。 这副图进一步说明每个这副图进一步说明每个Department严严 格地有一个格地有一个Person作为管理者,每个作为管理者,每个 Person可以是可以是0个或多个个或多个Department 的被管理人员。所有的这些语义可以的被管理人员。所有的这些语义可以 被简单的被简单的UML表达。然而,为了指出表达。然而,为了指出 一个管理者必须也是一个管理者必须也是Department的成的成 员是多员关系所忽略的,也是简单的员是多

37、员关系所忽略的,也是简单的 UML无法表达的。为了表达这种关系,无法表达的。为了表达这种关系, 必须写下一个约束指出管理者是必须写下一个约束指出管理者是 Department成员的一个子集。从子集成员的一个子集。从子集 到超集用依赖关系将两个关系联系起到超集用依赖关系将两个关系联系起 来。来。 NewClass Interface 类 是对一组具有相同属性、相 同操作、相同关系和相同语 义的对象的描述 对象 接口 是描述了一个类或构件的一 个服务的操作集 协作 定义了一个交互,它是由一 组共同工作以提供某种协作 行为的角色和其他元素构成 的一个群体 用例是对一组动作序列的描述 主动 类 对象至

38、少拥有一个进程或线 程的类 构件 是系统中物理的、可替代的 部件 参与 者 在系统外部与系统直接交互 的人或事物 actor componet usecase 节点是在运行时存在的物理元素 交互 它由在特定语境中共同完成 一定任务的一组对象间交换 的消息组成 状态机 它描述了一个对象或一个交 互在生命期内响应事件所经 历的状态序列 包把元素组织成组的机制 注释事物是UML模型的解释部分 依赖一条可能有方向的虚线 关联一条实线,可能有方向 泛化一条带有空心箭头的实线 实现一条带有空心箭头的虚线 NewPro cessor state NewPackage l UML语法描述语法描述 UML的组成

39、的组成 事物构造块事物构造块 关系构造块关系构造块 UML规则规则 UML公共机制公共机制 UML扩展机制扩展机制 UML体系结构与图体系结构与图 本章小结本章小结 图名功能备注 类图描述类、类的特性以及类之间的关系UML 1原有 对象图描述一个时间点上系统中各个对象的一个快照UML 1非正式图 复合结构图描述类的运行时刻的分解UML 2.0新增 构件图描述构件的结构与连接UML 1原有 部署图描述在各个节点上的部署UML 1原有 包图描述编译时的层次结构UML中非正式图 用例图描述用户与系统如何交互UML 1原有 活动图描述过程行为与并行行为UML 1原有 状态机图描述事件如何改变对象生命周

40、期UML 1原有 顺序图描述对象之间的交互,重点在强调顺序UML 1原有 通信图描述对象之间的交互,重点在于连接UML 1中的协作图 定时图描述对象之间的交互,重点在于定时UML 2.0 新增 交互概观图是一种顺序图与活动图的混合UML 2.0新增 主要领域视图图 结构静态视图类图 设计视图复合结构图、协作图、构件图 用例视图用例图 动态状态视图状态机图 活动视图活动图 交互视图顺序图、通信图 物理部署视图部署图 模型管理 模型管理视图 包图 特性描述包图 l 各各UML图及特征图及特征 l 用例图用例图( Use Case Diagram ) 用例图是从用户角度描述系 统功能, 是用户所能观

41、察到 的系统功能的模型图,用例 是系统中的一个功能单元 类图描述系统中类的静态结构。不仅定 义系统中的类,表示类之间的联系如关 联、依赖、聚合等,也包括类的内部结 构(类的属性和操作) 类图是以类为中心来组织的,类图中的 其他元素或属于某个类或与类相关联 类图类图(Class Diagram) l 各各UML图及特征图及特征 l 对象图对象图( Object Diagram ) 对象图是类图的实例,几乎使用与 类图完全相同的标识。他们的不同 点在于对象图显示类的多个对象实 例,而不是实际的类 顺序图顺序图(Sequence Diagram) 顺序图显示对象之间的动态合 作关系,它强调对象之间消息 发送的顺序,同时显示对象之 间的交互 顺序图的一个用途是用来表示 用例中的行为顺序。当执行一 个用例行为时,顺序图中的每 条消息对应了一个类操作或引 起状态转换的触发事件 l 各各UML图及特征图及特征 l 协作图协作图(Collaboration Diagram) 协作图描述对象间的协作关系,协 作图跟顺序图相似,显示对象间的 动态合作关系。除显示信息交换外, 协作图还显示对象以及它们之间的 关系. 协作图的一个用途是表示一个类操 作的实现 状态图状态图(State Chart Diagram) 状态图是一个类对象所可能经历

温馨提示

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

评论

0/150

提交评论