当前位置: 首页 > news >正文

【软件设计师】下午题总结-数据流图、数据库、统一建模语言

下午题总结

  • 1 试题一
    • 1.1 结构化语言
  • 2 试题二
    • 弱实体
    • 增加权限
    • 增加实体间联系和联系的类型
  • 3 试题三
    • 3.1 UML关系
      • 例子
    • 3.2 例子(2016上半年)
    • 3.3 设计类分类
      • 3.3.1 接口类
      • 3.3.2 控制类
      • 3.3.3 实体类
    • 3.4 简答题
      • 3.4.1 简要说明选择候选类的原则
      • 3.4.2 某个类必须拥有的属性是什么
    • 3.5 设计模式

1 试题一

实体(长方体)
数据存储(没有封闭的长方体)
加工(椭圆长方体)

需要注意的错误:
1.加工有输入但是没有输出
2.加工有输出但是没有输入
3.加工的输入不足以产生输出

数据流的起点和终点中必须有一个是加工

父图与子图不平衡,图 1-2 中没有图 1-1 中的数据流“维修情况”

1.1 结构化语言

用结构化语言对“道闸控制”的加工逻辑进行描述

道闸控制。根据道闸控制请求向道闸控制系统发送放行指令和接收道闸执行状态。若道闸执行状态为正常放行时,对入场车辆,将车牌号及其入场时间信息存入停车记录,修改空余车位数;对出场车辆更新停车状态,修改空余车位数。当因道闸重置系统出现问题(断网断电或是故障为抬杠等情况),而无法在规定的时间内接收到其返回的执行状态正常放行时,系统向管理人员发送异常告警信息,之后管理人员安排故障排查处理,确保车辆有序出入停车场。

收到道闸控制请求
IF 道闸执行状态为正常放行THEN IF 入场车辆THEN将车牌号及其入场时间信息存入停车记录,修改空余车位数ELSE 更新停车状态,修改空余车位数ENDIF
ELSE向管理人员发送异常告警信息
ENDIF

2 试题二

弱实体

一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。

附件属于弱实体吗?
附件属于弱实体,因为附件的存在必须以邮件的存在为前提,即附件总是依附于某邮件

增加权限

为了数据库信息的安全性,公司要求对数据库操作设置权限管理功能,当员工登录系统时,系统需要检查员工的权限。权限的设置人是部门经理。为满足上述需要,应如何修改(或补充)图2-1所示的实体联系图,请给出修改后的实体联系图和关系模式。

权限(员工号 ,权限,部门经理)主键是员工号

增加实体间联系和联系的类型

电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还可以联合第三方基金公司提供理财服务,为此设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财。每名客户只由一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图2-1进行修改,画出修改后的实体间联系和联系的类型。

在这里插入图片描述

3 试题三

3.1 UML关系

聚合 (空心菱形)
部分和整体的生命周期不一致,整体消失了,部分仍然存在。
 部分        整体
在这里插入图片描述


组合 (实心菱形)
整体消失了,部分也消失了
在这里插入图片描述

购物车和商品适合采用聚合关系,网店和商品适合采用组合关系。
网店消失了,商品也下架了。


泛化 (实线三角形)
子类继承父类,父类泛化子类

子元素        父元素
在这里插入图片描述

例子

在这里插入图片描述

表示组合和聚合,在组合关系中,整体对象与部分对象具有统一的生命周期,当组合整体消失了,部分也消失了。而在聚合关系中,整体消失了,部分依然存在。

3.2 例子(2016上半年)

在这里插入图片描述

3.3 设计类分类

在这里插入图片描述

3.3.1 接口类

负责系统与用户之间的交互,用于封装在用例内、外流动的信息或数据流

这个我是排除法,先把实体类和控制类写了

3.3.2 控制类

控制类负责业务逻辑的处理

控制类包含动词
比如:计算总价、调用支付系统、发送完整订单信息

3.3.3 实体类

实体类保存需要存储在永久存储体中的信息,主要负责持久化数据的存储

我的理解是一直存在的人或东西
比如:会员、订单表、邮箱地址、支付方式

3.4 简答题

3.4.1 简要说明选择候选类的原则

认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,在根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。

具有下列特征的候选类需要删除:含义相近(冗余)、含义不明确的对象、暗示实现方式的、表示属性或特征、有动词含义的名词(表示行为和方法)。

3.4.2 某个类必须拥有的属性是什么

在这里插入图片描述

图3-2所示的类图中使用了哪种设计模式?在这种设计模式下,类CFrequentFlyer必须具有的属性是什么?C1〜C4中的travel方法应具有什么功能?

使用了 State 模式(状态模式)。
类 CFrequentFlyer 必须具有的属性:CLevel 的对象。
travel 方法的功能:计算飞行里程数,根据里程数判断是否需要调整会员级别(跳转到不同的状态)。

3.5 设计模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【软件设计师】下午题总结-数据流图、数据库、统一建模语言

下午题总结 1 试题一1.1 结构化语言 2 试题二弱实体增加权限增加实体间联系和联系的类型 3 试题三3.1 UML关系例子 3.2 例子(2016上半年)3.3 设计类分类3.3.1 接口类3.3.2 控制类3.3.3 实体类 3.4 简答题3.4.1 简要说明选择候选类的原则3.4.2 某个类必须…...

CSDN 自动评论互动脚本

声明 该脚本的目的只是为了提升博客创作效率和博主互动效率,希望大家还是要尊重各位博主的劳动成果。 数据库设计 尽量我们要新建一个数据库csdn_article,再在其中建一个数据表article -- csdn_article-- article-- 需要进行自动评论的表格信息...CREATE TABLE `article`…...

Tomcat端口配置

Tomcat是开源免费的服务器,其默认的端口为8080,本文讲述一下如何配置端口。 最后在浏览器中输入localhost:8888即可打开Tomcat界面...

SpringBoot中使用AOP实现日志记录功能

目录 一、SpringBoot框架介绍 二、什么是 AOP 三、日志记录的必要性 四、SpringBoot中如何使用AOP实现日志记录功能 一、SpringBoot框架介绍 SpringBoot是一个开源的Java开发框架,旨在简化基于Spring框架的应用程序的开发。它提供了一套开箱即用的工具&#xf…...

kubernetes(k8s) v1.30.1 helm 集群安装 Dashboard v7.4.0 可视化管理工具 图形化管理工具

本文 紧接上一篇:详细教程 Centos8.5 基于 k8s v1.30.1 部署高可用集群 kubeadm 安装 kubernetes v1.30.1 docker集群搭建 延长证书有效期-CSDN博客 1 Dashboard 从版本 7.0.0 开始,不再支持基于清单的安装。仅支持基于 Helm 的安装. #Helm 下载安装 …...

CS144(所有lab解析)

CS144 lab0-CSDN博客 (CS144 2024)Lab Checkpoint 1: stitching substrings into a byte stream (详细解析)-CSDN博客 CS144 Lab2 (2024)超详细解析-CSDN博客 Lab Checkpoint 3: the TCP sender-CSDN博客 CS144 Checkpoint 4: in…...

LeetCode 热题 100 介绍

"LeetCode热题100"通常是指LeetCode上被用户频繁练习和讨论的100道热门题目。这些题目往往对于面试准备和算法学习非常有帮助。 哈希 两数之和 难度:简单链接🔗: 这 字母异位词分组 难度:中等链接🔗&#x…...

Flutter 中的 AnimatedPhysicalModel 小部件:全面指南

Flutter 中的 AnimatedPhysicalModel 小部件:全面指南 Flutter 的 AnimatedPhysicalModel 是一个功能强大的小部件,它允许开发者创建具有物理效果的动画形状变换。这个小部件非常适合需要展示平滑过渡和动态交互的场景,如按钮按下效果、卡片…...

第二十届文博会沙井艺立方分会场启幕!大咖齐打卡!

2024年5月24日-27日,第二十届中国(深圳)国际文化产业博览交易会沙井艺立方分会场活动将在艺立方非遗(文旅)产业园盛大举办。 本届文博会艺立方分会场活动办展特色鲜明,亮彩纷呈,将以“种下梧桐树…...

【Vue】computed 和 methods 的区别

概述 在使用时,computed 当做属性使用,而 methods 则当做方法调用computed 可以具有 getter 和 setter,因此可以赋值,而 methods 不行computed 无法接收多个参数,而 methods 可以computed 具有缓存,而 met…...

HarmonyOS 鸿蒙应用开发 - 创建自定义组件

开发者定义的称为自定义组件。在进行 UI 界面开发时,通常不是简单的将系统组件进行组合使用,而是需要考虑代码可复用性、业务逻辑与UI分离,后续版本演进等因素。因此,将UI和部分业务逻辑封装成自定义组件是不可或缺的能力。 1、创…...

【Vue3】封装axios请求(cli和vite)

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 Vue 【Vue3】env环境变量的配置和使用(区分cli和vite) 文章目录 Vue前言一、常见用法二、vue3cli封装接口1..env配置2..dev(开…...

Java8 Optional常用方法使用场景

前言: Optional 是 Java 8 的新特性,专治空指针异常(NullPointerException, 简称 NPE)问题,它是一个容器类,里面只存储一个元素(这点不同于 Conllection)。 为方便用户通过 Lambda 表…...

isscc2024 short course4 In-memory Computing Architectures

新兴的ML加速器方法:内存计算架构 1. 概述 内存计算(In-memory Computing)架构是一种新兴的机器学习加速器方法,通过将计算能力集成到存储器中,以减少数据移动的延迟和能耗,从而提高计算效率和性能。这种方…...

ubuntu 安装 kvm 启动虚拟机

1. 基础环境设置 #更新环境 apt update apt upgrade#配置网卡 cat >/etc/netplan/br.yml<<EOF network:ethernets:eth2: {}bridges:br0:interfaces:- eth2addresses:- 192.192.1.213/24gateway4: 192.192.1.1nameservers:addresses:- 8.8.8.8- 8.8.4.4 EOF #安装组件…...

[OpenGL] opengl切线空间

目录 一 引入 二 TBN矩阵 三 代码实现 3.1手工计算切线和副切线 3.2 像素着色器 3.3 切线空间的两种使用方法 3.4 渲染效果 四 复杂的物体 本章节源码点击此处 继上篇法线贴图 来熟悉切线空间是再好不过的。对于法线贴图来说,我们知道它就是一个2D的颜色纹理,根据rgb…...

SpringCloud微服务03-微服务保护-分布式事务-MQ基础-MQ高级

一、微服务保护 1.雪崩问题 如何做好后备方案就是后续&#xff1a; 2.雪崩解决方案 某一个服务的线程是固定的&#xff0c;出现故障线程占满后&#xff0c;就不会让取调用这个服务&#xff0c;对其他服务就没有影响。 3.Sentinel ①初识Sentinel 配置过程&#xff1a;day05-服…...

住宅IP?

住宅IP是由主要运营商&#xff08;如电信、移动、联通等&#xff09;为用户开通的宽带业务所分配的IP地址。这些IP地址是真实的、具有实际位置的IP&#xff0c;与普通用户的设备IP和宽带网络IP一致。它们不是连续的&#xff0c;而是散点分布&#xff0c;这使得它们在使用时更加…...

SpringBoot实现邮箱验证码

自行创建一个SpringBoot项目 导入SpringBoot所需要的邮箱验证码的包 <!--邮件发送--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.6.1</version>…...

GPT提示词技巧,使用教程,国内版官网直达,非套壳

GPT提示词技巧&#xff0c;使用教程&#xff0c;国内版官网直达&#xff0c;非套壳 主站点&#xff1a;https://chatgpt-plus.top&#xff08;江苏福建地区打不开&#xff0c;需要魔法&#xff09; 店铺地址&#xff1a;https://buy.chatgpt-plus.top/ 选择plus账号进入&…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...