系统架构师考点--统一建模语言UML

大家好。今天我来总结一下面向对象的第二个考点–统一建模语言UML。

UML(统一建模语言)是一种可视化的建模语言,而非程序设计语言,支持从需求分析开始的软件开发的全过程。UML的结构包括构造块、规则和公共机制三个部分。其中考点主要集中在构造块部分,UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。下面我们来具体说一说这三个基本的构造块。

一、事物(thing)

事物是UML的重要组成部分,主要分为结构事物(模型静态部分)行为事物(模型动态部分)分组事物(组织部分)、**注释事务(解释部分)**四类。
图片
上图中,前两行属于结构事物;消息、状态和动作属于行为事物;包属于分组事物;注解属于注释事物。

二、关系(relationship)

关系把事物紧密联系在一起,关系分为以下四类:

依赖:一个事物的语义依赖于另一个事物的语义的变化而变化。

关联:是一种结构关系,描述了一组链,链是对象之间的连接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。两个类之间的关联,实际上是两个类所扮演角色的关联,因此,两个类之间可以有多个由不同角色标识的关联。

泛化:一般/特殊的关系,子类和父类之间的关系。

实现:一个类元指定了另一个类元保证执行的契约。
图片
例题:
图片
答案:B、A、C、D

三、图(diagram)

UML2.0共有13种图,如果带制品图的话算14种,总分类如下:
图片

类图

静态图,为系统的静态设计视图,展现一组对象、接口、协作和它们之间的关系。UML类图如下:

图片

对象图

静态图,展现某一时刻一组对象及它们之间的关系为类图的某一快照。在没有类图的前提下,对象图就是静态设计视图。如下:

图片

用例图

静态图,展现了一组用例、参与者以及它们之间的关系。用例图中的参与者是人、硬件或其他系统可以扮演的角色;用例是参与者完成的一系列操作,用例之间的关系有扩展、包含、泛化。如下:
图片

序列图

也叫顺序图,动态图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。有同步消息(进行阻塞调用,调用者中止执行,等待控制权返回,需要等待返回消息,用实心三角箭头表示)、异步消息(发出消息后继续执行,不引起调用者阻塞,也不等待返回消息,因由空心箭头表示)、返回消息(由从右到左的虚线箭头表示)三种。如下:
在这里插入图片描述

通信图

动态图,是协作图,强调参加交互的对象的组织。如下:
图片

状态图

动态图,展现了一个状态机,描述单个对象在多个用例中的行为。包括简单状态和组合状态。转换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。状态图中转换和状态是两个独立的概念,如下:图中方框代表状态,箭头上的代表触发事件,实心圆点为起点和终点。

在这里插入图片描述

活动图

动态图,是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程。活动的分岔和汇合线是一条水平粗线。牢记下图中并发分岔、并发汇合、监护表达式、分支、流等名词及含义。每个分岔的分支数代表了可同时运行的线程数。活动图中能够并行执行的是在一个分岔粗线下的分支上的活动。

图片

构件图(组件图)

静态图,为系统静本实现视图,展现了一组构件之间的组织和依赖。
图片

部署图

静态图,为系统静态部署视图,部署图物理模块的节点分布。它与构件图相关,通常一个结点包含一个或多个构件。其依赖关系类似于包依赖因此部署组件之间的依赖是单向的类似于包含关系。如下:

图片

四、UML4+1视图

(1)逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。

(2)进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。

(3)实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。

(4)部署视图:部署视图把构件部署到一组物理节点上(4)表示软件到硬件的映射和分布结构。

(5)用例视图:用例视图是最基本的需求分析模型。
图片
例题:
图片
答案:C、B
在这里插入图片描述
答案:A、D、D、A、B

好了,今天就总结到这里了。

日拱一卒,功不唐捐。加油!

最后依旧是请希望大家能给作者点个关注,谢谢大家!各位老板有钱的捧个人场,没钱的也捧个人场,谢谢各位老板!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1484026.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

7.15学习游戏体验

突然意识到今天的一天基本已经过去了大半,自己似乎并没有做了什么,但是似乎好像使用了很多次搜索(针对百度使用高级搜索,搜索指定的内容和格式),在这个过程中,并不建议使用ai,它的总…

c#中匿名方法的定义和使用

​ namespace _7._16day01 {internal class Program{​static void Main(string[] args){Action<string, int> t2 (x, y) > { Console.WriteLine(xy); };Action t1 () > { Console.WriteLine("lamadab"); };Func<int ,int ,int > Add (x, y) &g…

MSCKF系统学习路程

推荐课程&#xff1a; https://www.youtube.com/watch?vRDkwklFGMfo&listPLTBdjV_4f-EJn6udZ34tht9EVIW7lbeo4http://TUM MVP YOUTUBE B站中英字幕 论文&#xff1a; Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight 泡泡机器人论文推荐文章

每日OJ_牛客_OR62 倒置字符串

目录 牛客OR62 倒置字符串 题解及代码1 题解及代码2 牛客OR62 倒置字符串 倒置字符串_牛客题霸_牛客网 倒置字符串__牛客网 题解及代码1 #include <iostream> #include <string> #include <vector> using namespace std; int main() {string str;getli…

python--实验15 数据分析与可视化

目录 知识点 1 数据分析概述 1.1流程 1.2定义 1.3数据分析常用工具 2 科学计算 2.1numpy 2.1.1定义 2.1.2创建数组的方式 2.1.3np.random的随机数函数 3 数据可视化 3.1定义 3.2基本思想 3.3Matplotlib库 3.3.1模块 4 数据分析 4.1Pandas 4.2数据结构 4.3基…

数字揭秘丨AI 和结构优化技术让《星球大战》的帝国军队在恩多战役中转败为胜

数字揭秘 虽然我们并不支持《星球大战》中由达斯-维德领导的帝国军队&#xff0c;但对于银河帝国有一点可以肯定&#xff0c;那就是他们多产的工程师。他们似乎专门从事大规模武器研发&#xff0c;拥有所有的 TIE 战斗机、AT-AT 和歼星舰&#xff0c;更不用说他们能够在一个人的…

Java 在PDF中替换文字(详解)

目录 使用工具 Java在PDF中替换特定文字的所有实例 Java在PDF中替换特定文字的第一个实例 Java在PDF中使用正则表达式替换特定文字 其他替换条件设置 可能出现的问题及解决方案 PDF文档中的信息随时间的推移可能会发生变化&#xff0c;比如产品价格、联系方式等。为了确保…

视频监控平台:接入海康网络摄像机IPC,发现设备不在线,也收不到海康IPC任何数据的问题的解决办法

目录 一&#xff0e;问题描述 二&#xff0e;问题排查 2.1初步定位问题 2.1.1 检查设备设置 2.1.2查看视频平台日志 2.1.3抓包查看验证推测 2.2确认客户网络是否有访问控制 2.3查看网络配置 2.3.1查看IPC的网络配置 2.3.1查看客户处操作电脑的网络配置 2.3.3验证网络…

YOLOv8改进 | 主干网络 |模糊图像/恶劣天气下的目标检测改进

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

【你也能从零基础学会网站开发】 启动SQL Server 2000服务管理与常用核心组件介绍

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 SQL Server 20…

Nginx介绍、安装、使用

更多优质内容欢迎访问我的个人博客网站&#xff1a;www.zpf0000.com Nginx官网 官网&#xff1a;nginx news 什么是Nginx&#xff1f; Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访…

TIMO后台管理系统:基于SpringBoot2.0的模块化快速开发平台

摘要 随着软件技术的快速发展&#xff0c;后台管理系统的构建成为企业级应用的重要组成部分。本文旨在介绍TIMO后台管理系统的设计与实现&#xff0c;该系统基于Spring Boot 2.0、Spring Data JPA、Thymeleaf和Shiro等主流技术构建&#xff0c;采用模块化设计以简化开发和维护…

02 线性模型

目录 1. Logistic 回归 2. Softmax回归 3. 感知器 4. 支持向量机 5. 总结 线性模型是机器学习中常用的一类预测模型。这类模型假设输出变量&#xff08;目标&#xff09;与输入变量&#xff08;特征&#xff09;之间存在线性关系。 本文主要介绍四种不同线性分类模型&…

Java面试八股之Redis怎么实现消息队列

Redis怎么实现消息队列 Redis实现消息队列主要依赖于其内置的数据结构&#xff0c;如List、Pub/Sub&#xff08;发布/订阅&#xff09;和Stream。下面将分别介绍这三种方式及其特点&#xff1a; 1. List实现消息队列 Redis的List是一个双向链表&#xff0c;支持快速的头部和…

【Linux/Windows】Wireshark抓包工具下载、安装、使用、数据分析、常用知识点

文章目录 Linux版下载Windows版下载Wireshark使用Wireshark测试Tcp三次握手Wireshark常见过滤条件本篇小结 更多相关内容可查看 在一个阳光明媚的周五清晨&#xff0c;一起快乐的玩耍一下Wireshark Linux版下载 1.使用yum安装wireshark yum -y install wireshark2.使用yum安…

TDC 5.0:多集群统一纳管,构建一体化大数据云平台

近期&#xff0c;星环科技数据云平台Transwarp Data Cloud&#xff08;简称TDC&#xff09;5.0版本正式发布&#xff0c;TDC5.0架构屏蔽底层多个TDH集群的差异&#xff0c;采用统一操作模式&#xff0c;新增一个多集群抽象与管理层&#xff0c;能够实现多集群网络互通、跨集群资…

一文搞懂Java中的双亲委派

一天正在宿舍里忙着写代码。突然&#xff0c;老师给我布置了一项新任务&#xff1a;优化他正在开发的项目中的类加载机制。我对类加载器了解不多&#xff0c;开始翻阅各种资料&#xff0c;逐渐了解了Java中的类加载器机制。尤其是当读到双亲委派模型时&#xff0c;脑海中豁然开…

【鸿蒙学习笔记】舜和酒店项目开发

这里写目录标题 前期准备1. 环境准备2. 开发工具准备 创建项目1. 使用 deveco-studio 创建 ShunHeHotel 项目2. 把ShunHeHotel 项目使用git进行版本控制3. 提交第1个commit&#xff0c;Alt0 → 输入commit message → 提交4. 查看已经提交的第一个提交5. gitcode 创建同名远程项…

微信小程序毕业设计-选课系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

杭州外贸网站建设 最好用wordpress模板来搭建

防护服wordpress外贸网站模板 消防服、防尘服、隔热服、防化服、防静电服、电焊服wordpress外贸网站模板。 https://www.jianzhanpress.com/?p4116 工业品wordpress外贸网站模板 机械及行业设备、五金工具、安全防护、包装、钢铁、纺织皮革等工业品wordpress外贸网站模板。…