零:学习链接
UML_哔哩哔哩_bilibili
一:UML概述
二:类图
类图(Class Diagram)是统一建模语言(UML)中一种重要的图形表示,用于描述系统中的类及其之间的关系。它是面向对象设计中常用的工具,可以帮助开发者理解系统结构和组件之间的互动。
UML类的表示
-
类名:
- 位于矩形的顶部,通常使用加粗字体。类名首字母大写,其他字母通常小写。
-
属性:
- 位于矩形的中间部分,列出类的属性。属性前可以添加访问修饰符:
- 可见性修饰符概述:用“#”表示,意味着可以在该类及其子类中访
- 公开(public):用“+”表示,意味着可以被任何类访问。
- 私有(private):用“-”表示,意味着只能在该类内部访问。
- 保护(protected):用“#”表示,意味着可以在该类及其子类中访问。
- 包级(package):用“~”表示,意味着只能在同一包内访问。
- 每个属性可以包含类型信息,格式为
属性名: 类型
。
- 位于矩形的中间部分,列出类的属性。属性前可以添加访问修饰符:
-
方法:
- 位于矩形的底部,列出类的方法。方法的表示与属性相似,格式为
方法名(参数列表): 返回类型
。
- 位于矩形的底部,列出类的方法。方法的表示与属性相似,格式为
继承关系
在UML(统一建模语言)中,类继承关系通常通过特定的符号表示。以下是一些关键概念和符号:
-
继承(泛化):
- 表示父类与子类之间的关系。
- 用一个带空心三角形的实线连接父类和子类,三角形指向父类。
-
实现:
- 表示一个类实现了一个接口。
- 用带空心三角形的虚线表示,三角形指向接口。
-
多重继承:
- 如果一个子类继承自多个父类,使用多个实线箭头连接各个父类。
-
抽象类:
- 抽象类通常用斜体字体表示,表示不能直接实例化的类。
-
接口:
- 接口通常用“<<interface>>”标签标注,以便区分与普通类。
实现关系
依赖关系
关联关系
聚合关系
组合关系
三:用例图
用例图是UML(统一建模语言)中一种用于表示系统功能的图示工具,主要用于展示系统的用户(或称为“参与者”)与系统之间的交互关系。用例图能够帮助分析和定义系统的需求,尤其是在系统的早期设计阶段。
用例图的主要组成部分
-
参与者(Actors):
- 代表与系统交互的用户或其他系统。
- 可以是具体的人、组织或外部系统。
- 在图中通常用一个小人形象或方框表示。
-
用例(Use Cases):
- 表示系统提供的功能或服务。
- 通常用椭圆形表示,并标注功能名称。
-
关系:
- 关联(Association):参与者与用例之间的连接线,表示交互关系。
- 扩展(Extend):用来表示某个用例在特定条件下可以扩展其他用例,通常用带箭头的虚线表示。
- 包含(Include):表示一个用例包含另一个用例的功能,通常用带箭头的虚线表示。
用例图的用途
- 需求分析:帮助开发团队理解系统功能和用户需求。
- 沟通工具:作为开发人员、客户和其他利益相关者之间的沟通桥梁。
- 文档化:为系统的功能提供清晰的文档,便于后续的设计和开发。
用例图元素
四:状态图
状态图(State Diagram)是UML(统一建模语言)中的一种行为图,用于描述对象在其生命周期中的各种状态及状态之间的转换。它主要用于建模具有明显状态变化的对象,如在某个特定条件下可能会改变的对象的行为。
状态图的主要组成部分
-
状态(State):
- 代表对象在某一时刻的状况。
- 状态用圆角矩形表示,状态名称通常在其中。
-
初始状态(Initial State):
- 表示对象生命周期的开始状态。
- 用一个实心圆表示。
-
终止状态(Final State):
- 表示对象生命周期的结束状态。
- 用一个带圈的实心圆表示。
-
转换(Transition):
- 表示状态之间的变化,通常由箭头表示。
- 可以附带事件、条件或动作描述,如“事件/动作”格式。
-
事件(Event):
- 导致状态转换的外部或内部条件。
-
条件(Guard):
- 在转换发生前需要满足的条件,通常写在方括号中。
五:活动图
活动图(Activity Diagram)是UML(统一建模语言)中用于描述系统中活动流和控制流的图示工具。它特别适合于展示业务流程、工作流或系统中的动态行为。
活动图的主要组成部分
-
活动(Activity):
- 表示系统中的一个动作或任务,通常用圆角矩形表示,活动名称写在其中。
-
初始节点(Initial Node):
- 表示活动的起始点,用一个实心圆表示。
-
终止节点(Final Node):
- 表示活动的结束点,用一个带圈的实心圆表示。
-
控制流(Control Flow):
- 表示活动之间的顺序关系,通常用箭头表示,指示活动的执行顺序。
-
决策节点(Decision Node):
- 表示基于条件的分支,通常用菱形表示,箭头指向不同的活动,附带条件表达式。
-
合并节点(Merge Node):
- 将多个控制流合并为一个,通常用菱形表示。
-
并行活动(Fork和Join):
- Fork:表示活动的并行分支,通常用一条水平或垂直的线表示。
- Join:表示并行活动的合并,通常用一条水平或垂直的线表示。
六: 时序图
时序图(Sequence Diagram)是UML(统一建模语言)中一种用于描述对象之间交互的图示,特别关注时间顺序。它展示了对象之间如何通过消息传递进行交互,通常用于描述系统的动态行为。
时序图的主要组成部分
-
参与者(Actor):
- 表示与系统交互的外部实体(如用户、系统等),通常在图的最左侧用小人图标表示。
-
对象(Object):
- 参与交互的类或实例,通常在图中用矩形表示。
-
生命线(Lifeline):
- 表示对象在交互过程中的存在,通常是从对象底部向下延伸的一条虚线。
-
消息(Message):
- 表示对象之间的交互,通过箭头表示。消息可以是同步消息、异步消息、返回消息等,箭头的样式和方向指示消息的类型。
-
激活(Activation):
- 表示对象在某个时间段内处于活跃状态,通常用矩形在生命线上表示。
-
自消息(Self-Message):
- 对象向自身发送的消息,用箭头指向自身。
七:组件图
组件图的主要组成部分
-
组件(Component):
- 表示系统中的一个模块或部分,通常用矩形表示,顶部有一个小矩形,表示这是一个组件。
-
接口(Interface):
- 表示组件提供的服务或功能,通常用圆形或半圆形表示。接口可以通过一个带有小黑点的线连接到组件。
-
连接器(Connector):
- 用于表示组件之间的通信关系,通常用带有箭头的直线表示。
-
依赖关系(Dependency):
- 表示一个组件依赖于另一个组件,通常用带箭头的虚线表示,箭头指向被依赖的组件。
-
包(Package):
- 用于组织和分组组件,可以用一个带有标签的矩形表示,里面包含多个组件。
八:部署图
部署图(Deployment Diagram)是UML(统一建模语言)中用于描述系统的物理部署结构的图示。它展示了系统的硬件组件(节点)以及这些组件之间的关系,主要用于表现系统的运行环境。
部署图的主要组成部分
-
节点(Node):
- 表示物理设备或计算资源,如服务器、工作站、路由器等,通常用立方体或三维盒子表示。
-
组件(Component):
- 系统中的软件部分,可以是应用程序、库、服务等,通常表示为矩形,并放置在节点内部。
-
关系(Relationship):
- 用于表示节点之间或组件与节点之间的连接关系,通常用线表示。
-
接口(Interface):
- 表示节点或组件提供的服务,通常用一个小圆形表示,并连接到相应的节点或组件。
-
设备(Artifact):
- 物理文件或数据,通常表示为文档图标或类似的符号,可以与节点或组件关联。