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

2024-05-07 22:04

本文主要是介绍软件设计师-应用技术-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年上半年:

这篇关于软件设计师-应用技术-UML建模题3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968518

相关文章

总结:LayoutInflater和inflate()区别与联系 应用

首先说明的是LayoutInflater和inflate()这两个东东的区别,LayoutInflater是一个公共的抽象类,由object继承而来,而inflate()是LayoutInflater类的类方法,这一定要弄清楚概念,否则你会晕头转向。然后说这个东东的作用,我们先看看Google的综述: Instantiates a layout XML file into its corres

Spring Boot构建应用开发规范

1.规范的意义和作用 •编码规范可以最大限度的提高团队开发的合作效率 •编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 •编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码 •规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维 2.代码仓库规范 2.1公共组件 •公共组件通常指

【应用机器学习】评估一个假设

检验是否过拟合 将数据分成训练集和测试集 通常用70%的数据作为训练集,用剩下30%的数据作为测试集。 很重要的一点是训练集和测试集均要含有各种类型的数据,通常我们要对数据进行洗牌,然后再分成训练集和测试集。 使用训练集对模型进行训练 可以得到一系列参数 theta 使用测试集对模型进行测试 使用测试集数据对模型进行测试,有两种方式计算误差 线性回归模型 利用测试集数据计算代

Elasticsearch:向量相似度技术和评分

作者:来自 Elastic Valentin Crettaz 当需要搜索自由文本并且 Ctrl+F / Cmd+F 不再有效时,使用词法搜索引擎通常是你想到的下一个合理选择。 词汇搜索引擎擅长分析要搜索的文本并将其标记为可在搜索时匹配的术语,但在理解和理解被索引和搜索的文本的真正含义时通常会表现不佳。 这正是向量搜索引擎的闪光点。 他们可以对同一文本进行索引,以便可以根据它所代表的含义及其与具

大模型时代,交换机技术演变、性能分析、衡量指标

OSI协议及在高性能计算中向RDMA的过渡 协议是为计算机网络内的数据交换而建立的一组规则、标准或协议。在法律层面,OSI七层协议被视为国际标准。该协议于20世纪80年代引入,旨在通过其七层网络模型标准化计算机间通信,以满足开放网络的要求。 物理层规定硬件之间的通信方式,并为物理设备(包括接口类型和传输速率)建立了标准,便于传输比特流(由0和1表示的数据)。 数据链路层主要负责帧编码和错

KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件

KCNScrew Pack是一款Mac序列号查询软件,内置强大的序列号数据库。软件包含数千款软件序列号,基本上大多数常用软件你都可以找到相应的序列号。  KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件 主界面 打开KCNScrew可以看到如下的主界面,我这里用的是最新的版本。 软件信息 在KCNScrew左边搜索需要

软考--软件设计师--试题六--工厂方法模式(Factory Method)

工厂方法模式(Factory Method) 1、意图 定义一个用于创建对象的接口,让子类决定实例化哪儿一个类,factory method使一个类的实例化延迟到其子类。 2、结构 3、适用性 a、当一个类不知道它所必须创建的对象的类的时候。 b、当一个类希望由它的子类来指定它所创建的对象的时候。

白盒测试技术和黑盒测试技术

白盒测试技术是一种软件测试方法,其核心思想是对程序的内部逻辑结构进行详尽的了解和分析,以此为基础设计测试用例。这种方法要求测试人员能够查看和理解被测试软件的源代码,从而能够直接测试代码的执行路径、分支、循环、函数调用等内部细节。以下是一些主要的白盒测试技术: 语句覆盖:确保程序中的每一条语句至少被执行一次。这是最基本的覆盖标准。 判定覆盖(分支覆盖):每个逻辑判断的每个可能的结果至少被执行一

动作捕捉、表情捕捉技术:高效率打造高品质数字人角色动画

#行业现状# 动作捕捉与表情捕捉技术作为当代影视动画制作的重要技术手段,已被广泛应用于各领域,如文旅宣传片、非遗文化传承表演动画、裸眼3D动画、程序动画、音乐舞蹈MV动画、游戏买量动画、虚拟主持人动画等等,通过动作捕捉与表情捕捉技术将真人演员的表演内容一一呈现于数字人上,极大地增强了动画的观赏性和视觉表现力,更能符合当代审美需求。 广州虚拟动力一直深究于动作捕捉技术领域,致力于为各领域

##24 多模态深度学习基础:框架、应用与展望

文章目录 前言1. 多模态学习的概念与重要性2. 关键技术框架2.1 数据表示与特征提取2.2 模态融合策略2.3 多任务学习 3. 应用实例3.1 医疗图像分析3.2 自动驾驶汽车3.3 情感分析 4. 挑战与未来展望结语 前言 在深度学习的世界中,多模态学习是一个令人兴奋的前沿领域,它旨在整合来自不同数据源的信息,例如文本、图像和音频,以创造出能更全面理解和处理复杂数