可视化建模以及UML期末复习----做题篇

一、单项选择题。(20小题,每小题2分,共40分)

1、UML图不包括( )  

A、用例图 

B、状态机图 

C、流程图 

D、类图 

E、通信图

答案:C、流程图 

UML中不包括传统意义上的流程图,流程图通常是指BPMN(Business Process Model and Notation)图,它是一种用于描述业务流程的建模符号,不属于UML的一部分。

2( )是通过到实现语言的映射而把模型转换为代码的过程 

A、正向工程 

B、逆向工程 

C、前向工程 

D、后向工程 

E、编码工程

E、编码工程

这还用说嘛,人家都叫编码工程了。

3、顺序图由角色、对象、生命线、激活期和  ( )组成

A、实体 

B、 关系 

C、消息 

D、用例 

E、类

C、消息

实体是ER图的基本组成元素,你个傻蛋。

关系是ER图或者类图的基本组成元素。

用例是用例图的基本组成元素,你也就知道这个吧。

类是类图的基本组成元素。哦。还有这个,你也知道,你好聪明哦。

4、UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换,消息序列可用两种图来表示,分别是 ( )

A、状态图和顺序图 

B、顺序图和通信图 

C、活动图和通信图 

D、状态图和活动图 

E、用例图和类图

 B、顺序图和通信图

 不知道的同学给自己两大嘴巴,肯定上课不听讲。

5、下列哪个不是UML中的静态视图 ()

A、状态机图 

B、用例图 

C、对象图 

D、类图 

 A、状态机图

 状态机图(State Machine Diagram)是UML中的动态视图,它描述了对象在其生命周期内可能处于的不同状态以及引起状态转换的事件。

6、 ( ) 技术上将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。  

A、交叉汇合 

B、分支 

C、泳道 

D、转移 

 C、泳道 

解释一下泳道啥意思,画个图给大家伙看下哈。这个黑框就是两个泳道合并的。

意思就是说我学生这一栏包括吃饭睡觉打豆豆,这是一个泳道。

另一个泳道就是老师的,老师这一栏要上课和期末捞人。所以叫做特定的人完成组内活动。

7、对反应型对象建模一般使用( ) 图

A、类图 

B、顺序图 

C、活动图 

D、状态机图 

E、部署图 

D、状态机图

说的好听点是反应型,说的不好听就是善变,事多。

8、()是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。

A、部署图 

B、接口 

C、组件

D、类

C、组件

自己去查一遍知识点,你是真懒啊,比我还懒。

9、构件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为4种方式来完成,下面哪种不是其中之一?( ) 

A、对源代码建模

B、对事物建模 

C、对物理数据库建模 

D、对可适应的系统建模

D、对可适应的系统建模

构件图(也就是组件图)更侧重于系统的物理和部署方面,而不是系统的适应性或行为方面。

这个错了情有可原,因为我也错了。没错你就偷着乐吧,滚一边去。 

10、( )是一组用于描述类或组件的一个服务的操作 

A、包 

B、接口 

C、结点 

D、组件

B、接口

在UML中,接口是一种特殊的类,它仅包含操作的声明,没有具体的实现细节。类或组件可以实现一个或多个接口,从而提供接口声明的操作。
 

11、( )是被结点执行的事物 

A、组件 

B、结点 

C、包 

D、接口

A、组件 

不要问我为什么。

12、对面向对象系统的物理方面建模时使用两种图,分别是 ( ) 

A、用例图和类图 

B、类图和顺序图 

C、组件图和配置图 

D、状态机图和活动图。

C、组件图和配置图 

组件图侧重于系统的物理和部署方面。都讲烂了。

13、下面所示的图是( ) 

A、用例图 

B、通信图 

C、类图 

D、顺序图 

E、活动图

B、通信图 

辨认是哪个图技巧:

用例图 :火柴人和椭圆的

通信图 :Message带数字序号

类图 :方框和箭头的,然后那种方框里都是各种名词

顺序图 :带泳道,有那种lifeline

活动图:带菱形的、initial和final

14、UML状态机图中转换时两个状态之间的一种关系,转换由5个部分组成,它们是() 

A、参与者、关联、动作、序列号、消息、状态 

B、类、对象、关联、约束、行为 

C、源状态、触发事件、监护条件、动作、目标状态 

D、名称、触发事件、监护条件、动作、状态。

 C、源状态、触发事件、监护条件、动作、目标状态 

15、在活动图中用于描述基于某个条件的可选择路径使用( )来表示 

A、分支 

B、分叉 

C、泳道 

D、汇合 

A、分支 

这里我想补充一下分支和分叉,这两不是一个概念。

分支:登录账号有密码登录和扫码登录两种方式,你想要登录选一种就行。

分叉:你要买东西得有货和钱,要同时执行,少一种都不行,叫并发执行。懂?

16、构成部署图的元素主要有() 

A、结点、对象、关系 

B、对象、关系、接口 

C、用例、类、关系 

D、消息、结点、对象 

E、结点、组件、关系

E、结点、组件、关系

17、RUP是一个软件的开发过程,包括4个阶段,它们是( ) 

A、需求、分析和设计、编码、测试

B、需求、分析与设计、实现、部署

C、商业建模、构造、实现、移交

D、初始、细化、构造、移交 

D、初始、细化、构造、移交

18、下图中描述的关系是 () 

A、泛化关系 

B、实现关系 

C、包含关系 

D、扩展关系 

C、包含关系 

泛化关系 :带有空心箭头的实线

实现关系 :带有空心箭头的虚线

包含关系 :带include的虚线

扩展关系 :带extend的虚线

19、 关于下图的解读正确的是( )

A、这是类图,反映了窗口类和菜单类之间的组合关系

B、这是类图,反映了窗口类和菜单类之间的泛化关系 

C、这是用例图,反映了窗口用例和菜单用例之间的包含关系 

D、这是构件图,反映了窗口组件和菜单组件之间的包含关系

A、这是类图,反映了窗口类和菜单类之间的组合关系

20、下图描述正确的是( ) 

A、这是用例图,反映了两个动作用例

B、这是流程图,反映了业务流程中需要执行动作1和动作2

C、这是通信图,反映了消息的流转

D、这是活动图,反映了对象运行时分叉和汇合。 

D、这是活动图,反映了对象运行时分叉和汇合。

二、简答题(共20分)

1.一个项目工程包含几个元素?(3分)

  • 用例图(Use Case Diagram):描述系统的功能和用户交互。
  • 类图(Class Diagram):描述系统的静态结构,包括类、接口、属性、方法和关系。
  • 对象图(Object Diagram):类图的实例,显示特定时刻对象间的具体交互。
  • 状态图(State Diagram):描述对象状态的变化。
  • 活动图(Activity Diagram):描述业务流程或操作的步骤。
  • 序列图(Sequence Diagram):描述对象间的消息交换顺序。
  • 通信图(Communication Diagram):强调对象间的关系。
  • 组件图(Component Diagram):描述系统的物理结构。
  • 部署图(Deployment Diagram):描述系统的物理部署。
  • 包图(Package Diagram):描述系统的逻辑视图。

2.用例之间有哪些关系?(4分)

1、包含关系  2、扩展关系  3、泛化关系

3.请描述对象和类的区别。(10分)

  • 抽象 vs 实例:类是抽象的定义,而对象是具体的实例。类描述了一组具有相同属性和行为的对象,而对象则是这些属性和行为的具体体现。

  • 内存占用:类本身不占用内存,只有通过类创建对象后,对象才会占用内存空间。

  • 模板 vs 实现:类是创建对象的模板,定义了对象的结构和行为。而对象是根据这个模板创建出来的具体实现。

4.顺序图中消息有几种类型?(3分)

  • 调用消息 (Procedure Call Message)
  • 异步消息 (Asynchronous Message)
  • 返回消息 (Return Message)
  • 简单消息 (Simple Message)
  • 阻止消息 (Balking Message)
  • 超时消息 (Time-out Message)
  • 同步消息 (Synchronous Message)
  • 自关联消息 (Self-Message)

三、问答题(共40分)

1.请使用顺序图和通信图绘制如下需求案例(10分)

车主类向车钥匙类发送通知“按下锁车键”,车钥匙类接到消息通知后,向汽车类发出“请求锁车”消息,汽车类接到消息后,先判断钥匙密码是否匹配,如果匹配则向自己发送“锁车”消息完成锁车动作,锁车动作完成后,向车主返回消息“闪烁车灯”;如果判断钥匙密码不匹配,则向车主类发送“叭叭叭叭声”消息,告知车主拒绝锁车。

顺序图

 通信图


2.依据下列用例图设计相关类图(10分)


3.依据下表绘制对应的状态机图(10分)

 


4.依据下列需求描述绘制相应用例图(10分)

某学校需要建立一个学生选课和成绩管理系统,具体要求如下:

1)学生需要登录系统进行网上选课操作,学生可以查看自己已选择课程,可以删除已经选择的课程,可以选择课程。学生在查询课程时可以按照课程名查询,也可以按照课程编号查询。

2)老师登录系统可以查看学生选课情况,可以按照班级查看学生选课情况,也可以按学生姓名查看选课情况。老师可以添加新的课程、可以删除已有课程,可以按课程名查询课程,可以按课程编号查询课程。

3)老师登录系统可以录入学生成绩、可以修改学生成绩、可以删除学生成绩、可以查看学生成绩(可以按学号查询、也可以按学生姓名查询),老师录入学生成绩或修改学生成绩后,需要将成绩进行保存

4)学生可以登录系统查看成绩。

5)老师和学生如果忘记密码,可以使用系统的忘记密码功能找回密码。

​​​​​​​ ​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea_maven详解

秒懂Maven maven简介maven安装和配置maven本地配置maven工程的GAVP创建maven工程项目结构说明项目构建说明 Maven依赖管理核心信息配置依赖管理配置依赖信息查询依赖范围设置依赖属性配置依赖下载失败错误解决Build构建配置依赖传递依赖冲突 maven工程继承继承作用应用场景继承…

vue3+vite纯前端实现自动触发浏览器刷新更新版本内容,并在打包时生成版本号文件

前言 在前端项目中,有时候为了实现自动触发浏览器刷新并更新版本内容,可以采取一系列巧妙的措施。我的项目中是需要在打包时候生成一个version.js文件,用当前打包时间作为版本的唯一标识,然后打包发版 ,从实现对版本更…

鸿蒙实现应用通知

目录: 1、应用通知的表现形式2、应用通知消息的实现1、发布普通文本类型通知2、发布进度类型通知3、更新通知4、移除通知 3、设置通知道通展示不同形式通知4、设置通知组5、为通知添加行为意图1、导入模块2、创建WantAgentInfo信息3、创建WantAgent对象4、构造Notif…

2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)

首先到官网上下载安装包:http://www.mysql.com 点击下载,拉到最下面,点击社区版下载 windows用户点击下面适用于windows的安装程序 点击下载,网络条件好可以点第一个,怕下着下着断了点第二个离线下载 双击下载好的安装…

【RabbitMQ】RabbitMQ中核心概念交换机(Exchange)、队列(Queue)和路由键(Routing Key)等详细介绍

博主介绍:✌全网粉丝21W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

【C++笔记】AVL树的深度剖析

【C笔记】AVL树的深度剖析 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】AVL树的深度剖析前言一. AVL树的概念二.AVL树的实现2.1 AVL树的结构2.2 AVL树的插入2.3 平衡因子更新 三.旋转3.1旋转的原则3.2右单旋3.3左…

Ubuntu 环境安装 之 RabbitMQ 快速入手

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:RabbitMQ 📚本系列文章为个人学…

贪心算法专题(四)

目录 1. 单调递增的数字 1.1 算法原理 1.2 算法代码 2. 坏了的计算器 2.1 算法原理 2.2 算法代码 3. 合并区间 3.1 算法原理 3.2 算法代码 4. 无重叠区间 4.1 算法原理 4.2 算法代码 5. 用最少数量的箭引爆气球 5.1 算法原理 ​5.2 算法代码 1. 单调递增的数字…

IAR环境下的FlashLoader设计

目录 1.为什么要Flash Loader 2.Flash Loader设计细节 2.1 简单的代码框架 2.2 迷人的宏使用 2.3 关键的配置文件 3.dmac和mac文件 4.小结 搞国产车规芯片,IAR是必不可少的编译调试集成工具,历史背景不赘述,今天主要聊聊基于IAR的Fla…

一些硬件知识【2024/12/6】

MP6924A: 正点原子加热台拆解: PMOS 相比 NMOS 的缺点: 缺点描述迁移率低PMOS 中的空穴迁移率约为电子迁移率的 1/3 到 1/2,导致导通电流较低。开关速度慢由于迁移率较低,PMOS 的开关速度比 NMOS 慢,不适合高速数字电…

在本地运行大语言模型

1,打开下面网站下载,软件 lm studio 2, 设置模型下载路径 3,没有魔法条件的人,去镜像网站下载模型的镜像文件 、 4,

【单片机】ESP32-S3+多TMC2209控制步进电机系列3 使用TMC2209库实现UART通讯

目录 1.下载TMC2209.h库2.代码部分3.效果展示 1.下载TMC2209.h库 在Arudino环境中,有两个不错的库可以驱动TMC2209。 TMC2209库TMCStepper库 TMC2209库只针对TMC2209驱动器,而TMCStepper库除了能够支持TMC2209驱动器,还能够支持其他TMC的驱…

【服务器部署应用由http协议切换为https】

文章目录 服务器部署应用由http协议切换为https1. 下载openssl及其配置1.1 下载1.2 无脑下一步即可1.3 环境变量配置1.4 验证配置以及生成证书证书路径 2. nginx配置修改 服务器部署应用由http协议切换为https 1. 下载openssl及其配置 1.1 下载 openssl下载地址 根据系统选择…

Linux——管理用户和用户组

一、用户有哪些 root用户 定义:root用户是Linux系统中的最高权限用户,具有对系统所有资源的完全控制权。特性:root用户可以执行系统中的任何操作,包括修改系统配置文件、安装软件、管理系统服务等。由于其拥有最高权限&#xff0c…

synchronized的特性

1.互斥 对于synchronized修饰的方法及代码块不同线程想同时进行访问就会互斥。 就比如synchronized修饰代码块时,一个线程进入该代码块就会进行“加锁”。 退出代码块时会进行“解锁”。 当其他线程想要访问被加锁的代码块时,就会阻塞等待。 阻塞等待…

如何在树莓派上安装Arduino IDE

git clone https://github.com/JetsonHacksNano/installArduinoIDE.git cd installArduinoIDE ./installArduinoIDE.sh sudo reboot sudo shutdown -h now

【JAVA项目】基于ssm的【汽车在线销售系统】

【JAVA项目】基于ssm的【汽车在线销售系统】 技术简介:采用JSP技术、B/S架构、SSM框架、MySQL技术等实现。 系统简介:首页汽车在线销售系统模块如下:首页、汽车信息、新闻资讯、留言反馈、我的收藏管理等功能。管理员输入个人的账号、密码登录…

【代码随想录】刷题记录(66)-修剪二叉搜索树

题目描述: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父…

《蓝桥杯比赛规划》

大家好啊!我是NiJiMingCheng 我的博客:NiJiMingCheng 这节课我们来分享蓝桥杯比赛规划,好的规划会给我们的学习带来良好的收益,废话少说接下来就让我们进入学习规划吧,加油哦!!! 一、…

Vue3+Vite项目从零搭建+安装依赖+配置按需导入

环境准备 Vscode/HBuilder等任何一种前端开发工具node.js&npm本地开发环境 源代码管理:Git 技术栈 项目构建 创建项目 npm create vite 依次运行最后三行出现,成功启动项目 在浏览器输入 http://localhost:5173/ 可以显示页面 src别名的配置…