软件设计师-应用技术-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.hqwc.cn/news/674867.html

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

相关文章

力扣:62. 不同路径

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&…

仓库管理员如何入门?仓库管理六大步骤教会你!

新手菜鸟入行,如何做好一个仓库管理员?仓库运营对于许多行业至关重要,例如制造、零售和物流。它们涉及高效、安全地接收、仓储、拣选、包装和运输货物。 跟着这6个步骤做,最慢一个月,最快一周,就能轻松做好…

【Unity】使用Resources.LoadAll读取文件的顺序问题

最近在做客户的一个项目,其中的一个模块使用到了照片,但是发现了一个很严重的问题。当你在使用Unity的时候,它竟然不按照顺序读取?这个机器人是不是逻辑有问题?如下图: 名字脱敏了哈。。。 照片比较多&…

【计组OS】访存过程以及存储层次化结构

苏泽 本专栏纯个人笔记作用 用于记录408 学习的笔记记录(敲了两年码实在不习惯手写笔记了) 如果能帮助到大家当然最好 但由于是工作后退下来备考 很多说法和想法都会结合实际开发的思想 可能不是那么的纯粹应试哈 希望大家挑选自己喜欢的口味食用…

神经网络怎么把隐含层变量融合到损失函数中?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

STM32F10x移植FreeRTOS

一、获取FreeRTOS源码 (1)登录FreeRTOS官网:www.freertos.org,下载第一个压缩包 (2)通过GitHub网站:github.com/FreeRTOS/FreeRTOS下载,由于该网站服务器在国外,所以访问…

2-5 任务:打印九九表

本次实战的目标是通过编写程序实现打印九九乘法表、字符矩形、字符平行四边形和字符菱形等图形,以及解决百钱买百鸡问题和输出素数等实际问题。在实战过程中,我们将学习并掌握以下知识点。 双重循环的使用:通过双重循环实现九九乘法表的打印&…

[笔记] Win11 Microsoft Store App 离线下载

微软应用商店无法下载或下载缓慢解决方法 在一些环境下 Microsoft Store 下载速度缓慢,或者需要账号登录才能安装的场景,可以通过找到对应的离线安装包的形式进行安装。 Micorsoft Store 中的离线安装包一般后缀为 AppxBundle 和 Appx。以 Ubuntu 为例…

【three.js】23. Raycaster and Mouse Events 投射射线(碰撞检测)和鼠标事件

介绍 顾名思义,Raycaster 可以向特定方向投射(或发射)一条射线,并测试与它相交的对象。 您可以使用该技术来检测玩家前面是否有墙,测试激光枪是否击中了什么东西,测试当前鼠标下方是否有东西来模拟鼠标事…

Kansformer?变形金刚来自过去的新敌人

​1.前言 多层感知器(MLPs),也被称为全连接前馈神经网络,是当今深度学习模型的基础组成部分。 MLPs在机器学习中扮演着至关重要的角色,因为它们是用于近似非线性函数的默认模型,这得益于通用近似定理所保证的表达能力。然而,MLPs真的是我们能构建的最佳非线性回归器吗?尽管ML…

如何去官网下载windows10操作系统iso镜像

文章目录 一、先从微软中国官网https://www.microsoft.com/zh-cn/进去二、然后按图示一步步点进去三、点击下载工具这个工具会帮你生成windows操作系统iso文件四、下载好后一步步按图示要求成功操作一、先从微软中国官网https://www.microsoft.com/zh-cn/进去 二、然后按图示一…

强一致性的皇冠:分布式事务模型的至高法则揭秘

关注微信公众号 “程序员小胖” 每日技术干货,第一时间送达! 引言 分布式事务模型是分布式系统设计的核心,关键在于保证数据一致性和事务完整性,尤其强调强一致性。诸如2PC、3PC、Saga、TCC等模型与协议,应运而生以解…