UML语法描述


1. 用例图
用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。(《UML参考手册》)
用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。
用例图多用于静态建模阶段(主要是业务建模和需求建模)
图一

注释:用例图中关系不仅包括user和case之间的关系,还包括user和user之间的关系,用例和用例之间的关系。上图中安全主管和保安就是一种泛化关系,安全主管也可以说安全主管继承保安
图二:

注释:用例和用例之间也存在关系,旅行include(包含)为汽车加油,吃饭extend(扩展)了旅行(是否去旅行不会影响吃饭的存在,吃饭对旅行来说不是必须的,只是一个扩展)
图三:

注释:航空售票用例
2. 类图
※ 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态
建模方法
※ 类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象
图一:

图二:

注释:借口,抽象类,模板类的表示方法
图三:

注释:关联关系,多对多
图四:

注释:依赖关系:绑定
图五:

注释:依赖关系:友元
图六:

注释:组合与聚合, Menu和MenuItem是组合的关系(MenuItem的存在与否会影响Menu的完整性),MenuItem和Command是聚合的关系
图七:

注释:演出售票系统类图
3. 对象图
※对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类

4. 顺序图(时序图)
顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。
顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。顺序图属于动态建模。
顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
浏览顺序图的方法是:从上到下查看对象间交换的消息。
图一:

图二:

图三:

注释:生命线上的矩形表示活跃状态
5. 协作图
协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态
情况。
协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息。
协作图可以表示类操作的实现。
协作图与顺序图的区别和联系
协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。
顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。
协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
协作图和顺序图可以相互转化。
图一:

图二:

6. 状态图
说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应。
状态图用于揭示Actor、类、子系统和组件的复杂特性。为实时系统建模。

7. 活动图(流程图)
※ 描述系统的动态行为。
※ 包含活动状态(ActionState),活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。
※ 活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述。
※ 类似于传统意义上的流程图。
※ 活动图主要用于:
业务建模时,用于详述业务用例,描述一项业务的执行过程;
设计时,描述操作的流程。
图一:


图二:

图三:

图四:

注释:带泳道的活动图
8. 构件图
构件图用于静态建模,是表示构件类型的组织以及各种构件之间依赖关系的图。
构件图通过对构件间依赖关系的描述来估计对系统构件的修改给系统可能带来的影响

图一:

9. 部署图
部署图用于静态建模,是表示运行时过程节点结构、构件实例及其对象结构的图。
如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈。
部署图的两种表现形式:实例层部署图和描述层部署图(会在后面的实例中给出)。
图一:

部署图与构件图相同的构成元素:
构件、接口、构件实例、构件向外提供服务、构件要求外部提供的服务。
部署图与构件图的关系:
部署图表现构件实例;
构件图表现构件类型的定义。
部署图偏向于描述构件在节点中运行时的状态,描述了构件运行的环境;
构件图偏向于描述构件之间相互依赖支持的基本关系。
10. 其他



本文详细介绍了UML的各个图表类型,如用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图和部署图。通过实例展示了各图在系统建模、需求分析和设计中的应用,解释了它们的特点和用途,帮助理解UML在软件开发中的重要作用。
1万+

被折叠的 条评论
为什么被折叠?



