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

news2024/11/24 10:50:42

基础知识及技巧:

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.coloradmin.cn/o/1649309.html

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

相关文章

速览Coinbase 2024Q1 财报重点:业务全面开花,净利润达11.8亿美元

作者:范佳宝,Odaily 星球日报 近期,Coinbase 发布了其 2024 年第一季度财报。 报告显示,Coinbase 第一季度营收为 16.4 亿美元,高于分析师平均预期的 13.4 亿美元;净利润为 11.8 亿美元,合每股…

renren-fast开源快速开发代码生成器

简介 renrenfast框架介绍 renren-fast是一个轻量级的Spring Boot快速开发平台,能快速开发项目并交付.完善的XSS防范及脚本过滤,彻底杜绝XSS攻击实现前后端分离,通过token进行数据交互 使用流程 项目地址 https://gitee.com/renrenio/ren…

深度学习之基于Vgg16卷积神经网络书法字体风格识别

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 书法是中国传统文化的重要组成部分,具有深厚的历史底蕴和独特的艺术魅力。在数字化时代&…

跨考专业课142分,上岸重邮!

这个系列会邀请上岸学长学姐进行经验分享~ 今天分享经验的同学是我的“关门弟子”,小叮当,跨考上岸重邮通信工程!从平时和小叮当的交流和测试,就能看出专业课水平,我一直和她开玩笑说,早点遇到我&#xff…

【GA】deap之个体和种群概览(一)

参考资料 1.《基于遗传算法(deap库)的一元函数寻优代码详解》 2.官方文档:http://deap.readthedocs.io/en/master/index.html 3.《 Deap: python中的遗传算法工具箱》 ,⭐️666 —————— 文章目录 壹、overview一、Types1. Fitness 适应…

懒人网址导航源码v3.9源码及教程

懒人网址导航源码v3.9源码及教程 效果图使用方法部分源码领取源码下期更新预报 效果图 使用方法 测试环境 宝塔Nginx -Tengine2.2.3的PHP5.6 MySQL5.6.44为防止调试错误,建议使用测试环境运行的php与mysql版本首先用phpMyAdmin导入数据库文件db/db.sql 如果导入不…

嵌入式5-7

练习:优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败&a…

全栈开发之路——前端篇(6)生命周期和自定义hooks

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…

落地企业业财一体化的关键能力和路径

在财务数字化的改革过程中,财务部门已经通过会计电算化、ERP、财务共享,基本实现业务财务流程拉通和财务运营效率的提升,接下来面临问题是如何通过构建业财一体化体系,进一步挖掘数字利用价值,为管理决策赋能。 但在业…

C++ Primer 总结索引 | 第十四章:重载运算与类型转换

1、C语言定义了 大量运算符 以及 内置类型的自动转换规则 当运算符 被用于 类类型的对象时&#xff0c;C语言允许我们 为其指定新的含义&#xff1b;也能自定义类类型之间的转换规则 例&#xff1a;可以通过下述形式输出两个Sales item的和&#xff1a; cout << item1 …

面试中算法(最大公约数)

高效求出两个整数的最大公约数&#xff0c;要尽量优化算法的性能。 def getDiv(a,b):mamax(a,b)mimin(a,b)#判断能被整除if ma%mi0:return mi#递归return getDiv(ma%mi,mi)if __name__ __main__:# print(getDiv(10, 25))print(getDiv(1000, 50))没错&#xff0c;这确实是辗转…

三维点云处理-模型拟合

以直线拟合为例&#xff0c;模型拟合常用的方法有Least Square&#xff08;最小二乘&#xff09;、Hough Transform&#xff08;霍夫变换&#xff09;、Random Sample Consensus&#xff08;RANSAC&#xff09;等。那么该如何区分和使用这几种方法呢&#xff1f; 情况1&#x…

工控人机交互界面编辑软件附描述(电脑软件分享)

HMI 概述&#xff1a;本文为分享型文档 本文摘要 昆仑通泰触摸屏软件分享。   给触摸屏下载程序时使用。   本人用过案例西门子s7-1200/200smart ST30与触摸屏型号“TPC1061Ti”通讯。 文章目录 本文摘要1.MCGS组态环境嵌入式版&#xff0c;大部分人用过此款&#xff0c;容…

一个物业管理服务项目的思考——智慧停车场无人值守呼叫系统到电梯五方对讲再到呼叫中心

目录 起源智慧停车场无人值守呼叫系统然后电梯五方对讲系统又然后物业呼叫中心集控E控中心怎么做 起源 小区里新装了智慧停车场系统&#xff0c;马上展现出了科技化、现代化的新形象。一个显著的好处是&#xff1a;停车场的出入口&#xff0c;再也看不到司机和保安争吵的场景了…

【GDPU】数据结构实验十 哈夫曼编码

【实验内容】 1、假设用于通信的电文仅由8个字母 {a, b, c, d, e, f, g, h} 构成&#xff0c;它们在电文中出现的概率分别为{ 0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10 }&#xff0c;试为这8个字母设计哈夫曼编码。 提示:包含两个过程:&#xff08;1&#xff09;构建…

突破传统 重新定义:3D医学影像PACS系统源码(包含RIS放射信息)实现三维重建与还原

突破传统&#xff0c;重新定义PACS/RIS服务,洞察用户需求&#xff0c;关注应用场景&#xff0c;新一代PACS/RIS系统&#xff0c;系统顶层设计采用集中分布式架构&#xff0c;满足医院影像全流程业务运行,同时各模块均可独立部署&#xff0c;满足医院未来影像信息化扩展新需求、…

运动控制“MC_MoveVelocity“功能块详细应用介绍

1、运动控制单位u/s介绍 运动控制单位[u/s]介绍-CSDN博客文章浏览阅读91次。运动控制很多手册上会写这样的单位,这里的u是英文单词unit的缩写,也就是单位的意思,所以这里的单位不是微米/秒,也不是毫米/秒,这里是一个泛指,当我们的单位选择脉冲时,它就是脉冲/秒,也就是…

java--GUI

目录 GUI&#xff08;Graphical User Interface&#xff09; swing 窗口(JFrame) 面板(JPanel) 流水布局(FlowLayout) 边界布局(BorderLayout) ​编辑 网格布局(GridLayout) 按钮(JButton) 标签组件&#xff0c;用来设置文字(JLabel) 单行文本框组件(JTextField) 多…

高实时、高可靠的微内核操作系统——鸿道Intewell

近年来&#xff0c;我国不断推进工业转型升级&#xff0c;力求实现从传统工业大国向现代工业强国的跨越。想要在新一轮科技革命中“超车”&#xff0c;需要从多个维度进行深度布局和全面发力。 ——科技创新是核心驱动力 积极推动工业结构的优化和升级&#xff0c;通过发展新…