您的当前位置:首页正文

2014年5月软件设计师上午+下午真题+答案

2023-03-18 来源:榕意旅游网
软件设计师 2014年上半年 上午试卷-基础知识

第1题 在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是()。 A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器 参考答案:D

第2题 某机器字长为n,最高位是符号位,其定点整数的最大值为() A.2n-1 B.2n-1-1 C.2n D.2n-1 参考答案:B

第3题 海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个校验位,扩大数据编码的码距。若n=48,则k应为(3) A.4 B.5 C.6 D.7

参考答案:C

第4题 通常可将计算机系统中执行一条指令的过程分为取指泛。分析和执行指令3步。若取指令时间为4△t,分析时间为2△t。执行时间为3△t。按顺序方式月头到尾执行完600条指令所需时间为(4)△t;若按照执行第一条,分析第i+1条,读取第i+2条重叠的流水线方式执行指令,则从头到尾执行完600条指令所需的时间为(5)△t。 【软考在线rkpass.cn,免费在线真题,定制学习计划】

A.2400 B.3000 C.3600 D.54D0 参考答案:D

第5题 A.2400 B.2405 C.3000 D.3009 参考答案:B

第6题 若用256K×8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需()片芯片。 A.4 B.8 C.16 D.32 参考答案:A

第7题 以下关于木马程序的叙述中正确的是() A.木马程序主要通过移动磁盘传播 B.木马程序的客户端运行在攻击者的机器上

C.木马程序的目的是使计算机或网络无法提供正常的服务 D.Sniffer是典型的木马程序 参考答案:B

第8题 防火墙的工作层次是决定防火墙效率及安全的主要因素,以下叙述中,正确的是()

A.防火墙工作层次越低,工作效率越高,安全性越高 B.防火墙工作层次越低,工作效率越低,安全性越低 C.防火墙工作层次越高,工作效率越高,安全性越低 D.防火墙工作层次越高,工作效率越低,安全性越高 参考答案:D

第9题 以下关于包过滤防火墙和代理服务防火墙的叙述中,正确的是()。 A.包过滤成本技术实现成本较高,所以安全性能高 B.包过滤技术对应用和用户是透明的

C.代理服务技术安全性较高,可以提高网络整体性能 D.道理服务技术只能配置成用户认证后才建立连接 参考答案:B

第10题 王某买了一幅美术作品原件,则他享有该美术作品的 (10) 。 A.著作权 B.所有权 C.展览权

D.所有权与其展览权 参考答案:D

第11题 甲、乙两软件公司于2012年7月12日就其财务软件产品分别申请“用友”和“用有”商标注册。两财务软件相似,甲第一次使用时间为2009年7月,乙第一次使用时间为2009年5月。此情形下, (11) 能获准注册。 【软考在线rkpass.cn,免费在线真题,定制学习计划】 A.“用友”

B.“用友”与“用有”都 C.“用有”

D.由甲、乙抽签结果确定谁 参考答案:C

第12题 以下媒体中, (12) 是表示媒体, (13) 是表现媒体。 A.图像 B.图像编码 C.电磁波 D.鼠标 参考答案:B 第13题 A.图像 B.图像编码 C.电磁波 D.鼠标 参考答案:D

第14题 (14)表示显示器在横向(行)上具有的像素点数目。 A.显示分辨率 B.水平分辨率 C. 垂直分辨率 D.显示深度 参考答案:B

第15题 以下关于结构化开发方法的叙述中,不正确的是 (15) 。 A.将数据流映射为软件系统的模块结构

B.一般情况下,数据流类型包括变换流型和事务流型 C. 不同类型的数据流有不同的映射方法 D.一个软件系统只有一种数据流类型 参考答案:D

第16题 模块A提供某个班级某门课程的成绩给模块B,模块B计算平均成绩、最高分和最低分,将计算结构返回给模块A,则模块B在软件结构图中属于()模块。 A.传入 B.传出 C.变换 D.协调 参考答案:C

第17题 (17) 软件成本估算模型是一种静态单变量模型,用于对整个软件系统进行估算。 A.Putnam B.基本COCOMO C.中级COCOMO D.详细COCOMO 参考答案:B

第18题 以下关于进度管理工具Gantt图的叙述中,不正确的是 (18) 。 A.能清晰地表达每个任务的开始时间、结束时间和持续时间 B.能清晰地表达任务之间的并行关系 C.不能清晰地确定任务之间的依赖关系 D.能清晰地确定影响进度的关键任务

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第19题 项目复杂性、规模和结构的不确定性属于 (19) 风险。 A.项目 B.技术 C.经济 D.商业 参考答案:A

第20题

以下程序设计语言中, (20) 更适合用来进行动态网页处理。 A.HTML B.LISP C.PHP D.JAVA/C++ 参考答案:C

第21题

在引用调用方式下进行函数调用是将 (21) 。 A.实参的值传递给形参 B.实参的地址传递给形参 C.形参的值传递给实参 D.形参的地址传递给实参 参考答案:B

第22题 编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入 (22) 中。 A.符号表 B.哈希表 C.动态查找表 D.栈和队列 参考答案:A

第23题 设计操作系统时不需要考虑的问题是 (23) 。 A.计算机系统中硬件资源的管理 B.计算机系统中软件资源的管理 C.用户与计算机之间的接口

D.语言编译器的设计实现 参考答案:D

第24题 假设某计算机系统中资源R的可用数为6,系统中有3个进程竞争R,且每个进程都需要i个R,该系统可能会发生死锁的最小i值是 (24) 。若信号量S的当前值为-2,则R的可用数和等待R的进程数分别为 (25) 。 A.1 B.2 C.3 D.4

参考答案:C 第25题 A.0、0 B.0.1 C.1、0 D.0、2

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第26题 某计算机系统页面大小为4K,若进程的页面变换表如下所示,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制 (26) 。

A.1024H B.3D16H C.4Dl6H D.6D16H 参考答案:B

第27题 若某文件系统的目录结构如下图所示,假设用户要访问文件fault.swf,且当前工作目录为swshare,则该文件的全文件名为(27) ,相对路径和绝对路径分别为 (28) 。

A.fault.swf B.flash\\fault.swf

C.swshare\\flash\\fault.swf D.\\swshare\\flash\\fault.swf 参考答案:D

第28题

A.swshare\\flash\\和\\flash\\ B.flash和\\swshareYflash\\ C.flash和\\swshareYflash\\ D.\\flash\\和\\swshare\\flash\\ 参考答案:B

第29题 以下关于统一过程UP的叙述中,不正确的是 (29) 。 A.UP是以用例和风险为驱动,以架构为中心,迭代并且增量的开发过程 B.UP定义了四个阶段,即起始、精化、构建和确认阶段

C.每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布 D.每个迭代有五个核心工作流 参考答案:B

第30题 某公司要开发一个软件产品,产品的某些需求是明确的,而某些需求则需要进一步细化。由于市场竞争的压力,产品需要尽快上市,则开发该软件产品最不适合采用 (30) 模型。 A.瀑布 B.原型 C.增量 D.螺旋 参考答案:A

第31题 在屏蔽软件错误的容错系统中,冗余附加技术的构成不包括 (31) 。 A.关键程序和数据的冗余存储及调用 B.冗余备份程序的存储及调用 C.实现错误检测和错误恢复的程序 D.实现容错软件所需的固化程序

参考答案:A 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第32题 采用McCabe度量法计算下列程序图的环路复杂性为 (32) 。

A.2 B.3 C.4 D.5

参考答案:C

第33题 以下关于文档的叙述中,不正确的是 (33) 。 A.文档仅仅描述和规定了软件的使用范围及相关的操作命令 B.文档也是软件产品的一部分,没有文档的软件就不能称之为软件 C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量 D.高质量文档对于发挥软件产品的效益有着重要的意义 参考答案:A

第34题 某搜索引擎在使用过程中,若要增加接受语音输入的功能,使得用户可以通过语音输入来进行搜索,此时应对系统进行 (34) 维护。 A.正确性 B.适应性 C.完善性 D.预防性 参考答案:C

第35题 采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3),②( x=l, y=2),③(x=-1,y=2),④(x=3, y=l)。至少需要测试用例①②才能完成 (35) 覆盖,至少需要测试用例①②③或①②④才能完成 (36) 覆盖。

A.语句 B.条件 C.判定/条件 D.路径 参考答案:A

第36题 A.语句 B.条件 C.判定/条件 D.路径

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第37题 (37) 是一个类与它的一个或多个细化类之间的关系,即一般与特殊的关系。 A.泛化 B.关联 C.聚集 D.组合 参考答案:A

第38题 某些程序设计语言中,在运行过程中当一个对象发送消息请求服务时,根据

接收对象的具体情况将请求的操作与实现的方法进行连接,称为 (38) 。 A.静态绑定 B.通用绑定 C.动态绑定 D.过载绑定 参考答案:C

第39题 在面向对象技术中,不同的对象在收到同一消息时可以产生完全不同的结果,这一现象称为(39),它由(40)机制来支持。利用类的层次关系,把具有通用功能的消息存放在高层次,而不同的实现这一功能的行为放在较低层次,在这些低层次上生成的对象能够给通用消息以不同的响应。 A.绑定 B.继承 C.消息 D.多态 参考答案:D

第40题 A.绑定 B.继承 C.消息 D.多态 参考答案:B

第41题 对一个复杂用例中的业务处理流程进行进一步建模的最佳工具是UML (41) 。 A.状态图 B.顺序图 C.类图 D.活动图 参考答案:D

第42题 如下所示的UML序列图中,(42)表示返回消息,Account类必须实现的方法有 (43) 。

A.tansID B.balance C.withdraw D.deposit

参考答案:B 【软考在线rkpass.cn,免费在线真题,定制学习计划】 第43题 A.start0

B.checkBalance()和 withdraw() C.deposit0

D.checkBalance()、 withdraw()和 deposit() 参考答案:D

第44题 下图所示为(44) 设计模式,适用于 (45) 。

A.适配器(Adapter)

B.责任链(Chain of Responsibility) C.外观( Facade) D.桥接(Bridge) 参考答案:

第45题

A.有多个对象可以处理一个请求,在运行时刻自动确定由哪个对象处理 B.想使用一个已经存在的类,而其接口不符合要求 C.类的抽象和其实现之间不希望有一个固定的绑定关系 D.需要为一个复杂子系统提供一个简单接口 参考答案:

第46题 下列设计模式中,(46)模式既是类结构型模式,又是对象结构型模式。此模式与(47)模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。 A.桥接(Bridge) B.适配器( Adapter)

C.组成( Composite) D.装饰器(Decorator) 参考答案:

第47题 A.桥接(Bridge) B.适配器( Adapter) C.组成( Composite) D.装饰器( Decorator) 参考答案:

第48题 以下关于实现高级程序设计语言的编译和解释方式的叙述中,正确的是 (48) 。

A.在编译方式下产生源程序的目标程序,在解释方式下不产生 B.在解释方式下产生源程序的目标程序,在编译方式下不产生 C.编译和解释方式都产生源程序的目标程序,差别是优化效率不同 D.编译和解释方式都不产生源程序的目标程序,差别在是否优化 参考答案:A 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第49题 大多数程序设计语言的语法规则用 (49) 描述即可。 A.正规文法 B.上下文无关文法 C.上下文有关文法 D.短语结构文法 参考答案:B

第50题 在某C/C++程序中,整型变量a的值为0且应用在表达式“c=b/a”中,则最可能发生的情形是(50)。 A.编译时报告有语法错误 B.编译时报告有逻辑错误

C.运行时报告有语法错误 D.运行时产生异常 参考答案:D

第51题 为了保证数据库中数据的安全可靠和正确有效,系统在进行事务处理时,对数据的插入、删除或修改的全部有关内容先写入(51);当系统正常运行时,按一定的时间间隔,把数据库缓冲区内容写入(52);当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。 A.索引文件 B.数据文件 C.日志文件 D.数据字典 参考答案:C

第52题 A.索引文件 B.数据文件 C.日志文件 D.数据字典 参考答案:B

第53题 “当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程对其他事务都是不可见的”,这一性质通常被称为事务的 (53) 。 A.原子性 B.一致性 C.隔离性 D.持久性 参考答案:C

第54题 假定某企业2014年5月的员工工资如下表所示:

A.部门,AVG(应发工资)AS平均工资 B.姓名,AVG(应发工资)AS平均工资 C.部门,平均工资AS AVG(应发工资) D. 姓名,平均工资AS AVG(应发工资) 参考答案:A

第55题 A.ORDER BY姓名 B.ORDER BY部门 C.GROUP BY姓名 D.GROUP BY部门

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】 第56题

A.WHERE COUNT(姓名)>2

B.WHERE COUNT(DISTINCT(部门))>2 C.HAVING COUNT(姓名)>2

D.HAVING COUNT(DISTINCT(部门))>2 参考答案:C

第57题 若对线性表的最常用操作是访问任意指定序号的元素,并在表尾加入和删除元素,则适宜采用 (57) 存储。 A.顺序表 B.单链表 C.双向链表 D.哈希表 参考答案:A

第58题 某二叉树如图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的结点且通过下标反映结点间的关系,例如,对于下标为i的结点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为(58);若采用三叉链表存储该二叉树(各个结点包括结点的数据、父结点指针、左孩子指针、右孩子指针),则该链表的所有结点中空指针的数目为(59)。

A.6 B.10 C.12 D.15 参考答案:D 第59题 A.6 B.8 C.12 D.14 参考答案:B

第60题 某双端队列如下图所示,要求元素进出队列必须在同一端口,即从A端进入的元素必须从A端出、从B端进入的元素必须从B端出,则对于4个元素的序列el、 e2、e3、 e4,若要求前2个元素(el、 e2)从A端口按次序全部进入队列,后两个元素(e3、e4)从B端口按次序全部进入队列,则可能得到的出队序列是(60)。

A.el、 e2、 e3、 e4 B.e2、 e3、 e4、 el C.e3、 e4、el、 e2 D.e4、 e3、 e2、 el 参考答案:D

第61题 实现二分查找(折半查找)时,要求查找表 (61) 。 A.顺序存储,关键码无序排列 B.顺序存储,关键码有序排列 C.双向链表存储,关键码无序排列 D.双向链表存储,关键码有序排列 参考答案:B

第62题 某个算法的时间复杂度递归式T(n)=T(n-l)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(62),若问题的规模增加了16倍,则运行时间增加(63)倍。【软考在线rkpass.cn,免费在线真题,定制学习计划】 A.O(n) B.O(nlgn) C.O(n2) D.O(n2 lgn) 参考答案:C

第63题

A.16 B.64 C.256 D.1024 参考答案:C

第64题 Prim算法和Kruscal算法都是无向连通网的最小生成树的算法,Prim算法从一个顶点开始,每次从剩余的顶点中加入一个顶点,该顶点与当前的生成树中的顶点的连边权重最小,直到得到一颗最小生成树;Kruscal算法从权重最小的边开始,每次从不在当前的生成树顶点中选择权重最小的边加入,直到得到一颗最小生成树,这两个算法都采用了 (64) 设计策略,且 (65) 。 A.分治 B.贪心 C.动态规划 D.回溯 参考答案:B

第65题

A.若网较稠密,则Prim算法更好 B.两个算法得到的最小生成树是一样的 C.Prim算法比Kruscal算法效率更高 D.Kruscal算法比Prim算法效率更高 参考答案:A

第66题 IP地址块155.32.80.192/26包含了 (66) 个主机地址,以下IP地址中,不属于这个网络的地址是(67)。 A.15 B.32 C.62 D.64 参考答案:C

第67题 A.155.32.80.202 B.155.32.80.195 C.155.32.80.253 D.155.32.80.191

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】

第68题 校园网连接运营商的IP地址为202.117.113.3/30,本地网关的地址为

192.168.1.254/24,如果本地计算机采用动态地址分配,在下图中应该如何配置?(68)。

A.选取“自动获得IP地址”

B.配置本地计算机IP地址为192.168.1.× C.配置本地计算机IP地址为202.115.113.× D.在网络169.254.×.×中选取一个不冲突的IP地址 参考答案:A

第69题 某用户在使用校园网中的一台计算机访问某网站时,发现使用域名不能访问

该网站,但是使用该网站的IP地址可以访问该网站,造成该故障产生的原因有很多,其中不包括 (69) 。

A.该计算机设置的本地DNS服务器工作不正常 B.该计算机的DNS服务器设置错误 C.该计算机与DNS服务器不在同一子网 D.本地DNS服务器网络连接中断 参考答案:C

第70题 中国自主研发的3G通信标准是 (70) 。 A.CDMA2000 B.TD-SCDMA C.WCDMA D.WiMAX 参考答案:B

第71题 Cloud computing is a phrase used to describe a variety of computing concepts that involve a large number of computers (71) through a real-time commutinication network such as the Internet. In science, cloud

computing is a (72) for distributed computing over a network, and means the (73) to run a program or application on many connected computers at the same time. The architecture of a cloud is developed at three layers: infrastructure, platform, and application.The infrastucture layer is built with virtualized

compute,storage,and network resources. The platform layer is for general-purpose and repeated usage of the collection of software resources. The application layer is formed with a collection of all needed software modules for SaaS applications. The infrastucture layer serves as the (74) for building the platform layer of the cloud. In turn,the platform layer is foundation for implementing the (75) layer for SaaS application. A.connected B.implemented C.optimized D.virtualized 参考答案:A

第72题 A.replacement B.switch C.substitute D.synonym 参考答案:D 第73题 A.ability B.approach C.function D.method 参考答案:A 第74题 A.network B.foundation C.software D.hardware

参考答案:D 【软考在线rkpass.cn,免费在线真题,定制学习计划】 第75题 A.resource B.service C.application D.software 参考答案:C

软件设计师 2014年上半年 下午试卷-案例分析

第1题 某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。该系统的主要功能如下:

1)记录巴士ID和维修问题。巴士到车库进行维修,系统将巴士基本信息和ID记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。

2)确定所需部件。根据维修订单确定维修所需部件,并在部件清单中进行标记。

3)完成维修。机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。巴士司机可查看已维修机械问题。

4)记录维修工时。将机械师提供的维修工时记录在人事档案中;将维修总结发送给主管进行绩效考核。

5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。 现采用结构化方法对巴士维修系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

问题1.1 使用说明中的词语,给出图l-1中的实体El~E5的名称。 答案: E1:巴士司机 E2:机械师 E3:会计 E4:主管

E5: 库存管理系数 【软考在线rkpass.cn,免费在线真题,定制学习计划】

问题1.2 使用说明中的词语,给出图1-2中的数据存储Dl~D4的名称。 答案:

D1: 巴士列表文件 D2: 维修记录文件 D3:部件清单 D4:人事档案

问题1.3 说明图1-2中所存在的问题。

答案:

缺失以下数据流:

1)名称:待维修机械问题;起点:D2;终点:3完成维修。 2)名称:实际所用部件;起点:D3;终点:5计算总成本。

问题1.4 根据说明和图中术语,采用补充数据流的方式,改正图1-2中的问题。要求给出所补充数据流的名称、起点和终点。

答案:

缺失以下数据流:

1)名称:待维修机械问题;起点:D2;终点:3完成维修。 2)名称:实际所用部件;起点:D3;终点:5计算总成本。

第2题 某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。

【需求分析】 (1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等。员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门经理和客服等。客户信息主要包括:客户ID、姓名、身份证号、电话、住址、账户余额。家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属厂商。家电厂商信息包括:厂商ID、厂商名称、电话、法人代表信息、厂址。 (2)电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电。每个家电厂商只能由一名部门经理负责。 (3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 客户(客户ID、姓名、身份证号、电话、住址、账户余额) 员工(工号、姓名、性别、岗位、身份证号、电话、住址) 家电(家电条码、家电名称、价格、出厂日期、 (1) )

家电厂商(厂商ID、厂商名称、电话、法人代表信息、厂址、 (2) ) 购买(订购单号、 (3) 、金额)

【软考在线rkpass.cn,免费在线真题,定制学习计划】

问题2.1 补充图2-1中的联系和联系的类型。 答案:

问题2.2 根据图2-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(3)补充完整。用下划线指出“家电”、“家电厂商”和“购买”关系模式的主键。 答案: 1)厂商ID

2)工号

3)家电条码,客户ID,工号 家电关系的主键:家电条码 家电厂商关系的主键:厂商ID 购买关系的主键:订购单号

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

第3题 某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作。功能需求均使用用例进行描述,其中用例“借书(Check Out Books)”的详细描述如下。

参与者:读者(Patron)。 典型事件流:

1.输入读者ID;

2.确认该读者能够借阅图书,并记录读者ID; 3.输入所要借阅的图书ID;

4.根据图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录; 5.通知读者图书归还时间。 重复步骤3-5,直到读者结束借阅图书。

备选事件流: 2a.若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)

①告知读者不能借阅,并说明拒绝借阅的原因; ②本用例结束。

4a.读者要借阅的书无法外借 ①告知读者本书无法借阅;

②回到步骤3。 ‘

说明:图书的归还时间与读者的身份有关。如果读者是教师,图书可以借阅一年;如果是学生,则只能借阅3个月。读者ID中包含读者身份信息。 现采用面向对象方法开发该系统,得到如图3-1所示的系统类模型(部分);以及如图3-2所示的系统操作“checkOut(bookID)(借书)”的通信图(或协作图)。 【软考在线rkpass.cn,免费在线真题,定制学习计划】

问题3.1 根据说明中的描述,以及图3-1和图3-2,给出图3-1中C1~C4处所对应的类名(类名使用图3-1和图3-2中给出的英文词汇)。

答案: C1:Patron C2:Book C3:Catalog

C4:Check out Session controller

问题3.2 根据说明中的描述,以及图3-1和图3-2,给出图3-2中M1~M4处所对应的方法名(方法名使用图3-1和图3-2中给出的英文词汇)。 答案:

M1():getforcheck(bookID) M2():isFaculty() M3():circulates() M4():recordBookLoan

问题3.3 用例“借书”的备选事件流4a中,根据借书制度来判定读者能否借阅图书。若图书馆的借书制度会不断地扩充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度。为满足这一要求,在原有类设计的基础上,可以采用何种设计模式?简要说明原因。

答案:

应采用策略模式,策略模式的优势在于,可以灵活的添加对同一问题的不同处理方案,这与题目要求非常吻合。

第4题 采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排好序的子数组得到排序结果。 下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下: arr:待排序数组

p,q,r:一个子数组的位置为从p到q,另一个子数组的位置为从q+l到r begin,end:待排序数组的起止位置

left,right:临时存放待合并的两个子数组 n1,n2:两个子数组的长度 i,j,k:循环变量 mid:临时变量

问题4.1 根据以上说明和C代码,填充C代码中的空(1)~(4)。 答案: 1)k≤r

2)arr[k]=right[j] 3) begin4)mergeSort(arr,mid+1,end)

问题4.2 根据题干说明和以上c代码,算法采用了 (5) 算法设计策略。 分析时间复杂度时,列出其递归式为 (6) ,解得渐进时间复杂度为 (7) (用O符号表示)。空间复杂度为

(8)(用O符号表示)。 答案: 5) 分治

6) T(n)=2T(N/2)+O(n) 7) O(nlogn) 8) O(n)

问题4.3 两个长度分别为nl和n2的已排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为 (9) 。

答案: n1+n2

第5题 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新。 现在采用观察者(Observer)模式来开发该系统。观察者模式的类图如图5-1所示。

问题5.1 阅读说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 答案: 1)Subject

2)(*it)->update(remperature,humidity,cleanness) 3) notifyObservesers

4) mesasurementsChanged() 5) Obserber()

6)this->envData->regisiterObserbe(this)

因篇幅问题不能全部显示,请点此查看更多更全内容