2023年上半年软件设计师下午真题及答案解析

试题一(15分)

随着农业领域科学种植的发展,需要对农业基地及农事进行信息化管理,为租户和农户等人员提供种植相关服务,现欲开发农事管理服务平台,其主要功能是:

(1)人员管理:平台管理员管理租户;租户管理农户并为其分配负责的地块,租户和农户以人员类型区分。

(2)基地管理:租户填写基地名称、地域等描述信息,在显示的地图上绘制地块。

(3)种植管理:租户设定作物及其从种植到采收的整个农事过程,包括农事活动及其实施计划。农户根据相应农事过程提醒,进行农事活动并记录。系统会在设定时间向农户进行农事提醒,对逾期未实施活动向租户发出逾期告警。

(4)投入品管理:租户统一维护化肥、杀虫剂等投入品信息。农户在农事活动中设定投入品的实际消耗。

(5)信息服务:农户按查询条件发起农事信息请求,对相关地块农事活动实施情况(如与农事过程比对)等农事信息进行筛选、对比和统计等处理,并将响应信息进行展示。系统也给其他第三方软件提供APP接口,通过接口访问的方式提供账号、密码和查询条件发起农事信息请求,返回特定格式的农事信息,无查询条件时默返回账号下所有信息,多查询条件时返回满足全部条件的信息。

现采用结构化方法对农事管理服务平台进行分析与设计,获得如图所示的上下文数据流图和图2所示的0层数据流图

                            

 

图1-1 上下文数据流图

问题1(4分)

使用说明中的词语,给出图1-1中的实体E1~E4的名称。

问题2(4分)

使用说明中的词语,给出图1-2中数据存储D1~D4的名称。

问题3(4分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。

问题4(3分)

根据说明,给出"农事信息请求"数据流的组成。

试题二(15分)

某新能源汽车公司为了提升效率。需开发一个汽车零件采购系统请完成系统的数据库设计

[概念结构设计]

[需求描述]

(1)记录供应商的信息,包括供应商的名称、地址和一个电话。

(2)记录零件的信息,包括零件的编码、名称和价格。

(3)纪录车型信息,包括车型的编号、名称和规格。

(4)记录零件采购信息,某个车型的某种零件可以从多家供应商采购,某种零件也可以被多个车型采用,某家供应商也可以供应多种零件,还包括采购数量和采购日期。

[逻辑结构设计]

根据概念结构设计阶段完成的实体联系图,得出如下关系模式(不完整):

   供应商(名称地址电话)

   零件(编码各称,价格)

   车型(编号各称规格)

   采购(车型编号供应商名称(a),(b),采购日期)

问题1(5分)

根据描述补充图2-1的实体联系图(不增加新的实体)。

问题2(3分)

补充逻结构设计结果中的(a),(b)两处空缺,并标注主键和外键完整性约束。

问题3(7分)

该汽车公司现新增如下需求:记录车型在全国门店的销售情况,门店信息包括门店的编号、地址和电话,销售包括销售数量和销售日期等,对原有设计进行以下修改以实现该需求。

(1)在图2-1中体现门店信息及其车型销售情况、并标明新增的实体和联系及其重要属性。

(2)给出新增加的关系模式并标注主键和外键完整性约束。

试题三(15分)

某高校图书馆购买了若干学术资源的镜像数据库(MinorDB)资源,现要求开发一套数字图书馆(Digitallibrary)系统,面向校内用户(User)提供学术资源(Resoure)的浏览、检索和下载服务,系统的主要要求描述如下:

1.系统中存储了每个镜像数据库的基本信息,包括:数据库名称,访问地址,数据库属性以及数据库简介等信息,用户进入某个镜像数据库后,可以浏览、检索以及下载其中的学术资源。

2.学术资源包括:会议论文(ConferencePaper)、期刊论文(JournalArticle)以及学位论文(Thesis)等。系统中存储了每个学术资源的题名、作者、发表时间、来源(哪个镜像数据库)、被引次数、下载次数等信息。

(1)对于会议论文,还需记录会议名称,召开时间以及召开地点;同一次会议的论文被收录在会议集(Proceeding)中。

(2)对于期刊论文,还需记录期刊名称、出版月份、期号以及主办单位;同一期号的论文被收录在一本期刊(Edition)中。

(3)对于学位论文,记录了学位类别(博士/硕士)、毕业学校、专业及指导教师。

3.会议集包含发表在该会议(在某个特定时间段,特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。

4.系统用户(User)包括:在校学生(Student)、教师(Teacher)以及其他在职人员(Staff)。用户使用学校的统一身份认证登录系统后,使用系统提供的各项服务。

5.系统提供多种资源检索方式,主要包括:按照资源的题名检索(SearchbyTitle)、按照作者名称检票(SearchByAuthor)、按照来源检索(SearchBySource)等。

6.用户可以下载资源,系统记录每个资源被下载的次数。

现采用面向对象分析与设计方法开发该系统,得到如图3-1所示的用例图,以及图3-2所示的初始类图。

                               图3-1 用例图

                               图3-2 类图

问题1(6分)

根据说明中的描述,给出图3-2中的C1~C8所对应的类名。

问题2(5分)

根据说明中的描述,给出图3-2中的类C1~C4的关键属性。

问题3(4分)

在该系统的开发过程中遇到了新的要求:用户能够在系统中对其所关注的数字资源注册他引通知,若该资源的他引次数发生变化,系统可以及时通知该用户。为了实现这个新的要求,可以在图3-2所系的类图中增加哪种设计模式?用150字以内文字解释选择该模式的原因。

试题五(15分)

阅读下列说明和C++代码,将应填入(n)处的字句写在对应栏内

在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound , upper bound];[lower bound...upper bound];[lower bound-upper bound] 等。

现采用策略(strategy)模式实现该要求,得到如图5-1所示的类图。

                           图5-1类图

   

 

 

试题六(15分)

阅读下列说明和Java代码,将应填入 (n)处的字写在答题纸的对应栏内

在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound];[lower bound-upper bound]等现采用策略(strategy)模式实现该要求,得到如图6-1所示的类图。

 

 

 

2023年上半年软件设计师下午真题及答案解析

试题一(15分)

问题1(4分) 单击此链接查看真题解析视频2023软考--软件设计师-下午历年真题解析视频(第三期)-学习视频教程-腾讯课堂

E1: 平台管理员   E2: 农户   E3: 租户    E4: 第三方软件

问题2(4分)

D1: 用户信息表   D2: 基地及地块信息表   D3:农事过程信息表   D4: 农事活动记录表

问题3(4分)

  

 

问题4(3分)

地块信息、农事过程信息、农事活动记录。

试题二(15分)

问题1(5分)

 

问题2(3分)

(a)零件的编码    (b)采购数量

主键为组合主键(车型编号,供应商名称,零件编码,采购日期);

外键:车型编号,供应商名称,零件编码。

问题3(7分)

(1)

(2)

门店(门店编号,地址,电话)  主键:门店编号

销售(门店编号,车型编号,销售数量,销售日期) 组合主键:(门店编号,车型编号, 销售日期),外键:门店编号、车型编号

试题三(15分)

问题1(6分)

C1: Resource或学术资源       C2: Conference Paper或会议论文

C3: Journal Article或期刑论文   C4: Thesis或学位论文

C5: User或系统用户      C6: Student或在校学生   C7: Teacher或教师

C8: staff或其他在职人员   (C6-C8可互换)

问题2(5分)

C1: 题名、作者、发表时间、来源、被引次数、下载次数

C2: 会议名称、召开时间、召开地点

C3: 期刊名称、出版月份、期号、主办单位

C4: 学位类别、毕业学校、专业、指导教师

(C1为父类定义公共属性,子类只需定义特有的属性,公共属性从父类继承)

问题3(4分)

观察者模式。观察者模式定义对象间的一对多的关系关系,当一个对象的对象状态发生改变时,所有依赖于它的对象都得到通知并自动更新。符合系统需求。

试题五(15分)

(1) virtual void doPrint(lnterval *val) = 0

(2) prt->doPrint(this);

(3) st = new PrintlntervalsComma()

 (4) st = new PrintlntervalsDots()

(5) st = new PrintlntervalsLine()

试题六(15分)

(1) void doPrint (interval val)

(2) pr.doPrint(this)

(3) st= new PrintIntervalsComma()

(4) st= new PrintIntervalsDots()

(5) st = new PrintIntervalsLine()

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

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

相关文章

​Redis概述

目录 Redis - 概述 使用场景 如何安装 Window 下安装 Linux 下安装 docker直接进行安装 下载Redis镜像 Redis启动检查常用命令 Redis - 概述 redis是一款高性能的开源NOSQL系列的非关系型数据库,Redis是用C语言开发的一个开源的高键值对(key value)数据库,官方提供测试…

python Requests

Requests概述 官方文档:http://cn.python-requests.org/zh_CN/latest/,Requests是python的HTTP的库,我们可以安全的使用 Requests安装 pip install Requests -i https://pypi.tuna.tsinghua.edu.cn/simple Requests的使用 Respose的属性 属性说明url响…

http学习笔记3

第 11 章 Web 的攻击技术 11.1 针对 Web 的攻击技术 简单的 HTTP 协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用 HTTP 协议的服务器和客户端,以及运行在服务器上的 Web 应用等资源才是攻击目标。目前,来自互联网的攻…

【汇编语言】CS、IP寄存器

文章目录 修改CS、IP的指令转移指令jmp问题分析 修改CS、IP的指令 理论:CPU执行何处的指令,取决于CS:IP应用:程序员可以通过改变CS、IP中的内容,进行控制CPU即将要执行的目标指令;问题:如何改变CS、IP中的…

Golang 基础语法问答

使用值为 nil 的 slice、map 会发生什么? 允许对值为 nil 的 slice 添加元素,但是对值为 nil 的 map 添加元素时会造成运行时 panic。 // map错误示例 func main() {var m map[string]intm["one"] 1 // error: panic: assignment to entry …

Python Opencv实践 - 图像均值滤波

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape) pixel_count img.shape[0] * img.shape[1] print(pixel_count)#为图像添加椒盐噪声 #参考资料&#xf…

基于YOLOX的输电线路异物检测算法研究及软件设计_有系统有文献,整体认知蛮好的

我国自改革开放以来,大力发展工业和经济,对电能同样有着巨大的需求,所需求的电能不仅需要保证其数量,还要保障其质量,因此对整个电力系统安全稳定的运行也提出了更高的要求,电力系统发生故障要实时检测并及…

Kafka—工作流程、如何保证消息可靠性

什么是kafka? 分布式事件流平台。希望不仅仅是存储数据,还能够数据存储、数据分析、数据集成等功能。消息队列(把数据从一方发给另一方),消息生产好了但是消费方不一定准备好了(读写不一致)&am…

Vscode详细安装教程

Vscode官网下载 官网地址:Download Visual Studio Code - Mac, Linux, Windows 通过链接可以直接跳转到下面的页面当中,支持的版本有Windows、Linux、Mac,可以选择适配自己电脑的版本,一般来说应该是Windows x64的。不要直接点W…

MySQL高级篇——MySQL架构篇1(Linux下MySQL8的安装与使用)

目录 0 安装前0.1 Linux系统及工具的准备0.2 查看是否安装过MySQL0.3 MySQL的卸载 1 MySQL8的Linux版安装1.1 MySQL的4大版本1.2 下载MySQL指定版本1.3 CentOS7下检查MySQL依赖1.4 CentOS7下MySQL安装过程 2 MySQL登录2.1 首次登录2.2 修改密码2.3 设置远程登录 3 MySQL 8 的密…

【C语言】写一个程序,输入数量不确定的【0,9】范围内的整数,统计每一种数字出现的次数,输入-1表示结束

题目 写一个程序&#xff0c;输入数量不确定的【0,9】范围内的整数&#xff0c;统计每一种数字出现的次数&#xff0c;输入-1表示结束 代码 #include<stdio.h> int main() {int x;int i;int a[10];for(i0; i<10; i){//初始化数组 a[i] 0;}scanf("%d",&am…

Vim在Mac电脑中的下载与安装方法:MacVim

本文介绍在Mac系统电脑中&#xff0c;下载、安装文本编辑器Vim软件&#xff08;MacVim软件&#xff09;的具体方法。 在Mac系统电脑中&#xff0c;原本就带有一个非图形界面的Vim&#xff1b;只要我们在终端中&#xff0c;输入如下的代码&#xff0c;就可以查看系统自带的非图形…

深度学习入门-3-计算机视觉-卷积神经网络

一、计算机视觉 1.概述 计算机视觉作为一门让机器学会如何去“看”的学科&#xff0c;具体的说&#xff0c;就是让机器去识别摄像机拍摄的图片或视频中的物体&#xff0c;检测出物体所在的位置&#xff0c;并对目标物体进行跟踪&#xff0c;从而理解并描述出图片或视频里的场…

ThinkPHPV5.1.25中使用file_exists等函数没有触发phar://的反序列化的destruct魔术方法执行的问题

上图file_exists方法会触发phar://伪协议对phar文件的反序列化对象的操作。 在thinkphp框架中目标对象的wakeup魔术方法是会执行的&#xff0c;但是destruct魔术方法不一定会。 因为像我碰到的问题就是我的项目主目录下的/runtime目录没有Web服务器用户的写入权限会导致日志写…

博客系统之单元测试

对博客系统进行单元测试 1、测试查找已存在的用户 测试名称 selectByUsernameTest01 测试源码 //查找用户&#xff0c;存在 Test public void selectByUsernameTest01 () { UserDao userDao new UserDao(); String ret1 userDao.selectByUsername("张三").toStr…

【学习日记】【FreeRTOS】任务调度时如何考虑任务优先级——任务的自动切换

写在前面 本文开始为 RTOS 加入考虑任务优先级的自动调度算法&#xff0c;代码大部分参考野火。 本文主要是一篇学习笔记&#xff0c;加入了笔者自己对野火代码的梳理和理解。 一、基本思路 首先我们要知道&#xff0c;在 RTOS 中&#xff0c;优先级越高、越需要被先执行的的…

解析大规模开发:提升企业级开发效率与质量,加速创新

在数字化转型的大环境下&#xff0c;越来越多的企业依赖软件来驱动业务和创新。然而&#xff0c;随着开发规模日益庞大&#xff0c;如何更好地提升研发效能&#xff0c;从而塑造更强大的竞争力&#xff0c;已然成为众多企业亟待解决的共同难题。 作为国内领先的DevSecOps提供商…

运放和三极管构成的恒流源电路

这是一个由运放和三极管构成的恒流源电路&#xff0c;RL为负载电阻&#xff0c;R1为采样电阻。 流过三极管集电极的电流 下面分析下这个电路的工作原理。首先我们可以看到这个运放引入了负反馈&#xff0c;所以它工作在线性区的&#xff0c;就有VINVPVN。 所以流过采样电阻R1的…

C#程序变量统一管理例子 - 开源研究系列文章

今天讲讲关于C#应用程序中使用到的变量的统一管理的代码例子。 我们知道&#xff0c;在C#里使用变量&#xff0c;除了private私有变量外&#xff0c;程序中使用到的公共变量就需要进行统一的存放和管理。这里笔者使用到的公共变量管理库划分为&#xff1a;1)窗体&#xff1b;2)…

OpenCV-Python中的图像处理-GrabCut算法交互式前景提取

OpenCV-Python中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 cv2.grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode…) img…