软件设计师-应用技术-UML建模题3

基础知识及技巧:

1. 用例图:

1.1 考点:

  • 题干里面有关项目的详细描述,完整用例图中的某些参与者和某些用来扣掉,根据题干内容和已有用例图补充。
  • 根据题干,分析用例图之间的关系。

1.2 基础知识:

  • 用例图的概念:用例图是表示一个系统中用例与参与者关系之间的图。
  • 用例图的组成元素:参与者、用例、用例之间的关系。
  • 用例的概念:代表系统的一个功能。

1.3 用例之间的关系:重要,理解背

泛化关系:

  • 概念:代表一般与特殊的关系,是一种继承关系,子用例继承了父用例的行为和含义。
  • 图例:空心三角形箭头的实线,箭头指向父用例。
  • 例如:建立迷宫(父)编写迷宫/导入迷宫(子)
  • Ext:参与者也有泛化关系。

包含关系(include):

  • 概念:一个用例(基本用例)的行为包含了另一个用例(包含用例)的行为。基本用例执行时,一定执行包含用例。
  • 图例:带箭头的虚线表示,箭头指向包含用例,>。
  • 使用场景1:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系,进行抽象用例。
    • 例如:登记外借信息与查询外借信息包含用户登录。

    • 例如:阅读者在读书和借书时,都要登记记录,他们有登记记录这一共同的行为。(背)

  • 使用场景2:一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。
    • 例如:用户有很多功能,包括各种信息的查看,这时建立一个查询信息的用例,然后下面在包含查看余额、查看上机记录、查看充值记录等用例。

拓展关系(extend):

  • 概念:一个用例(基本用例)的行为拓展了另一个用例(扩展用例)的行为。拓展用例在一定条件下才执行。
  • 图例:带箭头的虚线表示,箭头指向基本用例,>。
  • 使用场景:基本动作在一个用例中,如果这个基本用例还有其他动作,但需要在一定条件下才执行,可以将它放在扩展用例中。
    • 例如:下载功能。

2. 类图与对象图:

2.1 考点:

  • 填类名、属性名、操作名(方法名)
  • 填多重度
  • 填关系

2.2 基础概念:

  • 类图概念:类图是用来显示系统中的类、接口及它们之间静态结构和关系的一种静态模型,它用于描述系统的结构。
  • 类图的组成元素:名称(Name)、属性(Attribute)和操作(Operation)。
  • 对象图概念:对象图是类图在某一时刻的实例。
  • 对象图的组成元素:名称(Name)和属性(Attribute)

2.3 类图和对象图的区别:

  • 类使用关联连接,对象使用链连接,对象没有多重度。

2.4 多重度:

  • 概念:是指类与类之间的关系,用于描述一个类与另一个类之间的对象数量关系。
  • 分类:*
    • 1:表示一个集合中的一个对象,对应另一个集合中1个对象。
    • 0..*:表示一个集合中的一个对象,对应另一个集合中的0个或多个对象。即,表示可以不对应。(Tips:两个点)
    • 1..*:表示一个集合中的一个对象,对应另一个集合中的一个或多个对象。即,表示至少对应一个。
    • *:表示一个集合中的一个对象,对应另一个集合中的多个的对象。

2.5 类之间的关系:

依赖关系

  • 概念:一种使用的关系, 即一个类的实现需要另一个类的协助。
  • 代码表现:局部变量、方法的入参或者对静态方法的调用。
  • 箭头及指向:带箭头的虚线,指向被使用者。Tips:六种关系中,只有该关系箭头指向相反。

泛化关系->继承概念

  • 概念:表示一般与特殊的关系,即父类与子类之间的关系,表示继承。
  • 代码表现:类与类之间的继承。
  • 箭头及指向:带三角箭头的实线,箭头指向父类。软考中,可能是黑色实心三角箭头。

关联关系

  • 概念:一种拥有的关系,使一个类知道另一个类的属性和方法。它的两种重要形式是聚合和组合关系。
  • 代码体现:成员变量,内部类。
  • 箭头及指向:带普通箭头的实心线,指向被拥有者。(容易忘记)

  • 特殊:自身关联(递归关联):

聚合关系

  • 概念:表示整体与部分之间的关系,且部分可以离开整体而单独存在。
  • 代码体现:成员变量。
  • 箭头及指向:带空心菱形的实心线,菱形指向整体。

组合关系

  • 概念:表示整体与部分之间的关系,且部分不能离开整体而单独存在,即更强的聚合关系。
  • 代码体现:成员变量。
  • 箭头及指向:带实心菱形的实线,菱形指向整体。

实现关系

  • 概念:表示类与接口之间的关系,表示实现。
  • 代码表现:类与接口之间的实现。
  • 箭头及指向:带三角箭头的虚线,箭头指向接口。

各种关系的强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

UML六种依赖关系_uml依赖关系-CSDN博客

类之间关系和多重复的图例:

3. 顺序图:

3.1 考点:

  • 填消息、填对象

3.2 基础概念:

  • 顺序图概念:顺序图是一种交互图,详细描述对象之间传送消息的时间顺序,它表示单个用例中,行为的顺序关系。
  • 顺序图的组成元素:对象(实体类、边界类、控制类)、消息(简单消息、同步消息、异步消息、返回消息)、生命线。
  • 顺序图强调时间顺序。

顺序图图例:

4. 状态图:(下午可能考)

4.1 考点及技巧:

  • 填状态与状态改变的条件。
  • 技巧:阅读把所有状态和状态改变条件找出来,填空。

4.2 基础概念:

  • 状态图的概念:是一种行为图,描述一个特定对象的所有可能的状态以及引起状态转换的事件,展现一个状态机。
  • 状态图的组成元素:状态、转移(迁移)、事件、活动和动作。

4.3 状态图组成元素图例:

状态和转移(迁移)

  • 起始状态:黑色实心。
  • 终止状态:用一对同心圆(内圆为实心圆)表示。
  • 简单状态:态没有子状态机和域,使用带拐点的矩形表示
  • 中间状态:用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。
    • 上面部分为状态的名称,这部分是必须有的;
    • 中间部分为状态变量的名字和值,这部分是可选的;
    • 下面部分是活动表,这部分也是可选的。
  • 迁移:两个状态之间带箭头的连线,箭头指明了转换方向。

事件说明

  • 语法:事件名(参数表)[守卫条件]/ 动作表达式 ^ 发送子句。(上午考点)
  • 如下例子:其中isAuthed为一个守护条件,说明满足该条件才会进行状态转移,然后执行函数auidt。

活动

  • 活动表的语法格式:事件名(参数表)/动作表达式
  • 事件名:任何事件的名称。
  • 在活动表中经常使用下述3种标准事件:entry, exit和do。
    • entry:事件指定进入该状态的动作;
    • exit : 事件指定退出该状态的动作;
    • do : 事件指定在该状态下的动作。

事件表达式

  • 状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。
  • 语法:事件说明[守卫条件]/ 动作表达式。
    • 其中,事件说明的语法为:事件名(参数表)。

UML之状态图_uml状态图-CSDN博客

4.4 状态图图例:重点

4.5 其他软考上午考点:

  • 若事件触发一个没有特定监护条件的迁移,则对象不会离开当前状态。

5. 活动图:(下午可能考)

5.1 考点:

  • 扣掉一部分,填充进去

5.2 基础知识: (上午考点)

  • 活动图的概念:一种描述某一特定功能(活动)中,运行行为(动作)和操作逻辑(控制)关系的简单表达方式。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流程。
  • 活动图的组成元素:动作、活动、开始和终止、控制流、判断节点、合并节点、游道等。

5.3 活动图组成元素:

动作

  • 动作代表一个原子操作, 操作可能是任何合法的行为。
  • 例如,x=5为一个动作。

活动节点

  • 活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。

开始和终止

  • 标记了业务流程的起始位置和结束位置。

控制流

  • 负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到过程的下一个动作或动作节点。

判断节点

  • 进行逻辑判断、并创造分支的一种方法。

合并节点

  • 仅有逻辑意义,没有时间和数据上的意义。

游道

  • 将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。

UML活动图画法详细解析_活动图怎么画-CSDN博客

5.4 活动图图例:

  • 并发分岔、动作、分支、监护表达式、并发合并。(上午题考点)

5.6 活动图与状态图的区别:**

  • 活动图侧重从行为的动作来描述活动;而状态图更侧重从行为的结构来描述状态。
  • 活动图是一种动态图;状态图兼顾动态图和静态图的属性。
  • 活动图与状态图在图形表示上的差别:活动图有决策点判断,而状态图没有。

6. 通信图:

6.1 基础概念:

  • 通信图的概念:通信图是一种交互图,用来显示与生命线相关联的对象或角色之间的交互和生命线直接传递的消息。
  • 通信图的基本组成元素:对象(Object)、连接(Link,也称为链)、消息(Message) (上午考点)

6.2 通信图基本组成元素图例:

对象

  • 对象,即类的实例,人形图案或矩形来表示。

链(对象关联)

  • 链由一个或多个相连的线(直线或弧线)形成,链的两端是消息发送者和消息接收者,并且消息发送者与消息接收者可以是一样的。

消息

  • 通过一系列的消息来描述系统的动态行为。

6.3 通信图图例:

6.4 通信图和顺序图的区别:

  • 都是交互图,用来描述对象之间的消息传递和协作关系。
  • 区别在于:
    • 通信图强调的是参与交互的对象的组织结构,为读者提供了在协作对象结构组织的语境中,理解交互的方式。
    • 顺序图强调的是消息的时间顺序,为读者提供了控制流随着时间推移,清晰的可视化轨迹。

7. 部署图:

上午题考点:

  • 描述系统中硬件和软件的物理架构,它描述构成系统架构的软件结构、处理器和设备。

8. 构件图(组件图):

上午题考点:

  • 构件图展现了一组构建之间的组织和依赖,专注于系统的静态实现图,图中通常包括构件、接口及各种关系。

例图:

答题技巧:

1. 填写"用例名称"

如何寻找用例名称:

  • 技巧1:从题干中找出参与者做的事情(参与者的行为)。
  • 技巧2:通过用例图中,用例之间关系(泛化、包含、拓展)找用例。
  • 技巧3:已经在用例图中的用例不会重复填写。
  • 技巧4:有中英文对照的行为,可能就是需要填写的用例名,没有中英文对照的行为,一般不是需要填写的用例名称。

例子:

拓展关系:

  • " 打印订单" 是 "在线购买书籍" 中的一部分操作,可以作为独立步骤提取,并且" 打印订单"在用户需要的情况下才执行。

2. 填写"用例之间关系"

  • 泛化、包含、拓展

3. 填写"类图中类名"

如何找出类名:

  • 技巧1:题干中,带有英文描述的名称一般都是类名。
  • Tips1:类名的名词找全;要是用英文都用英文。

如果填写类名:

  • 方法1:根据类之间的关系判断,即箭头形状、箭头方向。
    • 普通直线 -> 看多重度,见方法2。
    • 整体-部分:聚合、组合 -> - 带空心、实心菱形的实心线,菱形指向整体。(有该关系,先用该关系思考)
    • 父类-子类:泛化 -> 带三角箭头(有可能使用黑色实心三角)的实线,箭头指向父类。
    • 接口-实现类:实现 -> 带三角箭头的虚线,箭头指向接口。
  • 方法2:根据类之间的多重度判断。

4. 填写"类图的多重度"

  • 分析题干中关于类名的描述,判断出现的次数。0、1、0..* 、4 .. *
  • 填多重度的端,是指该类与连接端类的个数关系。

5. 填写"类图关联关系"

  • 特殊:自身关联(递归关联)

6. 填写"类图中类的属性"

  • 从题干中寻找,不要带上"等"。

7. 填写"用例用例描述":

2019年上半年:

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

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

相关文章

Linux进程通信-信号

信号概念 信号是 Linux 进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号 可以导致一个正在运行的进程被另一个正在运行的异…

通过 Java 操作 redis -- String 基本命令

关于 redis String 类型的相关命令推荐看 Redis - String 字符串 要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis 本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单…

Day 63:单调栈 LeedCode 84.柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释&a…

论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器

文章目录 论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器概述研究背景卷积和注意力机制概述计算方式差异非线性与归一化操作差异 问题小结 加速器设计乘法单元探索非线性与归一化加速单元加速器架构 实验结果QA 论文精读-基于FPGA的卷积神经网络和视觉Transforme…

交易复盘-20240507

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…

从0到1提审苹果商店(appstore)上线一款新APP

本篇主要复盘和介绍一款APP如何从0到1上线到苹果商店,将我自己项目遇到的坑跟大家分享,希望能为同样做开发或者运营的你提供经验,少走弯路。 如果你是24年1月1日之后开始首次提审APP,还需要先将自己的APP在工信部备案,苹果后台增加了工信部备案号的填写,备案方法和经验如…

SAP PP学习笔记12 - 评估MRP的运行结果

上一章讲了MRP的概念,参数,配置等内容。 SAP PP学习笔记11 - PP中的MRP相关概念,参数,配置-CSDN博客 本章来讲 MRP跑完之后呢,要怎么评估这个MRP的运行结果。 1,Stock/Requirements List and MRP List 在…

T型槽地轨承载力是如何连接整个制造过程的强力桥梁(北重公司设计)

T型槽地轨承载力的定义和计算 T型槽地轨是一种用于工业设备运输和装配的关键组件。它由世界上各行各业的生产商广泛采用,其有效的承载力使其成为连接整个制造过程的强力桥梁。本文将介绍T型槽地轨的承载力以及相关的设计要点和应用。 承载力的定义和计算 承载力是…

某制造公司屋顶分布式光伏发电案例分享--分布式光伏电力监控系统解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★分布式光伏监控系统 分布式光伏监控电力系统遵循安全可靠、经济合理原则,满足电力系统自动化总体规划要求,且充分考虑光伏发电的因素,对分布式光伏发电、用电进行集中监控、统一调度、统一运维、满足…

vivado Zynq UltraScale+ MPSoC 比特流设置

Zynq UltraScale MPSoC 比特流设置 下表所示 Zynq UltraScale MPSoC 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

本地运行AI大模型简单示例

一、引言 大模型LLM英文全称是Large Language Model&#xff0c;是指包含超大规模参数&#xff08;通常在十亿个以上&#xff09;的神经网络模型。2022年11月底&#xff0c;人工智能对话聊天机器人ChatGPT一经推出&#xff0c;人们利用ChatGPT这样的大模型帮助解决很多事情&am…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 输入类控件 | Spin Box的使用及说明 文章编号&#xff1…

YOLOv5 V7.0 - rknn模型的验证 输出精度(P)、召回率(R)、mAP50、mAP50-95

1.简介 RKNN官方没有提供YOLOv5模型的验证工具&#xff0c;而YOLOv5自带的验证工具只能验证pytorch、ONNX等常见格式的模型性能&#xff0c;无法运行rknn格式。考虑到YOLOv5模型转换为rknn会有一定的精度损失&#xff0c;但是需要具体数值才能进行评估&#xff0c;所以需要一个…

通过三角形相似原理实现单目测距

根据三角形相似原理计算相机焦距&#xff0c;公式为&#xff1a;F (P * D) / W 其中&#xff1a; F: 待求的相机的焦距 P: 图像中目标的宽度&#xff0c;单位像素 D: 真实目标与相机的距离&#xff0c;单位厘米 W: 真实目标的宽度&#xff0c;单位厘米 计算焦距前&#xff0c;…

太原理工大学Python数据分析原理与应用(课外考题:8~11章)

这部分大概只考10分&#xff0c;且大部分出在选择题&#xff0c;填空最多一两个 (仅供参考) 第十章 (理解概念为主&#xff0c;无需看推导过程) 第十一章

QGraphicsView实现简易地图10『自适应窗口大小』

前文链接&#xff1a;QGraphicsView实现简易地图9『层级缩放显示底图』 自适应窗口大小 当地图窗口放大或缩小的时候&#xff0c;需要地图能够动态覆盖整个视口。 1、动态演示效果 2、核心代码 注&#xff1a;WHMapView继承自MapViewvoid WHMapView::resize() {if (m_curLev…

毕业就业信息|基于Springboot+vue的毕业就业信息管理系统的设计与实现(源码+数据库+文档)

毕业就业信息管理系统 目录 基于Springboot&#xff0b;vue的毕业就业信息管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1学生信息管理 2 公司信息管理 3公告类型管理 4公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设…

C语言----汉诺塔问题

1.什么是汉诺塔问题 简单来说&#xff0c;就是有三个柱子&#xff0c;分别为A柱&#xff0c;B柱&#xff0c;C柱。其中A柱从上往下存放着从小到大的圆盘&#xff0c;我们需要借助B柱和C柱&#xff0c;将A柱上的所有圆盘转移到C柱上&#xff0c;并且一次只能移动一个圆盘&#…

基于Springboot+Vue的Java项目-鲜牛奶订购系统开发实战(附演示视频+源码+LW)

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

UE5自动生成地形二:自动生成插件

UE5自动生成地形二&#xff1a;自动生成插件 Polycam使用步骤 本篇主要讲解UE5的一些自动生成地形的插件 Polycam 此插件是通过现实的多角度照片自动建模生成地形数据&#xff0c;也是免费的。这里感谢B站up主古道兮峰的分享 Polycam网站 插件下载地址 插件网盘下载 提取码&a…