UML图的各种类型以及软件设计师考试考察的方式

news2024/10/6 10:42:35

UML建模

前言
常见的UML的类型
UML 比前两题是更难的(略高,但是学会就可以了。前两题是:数据流图,数据库的设计),因为UML图有很多类型:用例图,类图与对象图,顺序图,活动图,状态图,通信图,构件图
所有会考察的UML图的类型### 用例图:
用例图在案例分析中,主要考试2个方面:
1有关项目的详细描述(会把一个完整的用例图的某些参与者和某些用例给扣掉,让大家根据题干的内容以及用例图已有的结构来分析哪个位置的用例叫什么名称,哪个位置的参与者对应的是哪个角色)
2要根据题目的意思,来分析2个用例之间是什么关系,是包含还是扩展,或者是泛化关系。
要求:对参与者和用例,紧扣题干,做一一匹配(前提是,需要知道在用例图中,基本的图例所表达的含义。)
例如:
图中人是参与者,用箭头指向的各个用例代表了这个参与者会使用到这些用例,然后要区分上面的用例是新增书籍,下方是查询书籍,往往是分析用例之间的关系,来分析这2个用例。在这里涉及到了扩展关系。根据是否涉及到扩展关系,来分析,哪个位置是新增书籍信息,哪个是查询书籍信息。
包含关系是include.(必须)
扩展关系是extent(非必须)
包含关系是指A用例会使用到某个用例,就是包含关系。
区分包含和扩展: 例如,查询书籍,我可以直接查询,不需要使用其他用例,但是我发现查询到的信息有误,我需要修改信息,那么我需要用到扩展,修改有时候需要有时不需要,但是包含是必须。
例如,在取款的时候,默认每次都会吐钱 ,那么每次都是包含关系。但是每次都提示是否打印凭条,那么打印凭条就不是必须的,就是扩展。

类图与对象图:

考察的方式有3种:
1 填类名(主要),方法名,属性名
类图与对象图
填类名(最常考):要根据题干的信息,要确定在一个类图当中哪一个类的类名 是什么,例如,把图中的类名都删掉,删除之后只知道,有这么几个类或者说对象,又知道之间的关系,来分析,哪个位置是哪个类。填类名
2 填多重度(主要)
有以下几种表达方式,第一种代表了一个集合中的一个对象对应另外一个集合中的几个对象,1就是对应一个对象,2就是对应2个对象
表达式还有另外的几种表达方式,其中,0…(0到)和*是等价的,它们都代表了一个集合的一个对象对应了另一个集合的多个对象,这多个对象可以是0个,也可以是多个。等同的表达方式

另外一种形式 ,就是一个集合的一个对象对应了另一个集合的一个或多个对象。或者是1个到多个,但是至少是一个

填多重度: 在这里也有多重度,例如圈起来的1, 0…*,这就是多重度
填多重度填关系:
关系包括: 依赖关系,泛化关系,关联关系,实现关系
其实真正要了解的是泛化、组合、聚合。依赖都出现的少。
一般呢,记得泛化以及实现,因为实现是对接口,泛化是对类,所以泛化和实现的箭头都是空心箭头,只是泛化关系用的是实线,实现关系用的是虚线。
各种关系

组合关系和聚合关系都是用菱形来表示的, 组合关系是实心的菱形,聚合关系是空心的菱形。
各种关系书籍列表和书籍之间的聚合关系,空心的菱形,借阅记录列表和借阅记录也是空心的菱形,也就是聚合关系。
在这里插入图片描述非计算机类书籍与书籍, 计算机类书籍与书籍都是空心的箭头,也就是泛化关系
在这里插入图片描述

活动图:

活动图是和我们之前接触的程序里的流程图非常接近的一种图。这种图能表现整个处理流程的基本情况、分支的状态,例如在图中首先,用户下订单,然后从一个粗的横线,引出了两个分支,一方面是生成送货单,另一方面是用户选择支付方式,在支付方式选择这块,是一个菱形,菱形指示了如果判断为真如何,判断为假如何,这种结构和程序流程图是保持一致的。
在这里插入图片描述这个粗横线代表的是,从这个粗横线开始产生了多少的并行的线程。注意: 并行的线程。如图,产生了2个分支,然后在下一个粗横线进行了合并,也就是在这里产生了2个分支。
活动图分为带甬道的活动图和不带甬道的活动图,带甬道的活动图里指示了不同的对象,这样划分出来后,我们可以更加明确,哪个活动是归属与谁的,有它相应的责任人。
在这里插入图片描述对于这种图,我们需要了解: 一个流程和一个图的对应,我们扣出一些空来,我们是否能够给它还原的问题。其实,所有的图要解决的问题是类似的,都是把完整的图抠出一些空,看能不能把它恢复完整。解决机制也是一样的,就是自己根据表述,来尝试画这个图, 自己画这个图会怎么画,然后再根据标准的图例来判定哪些位置应该有哪些操作。

状态图:

表现得是状态的变迁,所以把状态图也归为动态图,所以在状态图中,往往是以状态为节点。
例如图中的off on 都是状态。
在这里插入图片描述

那么,建线代表的是事件,触发事件。 由一种状态,触发一个事件,会进入另外一种状态,从而导致了状态的变迁,这就是状态图。
状态图在考试的时候,如何考察: 往往会给出一个系统描述,描述的过程中会给出多种状态的变迁,然后会把状态图扣掉,大家来填充状态以及状态变迁的条件,也就是触发的事件(这种题往往比较容易解决,因为状态在描述的过程中,我们好识别有哪些状态,需要先识别一共有哪几种状态,一种状态到另一种 状态需要什么条件,恢复到上一种状态需要什么条件都列出来)在这里插入图片描述会员的升级和降级就可以使用状态图来表现。例如,普通的会员,有银卡会员,金卡会员,钻石会员,积分达到多少可以升级会员,从5000到银卡,累积10000到金卡,状态图可以清晰的展示出来。

顺序图:

顺序图有这么一些组成的基本元素。有对象,一般写在顶端,每一个对象引出一条生命线,用虚线画下来,例如,在图中每一个对象都是如此。

在这里插入图片描述整体的执行顺序是从上到下走,可以根据图中的标号看出第n步,例如图中第一步是卡片的插入,第二部是创建相应的session,第3,4步依次下来。有箭头的方向代表了对象之间进行相应的交互的时候是从谁到谁来发送相应的消息,每一个箭头所对应的其实是消息,以第一个消息为例,实际上是CardReader(读卡器)想ATM系统发送了相应的消息。在这里插入图片描述
顺序图最大的特点就是表现出了处理事物的时候,它的时间顺序情况如何,按照顺序一步一步下来的。
顺序图里,考试中考察方式: 核心点是放在消息里,因为顺序图是一种动态图,动态图表现的是对象之间的交互关系,所以往往会把顺序图中的某些消息抠掉,让大家根据处理流程来分析某一步是干嘛的,例如图中分析第6,7号是干嘛的,需要我们依据题目给出的描述,根据前面已有的1234条已有的完成的任务综合分析后面还有哪些步骤要走(往往已经把这些专有的消息、名称都已经列出来了,相当于做选择题,让大家选择合适的词语来填到这个位置来)。其次是填对象名。
顺序图往往比较简单。

通信图:

又称之为协作图,其实是顺序图的另一种表达方式。
在这里插入图片描述

我们知道顺序图是上面一排对象,引出相应的生命线(虚线),对象之间的一些交互,以顺序的方式表达了一些消息的传递,通过这种方式来让人清晰的了解,整个流程执行顺序是怎么样的,涉及到了哪些对象,哪些对象参与什么操作。
通信图和顺序图是类似的。
通信图是和顺序图结构有了很大的变化,通信图的对象是一些节点,对象的交互还是通过箭头来标识,消息是在箭头旁边标注。通信图和顺序图相比,就是时间上没有那么明晰,其他方面基本保持一致。所以,顺序图和通信图统称为交互图。
考试的时候一般会把对象抠掉一些,把需要传递的消息抠掉一些,然后做成填空题。通信图和顺序图的差异: 顺序图会强调时间顺序。

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

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

相关文章

免费网页抓取工具大全【附下载和工具使用教程】

在当今信息爆炸的时代,获取准确而丰富的数据对于企业决策和个人研究至关重要。而网页抓取工具作为一种高效获取互联网数据的方式,正逐渐成为大家解决数据需求的得力助手。本文将深入探讨网页抓取工具的种类,并为大家提供简单实用的页面采集教…

springboot3 liquibase SQL执行失败自动回滚,及自动打tag

一&#xff1a; 自动执行回滚&#xff0c; 已执行成功的忽略&#xff0c;新sql执行失败则执行新sql文件中的回滚sql pom.xml <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.25.0&…

2023.2版idea安装教程,现在jdk8已经过去式了,不同idea支持的jdk不同。升级jdk后idea也要随之升级

下载idea2023.2版本&#xff0c;下载之前需要删除之前的版本&#xff0c;一定要删除干净&#xff0c;删除程序要勾选那两个delete 下载路径&#xff1a;其他版本 - IntelliJ IDEA (jetbrains.com.cn) 选择2023.2版本 下载后进入安装程序&#xff0c;选择安装目录&#xff0c;然…

关于我自己搭建了一个完整的 网站 - 从零开始(服务器购买选型,域名备案,wordpress 主题,各种支付插件)

这篇博客主要介绍是如何在华为云上搭建一个 WordPress 网站。我将详细介绍从购买服务器到推广网站的整个过程&#xff0c;包括域名主机的备案。无论您是技术新手还是有一定经验的开发者&#xff0c;这篇文章都能为您提供有价值的指导。 第一步&#xff1a;选择云服务器 我选择…

计算一组x和y(一维数组)

输入30个整数a1,a2,a3,…,a30&#xff0c;计算所有的x与y。已知&#xff1a; 输入格式: 30个整数 输出格式: 计算得到的x1, x2,.......,x10 计算得到的y1, y2,.......,y10 所有输出精确到小数点后3位。 注意&#xff1a; 1、输出的每个“”左右各有一个空格&#xff0c;输出…

TrustZone之Translation Look aside Buffer(TLB)

TLB缓存最近使用的地址转换。处理器具有多个独立的translation regimes。TLB记录了一个条目表示的translation regime&#xff0c;包括安全状态。虽然TLBs的结构是由实现定义的&#xff0c;但以下图表显示了一个示例&#xff1a; 当软件在EL1或EL2中发出TLB失效操作&#xff08…

亚马逊运营推荐数仓项目实战

亚马逊运营推荐数仓项目实战 项目技术栈 HadoopSpark (Python)Scala SparkSQLSparkStreaming MongoDB Redis Kafka Flume ( SpringMVC vue) 1 项目介绍 1.1 项目系统架构 项目以推荐系统建设领域知名的经过修改过的中文亚马逊电商数据集作为依托&#xff0c;以某电商…

设置网络发现,合理利用共享,让自己在准确的地方出现或隐藏

本文介绍如何在Windows 11中打开或关闭网络发现。它还解释了网络发现的用途以及你可能想使用&#xff08;或不使用&#xff09;它的时间。 如何在Windows 11中切换网络发现 可以在“设置”中打开和关闭网络发现。 1、使用WINI快捷方式打开“设置”或从任务栏中搜索。 2、选…

【数据结构】——队列实现二叉树的功能

前言&#xff1a;二叉树的实现方式多种多样&#xff0c;有数组实现满二叉树&#xff0c;有链表实现完全二叉树&#xff0c;今天我们就用队列来实现二叉树。 创建二叉树&#xff1a; typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTre…

长城之上的无人机:文化遗产的守护者

长城之上的无人机&#xff1a;文化遗产的守护者 在八达岭长城景区&#xff0c;两架无人机分别部署在了长城的南、北楼两点。根据当前的保护焦点和需求&#xff0c;制定了5条无人机综合巡查航线&#xff0c;以确保长城景区的所有开放区域都能得到有效监管。每天&#xff0c;无人…

【C++】:搜索二叉树

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关多态的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…

xml文本转Java对象

Java对象转String public static String toData(Object object) throws Exception {JAXBContext jc JAXBContext.newInstance(object.getClass());Marshaller m jc.createMarshaller();StringWriter output new StringWriter(2048);m.marshal(object, output);String data …

jsp 个人网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 个人&#xff08;博客&#xff09;网站系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&…

【电子通识】为什么电阻都是2.2、3.3、4.7、5.1这样的小数,而不是整数?

刚开始接触电路设计可能会对市面上已经有的电阻值如&#xff1a;2.2Ω、4.7Ω、5.1Ω、22Ω、47Ω、51Ω&#xff0c;通常都不是整数觉得非常困惑&#xff0c;所以查阅了一些资料&#xff0c;总结如下&#xff1a; 电阻是使用指数分布来设计生产的&#xff0c;即遵循国际电工委…

老年女性认知功能低于男性 |CHARLS CLHLS CFPS公共数据库周报(11.29)

欢迎参加郑老师2023年孟德尔随机化课程即将开始 发表文章后退款&#xff01;郑老师科研统计课程详情 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement LongitudinalStudy&#xff0c;CHARLS)是一项持续的纵向调查&#xff0c;旨在调查中…

贝锐花生壳3大安全能力,保障网络服务安全远程连接

在没有公网IP的情况下&#xff0c;使用内网穿透工具&#xff0c;将本地局域网服务映射至外网&#xff0c;虽然高效快捷&#xff0c;但信息安全也是不可忽略的方面。 对此&#xff0c;贝锐花生壳提供了多维度的安全防护能力&#xff0c;满足不同场景下用户安全远程访问内网服务的…

使用webstrom编写vue开启提示

1.语言服务器选择 2.文件类型–忽略的文件和文件夹&#xff0c;删去&#xff0c;node_modules&#xff0c;就可以点进去库了 3.禁用JSLint、TSLint 4.开启node辅助 5.如果是vite&#xff0c;开启自动读取&#xff0c;或手动指定 6.如果是Webpack&#xff0c;开启自动读取&#…

【开源】基于Vue和SpringBoot的在线课程教学系统

项目编号&#xff1a; S 014 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S014&#xff0c;文末获取源码。} 项目编号&#xff1a;S014&#xff0c;文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

插入排序与希尔排序(C语言实现)

1.插入排序 由上面的动图可以知道插入排序的逻辑就是从第一个元素开始往后遍历&#xff0c;如果找到比前一个元素小的&#xff08;或者大的&#xff09;就往前排&#xff0c;所以插入排序的每一次遍历都会保证前面的数据是有序的&#xff0c;接下类用代码进行讲解。 我们这里传…

高效便捷的淘宝商品详情关键词搜索API接口

联讯数据可以介绍一些高效便捷的淘宝商品详情关键词搜索API接口。 以下是一些可以考虑使用的API接口&#xff1a; 阿里云搜索引擎API&#xff1a;阿里云搜索引擎API是一个基于云计算技术的搜索引擎&#xff0c;提供商品详情关键词搜索功能。它支持中文搜索&#xff0c;并且具…