UML的简单理解

一、UML

UML(Unified Modeling Language)是一种模型语言,也是一种为面向对象开发系统的产品进行说明、可视化、编制文档的标准语言;但是UML不是编程语言,但是可以在各种语言的代码中使用UML图。

UML三个基本模块:事物、关系、图;
UML概念模型三大要素:UML构建模块、规则连接构建模块、UML公共机制;
UML构建块的定义:事物、关系、图;
{ 事 物 { 结 构 事 物 { 类 : 属 性 、 方 法 、 关 系 、 语 义 相 同 对 象 的 集 合 接 口 : 类 或 组 件 提 供 的 服 务 协 作 : 元 素 之 间 的 相 互 作 用 用 例 : 体 现 系 统 的 功 能 组 件 : 描 述 物 理 系 统 的 一 部 分 节 点 : 运 行 时 存 在 的 物 理 元 素 行 为 事 物 { 交 互 状 态 机 分 组 事 物 : 包 注 释 事 物 : 注 释 关 系 { 依 赖 : 一 个 事 物 的 变 化 影 响 另 一 个 事 物 协 作 : 描 述 部 分 和 整 体 的 结 构 关 系 实 现 泛 化 图 { 用 例 图 类 图 对 象 图 顺 序 图 协 作 图 状 态 图 活 动 图 构 件 图 部 署 图 包 图 \begin{cases}事物\begin{cases}结构事物\begin{cases}类:属性、方法、关系、语义相同对象的集合\\接口:类或组件提供的服务\\协作:元素之间的相互作用\\用例:体现系统的功能\\组件:描述物理系统的一部分\\节点:运行时存在的物理元素\end{cases}\\行为事物\begin{cases}交互\\状态机\end{cases}\\分组事物:包\\注释事物:注释\end{cases}\\关系\begin{cases}依赖:一个事物的变化影响另一个事物\\协作:描述部分和整体的结构关系\\实现\\泛化\end{cases}\\图\begin{cases}用例图\\类图\\对象图\\顺序图\\协作图\\状态图\\活动图\\构件图\\部署图\\包图\end{cases}\end{cases} {

二、UML模型图

1、用例图

静态建模;展现了系统的功能、用户和系统的交互情况。
{ 参 与 者 用 例 : 一 个 功 能 单 元 \begin{cases} 参与者\\用例:一个功能单元 \end{cases} {
{ 关 联 : 参 与 者 与 用 例 最 基 础 的 交 互 方 式 包 含 : 影 响 完 整 性 、 必 须 执 行 扩 展 : 不 影 响 完 整 性 、 条 件 执 行 泛 化 : 继 承 对 方 的 特 性 并 有 自 己 的 特 性 \begin{cases} 关联:参与者与用例最基础的交互方式\\包含:影响完整性、必须执行\\扩展:不影响完整性、条件执行\\泛化:继承对方的特性并有自己的特性\end{cases}

2、类图

静态建模;反映类的属性、操作和类之间的关系。
{ 类 名 : 类 名 必 须 有 属 性 : 可 见 性 、 数 据 类 型 、 缺 省 操 作 : 可 见 性 \begin{cases}类名:类名必须有\\属性:可见性、数据类型、缺省\\操作:可见性\end{cases}
{ − : p r i v a t e + : p u b l i c # : p r o t e c t e d \begin{cases}-:private\\+:public\\\#:protected\end{cases} :private+:public#:protected
{ 关 联 { 聚 合 : 部 分 和 整 体 之 间 的 关 系 组 合 : 部 分 和 整 体 具 有 相 同 的 生 命 周 期 泛 化 : 继 承 关 系 实 现 : 类 与 接 口 之 间 的 关 系 依 赖 : 绑 定 、 友 元 \begin{cases}关联\begin{cases}聚合:部分和整体之间的关系\\组合:部分和整体具有相同的生命周期\end{cases}\\泛化:继承关系\\实现:类与接口之间的关系\\依赖:绑定、友元\end{cases} {

3、顺序图

动态建模;用例中的行为顺序。
{ 参 与 者 对 象 : 对 象 是 类 的 实 例 生 命 线 消 息 符 号 { 同 步 异 步 简 单 同 步 且 立 即 返 回 \begin{cases}参与者\\对象:对象是类的实例\\生命线\\消息符号\begin{cases}同步\\异步\\简单\\同步且立即返回\end{cases}\end{cases} 线

4、协作图

对象间的交互作用,可以表示类操作的实现。
{ 参 与 者 对 象 消 息 流 \begin{cases}参与者\\对象\\消息流\end{cases}
消 息 标 签 : [ 前 缀 ] [ 守 卫 条 件 ] 序 列 表 达 式 [ 返 回 值 : = ] 消 息 名 消息标签:[前缀][守卫条件]序列表达式[返回值:=]消息名 [][][:=]
协作图与顺序图的区别:
{ 顺 序 图 强 调 对 象 执 行 的 时 间 顺 序 − 时 间 角 度 协 作 图 强 调 对 象 之 间 的 关 系 − 空 间 角 度 \begin{cases}顺序图强调对象执行的时间顺序-时间角度\\协作图强调对象之间的关系-空间角度\end{cases} {

5、状态图

动态建模。
{ 状 态 转 移 开 始 : 一 个 结 束 : 可 以 有 多 个 \begin{cases}状态\\转移\\开始:一个\\结束:可以有多个\end{cases}

6、活动图

动态建模;类似于传统的流程图。
{ 活 动 : 动 作 的 执 行 起 点 终 点 对 象 流 : 活 动 之 间 交 换 的 信 息 发 送 信 号 接 收 信 号 泳 道 : 活 动 的 负 责 者 \begin{cases}活动:动作的执行\\起点\\终点\\对象流:活动之间交换的信息\\发送信号\\接收信号\\泳道:活动的负责者\end{cases}
{ 迁 移 : 活 动 的 完 成 与 新 活 动 的 开 始 分 支 : 控 制 动 作 的 执 行 方 向 分 叉 : 活 动 并 发 执 行 结 合 : 并 发 执 行 的 活 动 结 合 \begin{cases}迁移:活动的完成与新活动的开始\\分支:控制动作的执行方向\\分叉:活动并发执行\\结合:并发执行的活动结合\end{cases}

7、构件图

静态建模;构件类型组织以及各种构件之间的依赖关系;用来描述一个系统中的物理构件。
构件图=构件+接口+关系+端口+连接器
{ 构 件 : 系 统 中 可 替 换 的 物 理 部 分 接 口 : 外 部 可 访 问 到 的 服 务 构 件 实 例 : 构 件 的 一 个 实 例 \begin{cases}构件:系统中可替换的物理部分\\接口:外部可访问到的服务\\构件实例:构件的一个实例\end{cases} 访
{ 实 现 关 系 : 构 件 提 供 的 服 务 依 赖 关 系 : 构 件 使 用 其 他 构 件 提 供 的 服 务 \begin{cases}实现关系:构件提供的服务\\依赖关系:构件使用其他构件提供的服务\end{cases} {使

8、部署图

静态建模 { 实 例 层 部 署 图 描 述 层 部 署 图 \begin{cases}实例层部署图\\描述层部署图\end{cases} {
{ 节 点 : 一 个 至 少 有 存 储 空 间 和 执 行 能 力 的 计 算 资 源 构 件 接 口 构 件 实 例 \begin{cases}节点:一个至少有存储空间和执行能力的计算资源\\构件\\接口\\构件实例\end{cases}
{ 节 点 内 { 实 现 关 系 依 赖 关 系 节 点 间 { 关 联 关 系 其 他 关 系 \begin{cases}节点内\begin{cases}实现关系\\依赖关系\end{cases}\\节点间\begin{cases}关联关系\\其他关系\end{cases}\end{cases} {{
部署图和构件图之间的关系:
部署图偏向于描述构件在节点中的运行状态
构件图偏向于描述构件之间的关系

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值