三种结构块
事物——基本图示符号
关系——基本图示符号的关系
图——九种图,特定的视角对系统所作的抽象描述
三者之间的关系:事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起。图聚集了相关的事物。
结构事物:class类,interface接口,collaboration协作,UseCase用例,active class主动类,components构件,nodes节点。
行为事物:interaction交互,state mechanism状态机
分组事物:package包
注记事物:notes注解
class类:是对一组具有相同属性,方法,关系和语义的对象的描述。一个类实现一个或多个接口。
interface接口:描述了一个类或构件的一个服务的操作集。接口仅仅是定义了一组操作的规范,它并没有给出这组操作的具体实现。
collaboration协作:定义了一个交互,他是有一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作行为大于所有元素的各自行为的总和。因此,协作有结构、行为和维度。一个给定的类可以参与几个协作。
UseCase用例:是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者(actor)有价值且可观察的结构。
active class主动类:这样的类其对象至少拥有一个进程或线程,因为他能够启动控制活动。
components构件:是系统中物理的,可替代的部件,它遵循且提供一组接口的实现。
nodes节点:是在运行时存在的物理元素。他表示了一种可计算的资源,他通常至少有一些记忆能力,处理能力。一个构件集可以驻留在一个节点内,亦可以从一个节点迁移到另一个节点。
interaction交互:交互这一种行为,它由在特定语境中共同完成一定特定任务的一组对象间交互的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。interaction交互涉及一些其他的元素,包括消息,动作序列links。
state mechanism状态机:statemechanism状态机是这样一种行为,描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。单个类或一组类之间协作的行为可以用状态机来描述。一个状态机涉及到一些其他元素,包括了状态转换时间和活动。
package包:把元素组织成组的机制
notes注解:UML解释部分。这些解释事物用来描述、说明和标记模型中的任何元素。他是一个依附于一个元素或一组元素之上,对他进行约束或解释的简单符号。
关联association,依赖dependency,泛化generalization,实现realization
关联association:类之间的结构化关系
依赖dependency:元素之间的继承关系
泛化generalization:类之间的使用关系
实现realization:类之间的语义关系
|
定义 |
显示 |
运用于 |
用例图 |
描述角色以及角色与用例之间的连接关系 |
系统的外部可视行为; |
描述系统的功能需求 |
类图 |
描述类、接口和它们之间的协作关系 描述系统中的类,以及各个类之间的关系的静态视图 |
类定义和关系 |
定义内部的、面向对象的代码结构 |
组件图 |
描述代码构件的物理结构以及各种构建之间的依赖关系 |
系统的体系结构 |
研究系统的体系结构 |
部署图 |
表示一组物理结点的集合及结点间的相互关系。物理部署 |
系统的物理体系结构 |
可用于系统映射,也可用作研究系统负载 |
状态图 |
描述类的对象所有可能的状态,以及事件发生时状态的转移条件。 |
响应事件的状态改变 |
确保每个事件都被适当地处理,不管系统当前可能处于什么状态。 |
活动图 |
描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动 |
系统行为的详细描述 |
确保彻底理解给定的功能。 |
顺序图 |
描述了某个功能需求的路径或场景内相对时间的详细行为 强调消息是如何在对象之间被发送和接收的。 强调时间和顺序 |
对象随着时间的交互 |
理解系统元素之间的消息流程 |
协作图 |
和序列图相似,描述对象间的动态合作关系 强调上下级关系 |
了对象的交互,其中强调了对象之间的关系 |
协作图不如顺序图用的多 |
包图 |
描述了设计的相关元素如何按组结合在一起,以及这些组如何相互依赖。 |
设计的层次结构 |
将复杂的设计划分为多个更易于管理的较小设计 |