软考下午题第2题——E-R图 UML图 逻辑结构设计-示题与解析

news2024/12/23 22:39:41

下午的第二题主要是找【属性】【主键】【外键】【候选键】之间的关系。

候选键:属性或者是属性组合,其值能够唯一地标识一个元组

主键:在一个关系中可能有多个候选键,从中选择一个作为主键

外键:如果一个关系中的属性或者属性组并非该关系的主键,但是它们是另外一个关系的主键。

再加上一些完成示例图啥的。通过业务逻辑的方式进行链接,链接符号一般是【直线箭头】【矩形框】,也会有下面的一些关系。

四种关系对照图
关系解释符号

依赖

A对象中使用了B对象,那么A对象就堆B对象产生了依赖。
关联A对象使用了B对象作为,B对象也使用了A对象就是关联。
聚合父类包含子类,但子类可单独运行是聚合,关系强度小于组合。
组合父类拥有子类,子类不能独立运行,关系强度高。

题目:

某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发-套信息管理系统。 该系统将记录所有的图书信息、唱碟信息、用户信息用户租借信息等。希赛公司决定采用面向对象的
分析和设计方法开发此系统。图2-22所示为某类图书或唱碟被借阅时应记录的信息,图2-23描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。
 

图2-22 借阅时应记录的信息

 

图2-23借阅时应记录的信息

 

[问题1]

经过进一步分析,设计人员决定定义一个类Items_ on_ loan,以表示类Book和CD的共有属性和方法。请采用图2-23中属性和方法的名称给出类Items_ on_ loan应该具有的属性和方法。(注意: 不同名称的属性和方法表示不同的含义,如CD中的composer与Book中的author无任何关系)

答案:

属性: title
方法: Reference Title

解析,问题中最后一句已经说明了没有关系的东西,那么剩下的就是相同的,相同的一模一样的就两个,属性是title、方法Reference Title。

[问题2]

为为记录每种图书或唱碟租借的历史记录,引入类CirculationHistory, 类中存储的信息是图2-22中所表示的内容。请采用UML表示法将下列四个类之间的关系表示出来。

答案:

聚台关联中涉及到重复度,当没有指定重复度时,默认重复度为1,那么,两个类CirculationHistory、 Items on loan所在端的重复度都为1。

[问题3]

现需了解十大最畅销(借出次数最多)图书或唱碟。为此,引入TenPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数。图2 -24的顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有(1) 个TenPopulate实例对象最台适, 一个TenPopulate类实例对象最多需要和(2) 个Items on loan实例对象交互。

答案:

1、1

2、图书和唱碟种类数

解析: 

题目中说"引入TemPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数”,可见TemPopulate类的功能是存储所有十大畅销图书或CD的名称及其被借出的次数。既然如此,系统在一次运行中只需要1个TenPopulate实例对象就可以了,因为它存储所有十大畅销图书或CD的名称及其被借出的次数。每当有图书或唱碟被借出时,都需要和TenPopulate类的对象发生交互,因此,当所有图书或CD都被借阅时, TenPopulate类实例对象需要跟所有这些Items on loan实例对象交互更新借出次数以评出十大最畅销图书或CD, 一个TenPopulate类实例对象最多需要和”图书和唱碟种类总数"个Items_ on loan实例对象交互。

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

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

相关文章

【JavaWeb】会话跟踪技术Cookie与Session原始真解

文章目录1 什么是会话?2 Cookie技术2.1 Cookie简介2.2 Cookie的理解与创建2.3 服务器获取Cookie与Cookie的修改2.4 Cookie的生命控制与生命周期2.5 Cookie有效路径Path设置3 Session会话技术3.1 初探Session3.2 Session的创建、获取与基本使用3.3 Session的生命控制…

使用Python的smtplib模块发送带附件的邮件

上一篇文章《使用Python的smtplib模块发送简单邮件》介绍了调用smtplib模块发送包含简单内容的邮件,本文继续学习参考文献1中的发送带附件的邮件的示例代码,同时由于参考文献1中的带附件邮件中并没有邮件附件,而仅仅是邮件内容中关联的内嵌资…

哪款半入耳式蓝牙耳机音质好?音质比较好的半入耳式蓝牙耳机推荐

半入耳式的蓝牙耳机相比入耳式的要舒适许多,佩戴更加的舒适透气,近年来,市面上的蓝牙耳机鱼龙混杂,人们选购蓝牙耳机对音质有一定的要求,下面是我整理的四款音质高的半入耳式蓝牙耳机,可以参考参考。 一、…

[carla入门教程]-1 安装carla环境

本专栏教程将记录我从安装carla到调用carla的pythonAPI进行车辆操控的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制. 第一节 carla 仿真环境的安装 准备工作: 在本节教程之前,需要大家安装ubuntu18.04以上的系统,并且安装对…

【MATLAB教程案例33】基于高斯混合模型的视频背景提取算法的matlab仿真实现

FPGA教程目录 MATLAB教程目录 本课程学习成果预览(左图是原始视频,右图是背景提取结果) 目录 1.软件版本 2.基于高斯混合模型的视频背景

顺序表和链表

顺序表和链表1.线性表2.顺序表2.1 概念和结构2.2 接口实现2.3 顺序表的问题及思考3.链表3.1 链表的概念和结构3.2 链表的分类3.3 链表的实现3.4 双向链表的实现4. 顺序表和链表的区别和联系1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使…

Qt 添加第三方字体库

Qt字体库默认主持操作系统所有的字体库,但是设计师一般喜欢比如思源字体,但是咱们的操作系统没有安装,在其他没有安装第三方字体库的电脑上运行,就达不到设计师最初设计的观感。这篇博客介绍Qt如何第三方字体库,以思源…

HTML【基础篇】

HTML【基础篇】🍎一.HTML结构🍒1.1认识HTML标签🍒1.2HTML文件基本结构🍒1.3标签层次结构🍒1.4快速生成代码框架🍎二.HTML常见标签🍒1.1注释标签🍒1.2标题标签(h1-h6&…

用ADSelfService Plus更新Windows缓存的凭证

研究显示,帮助台技术员收到的所有电话中高达30%是因为遗忘了密码。当帮助台技术员处理大量此类电话时,对于来自远程的用户请求就无能为力了。这些用户使用本地缓存的Active Directory凭证来登录其机器。当该用户离开办公室时,帮助台技术员无法…

京东云开发者|ElasticSearch降本增效常见的方法

Elasticsearch在db_ranking 的排名又(双叒叕)上升了一位,如图1-1所示;由此可见es在存储领域已经蔚然成风且占有非常重要的地位。 随着Elasticsearch越来越受欢迎,企业花费在ES建设上的成本自然也不少。那如何减少ES的成本呢?今天…

某大厂软件测试岗一面笔试题+二面问答题面试经验分享

目录 某大软件测试厂笔试题 选择题 二面 某大软件测试厂笔试题 判断题(Y对,N错) 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5…

20 | 如何处理normal.mod not found

目录1 现象2 解决思路2.1 通过命令修复2.2 通过工具修复2.3 通过快照还原3 实际操作3.1 通过命令修复3.1.1 ls3.1.2 ls (hd0,X)/3.1.3 执行命令3.1.4 其他命令3.2 通过工具修复3.2.1 通过liveCD模式3.2.2 安装Boot-Repair3.2.3 修复3.3 通过快照还原1 现象 提示:ER…

YOLO9000: Better, Faster, Stronger (Yolov2)论文详细解读

目录前言1. Better(更准)2. Faster(更快)3. Stronger(更壮)前言 对应YOLOv1论文解读:You Only Look Once: Unified, Real-Time Object Detection(Yolov1) 论文详细解读 …

带你着手「Servlet」

⭐️前言⭐️ 有了前边文章为我们奠定下的网络基础,我们就可以开始学习Servlet的知识了,在部署一个Java的Servlet程序时,必须要有的开发工具是Tomcat,需要自行完成Tomcat的配置,并掌握maven仓库的配置方法,下边我们也…

windows下搭建mindspore的编译环境

rugwindows 10下安装mindpsore环境,需要visual studio 2019及以上,cmake, python 也可以从上面下载mindspore编译依赖的软件。 visual studioan安装时需注意 然后再安装cmake,git,安装好之后设置检查环境变量,缺失的要补上 系统…

WEB静态网页设计与制作——我的美丽家乡邢台

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

【数据结构】顺序表OJ

文章目录0. 前言1. 移除元素2. 删除有序数组中的重复项3. 合并两个有序数组4. 结语0. 前言 在上篇博客中,我们使用C语言实现了顺序表。其中我们也对顺序表的接口进行了完整的实现。但是光实现不够,还是需要题目来练习。于是今天我就为大家带来顺序表的三…

【雷达仿真 | FMCW TDMA-MIMO毫米波雷达信号处理仿真(可修改为DDMA-MIMO)】

本文编辑:调皮哥的小助理 本文引用了CSDN雷达博主XXXiaojie的文章源码(https://blog.csdn.net/Xiao_Jie1),加以修改和注释,全面地、详细地阐述了FMCW TDM-MIMO毫米波雷达的工作原理,同时配套MATLA仿真实现方…

kubernetes

目录 一、容器云发展及主要内容 1、云平台计算,交付标准(iaas-----openstack) 2、平台即服务(PAAS) 3.软件及服务(SAAS) 特点 二、内容 三、kubernetes集群架构与组件 基本组件 (1)Pod(最小的资源单位) (2)初…

信息系统综合测试与管理__软件测试

一 概念 软件测试是使用人工或者自动手机来运行或测试某个系统的过程, 目的是检测是否满足需求或者比较预期与实际的差别。 软件测试应该覆盖整个开发、维护过程, 不仅仅是编码阶段完成之后进行的一项活动。 常考的软件测试工具为LoadRunner, 是一种…