1、UML关系

泛化(也就是我们传统意义上的继承关系)

子类继承父类,关系用extend关键字标识;

关联

可以说是一种属于关系,图中即说的是PhoneNumber类属于Master类,同时,除了一对一的关系之外,还可以用一对多、多对一、多对多的关联关系,除了单向关联之外,双向关联也是存在的;

需要注意的是,在关联关系里面,还有着两种特殊的关系:聚合和组合
聚合--体现出来的是整体与部分的关系,是一种“弱拥有”关系,部分能够脱离整体而单独存在

如上图所示,轮胎能够脱离汽车而单独存在;

组合--体现出来的是一种包含的关系,关系比聚合更强,是一种“强聚合”的关系,部分不能离开整体而单独存在

部门不能脱离掉公司而单独存在;

依赖

指一个类依赖于另一个类而存在;

上图就是指的是Person类依赖于Air类,即Person类的存在使用了Air类;

实现

一个class类实现一个interface接口;

implements关键字标识;

2、UML的9种图

1、用例图--标识一个系统中用例与参与者关系之间的图,描述系统中相关用户和系统对不同用户提供的功能和服务

用例图构成--参与者、系统边界、用例、关联

用例图主要是从用户角度,描述系统的功能;

关系

参与者和用例之间,主要就是关联关系;

参与者和参与者之间,主要是泛化关系,即某个参与者继承到某个参与者的功能;

用例和用例之间,主要有包含、泛化、扩展关系;

2、类图--若干类关联在一起,反映系统或者子系统组成结构的静态图

类图主要作用是用来描述软件系统中各个类的结构和类之间的关系

类图构成--类名、属性、操作
类的种类

实体类:

控制类:

边界类:

类图间关系--泛化、依赖、关联、实现、组合、聚合(同上面提到的各种关系)

仅仅举例泛化:

3、对象图--描述参与交互的各个对象在交互过程中某一时刻的状态

对象图表示--由对象和链组成

4、状态图--描述类的所有对象的可能的状态,以及事件发生时状态的转移条件

状态图组成元素--初始状态、终止状态、状态;

其中,圆角矩形表示状态;

状态转换

状态判定

5、活动图--描述活动的顺序,展现一个活动到另一个活动的控制流

活动图组成元素--动作、活动、动作流、分支与合并、分叉与汇合、泳道、对象流

需要注意的是,活动图是状态图的一种特殊情况;

6、时序图--描述以时间顺序组织的对象之间的交互活动

顺序图组成元素--对象、生命线、激活、消息

对象--参与交互的基本单位:

生命线--表示对象在一段时间内存在:

激活--表示一个对象执行一个动作所经历的时间段,对象接收到消息活动就开始:

消息--一条消息是一次对象间的通信:

顺序图消息类型--同步消息、异步消息、返回消息

同步消息--有阻塞等待的风险(实心箭头):

异步消息--不需要等待(直接的箭头--一半儿):

返回消息--消息指向返回的方向(虚线表示):

7、协作图--强调收发消息的对象的组织结构

协作图构成--对象、消息、链

协作图作用--表现一个类操作的实现,显示对象及其交互关系的空间组织结构

8、构件图--表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图

构件图构成--构件、接口、依赖关系

9、部署图--用来显示系统中软件和硬件的物理架构--用来建模系统的物理部署

10、包图--描述模型中的包和所包含元素的组织方式的图。包含元素以及包之间的关系

包图作用--用来组织用例图和类图
包图所用关系--主要使用的是依赖关系和泛化关系

UML各类基础知识总结的更多相关文章

  1. UML图基础知识

    一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...

  2. UML 建模 -- 基础知识

    1.UML简介 UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言.适用于以用例为驱动,以体系结构为中心的软件设计全程 2.UML模型的 ...

  3. UML uml基础知识

    uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...

  4. 【二】、UML基础知识——图图解乾坤

    [二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...

  5. 语义web基础知识学习

    最近找了一本书,<语义web技术基础>----Pascal Hitzler等编著的.因为最近在看关于自然语言处理的一些东西,就顺带翻了一下,做一点学习笔记,方便以后查看. 本书的作者 Pa ...

  6. 【数据库上】 第四讲 E-R模型基础知识

    第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...

  7. Unity3D基础知识梳理

    这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...

  8. Bash的基础知识man手册

    Bash的基础知识man手册 由于基于Android类设备的渗透测试都是通过各类终端实现.所以掌握Shell相关操作就显得尤为重要.Bash是一个为GNU计划编写的Unix Shell本文选自基于An ...

  9. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  10. 1.进入debug模式(基础知识列表)

    1.进入debug模式(基础知识列表)1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ========================= ...

随机推荐

  1. 用 vue2 和 webpack 快速建构 NW.js 项目

    经过实践和学习,发现本篇文章部分内容已经过时,请看我的关于 Vue 和 NW.js 的 ** 最新文章 ** 和相关实践项目 vue-nw-seed . 使用到的技能点 vue2 webpack NW ...

  2. FreeRTOS例程开发

    环境配置 下载官方源码 https://www.freertos.org/ 找到这个,他就是visual studio示例demo,我们主要在这个的基础上修改 下载visio studio https ...

  3. 7.11考试总结(NOIP模拟11)[math·biology·english]

    吾于冥河沉浮,受尽命运捉弄,纵然汝将忘吾,吾亦伴汝身旁. 前言 考试的时候本来一看 T2 一见如故,决定 231 开题,然后瞅了一眼 T3 的题面,似曾相识. 仔细看了一眼,这,这不是差异吗,然后果断 ...

  4. P9174

    problem & blog 子任务 \(1\) 和子任务 \(2\) 都比较好做.所以我们这里不讲. 状态将是数字 \(n\) (每个颜色的频率的排序数组)的所有分区,因为当我们旋转每种颜色 ...

  5. Xcode 配置账号

    Xcode 配置开发者账号 简介:在iOS 开发过程中,要打包到手机上是需要登陆账号和配置对应证书的. 配置账号 打开Xcode -> Preferences -> Accounts -& ...

  6. spring.jackson 相差8小时,restful接收Date参数处理

    spring.jackson 相差8小时,restful接收Date参数处理 前端提交字符串到后台映射日期类型的话,加上​​@DateTimeFormat(pattern = "yyyy-M ...

  7. 链表中,LNode和* LinkList的理解

    typedef struct LNode { int data; struct LNode* next; }LNode, * LinkList; 这是标准链表创建法. 简单的说,其中LNode和 * ...

  8. Atcoder Beginner Contest 321 G - Electric Circuit 题解 - 状压dp | 指定最低位

    为了更好的阅读体验,请点击这里 题目链接:G - Electric Circuit 看到了 \(N\) 的数据范围,因此是显然的状压 dp. 不妨设 \(f_S\) 为仅使用 \(S\) 集合中的所有 ...

  9. Kubernetes(一)Overview

    1. Kubernetes介绍 要了解Kubernetes,首先我们需要了解Container与Orchestration. Docker Docker的出现是为了解决:部署依赖.以及兼容性.以及繁琐 ...

  10. IEC103设备数据 转 IEC61850项目案例

    目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 ...