UML概述
目录
什么是UML
UML是一种可视化的面向对象建模语言
UML描述了一个系统的静态结构和动态行为
UML用图形的方式表现经典的面向对象系统的整个结构
UML从不同的角度为系统建模,并形成系统的不同视图
UML分类
从UML的基本建模元素考虑:UML可以分成图、事物以及关系这三个部分,这三个部分也可以成为UML的基本构造块
从整个建模角度考虑:在UML体系分类中增加了视图的内容,将UML分成视图、图、模型元素和通用机制四个部分
UML组成结构
UML中的事物
结构事物
类:类是具有相同属性、相同方法、相同语义和相同关系的一组对象的集合,一个类可以实现一个或多个接口。
接口:接口是指类和组件所提供的、可以完成特定功能的一组操作的集合,接口描述了类或组件的对外的,可见的动作。
用例:用例定义了系统执行的一组操作,对特定的用户产生可以观察的结果。
协作:协作定义了交互的操作,表示一些角色和其他元素一起工作,提供一些合作的动作。一个给定的类可能是几个协作的组成部分,这些协作代表构成系统的模式的实现。
活动类:活动类是指类对象有一个或多个线程或进程的类。活动类和类相似,只是它的对象代表的元素的行为和其他元素同时存在。
组件:组件是物理上可替换的,实现了一个或多个接口的系统元素。
节点:节点是一个物理元素,它在运行时存在,代表一个可计算的资源。
行为事物
交互:交互是在特定上下文中的一组对象,为共同完成一定的任务而进行的一系列消息交换所组成的动作。交互包括消息、动作序列(消息产生的动作)、对象之间的连接。
状态机:状态机是对象的一个或多个状态的集合。
组织事物
组织事物也称分组事物,是UML模型中组织的部分,可以把它看做一个个的盒子,每个盒子里面的对象关系复杂,而盒子与盒子之间的关系相对简单。
包:包是一种有组织的将一系列元素分组的机制,包与组件的最大区别在于,包纯粹是一种概念上的东西,仅仅存在与开发阶段结束之前,而组件是一种物理元素,存在于运行时。
辅助事物
辅助事物也称注释事物,属于这一类的只有注释。
注释:注释就是UML模型的解释部分。
UML中的关系
关联关系:关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。
依赖关系:依赖关系描述两个模型(类、用例等)之间的语义关系,其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变,将影响依赖于她的元素。
泛化关系:泛化可以按照有没有给泛化添加约束分为普通泛化和受限泛化。
实现关系:实现关系是一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口知识行为的说明而不是结构或者实现。通常在两种地方会遇到实现关系:(1)一种是在接口和实现它们的类或构件之间;(2)另一种是在用例和实现它们的协作之间。
UML中的图
用例图(Use case diagrams):用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。 描述系统的功能
静态图
——类图(Class diagrams):用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。 描述系统的静态结构
——对象图(Object diagrams):对象图是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。 描述系统再某个时刻的静态结构
行为图:用来描述系统的动态模型和对象之间的交互关系,包括:
——状态图(Statechart diagrams):用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。 描述系统元素的状态条件和响应
——活动图(Activity diagrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动 描述了系统元素的活动
交互图:用来描述对象之间的交互关系,包括:
——序列图(Sequence diagrams):描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。 按时间顺序描述系统元素之间的交互
——协作图(Collaboration diagrams):描述对象之间的合作关系,更侧重于说明哪些对象之间有消息的传递。 按照时间和空间顺序描述系统元素间的交互和她们之间的关系
序列图和协作图可以相互转化
实现图:
——构件图(Component diagrams):构件图用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以使一个资源文件、一个二进制文件或者一个可执行文件。
——实施图(Deployment diagrams):部署图定义了系统中硬件的物理体质结构,用来描述实际的物理设备以及它们之间的连接关系。
思维导图