|
UML(Unified Modeling Language,统一建模语言)是面向对象软件的标准化建模语言,具有丰富的表达力,可以描述开发所需要的各种视图,然后以这些视图为基础装配系统。
|
|
|
UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的一些公共机制。目前,UML已经被广泛用于企业信息系统、基于Web的分布式应用系统、实时嵌入式系统的建模上。
|
|
|
在最高层,视图被划分成3个视图域:结构分类、动态行为和模型管理。
|
|
|
(1)结构分类描述了系统中的结构成员及其相互关系。类元包括类、用例、构件和节点。类元为研究系统动态行为奠定了基础。类元视图包括静态视图、用例视图、实现视图、部署视图。
|
|
|
(2)动态行为描述了系统随时间变化的行为。行为用从静态视图中抽取的瞬间值的变化来描述。动态行为视图包括状态机视图、活动视图和交互视图。
|
|
|
(3)模型管理说明了模型的分层组织结构。包是模型的基本组织单元。特殊的包还包括模型和子系统。模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。
|
|
|
UML还包括多种具有扩展能力的组件,如约束、构造型和标记值,它们适用于所有的视图元素。
|
|
|
|
|
|
历年考题主要集中在用例图、类图、顺序图及状态图上,尤其是类图、类的属性和方法的识别,以及类间的各种关系需要重点掌握。
|
|
|
|
类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
|
|
|
类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
|
|
|
作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
|
|
|
(1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
|
|
|
(2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
|
|
|
(3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
|
|
|
(4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
|
|
|
(5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
|
|
|
|
|
|
用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及两者之间的关系。用例图通常包括用例、参与者、扩展关系、包含关系。用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图:对系统的语境建模;对系统的需求建模。
|
|
|
|
构件图(Component Diagram)展现了一组构件之间的组织和依赖关系。构件图专注于系统的静态实现视图。它与类图相关,通常把构件映射为一个或多个类、接口或协作。
|
|
|
|
部署图(Deployment Diagram)展现了运行处理节点以及其中构件的配置。部署图给出了体系结构的静态实施视图。它与构件图相关,通常一个节点包含一个或多个构件。
|
|
|
|
状态图(State Diagram)展现了一个状态机,它由状态、转换、事件和活动组成。
|
|
|
状态图关注系统的动态视图,它对接口、类和协作的行为建模尤为重要,强调对象行为的事件顺序。状态图通常包含简单状态和组合状态、转换(事件和动作)。
|
|
|
可以用状态图对系统的动态方面建模。这些动态方面可以包括出现在系统体系结构的任何视图中的任何一种对象的按事件排序的行为,这些对象包括类(主动类)、接口、构件和节点。
|
|
|
|
活动图(Activity Diagram)是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。
|
|
|
活动图专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程。活动图一般包括活动状态和动作状态、转换和对象。当对一个系统的动态方面进行建模时,通常有两种使用活动图的方式:对工作流建模;对操作建模。
|
|
|
|
顺序图(或称序列图)和协作图均被称为交互图,用于对系统的动态方面进行建模。一张交互图显示的是一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息。
|
|
|
顺序图是强调消息时间序列的交互图,协作图则是强调接收和发送消息的对象的结构组织的交互图。
|
|
|
交互图用于对一个系统的动态方面建模。在大多数情况下,它包括对类、接口、构件和节点的具体的或原型化的实例及其之间传递的消息进行建模。交互图可以单独使用,用于可视化、详述、构造和文档化一个特定的对象群体的动态方面,也可以用来对一个用例的特定控制流进行建模。
|
|
|
|
(1)序列图有对象生命线,对象生命线是一条垂直的虚线,表示一个对象在一段时间内存在。
|
|
|
(2)序列图有控制焦点,控制焦点是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间段,既可以是直接执行,也可以是通过下级过程执行。
|
|
|
|
|
|
|