UML

统一建模语言是面向对象软件的标准化建模语言。

事务

结构事务

UML模型中的名称,它们通常是模型的静态部分,描述概念或物理元素

图形表示:

行为事务

UML模型中的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为

图形表示:

分组事务

UML模型的组织部分,是一些模型分解成的“盒子”。最主要的分组事务是

图形表示:

注释事务

UML模型的解释部分。这些注释事务用阿里描述、说明和标注模型的任何元素。

图形表示:

关系

依赖

两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义

图形表示:

关联

一种结构关系,它描述了一组链,链是对象之间的链接。

图形表示:

聚集

一种特殊类型的关联,它描述了整体和部分简的结构关系

图形表示:

泛化

泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为

图形表示:

补充:

泛化是继承的反关系,即:子类继承父类,父类是之类的泛化!

实现

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

图形表示:

类图

展现了一组对象、接口、协作和它们之间的关系

例图:

对象图

展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例的静态快照

例图:

用例图

展现了一组用例、参与者以及它们之间的关系。

例图:

交互图

用户对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。表现为序列图、通信图、交互概览图和计时图,每种针对不同的目的,能适用于不同情况。

  1. 序列图

    是场景的图形化表示,描述以时间顺序组织的对象之间的交互活动。

    例图:

  1. 通信图

    强调收发消息的对象的结构组织,也被称作协作图,强调参加交互的对象的组织。

    例图:

  2. 交互概览图

    活动图的变体,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行链接,抽象掉了消息和生命线。

    例图:

  1. 计时图

    是一种新增的、特别适合实时和嵌入式系统建模的交互图,关注沿着线性时间轴、生命线内部的和生命线之间的条件改变。它描述对象状态随着时间改变的情况,很像示波器,适合分析周期和非周期性任务。

    例图:

状态图

展现了一个状态机,它有状态、转换、时间和活动组成。状态图关注系统的动态视图,对于接口、类和协作的行为建模尤为重要,强调对象行为的事件顺序。

例图:

活动图

一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程。它专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程。

例图:

构件(组件)图

展现了一组构件之间的组织和依赖。它专注于系统的静态实现视图。它与类图相关,通常把构件映射到一个或多个类、接口或协作。

组合结构图

用于描述一个分类器(如类、构件或用例)的内部结构,分类器与系统中其他组件部分之间的交互端口,展现一组相互协作的实例如何完成特定的任务,描述设计、架构模式或策略。

例图:

内部结构组合结构图:

协作使用组合结构图:

部署图

用来对面向对象系统的物理方面建模的方法。展现了运行时处理结点以及其中构建(制品)的配置。

例图:

包图

用于把模型本身组织成层次结构的通用机制,不能执行,展现由模型本身分解而成的组织单元以及其间的依赖关系。

例图:

软件设计师考试备考之UML的更多相关文章

  1. 软件设计师考试计算机系统知识——CPU

    第一章: 计算机系统知识 1.1.1计算机系统硬件的基本组成 运算器.控制器.存储器.输入设备.输出设备 1.1.2 中央处理器 ①CPU的功能: a.程序控制:CPU通过执行指令来控制程序执行的顺序 ...

  2. 职位-IT:软件设计师

    ylbtech-职位-IT:软件设计师 软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才.还能够组织和指导程 ...

  3. 软件设计师.NET认证考试测试卷(试题及答案)

    软件设计师.NET认证考试测试卷 注意事项:用蓝.黑色钢笔答题.保持卷面整洁. 得分 阅卷人 一.单项选择(40分,每小题1分) 1.以下标识符中不全是关键字的是(D  ) A.case for in ...

  4. 2、软件设计师要阅读的书籍 - IT软件人员书籍系列文章

    软件设计师在项目组中的地位比软件工程师相对要高一些.但是他们所要阅读的书籍差别还是比较大的.同样的,软件设计师也要阅读比较多的书籍,以能够完成项目的任务为目的,同时还要提高自身在项目组中的竞争地位,而 ...

  5. 软件设计师真题试题&&答案

    软件设计师2013上半年上午试题及答案详解 下午试题 2013下半年上午答案 试题 下午答案 试题 2014上半年上午答案 2015上半年上午答案 2016上半年上午试题

  6. 《软件设计师》——UML

    包含和扩展的区别,在于是否“必须”,如果是必须则是包含,如果不是必须则是扩展. 粗横线表示产生多个并行的任务.

  7. 软件设计师【UML】

    一.概述 二.核心概念 1.用例图 1.包含关系 当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示他们.其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例. ...

  8. 软件开发学习笔记 <一> UML

    UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...

  9. 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展

    一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...

  10. 《软件建模与分析》——UML基本概念

    UML-基本概念 UML本质上是一种语言,语言的学习离不开基本的单词(元素)和语法(视图.模型)的学习,今天我们就从它们开始. 元素 类图中的关系 控制权限 继承 实现 依赖:一个类A使用到了另一个类 ...

随机推荐

  1. adb shell 全局查找文件

    借助busybox 由于安卓手机没有 find 命令,所以我们需要借助busybox中的find命令 busybox 下载地址 这里我下载的是 busybox-armv6l, 一般这个版本就可以,下载 ...

  2. 数据结构高阶--AVL(平衡二叉树)(图解+实现)

    AVL树(平衡二叉树) 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下.因此为了解决这个问题,两位俄罗斯的数学家发明 ...

  3. Java基础知识篇【gitee】

    https://snailclimb.gitee.io/javaguide 一.Java基本功 Java一次编译,字节码通过JVM,处处运行jsp会转化为servlet,也要由jdk编译OracleJ ...

  4. 为什么Git远程仓库中要配置公钥?

    最近在使用阿里云效平台代码管理,首次使用新建仓库,使用SSH时需要配置公钥.之前也在GitHub.Gitee上配置过,每次都能正常使用,也没有思考过为什么要配置公钥.这次记录一下其中的原理. 本地和远 ...

  5. 在OpenEuler22.09(也适用于CentOS7+)编译安装Python3.9,并于原Python共存-指南

    指南使用操作系统:OpenEuler 22.09(网络安装,最小安装,使用默认源) 指南使用系统自带Python版本:3.10(高版本,这不是3.1喔) 1. 安装基本的编译环境 yum -y ins ...

  6. 看起来简单实际上却很牛的KMP算法:LeetCode572-另一棵树的子树

    题目描述 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树.s 的一个子树包括 s 的一个节点和这个节点的所有子孙.s 也可以看做它自身的一棵子树. 暴力解法 从 ...

  7. VRRP原理和实战

    一.VRRP基本概述 ·VRRP能够在不改变组网的情况中,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份. ·协议版本:VRRPv2(常用)和VRRPv3 · ...

  8. STM32用寄存器实现电平翻转(一个按键控制LED灯的开关)

    代码 GPIOx -> ODR ^= GPIO_Pin_x 如果加载了标准库的文件: GPIOx中的x可以为(A,B,C,D--) GPIO_Pin_x中的x可以为(1,2,3--) 如果没有加 ...

  9. vue 单独封装分页组件

    一.在components文件夹下新建 pagination.vue <template> <div class="page-wrap"> <ul&g ...

  10. Linux利用crontab执行定时任务

    Linux利用crontab执行定时任务 crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认 ...