2019独角兽企业重金招聘Python工程师标准>>>

UML统一模型语言

UML 模型图的构成:

  1. 事物(具有代表性的成分的抽象)

    1. 构建事物

接口

协作: 一组事物间的相互作用的集合

用例: 代表一个系统或者系统的一部分行为,是一组动作序列的集合

构建: 系统中物理存在,可替换的部件

节点: 运行时存在的物理元素

×另外: 参与者信号应用文档库页表等都是上述基本事物的变体

2. 行为事物: 动态部分,描述跨越空间和实践的行为

交互: 实现某种功能的一组事物之间的消息的集合(含:消息、动作序列、链接)

状态机: 描述事物或交互在生民周期内响应时间所经历的状态序列

3. 分组事物: 组织部分,描述事物的组织结构

包: 把元素组织成祖的机制

4. 注释事物

注解: 对元素进行约束或解释的简单符号

二、    关系(联系事物)

1. 依赖: 两事物间的语义关系,一个变化另一个变化

2. 关联: 结构关系,指明一个事物的对象与梁一个事物的对象间的联系

3. 泛化: 一般/特殊 的关系,也就是继承关系。

4. 实现: 类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约

三、图(事物和关系的可视化表示)

1. 用例图

从用户角度描述系统功能,是用户所能观察到的系统功能的模型图。

(图1 用例图)

2. 类图

  • 类图描述系统中类的静态结构,定义系统中的类,表示类间的关系,也包括类的内部结构(属性和操作)

    • 类图以类为中心来组织,类图中的其他元素属于某个类或与某个类相关联

(图2 类图的实例: 很熟悉吧,图书馆的架构图就是类图)

3. 对象图

与类图十分相似,是类图的实例,只不过显示的是类的多个对象实例。

(图3  对象图)

4. 顺序图

显示对象之间的动态合作关系,它强调对象之间消息发送的吮吸同时显示对象之间的交互。它可以用来表示用例中的行为顺序。

(图4: 顺序图)

5. 协作图

描述对象间的协作关系,和顺序图类似,显示对象间的动态合作和对象及它们之间的关系。它可以用来表示一个类操作的实现。

6. 状态图

状态图表示一个类对象所可能经历的所有历程的图,由类对象的各个状态和连接这些状态的转换组成。

(图5 状态图:学渣的自我修养)

7. 活动图:

状态图的变体,用来描述执行算法的工作流程中涉及的活动能够。它用来描述一组顺序或并发的活动。

(图6 活动图)

8. 构件图

构件图为系统的构件模型(构件即构造应用的软件单元)还包括各个构件之间的依赖关系。

(图7 构件图)

9. 部署图:

描述位于节点实例上的运行构件实例的安排。(节点是一组运行资源如计算机、设备或储存器)它可以评估分配结果和资源分配。

四、各种UML图的关系

1.

(BD Base Design 基本设计 DD Detailed Design 详细设计 FD Functional Design 功能设计)

2.    用例中include 和 extend 的关系辨析:【引用自iwannaknowmore http://blog.csdn.net/iwannaknowmore/article/details/6260781】

扩展(extend): extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。

包含(include): include为包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例。

五、语法描述

参考:http://wenku.baidu.com/view/d07e4574a45177232f60a276.html?re=view

转载于:https://my.oschina.net/xueyang/blog/287541

UML图入门学习笔记相关推荐

  1. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二)

    本文是"图匹配入门学习笔记--以<Factorized Graph Matching>为例"系列的第二篇文章,主要介绍了FGM算法的实现过程,包括图匹配的因式分解形式, ...

  2. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)

    这篇文章本身是图匹配经典论文<Factorized Graph Matching>的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹 ...

  3. 【带着canvas去流浪(11)】Three.js入门学习笔记

    [摘要] three.js 入门学习笔记 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 资料推荐及建议 1.官方文档 很详细,但是API部分单独 ...

  4. RT-Thread Nano入门学习笔记(2)

    RT-Thread系列 Keil模拟器 STM32F103上手指南学习笔记 RT-Thread Studio快速上手 RT-Thread Nano入门学习笔记(1) 项目实战:快速打造一个桌面mini ...

  5. Qt 快速入门学习笔记

    Qt 快速入门学习笔记 环境安装 环境配置以及安装 安装包下载地址 1.windows安装 msvc编译器模块需要安装Windows软件开发工具包. MinGW是Windows平台使用GNU工具导入库 ...

  6. python数据分析入门学习笔记

    python数据分析入门学习笔记儿 学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我 ...

  7. Altium Designer入门学习笔记和快捷键整理

    Altium Designer入门学习笔记和快捷键整理 一.常用快捷键整理: 以下均为英文输入法: Ctrl + 要设的功能 = 生成快捷键 点击S,切换选择,如区域内选择等 原理图界面:框选后,PC ...

  8. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  9. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

最新文章

  1. powerdesigner中类图的内部类画法
  2. vs2010连接mongodb服务器,X64位
  3. Android Studio 代码混淆(你真的会混淆吗)
  4. web服务器虚拟,虚拟web服务器
  5. VTK:几何对象之Cylinder
  6. eclipse折叠if语句块_Python学习日志01判断 if 语句
  7. android java资源包下载网站
  8. c语言中的函数可变参数列表相关的三个宏
  9. icmp协议_ICMP协议全解析
  10. 冲刺阶段—个人工作总结07
  11. Kazrog AmpCraft 1992 for Mac - 放大器建模插件
  12. 2022年聚合工艺考试试卷及聚合工艺考试总结
  13. 一梦江湖获取服务器信息卡住,一梦江湖4月10日更新了什么 副本减负再临绝境天道盟开放...
  14. MLP,GCN,GAT,GraphSAGE, GAE, Pooling,DiffPool
  15. oracle length
  16. Android/iOS及设计中ARGB颜色值百分比透明度换算
  17. python技术线上培训
  18. 005 |《共同富裕背景下党支部领办新型农村集体经济发展路径研究—以X村合作社为例》 | 大学生创新训练项目申请书 | 极致技术工厂
  19. scala和java类_Scala(和Java)中的类和类型有什么区别?
  20. 计算机cache高速缓存的原理,在计算机中,高速缓存(Cache)的作用是____。

热门文章

  1. For input string:
  2. sentinel控制台无数据解决
  3. mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图
  4. ubuntu 查找qt是否安装_Ubuntu Qt 安装教程--快速下载连接(网盘)
  5. 计算机控制常用数据通信标准,计算机控制数据通信基础要点.ppt
  6. cmd批量修改文件名 增加文字_Dynamo自动批量化修改文件名称
  7. 实现页面适配_微信公众号文章页面适配深色模式
  8. ElasticSearch前缀匹配查询(英文检索)
  9. 从留存的本质出发,制定留存策略
  10. 5G零售行业应用白皮书