2023软件设计师上半年真题解析(上午+下午)

上午试题

1.系统总线

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

A.接口和外设

B.运算器,控制器和寄存器
C.主存及外设部件

D.DMA控制器和中断控制器

总线可以划分为数据总线、地址总线和控制总线。系统总线是计算机系统中的通信架构,它负责连接和协调计算机系统中的各个组件和外部设备,实现数据传输和控制信号传递,从而实现计算机系统的正常运行。

2.三级存储体系

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

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

C.硬盘的扇区地址

D.虚拟地址

直接和cpu打交道的是主存。

3.海明码

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

A.1

B.2
C.4

D.8

海明码(Hamming code)是一种纠错编码技术,用于检测和纠正数据传输中的错误。海明码通过在数据中插入冗余位(校验位)来检测和纠正单一位错误。

公式:

r:校验位的个数

m:信息位的个数

4.中断向量

中断向量提供的是()。

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

C.传递数据的起始地址

D.主程序的断点地址

中断向量提供的是中断服务程序的入口地址或中断处理程序的地址。当发生中断时,计算机硬件会通过中断向量找到对应的中断服务程序,并开始执行相应的中断处理过程。

5.补码

计算机系统中,定点数常采用补码表示,以下关于补码表示的叙述中,错误的是()。
A.补码零的表示不是唯一的

B.可以将减法运算转化为加法运算

C.符号位可以与数值位一起参加运算

D.与真值的对应关系简单且直观

[+0]补=[+0]反=[+0]原=00000000

[-0]补=11111111+1=00000000

6.指令流水线

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

A.1004ns

B.1998ns
C.2003ns

D.2008ns

2+2+1+2*(1000-1)=2003

7.OSI参考模型

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

A.传输层

B.会话层
C.表示层

D.应用层

物理层(Physical Layer):

物理层是OSI模型的最底层,负责在物理媒介上传输原始比特流。它定义了传输介质、电压水平、传输速率等物理参数,并规定了传输介质的连接方式和信号传输的基本规范。

数据链路层(Data Link Layer):

数据链路层负责将原始的比特流转换为数据帧,并在相邻节点之间进行可靠的数据传输。它提供了错误检测和纠正、帧同步、流量控制和访问控制等功能,以确保数据的可靠传输。

网络层(Network Layer):

网络层负责将数据包从源节点传输到目标节点,通过网络进行路由选择和转发。它定义了数据包的寻址和路由选择机制,并提供了网络互连的功能。常见的网络层协议包括IP(Internet Protocol)。

传输层(Transport Layer):

传输层提供了端到端的可靠数据传输服务,负责将数据可靠地从源端传输到目标端。它处理数据分段、流量控制、拥塞控制和错误恢复等任务。常见的传输层协议包括TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。

会话层(Session Layer):

会话层负责建立、管理和终止会话(Session)连接,以便在通信双方之间建立和维护通信会话。它提供了会话的控制和同步功能,支持多个应用程序之间的通信。

表示层(Presentation Layer):

表示层处理数据的表示和格式转换,以确保不同系统之间的数据可以正确解释和理解。它负责数据的加密、压缩、格式转换、数据描述等功能,以便在不同的系统中进行交互。

应用层(Application Layer):

应用层是OSI模型的最高层,提供了各种应用程序与网络之间的接口。它包括了各种网络应用,如电子邮件、文件传输、远程登录等。应用层协议定义了应用程序之间的通信规则和数据交换格式。

8.9.服务器

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

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

B.本方公钥+公钥加密

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

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

B.服务器不能执行签名
C.客户端无法再信任服务器

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

10.入侵防御系统

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

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

B.匹配特征库识别已知的网络攻击行为
C.联动入侵检测系统使其阻断网络攻击行为

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

能检测,但是不能阻断。

11.防火墙

11、web应用防火墙无法有效保护()。

A.登录口令暴力破解

B.恶意注册

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

尽管Web防火墙可以提供一定程度的保护,但它可能无法有效防御以下类型的攻击:

零日漏洞攻击(Zero-day Attacks):零日漏洞是指安全漏洞被公开之前,攻击者利用该漏洞进行攻击。由于Web防火墙的规则是基于已知的攻击模式和签名进行匹配,因此无法防御尚未被发现或未知的漏洞攻击。

高级持久性威胁(Advanced Persistent Threats,APT):APT是一种长期存在且具有高度专业性的攻击,通常针对特定目标。APT攻击通常使用高级技术和定制的恶意软件,以规避常规的防护措施,包括Web防火墙。

社会工程攻击(Social Engineering Attacks):社会工程攻击利用人的心理和社交工具来欺骗用户,例如钓鱼攻击、欺诈电话等。这些攻击通常不涉及直接的网络层面,而是利用人们的行为和信任,因此Web防火墙无法完全阻止这类攻击。

应用层漏洞:Web防火墙主要关注网络层和应用层协议的安全,但如果Web应用程序本身存在漏洞,例如跨站脚本攻击(XSS)或SQL注入攻击,防火墙可能无法有效阻止这些攻击。应用层漏洞需要通过正确的编码实践和应用程序安全测试来解决。

内部威胁:Web防火墙主要用于保护外部攻击,而对于内部威胁,如恶意内部员工或受感染的终端设备,防火墙的效果有限。内部威胁需要通过其他安全措施,如访问控制、权限管理和内部监控来进行管理和防御。

12.著作权保护期

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

A.发表权

B.发行权
C.署名权

D.展览权

13. 软件知识产权

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

A.合同法

B.物权法
C.版权法

D.刑法

14.软件著作权

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

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

B.软件著作权人可以全部或者部分转让其软件著作权,并有权获得报酬
C.软件著作权属于自然人的,该自然人死亡后,在软件著作权的保护期内、继承人能继承软件著作权的所有权力

D.为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等使用软件的,可以不经软件著作权人许可,不向其支付报酬

15 .数据流图

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

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

B.加工规格说明必须描述把输入数据流变换为输出数据流的加工规则
C.加工规格说明需要给出实现加工的细节

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

16.软件设计原则

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

A.模块化

B.提高模块独立性
C.集中化

D.提高抽象层次

17.18 .关键路径

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

(17)

A.B
B.E

C.G

D.I

(18)

A.15

B.17

C.19
D.23

最早开始时间:

最早结束时间:

从A到K

从K到A

关键路径

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

A.64

B.56

C.32
D.28

20.布尔表达式

20、对布尔表达式"a or ((cb<c)and d)"求值时,()时可进行短路计算。
A.a为true

B.b为true

C.c为true

D.d为true

a为true时表达式即为真。

21.正则表达式

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

A.长度必须是偶数

B.长度必须是奇数

C.0不能连续出现

D.1不能连续出现

*表示出现0个或多个,每次要么选择0要么选择10,比如010010、101010000。

22.引用传值

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

A.8,5
B.39,5

C.8,40

D.39,40

m为参数传值,m的值不会改变,即b的值不会发生改变;x为 引用传值,即a的值会变为x的最终值39。

23.位示图计算

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

A.1024
B.2048

C.4096

D.9600

24.磁盘调度

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

A.单向扫描和先来先服务

B.电梯调度和先来先服务

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

25.多线程

在支持多线程的操作系统中,假设进程P创建了t1、t2、t3线程,那么()

A.该进程的代码段不能被t1、t2、t3共享

B.该进程的全局变量只能被t共享
C.该进程中t1、t2、t3的栈指针不能被共享

D.该进程中t1的栈指针可以被t2、t3共享

26.27.28.PV操作

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

若用PV操作控制进程P1、P2、P3、P4、P5和P6并发执行的过程,需要设置8个信号量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(S6)和P(S8)

29.增量模型

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

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

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

C.优先级高的功能首先交付,这些功能将接受更多的测试
D.系统的设计更加容易

30.敏捷开发方法

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

A.极限编程(XP)

B.水晶法(Crystal)
C.并列争球法(Scrum)

D.自适应软件开发(ASD)

31.耦合类型

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

B.标记

C.控制

D.公共

七种耦合类型根据耦合程度由高到低排序分别是:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合和非直接耦合。

  • 内容耦合

一个模块可以直接访问另一个模块的内部数据

  • 公共耦合

多个模块都访问同一个公共数据环境被称为公共耦合,公共数据环境例如全局数据结构、共享通信区和内存公共覆盖区。

  • 外部耦合

多个模块访问同一个全局简单变量(非全局数据结构)并且不是通过参数表传递此全局变量信息被称为外部耦合。

  • 控制耦合

模块之间传递信息中包含用于控制模块内部的信息被称为控制耦合。控制耦合可能会导致模块之间控制逻辑相互交织,逻辑之间相互影响,非常不利于代码维护。

  • 标记耦合

多个模块通过参数表传递数据结构信息被称为标记耦合,可以类比JAVA语言引用传递。

  • 数据耦合

多个模块通过参数表传递简单数据信息被称为标记耦合,可以类比JAVA语言值传递。

  • 非直接耦合

多个模块之间没有直接联系,通过主模块的控制和调用实现联系被称为非直接耦合,这也是一种理想的耦合方式。

32.可移植性设计

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

A.将设备相关程序和设备无关程序分开设计
B.可使用特定环境的专用功能

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

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

33.管道------过滤器软件体系

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

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

B.支持软件复用

C.支持并行执行
D.适合交互处理应用

34.35.流程图

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

(34)

A.3
B.4

C.5

D.6

(35)

A.2

B.3
C.4

D.5

McCabe圈复杂度是通过以下公式计算得出的:V(G) = E - N + 2P

V(G) 表示圈复杂度;

E 表示控制流图中的边数;

N 表示控制流图中的节点数;

P 表示程序的连通分量数(通常为1)。

36.维护

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

A.改正性

B.适应性
C.改善性

D.预防性

37.38.面向对象方法开发

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

(37)
A.封装

B.继承

C.多态

D.信息

(38)

A.继承

B.多态
C.消息

D.重载

39.类层

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

A.算法
B.类

C.模板

D.系统

40.共同重用

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

A.共同封闭
B.共同重用

C.开放-封闭

D.接口分离

41.42.UML时序图

1

( 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

43.UML包图

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

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

C.一个包可以嵌套其他包

D.一个包内元素不能重名

44.45.类图

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

(44)

A.单例(Singleton)

B.抽象工厂(Abstract Factory)

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

(45)

A.混合型

B.行为型

C.结构型
D.创建型

46.47.软件实现模式

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

(46)
A.策略(Strategy)

B.状态(State)

C.观察者(Observer)

D.命令(command)

(47)

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

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

C.允许一个对象在其内部状态改变时改变它的行为
D.定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

48.python

Python中采用()方法来获得一个对象的类型。

A.str ( )
B.type ( )

C.id ( )

D.object ()

49.python

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

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

C.tuple ()

D.(1)

50.python

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

A.for语句可以用于在序列(如列表、元组和字符串)上进行迭代访问
B.循环结构如for和while后可以加else语句

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

D.支持嵌套循环

51.数据库

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

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

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

C.物理层是最低层次的抽象
D.物理层是比逻辑层更高一层的抽象

52.关系模式

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

A.若Y∈X∈U,则X->Y为所蕴涵

B.若X->Y,Y->Z、则X--->Y为F所蕴涵

C.若X->Y,Z∈Y,则X--->Z为F所蕴涵
D.若X-->Y,X->Z,则X--->YZ为F所蕴涵

53.54.关系模式

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

(53)

A.只有1个候选关键字ACB

B.只有1个候选关键字BCD
C.有2个候选关键字ABD和ACD

D.有2个候选关键字ACB和BCD

(54)
A.4和0

B.3和1

C.2和2

D.1和3

给定关系模式R(U,F),U={A,B,C,D},函数依赖集F={AB--->C,CD--->B}

有2个候选关键字ABD和ACD

主属性和非主属性个数分别为4 0

55.数据库插入和权限

如果将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

57.栈

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

A.2

B.3
C.4

D.5

58.哈夫曼编码

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

A.{111,110,101,100,0}

B.{0000,0001,001,01,1}

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

59.有向图

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

B.O(n^2)

C.O(e^2)

D.O(n*e)

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

61.森林转化为二叉树

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

A.n1

B.n1+n2

C.n3
D.n2+n3

1、先把每棵树转换为二叉树;

2、第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子结点,用线连接起来。当所有的二叉树连接起来后得到的二叉树就是由森林转换得到的二叉树。

将一棵树转换为二叉树的方法是:

  • 树中所有相邻兄弟之间加一条连线。
  • 对树中的每个结点,只保留其与第一个孩子结点之间的连线,删去其与其它孩子结点之间的连线。

62.63.排序

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

(62)

A.直接插入排序

B.堆排序

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

(63)

A.直接插入排序
B.堆排序

C.快速排序

D.归并排序

64.65.Kruskal 算法

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

(64)

A.分治法

B.动态规划
C.贪心法

D.追溯法
A.14

B.16

C.20

D.32

66.www

www的控制协议是()

A.FTP
B.HTTP

C.SSL

D.DNS

67.68.Linux操作系统

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

(67)

A.IIS
B.Apache

C.NFS

D.MYSOL

(68)

A./etc/httpd

B./var/log/httpd

C./etc/home
D./home/httpd

69.SNMP

SNMP的传输层协议是()
A.UDP

B.TCP

C.IP

D.ICM

70.DNS

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

A.IP地址配置错误
B.DNS配置错误

C.网卡故障

D.链路故障

71~75.Low-code and no code software

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 diferentiator 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.While in low-code there is some hand holding 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 or lowering complexity by using visual to and techniques like process modeling. where users employ visual tools to define workflobusiness rules, user interfaces and the like.Behind the scenes, the complete workflovautomatically converted into code. LCAPs are used predominantly by professional developeautomate 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.modern
B.hands-off

C.generic

D.labor-free

(74)

A.reusable
B.built-in

C.existed

D.well-known

(75)

A.delivery

B.automation
C.development

D.success

低代码和无代码软件开发解决方案已经成为传统开发过程的可行和方便的替代方案。低代码是一种快速应用程序开发(RAD)方法,它支持通过像拖放和下拉菜单界面这样的构建块自动生成代码。这(72)允许低码用户关注编程的区别而不是共同点。Lowcode是介于手动编码和无代码之间的一个平衡的中间地带,因为它的用户仍然可以在自动生成的代码上添加代码。在低代码中,开发人员会以脚本或手工编码的形式进行一些手工操作,而无代码则是完全(73)的方法,100%依赖于可视化工具。低代码应用程序平台(LCAP)------也称为低代码开发平台(LCDP)------包含一个集成开发环境(IDE),它具有api、代码模板、可重用插件模块和图形连接器等特性,可以自动化很大比例的应用程序开发过程。lcap通常作为基于云的平台即服务(PaaS)解决方案提供。低代码平台通过使用可视化和流程建模等技术来降低复杂性。用户使用可视化工具来定义工作流、业务规则、用户界面等。在幕后,完整的工作流程会自动转换为代码。lcap主要由专业开发人员使用,用于自动化编码的一般方面,以重定向工作的最后一英里(75)。

下午试题

试题一

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

【说明】

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

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

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

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

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

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

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

问题1:使用说明中的词语,给出图1中的突体E1一E4的名称

问题2:使用说明中的词活,给出图2中数据存储D1-D4的名称

问题3:根据说明和图中术语补充2中缺失的数据流及其起点和终点

问题4:根据说明.给出"农事信息请求"数据流的组成

问题一(4 分)

E1 :平台管理员

E2 :农户

E3 :租户

E4 :第三方软件

问题二(4 分)

D1 :人员表

D2 :基地及地块数据表

D3 :农事过程表

D4 :农事活动表

用 表、信息表、记录、文件 等关键字均可

问题三(4 分)

问题四(3 分)

答案1 :农事信息请求 = 账号 + 密码 + 查询条件

答案2:农事信息请求 = 账号 + 密码 + 0{ 查询条件 }*

答案3:农事信息请求:账号、密码、查询条件

试题二

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

【说明】

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

[概念结构设计]

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

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

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

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

[逻辑结构设计]

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

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

零件(编码各称,价格)

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

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

问题1(5分):根据描进补充图1的实体联系图(不增加新的实体)

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

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

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

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

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

试题三

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

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

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

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

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

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

问题1(8分):根据说明中的描述,给发图2中的C1-C8所对应向类名

问题2(4分):根据说明中的描述,给出图2的类C1一C4的关键属性

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

问题一(8 分)

C1 : Resoure

C2 : ConferencePaper

C3 : JounalArticle

C4 : Thesis

C5 : User

C6 : Student

C7 : Teacher

C8 : Staff

问题二(4 分)

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

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

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

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

问题三(3 分)

观察者模式,该模式适合当一个对象的状态发生改变时,所有依赖于它的对象都得到通

知并被自动更新,符合问题描述中的当资源他引次数发生变化,便通知所有关注该资源的用户。

试题四

在一个森林中找出所有的连通分量。

问题一(10 分)

( 1) p -> adjvex

(2) p = p -> nextarc

(3) DFS(G, 0) ? count = 0 ?

(4) count++ (或等价形式)

(5) return count

问题二(5 分)

试题五

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

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));
}

试题六

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

#include

using namespace std

class Print strategy{

Public:

(1);

}

class Interval{

Private:

double lower Bound;

double upper Bound;

Public:

Interval(double P lower,double P_upper){

lower Bound=P lower;

upper Bound=P_upper;

}

void Print Interval(Print strategy"prt){

(2);

}

double get lower (){

return lower Bound}

double get upper{

return upper Bound}

}

class Print Intervals Comma:Public Prints Strategy{

public:

void do Print(Interval *val){

cout《"["《val→get Lower()《"···"《val(→getupper()《]"《

endl;}

};

class Print Intervals Dots:Public Print Strategy{

Public:

void do Print (Interval*val){

cout《"["《val→get Lower]《"..."《val→get upper()《"]"《

endl:}

};

class Print Intervals Line:Public Print Strategy{

Public:

Void do Print (Interval*val){

cout《"["《val→get Lower()《"..."《val-get upper()《"]"《

《

endl;}

enum TYPE{ COMMA.DOTs.LINE}

Print strategy* get strategy (int type){

Print strategy*st;

switch (type){

case COMMA:

(3);

break;

case Dots:

(4);

break:

case LINE

(5);

break;

}

return st;

}

int main(){

Interval a(1.7,2.1);

a.Print Interval(get strategy(COMMA);

a.Print Interval(get strategy(DoTs);

a.Print Interval(get strategy(LINE);}

}return 0;
相关推荐
晚上一个饼17 天前
软考数据结构 -- (时间复杂度,线性结构,线性表,栈,队列,串,数组,矩阵,树,图)
数据结构·软件设计师
X_StarX19 天前
数据可视化-使用python制作词云图(附代码)
python·信息可视化·数据可视化·大学生·软件设计师
晚上一个饼1 个月前
软考数据库部分 ---- (概念数据库模型,三级模式,两级映像,事物管理)
数据库·软件设计师
尸僵打怪兽2 个月前
软考(中级-软件设计师)(0919)
java·c语言·数据库·计算机网络·软考·多媒体·软件设计师
X_StarX2 个月前
软考中级攻略站】-软件设计师(11)- 法律法规与标准化知识
笔记·软考·科普·大学生·软件设计师
X_StarX2 个月前
【软考中级攻略站】-软件设计师(5)- 软件工程
开发语言·笔记·学习·软件工程·软考·大学生·软件设计师
失舵之舟-5 个月前
2024上半年软考 考试心得
学习方法·软考·软件设计师
SUGERBOOM6 个月前
设计模式—23种设计模式重点 表格梳理
java·开发语言·设计模式·软件工程·软考·软件设计师
码思途远6 个月前
软件设计师笔记(三)-设计模式和算法设计
软考·软件设计师·zst
失舵之舟-6 个月前
【中级软件设计师】上午题15-计算机网络
网络·计算机网络·udp·tcp·软件设计师