前言:2023年上半年软考已经落幕了,学长整理了一下软件设计师的题目以及个人理解的答案(仅供参考)希望能够帮助参加软考的各个小伙伴能够清晰的估分,希望大家都能通过考试~

目录

2023年上半年 软件设计师 上午试卷

2023年上半年 软件设计师 下午试卷


                               全国计算机技术与软件专业技术资格(水平)考试

                   2023年上半年 软件设计师 上午试卷

(考试时间9:00~11:30共150分钟)

请按下述要求正确填写答题卡

1.在答题卡的指定位置上正确填写你的姓名和准考证号,并粘贴考生条形码。

2.本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。

3.每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。

4.解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。解答时用正规2B铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。

(例题)

2023年上半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)(89)日。

(88)A. 3 B. 4 C. 5 D. 6

(89)A. 25 B. 26 C. 27 D. 28

因为考试日期是“5月27日”,故(88)选C,(89)选C,应在答题卡序号88下对C填涂,在序号89下对C填涂(参看答题卡)

计算机中,系统总线用于1连接。

(1)  A. 接口和外设 B. 运算器、控制器和寄存器

C. CPU、主存及外设部件 D. DMA控制器和中断控制器

在由高速缓存、主存和硬盘构成的三级存储体系中,CPU执行指令时需要读取数据,那么DMA控制器和CPU发出的数据地址是2

(2)  A. 高速缓存地址 B. 主存物理地址

C. 硬盘的扇区地址 D. 虚拟地址

设信息位是8位,用海明码来发现并纠正1位出错的情况,则校验位的位数至少为(3)

(3)  A. 1 B. 2 C. 4 D. 8

中断向量提供的是(4)

(4)  A. 中断源的设备地址 B. 中断服务程序的入口地址

C. 传递数据的起始地址 D. 主程序的断点地址

计算机系统中,定点数常采用补码表示,以下关于补码表示的叙述中,错误的是(5)

(5)  A. 补码零的表示是唯一的 B. 可以将减法运算转化为加法运算

C. 符号位可以与数值位一起参加运算 D. 与真值的对应关系简单且直观

设指令流水线将一条指令的执行分为取指、分析、执行三段,已知取指时间是2ns,分析时间是2ns,执行时间是1ns,则执行完1000条指令所需的时间为6

(6) A. 1004ns B. 1998ns C. 2003ns D. 2008ns

在OSI参考模型中,负责对应用层消息进行压缩、加密功能的层次为(7)

(7) A. 传输层 B. 会话层 C. 表示层 D. 应用层

在PKI体系中,由SSL / TSL实现HTTPS应用。浏览器和服务器之间用于加密HTTP消息的方式是(8),如果服务器证书被撤销那么所产生的后果是(9)

(8)  A. 对方公钥 + 公钥加密 B. 本方公钥 + 公钥加密

C. 会话密钥 + 公钥加密 D. 会话密钥 + 对称加密

(9)  A. 服务器不能执行加解密 B. 服务器不能执行签名

C. 客户端无法再信任服务器 D. 客户端无法发送加密信息给服务器

以下关于入侵防御系统功能的描述中,不正确的是(10)

(10) A. 监测并分析用户和系统的网络活动

B. 匹配特征库识别已知的网络攻击行为

C. 联动入侵检测系统使其阻断网络攻击行为

D. 检测僵尸网络,木马控制等僵尸主机行为

Web应用防火墙无法有效保护11)

(11) A. 登录口令暴力破解 B. 恶意注册

C. 抢票机器人 D. 流氓软件

著作权中12),的保护期不受限制。

(12) A. 发表权 B. 发行权 C. 展览权 D. 署名权

国际上为保护计算机软件知识产权不受侵犯所采用的主要方式是实施13)

(13) A. 合同法 B. 物权法 C. 版权法 D. 刑法

以下关于计算机软件著作权的叙述中,不正确的是(14)

(14) A. 软件著作权人可以许可他人行使其软件著作权,并有权获得报酬

B. 软件著作权人可以全部或者部分转让其软件著作权,并有权获得报酬

C. 软件著作权属于自然人的,该自然人死亡后,在软件著作权的保护期内,继承人

能继承软件著作权的所有权利

D. 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软

件等使用软件的,可以不经软件著作权人许可,不向其支付报酬

以下关于数据流图基本加工的叙述中,不正确的是(15)

(15) A. 对每一个基本加工,必须有一个加工规格说明

B. 加工规格说明必须描述把输入数据流变换为输出数据流的加工规则

C. 加工规格说明需要给出实现加工的细节

D. 决策树、决策表可以用来表示加工规格说明

以下关于好的软件设计原则的叙述中,不正确的是16)

(16) A. 模块化 B. 提高模块独立性

C. 集中化 D. 提高抽象层次

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑17)在关键路径上,关键路径长度为18)

(17) A. B B. E C. G D. I

(18) A. 15 B. 17 C. 19 D. 23

由8位成员组成的开发团队中,一共有19)条沟通路径。

(19) A. 64 B. 56 C. 32 D. 28

对布尔表达式“a or ((b < c) and d)”求值时,当(20)时可进行短路计算。

(20) A. a为true B. b为true C. c为true D. d为true

设有正规式s = (0 | 10)*,则其所描述正规集中字符体的特点是(21)

(21) A. 长度必须是偶数 B. 长度必须是奇数

C. 0不能连续出现 D. 1不能连续出现

设函数foo和hoo的定义如下图所示,在函数foo中调用函数hoo,hoo的第一个参数采用传引用方式(call by reerence),第二个参数传值方式(call by value),那么函数foo中的print(a, b)将输出(22)

(22) A. 8, 5 B. 39, 5 C. 8, 40 D. 39, 40

某文件管理系统采用位示图(bitmap)来记录磁盘的使用情况,若计算机系统的字长为64位,磁盘容量为512GB,物理块的大小为4MB,那么位示图的大小为(23)个字。

(23) A. 1024 B. 2048 C. 4096 D. 9600

磁盘调度分为移臂调度和旋转调度两类,在移臂调度的算法中,(24)算法可能会随时改变移动臂的运行方向。

(24) A. 单向扫描和先来先服务 B. 电梯调度和最短寻道时间优先

C. 电梯调度和最短寻道时间优先 D. 先来先服务和最短寻道时间优先

在支持多线程的操作系统中,假设进程P创建了T1、T2、T3线程,那么(25)

(25) A. 该进程的代码段不能被T1、T2、T3共享

B. 该进程的全局变量只能被T1共享

C. 该进程中T1、T2、T3的栈指针不能被共享

D. 该进程中T1的栈指针可以被T2、T3共享

进程P1、P2、P3、P4、P5和P6的前趋图如下所示。

若用PV操作控制进程P1、P2、P3、P4、P5和P6并发执行的过程,需要设置信号量S1、S2、S3、S4、S5、S6、S7和S8,且信号量S1~S8的初值都等于零。下面P1~P6的进程执行过程中,空①和空②处应分别为 26 ,空③和空④应分别为 27 ,空⑤和空⑥应分别为 28 。

(26) A. P(S1)P(S2)和V(S3)V(S4) B. P(S1)P(S2)和V(S1)V(S2)

C. V(S3)V(S4)和P(S1)P(S2) D. V(S3)V(S4)和P(S2)P(S3)

(27) A. V(S5)和P(S4)P(S5) B. V(S3)和P(S4)V(S5)

C. P(S5)和V(S4)V(S5) D. P(S3)和P(S4)P(S5)

(28) A. V(S6)和V(S8) B. P(S6)和P(S7)

C. P(S6)和V(S8) D. P(S8)和P(S8)

以下关于增量模型优点的叙述中,不正确的是(29)

(29) A. 能够在较短的时间提交一个可用的产品系统

B. 可以尽早让用户熟悉系统

C. 优先级高的功能首先交付,这些功能将接受更多的测试

D. 系统的设计更加容易

以下敏捷开发方法中,(30)使用迭代的方法,把一段短的时间(如30天)的迭代称为一个冲刺,并按照需求优先级来实现产品。

(30) A. 极限编程(XP) B. 水晶法(Crystal)

C. 并列争求法(Scrum) D. 自适应软件开发(ASD)

若模块A通过控制参数来传递信息给模块B,从而确定执行模块B中的那部分语句。则这两个模块的耦合类型是31)耦合。

(31) A. 数据 B. 标记 C. 控制 D. 公共

在设计中实现可移植性设计的规则不包括(32)

(32) A. 将设备相关程序和设备无关程序分开设计

B. 可使用特定环境的专用功能

C. 采用平台无关的程序设计语言

D. 不使用依赖于某一平台的类库

以下关于管道—过滤器软件体系结构风格优点的叙述中,不正确的是(33)

(33) A. 构件具有良好的高内聚、低耦合的特点

B. 支持软件复用

C. 支持并行执行

D. 适合交互处理应用

以下流程图中,至少需要(34)个测试用例才能覆盖所有路径。采用McCabe方法计算程序复杂度为(35)

(34) A. 3 B. 4 C. 5 D. 6

(35) A. 2 B. 3 C. 4 D. 5

在软件系统交付给用户使用后,为了使用户界面更友好,对系统的图形输出进行改进,该行为属于36)耦维护。

(36) A. 改正性 B. 适应性 C. 改善性 D. 预防性

采用面向对象方法开发学生成绩管理系统,学生的姓名、性别、出生日期、期末考试成绩、查看成绩操作均被37)在学生对象中。系统中定义不同类,不同类的对象之间通过38)进行通信。

(37) A. 封装 B. 继承 C. 多态 D. 信息

(38) A. 继承 B. 多态 C. 消息 D. 重载

对采用面向对象方法开发的系统进行测试时,通常从不同层次进行测试。测试类中定义的每个方法属于39)层。

(39) A. 算法 B. 类 C. 模板 D. 系统

在面向对象系统设计中,如果重用了一个包中的某个类,那么就要重用该包中的所有类,这属于(40)原则。

(40) A. 共同封闭 B. 共同重用 C. 开放—封闭 D. 接口分离

以下关于UML序列图的描述是(41),下图所示UML图中消息可能执行的顺序是(42)

(41) A. 系统在它的周边环境的语境中所提供的外部可见服务

B. 某一时刻一组对象以及它们之间的关系

C. 系统内从一个活动到另一个活动的流程

D. 以时间顺序组织的对象之间的交互活动

(42) A. a→b→c→a→b B. c

C. a→b→a→b→c D. a→b→c→a→b→c

UML包图展现由模型本身分解而成的组织单元及其依赖关系,以下关于包图的叙述中,不正确的是(43)

(43) A. 可以拥有类、接口构件、节点 B. 一个元素可以被多个包拥有

C. 一个包可以嵌套其他包 D. 一个包内元素不能重名

在某招聘系统中,要求实现求职简历自动生成功能。简历的基本内容包括求职者的姓名、性别、年龄及工作经历等。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。针对此需求,设计如下所示的类图。该设计采用了(44)模式,由xx示例指定创建对象的种类,声明一个复制自身的接口,并且通过复制这些Resume xx WorkExperience 的对象来创建新的对象。该模式属于(45)模式。

(44) A. 单例(Singleton) B. 抽象工厂(Abstract Factory)

C. 生成器(Builder) D. 原型(Prototype)

(45) A. 混合型 B. 行为型

C. 结构型 D. 创建型

某旅游公司欲开发一套软件系统,要求能根据季节,节假日等推出不同的旅行定价包,如淡季打折、一口价等。实现该要求适合采用(46)模式,该模式的主要意图是(47)

(46) A. 策略模式(Strategy) B. 状态(State)

C. 观察者(Observer) D. 命令(Command)

(47) A. 将一个请求封装为对象,从而可以用不同的请求对客户进行参数化

B. 当一个对象的状态发生改变时,依赖于它的对象都得到通知并被自动更新

C. 允许一个对象在其内部状态改变时改变它的行为

D. 定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

Python中采用于(48)原方法来获取一个对象的类型。

(48) A. str() B. type() C. id() D. object()

在Python语言中,语句x = (49)不能定义一个元组。

(49) A. (1, 2, 1, 2) B. 1, 2, 1, 2

C. tuple() D. (1)

关于Python语言的叙述中,不正确的是(50)

(50) A. for语句可以用在序列(如列表、元组和字符串)上进行迭代访问

B. 循环结构如for和while后可以加else语句

C. 可以用if...else和switch...case语句表示选择结构

D. 支持嵌套循环

在数据库应用系统的开发过程中,开发人员需要通过视图层、逻辑层次上的抽象来对用户屏蔽系统的复杂性,简化用户与系统的交互过程。错误的是(51)

(51) A. 视图层是最高层次的抽象

B. 逻辑层是比视图层更低一层的抽象

C. 物理层是最低层次的抽象

D. 物理层是比逻辑层更高一层的抽象

给定关系模式R(U, F),其中U为属性集,F是U上的一组函数,属于自反律的是(52)

(52) A. 若Y∈X∈U,则X→Y为F所蕴含

B. 若X→Y,Y→Z,则X→Y为F所蕴含

C. 若X→Y,Z∈Y,则X→Z为F所蕴含

D. 若X→Y,X→Z,则X→YZ为F所蕴含

给定关系模式R(U, F),U = { A, B, C, D },函数依赖集F = { AB→C, CD→B }。关系模式R53),主属性和非主属性个数分别为54)

(53) A. 只有1个候选关键字ACB B. 只有一个候选关键字BCD

C. 有2两个候选关键字ABD和ACD D. 有2两个候选关键字ACB和BCD

(54) A. 4 和 0 B. 3 和 1 C. 2 和 2 D. 1 和 3

如果将Students表的插入权限赋予用户User1,并允许其将该权限授予他人,那么正确的SQL语句如下:GRANT 55) TABLE Students TO User1 56) 。

(55) A. INSERT B. INSERT ON C. UPDATE D. UPDATE ON

(56) A. FOR ALL B. PUBLIC

C. WITH GRANT OPTION D. WITH CHECK OPTION

利用栈对算术表达式10 * (40 – 30 / 5) + 20求值时,存放操作数的栈(初始为空)的容量至少为57),才能满足暂存该表达式中的运算数或运算结果的要求。

(57) A. 2 B. 3 C. 4 D. 5

设有5个字符,根据其使用频率为其构造哈夫曼编码。以下编码方案中(58)是不可能的。

(58) A. { 111, 110, 101, 100, 0 } B. { 0000, 0001, 001, 01, 1 }

C. { 11, 10, 01, 001, 000 } D. { 11, 10, 011, 010, 000 }

设有向图G具有n个顶点、e条弧,采用邻接表存储,则完成广度优先遍历的时间复杂度为(59)

(59) A. O(n + e) B. O(n^2) C. O(e^2) D. O(n * e)

对某有序顺序表进行折半查找(二分查找)时,进行比较的关键字序列不可能是(60)

(60) A. 42, 61, 90, 85, 77 B. 42, 90, 85, 61, 77

C. 90, 85, 61, 77, 42 D. 90, 85, 77, 61, 42

设由三棵树构成的森林中,第一棵树、第二棵树和第三棵树的结点总数分别为n1、n2和n3。将该森林转换为一颗二叉树,那么该二叉树的右子树包含(61)个结点。

(61) A. n1 B. n1 + n2 C. n3 D. n2 + n3

对一组数据进行排序,要求排序算法的时间复杂度为O(nlgn),且要求排序是稳定的,则可采用(62)。算法。若要求排序算法的时间复杂度为O(nlgn),且在原数据上进行,即空间复杂度为O(1),则可以采用(63)。算法。

(62) A. 直接插入排序 B. 堆排序

C. 快速排序 D. 归并排序

(63) A. 直接插入排序 B. 堆排序

C. 快速排序 D. 归并排序

采用Kruskal算法求解下图的最小生成树,采用的算法设计策略是(64)。该最小生成树的权值是(65)

(64) A. 分治法 B. 动态规划 C. 贪心法 D. 回溯法

(65) A. 14 B. 16 C. 20 D. 32

www的控制协议是(66)

(66) A. FTP B. HTTP C. SSL D. DNS

在Linux操作系统中通常使用(67)。作为Web服务器,其默认的Web目录为(68)

(67) A. IIS B. Apache C. NFS D. MYSQL

(68) A. /etc/httpd B. /var/log/httpd C. /etc/home D. /home/httpd

SNMP的传输层协议是(69)

(69) A. UDP B. TCP C. IP D. ICM

某电脑无法打开任意网页,但是互联网即时聊天软件使用正常。造成该故障的原因可能是(70)

(70) A. IP地址配置错误 B. DNS配置错误 C. 网卡故障 D. 链路故障

Low-code and no code software development solutions have emerged as viable and convenient alternatives to the traditional development process.

Low-code is a rapid application development (RAD) approach that enables automated code generation through 71) building blocks like drag-and-drop and pull-down menu interfaces. This 72) allows low-code users to focus on the differentiator rather than the common denominator of programming. Low-code is a balanced middle ground between manual coding and no-code as its users can still add code over auto-generated code.

No-code is also a RAD approach and is often treated as a subset of the modular plug-and-play, low-code development approach. While in low-code there is some handholding done by developers in the form of scripting or manual coding, no-code has a completely 73) approach, with 100% dependence on visual tools.

A low-code application platform (LCAP) — also called a low-code development platform (LCDP) — contains an integrated development environment (IDE) with 74) features like APIs, code templates, reusable plug-in modules and graphical connectors to automate a significant percentage of the application development process. LCAPs are typically available as cloud-based Platform-as-a-Service (PaaS) solutions.

A low-code platform works on the principle of lowering complexity by using visual tools and techniques like process modeling, where users employ visual tools to define workflows, business rules, user interfaces and the like. Behind the scenes, the complete workflow is automatically converted into code. LCAPs are used predominantly by professional developers to automate the generic aspects of coding to redirect effort on the last mile of 75).

(71) A. visual B. component-based C. object-oriented D. structural

(72) A. block B. automation C. function D. method

(73) A. medern B. hands-off C. generic D. labor-free

(74) A. reusable B. built-in C. existed D. well-konwn

(75) A. delivery B. automation C. development D. success

全国计算机技术与软件专业技术资格(水平)考试

2023年上半年 软件设计师 下午试卷

(考试时间14:00~16:30共150分钟)

请按下述要求正确填写答题卡

1. 在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。

2. 在答题纸的指定位置填写准考证号、出生年月日和姓名。

3. 答题纸上除填写上述内容外只能写解答。

4. 本试卷共6道题,试题一至试题四是必答题,试题五至试题六选答1道。每题15分,满分75分。

5. 解答时字迹务必清楚,字迹不清时,将不评分。

6. 仿照下面的例题,将解答写在答题纸的对应栏内。

(例题)

2023年上半年全国计算机技术与软件专业技术资格(水平)考试日期是12日。

因为正确的解答是“5月27日”,故在答题纸的对应栏内写上“5”和“27”(参看下表)。

例题

解答栏

(1)

5

(2)

27

试题一(共15分)

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应框内。

【说明】

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

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

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

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

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

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

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

【问题1】(4分)

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

【问题2】(4分)

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

【问题3】(4分)

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

【问题4】(3分)

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

试题二(共15分)

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

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

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

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

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

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

【逻辑结构设计】

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

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

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

车型(编号.各称,规格)

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

【问题1】(5分)

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

【问题2】(3分)

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

【问题3】(7分)

该汽车公司现新增如下需求:记录车型在全国门店的销售情况,门店信息包括门店的编号,地址和电话,销售包括销售数量和销售日期等

对原有设计进行以下修改以实现该需求:

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

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

试题三(共15分)

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

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

(2)学术资源包括会议论文(ConferencePaper)、期刑论文(JounalArticle)以及学位(Thesis)等:系统中存储了每个学术资源的题名、作者、发表时间、来源(哪个镜像数据库)、被引次数、下载次数等信息。对于会议论文,还需记录会议名称,召开时间以及召开地点;同一次会议的论文被收录在会议集(Proceeding)中。对于期刊论文,还需记录期刊名称,出版月份,期号以及主办单位;同一期号的论文被收录在一本期刊(Edition)中。对于学位论文,记录了学位类别(博士/硕士):毕业学校,专业及指导教师。会议集包含发表在该会议(在某个特定时间段,特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。

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

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

(5)用户可以下载资源,系统记录每个资源被下载的次数。现采用面向对象分析与设计方法开发该系统,得到如图3-1所示的用例图以及图3-2所示的初始类图。

【问题1】(8分)

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

【问题2】(4分)

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

【问题3】(3分)

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

试题五(共15分)

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

【说明】

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

图5-1略

【Java代码】

import Java.util.enum

TYPE{COMMA, Dots, LINE}

interface PrintStrategy{

public __(1)__;

(1):void doPrint(interval val)

}

class Intervals{

//两个类成员变量=上下边界值

public void Intervals(double lower, double upper){

//初始化上下边界值

}

public double getLower {return lower...}

public double getUpper {return upper...}

public void printInterval (PrintStrategy pr){

__(2)__;

}

}

class PrintIntervalsComma implements PrintStrategy{

public void doPrint (interval Val){

system.out.printin("["+val.getLower()+","+val.getUpper()+"]"}

}

class PrintIntervalsDots implements PrintStrategy{

public void do print (interval val){

system.out.printin("["+val(.getLower()+"..."+val.getUpper()+"]";}

}

class PrintIntervalsLine implements PrintStrategy{

public void do print (interval val){

system.out.print("["+val.getLower()+"-"+val.getUpper()+"]";}

}

public static PrintStrategy getStrategy (TYPE){

type

PrintStrategy st=null;

switch (type){

case COMMA:

__(3)__;

break;

case DOTS:

__(4)__;

break;

case LINE:

__(5)__;

break;

}

return st

}

public static void main(String[] args){

Intervals a = new Intervals(1.7, 2.1);

a.printInterval (getStrategy(TYPE.COMMA));

a.printInterval (getStrategy(TYPE.Dots));

a.printInterval (getStrategy(TYPE.LINE));

}

下午题答案​:

2023年上半年 软件设计师答案解析相关推荐

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

    1.计算机中,系统总线用于(  )连接 A.接口和外设          B.运算器,控制器和寄存器 C.主存.外设部件      D.DMA控制器和中断控制器 2.在由高速缓存.主存和硬盘构成的三级 ...

  2. 2023年上半年 软件设计师 上午试卷及答案

    全国计算机技术与软件专业技术资格(水平)考试 2023年上半年 软件设计师 上午试卷答案 (考试时间9:00~11:30共150分钟) 另附2023上半年 软件设计师上午真题 word版本~~~~ 计 ...

  3. 2023年上半年软件设计师上午试卷及答案

    全国计算机技术与软件专业技术资格(水平)考试 2023年上半年 软件设计师 上午试卷 (考试时间9:00~11:30共150分钟) 请按下述要求正确填写答题卡 在答题卡的指定位置上正确填写你的姓名和准 ...

  4. 全国计算机技术与软件专业技术资格(水平)考试-2023 年上半年 软件设计师 上午试卷(答案对照)

  5. 2018上半年软件设计师上午试题参考答案

    文章转自:https://blog.csdn.net/feiyanaffection/article/details/80977394#commentBox 2018上半年软件设计师上午试题参考答案 ...

  6. 2021年上半年软件设计师下午真题试题(案例分析)及答案

    2021年上半年软件设计师上午真题及答案解析 目录 1.停车系统的数据流图 2.社区蔬菜团购网站的数据库设计 3.线上抓药APP的用例图.类图 4.凸多边形 5.层叠菜单(Java) 1.停车系统的数 ...

  7. 2018年上半年软件设计师试题参考答案

    2018上半年软件设计师上午试题参考答案 基础知识 A.O(lgn) B.O(n) C.O(nlgn) D.O(n²) A.4 B.5 C.6 D.7 2018上半年软件设计师下午试题参考答案 综合技 ...

  8. 2019上半年软件设计师 下午真题-简答题及免费答案(一)

    2019上半年软件设计师 下午真题-简答题及免费答案(一) 试题一(15分) 阅读下列说明和图,回答问题1至4,将解答填入答题纸的对应栏内. [说明] 某学校欲开发一学生跟踪系统,以便更自动化.更全面 ...

  9. 2015年上半年 软件设计师 上午试卷 综合知识-2

    2015年上半年 软件设计师 上午试卷 综合知识-2 与算术表达式"(a+(b-c))*d" 对应的树是(21). 答案: B 本题考查程序语言与数据结构基础知识. 对算术表达式& ...

最新文章

  1. 【JQuery】可直接编辑的表格
  2. ubuntu访问win7
  3. DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE
  4. 创建的二叉树后续非递归遍历结果为_一入递归深似海,从此offer是路人
  5. 系统架构师设计师2009-2016真题与模拟题汇总免费下载
  6. 【CPP 小技巧 (一)FPS】统计处理一张图像算法消耗的时间 3 种方法
  7. ftp服务器 vsftpd搭建和配置以及虚拟用户的设置
  8. JSTL标签库中fmt标签,日期,数字的格式化
  9. 你的域名是如何变成 IP 地址的?
  10. 补习系列(3)-springboot中的几种scope
  11. 终于有人把RISC-V讲明白了
  12. Java 操作符 小结
  13. 怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?...
  14. php李炎恢笔记,一步步学习php笔记 李炎恢瓢城web俱乐部
  15. Java 上传附件后端接口大体流程和逻辑
  16. 网页类参考文献的引用格式
  17. 投稿流程以及审稿状态
  18. 30分钟LINQ教程(转)
  19. win10麦克风权限无法开启
  20. Python全套视频

热门文章

  1. HDMI分配器--4K*2K的HDMI分配器1进8出
  2. 特斯拉Model S 引爆电动车市狂鸣
  3. 匈牙利算法以及在分配问题中的使用
  4. 一个人的周末,我在歌唱
  5. 华为智慧城市未来发展白皮书
  6. 桌面云之VDC资源发布步骤
  7. linux的shell脚本报错“syntax error near unexpected token `”的解决
  8. 行列式性质之任意行(列)的任意倍数加到另一行(列),行列式不变
  9. 微信小程序_把chatgpt聊天数据复制到剪切板
  10. 用python绘制一个简单正三角形