经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 职业生涯 » 查看文章
2019 上半年软件设计师真题及参考答案
来源:w3xue  时间:2019/6/1 23:11:15  对本文有异议

2019上半年的软考刚刚结束没多久,应广大网友要求,w3xue将整理出的真题和参考答案公布如下,供大家参考和估分。

快速定位:下午试题


2019 上半年软件设计师上午真题及答案

1.计算机执行指令的过程中,需要由(A)产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。

A.CPU 的控制器

B.CPU 的运算器

C.DMA 控制器

D.Cache 控制器


2. DMA 控制方式是在(C)之间直接建立数据通路进行数据的交换处理。

A.CPU 与主存

B.CPU 与外设

C.主存与外设

D.外设与外设

 

3. CPU   访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为(C)

A.数据局部性

B.指令局部性

C.空间局部性

D.时间局部性


4.某系统由 3 个部件构成,每个部件的千小时可靠度都为 R,该系统的千小时可靠度为(1-1-R)2)R,则该系统的构成方式是(C)

A.3 个部件串联

B.3 个部件并联

C.前两个部件并联后与第三个部件串联

D.第一个部件与后两个部件并联构成的子系统串联


5.在(D)校验方法中,采用模 2 运算来构造校验位。

A.水平奇偶

B.垂直奇偶

C.海明码

D.循环冗余


6.以下关于 RISC (精简指令系统计算机)技术的叙述中,错误的是(B)

A.指令长度固定、指令种类尽量少

B.指令功能强大、寻址方式复杂多样

C.增加寄存器数目以减少访存次数

D.用硬布线电路实现指令解码,快速完成指令译码


7.(B)防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。

A.包过滤

B.应用级网关

C.数据库

D.WEB

 

8.下述协议中与安全电子邮箱服务无关的是(C)

A.SSL

B.HTTPS 

C.MIME 

D.PGP

 

9-10.用户 A 和 B 要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和 B 通信时可使用(A)来对用户的身份进行认证;使用(D)确保消息不可否认。

A.数字证书

B.消息加密

C.用户私钥

D.数字签名

A.数字证书

B.消息加密

C.用户私钥

D.数字签名

 

11.震网(Stuxnet)病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的(D)

A.引导区病毒

B.宏病毒

C.木马病毒

D.蠕虫病毒

 

12.刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项 发明。以下关于该发明的权利归属的叙述中,正确的是(B)

A.无论刘某与单位有无特别约定,该项成果都属于单位

B.原则上应归单位所有,但若单位与刘某对成果的归属有特别约定时遵从约定

C.取决于该发明是否是单位分派给刘某的

D.无论刘某与单位有无特别约定,该项成果都属于刘某


13-14.甲公司购买了一工具软件,并使用该工具软件开发了新的名为“恒友”的软件。 甲公司在销售新软件的同时,向客户提供工具软件的复制品,则该行为(A)。甲公司未对“恒友” 软件注册商标就开始推向市场,并获得用户的好评。三个月后,乙公司也推 出名为“恒友” 的类似软件,并对之进行了商标注册,则其行为(A)

A.侵犯了著作权

B.不构成侵权行为

C.侵犯了专利权

D.属于不正当竞争

A.侵犯了著作权

B.不构成侵权行为

C.侵犯了商标权

D. 属于不正当竞争


15.数据流图建模应遵循(B)的原则。

A.自顶向下、从具体到抽象

B.自顶向下、从抽象到具体

C.自底向上、从具体到抽象

D.自底向上、从抽象到具体

 

16.结构化设计方法中使用结构图来描述构成软件系统的模块以及这些模块之间的调用关系。结构图的基本成分不包括(C)

A.模块

B.调用

C.数据

D.控制


17.10 个成员组成的开发小组,若任意两人之间都有沟通路径,则一共有(D)条沟通路径。

A.100

B.90

C.50

D.45

  

18.某项目的活动持续时间及其依赖关系如下表所示,则完成该项目的最少时间为 (D)天。

1.png

A.43

B.45

C.50

D.55

 

19.以下不属于软件项目风险的是(A)

A.团队成员可以进行良好沟通

B.团队成员离职

C.团队成员缺乏某方面培训

D.招不到符合项目技术要求的团队成员

 

20.通用的高级程序设计语言一般都会提供描述数据、运算、控制和数据传输的语言成分,其中,控制包括顺序、(A)和循环结构。

A.选择

B.递归

C.递推

D.函数

 

21.以编译方式翻译 C/C++杆源程序的过程中,(C)阶段的主要任务是对各条语句 的结构进行合法性分析。

A.词法分析

B.语义分析

C.语法分析

D.目标代码生成

 

22.在对高级语言源程序进行编译或解释处理的过程中,需要不断收集、记录和使用 源程序中一些相关符号的类型和特征等信息,并将其存入(B)中。

A.哈希表

B.符号表

C.堆栈

D.队列


23-24.在单处理机系统中,采用先来先服务调度算法。系统中有 4 个进程 Pl、P2、P3、 P4 (假设进程按此顺序到达),其中 P1为运行状态,P2 为就绪状态,P3 和 P4 为等待状态,且 P3 等待打印机,P4 等待扫描仪。若 P1 ( A),则 Pl、P2、P3 和 P4 的状态应分别 为(C)

A.时间片到

B.释放了扫描仪

C.释放了打印机

D.已完成

A.等待、就绪、等待和等待

B.运行、就绪、运行和等待

C.就绪、运行、等待和等待

D.就绪、就绪、等待和运行

 

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

A.1200

B.2400

C.4096

D.9600

 

26.若某文件系统的目录结构如下图所示,假设用户要访问文件 book2.doc,且当前工作目录为 MyDrivers,则该文件的绝对路径和相对路径分别为(C)

3.png

A.MyDrivers\user2\和\user2\

B.\MyDrivers\user2\和\user2\

C.\MyDrivers\user2 和 user2\

D.MyDrivers\user2\和 user2\

 

27.PV 操作是操作系统提供的具有特定功能的原语。利用 PV 操作可以(B)

A.保证系统不发生死锁

B.实现资源的互斥使用

C.提高资源利用率

D.推迟进程使用共享资源的时间

 

28.从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上, 能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的(A)

A.可定制性

B.实时性

C.可靠性

D.易移植性


29.以下关于系统原型的叙述中,不正确的是(C)

A.可以帮助导出系统需求并验证需求的有效性

B.可以用来探索特殊的软件解决方案

C.可以用来指导代码优化

D.可以用来支持用户界面设计


30.以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(C)

A.只处理当前的需求,使设计保持简单

B.编写完程序之后编写测试代码

C.可以按日甚至按小时为客户提供可运行的版本

D.系统最终用户代表应该全程配合 XP 团队


31.在 ISO/IEC9126 软件质量模型中,软件质景特性(A)包含质量子特性安全性。

A.功能性

B.可靠性

C.效率

D.可维护性


32.已知模块 A 给模块 B 传递数据结构 X,则这两个模块的耦合类型为(D)

A.数据耦合

B.公共耦合

C.外部耦合

D.标记耦合


33.Theo Mandel 在其关于界面设计所提出的三条“黄金准则”中,不包括(B)

A.用户操纵控制

B.界面美观整洁

C.减轻用户的记忆负担

D.保持界面一致


34.以下关于测试的叙述中,正确的是(D)

A.实际上,可以采用穷举测试来发现软件中的所有错误

B.错误很多的程序段在修改后错误一般会非常少

C.测试可以用来证明软件没有错误

D.白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误

 

35.招聘系统要求求职的人年龄在 20 岁到 60 岁之间(含),学历为本科、硕士或者博士,专业为计算机科学与技术、通信工程或者电子工程。其中(C)不是好的测试用例。

A.(20,本科,电子工程) 

B.(18,本科,通信工程) 

C.(18,大专,电子工程)

D.(25,硕士,生物学)

 

36.系统交付用户使用了一段时间后发现,系统的某个功能响应非常慢。修改了某模块的一个   算法使其运行速度得到了提升,则该行为属于(C)维护。

A.改正性

B.适应性

C.改善性

D.预防性


37. 一个类中可以拥有多个名称相同而参数表(参数类型或参数个数或参数类型顺序) 不同的方法,称为(C)

A.方法标记

B.方法调用

C.方法重载

D.方法覆盖


38.采用面向对象方法进行软件开发时,将汽车作为一个系统。以下(D)之间不属于组成(Composition)关系。

A.汽车和座位

B.汽车和车窗

C.汽车和发动机

D.汽车和音乐系统

 

39.进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的原因,这属于(A)设计原则。

A.单一责任

B.开放-封闭

C.接口分离

D.里氏替换


40.聚合对象是指一个对象(C)

A.只有静态方法

B.只有基本类型的属性

C.包含其它对象

D.只包含基本类型的属性和实例方法


41.在 UML 图中,(D)图用于展示所交付系统中软件和硬件之间的物理关系。

A.类

B.组件

C.通信

D.部署


42-43.下图所示 UML 图为(C),用于展示系统中(B)

2.png

A.用例图

B.活动图

C.序列图

D.交互图

A.—个用例和一个对象的行为

B.一个用例和多个对象的行为

C.多个用例和一个对象的行为

D.多个用例和多个对象的行为

 

44-46.以下设计模式中,(A)模式使多个对象都有机会处理请求,将这些对象连成 一条链, 并沿着这条链传递该请求,直到有一个对象处理为止,从而避免请求的发送者和接收者之间的耦合关系;(D)模式提供一种方法顺序访问一个聚合对象中的各个元素, 且不需要暴露该对象的内部表示。这两种模式均为(C)

A.责任链(Chain of Responsibility)

B.解释器(Interpreter)

C.命令(Command)

D.迭代器(Iterator)

A.责任链(Chain of Responsibility)

B.解释器(Interpreter)

C.命令(Command)

D.迭代器(Iterator)

A.创建型对象模式

B.结构型对象模式

C.行为型对象模式

D.行为型类模式


47.观察者(Observer)模式适用于(D)

A.访问一个聚合对象的内容而无须暴露它的内部表示*

B.减少多个对象或类之间的通信复杂性

C.将对象的状态恢复到先前的状态

D.一对多对象依赖关系,当一个对象修改后,依赖它的对象都自动得到通知

 

48.在以阶段划分的编译器中,(A)阶段的主要作用是分析构成程序的字符及由字符按照构  造规则构成的符号是否符合程序语言的规定。

A.词法分析

B.语法分析

C.语义分析

D.代码生成


49.下图所示为一个不确定有限自动机(NFA)的状态转换图,与该 NFA 等价的 DFA 是(C)

4.png

 

50.函数 f、g 的定义如下,执行表达式“y = f(2)”的运算时,函数调用 g(la)分别采用引用调用(call by reference)方式和值调用(call by value)方式,则该表达式求值结束后 y 的值分别为(B)

5.png

A. 9 、 6

B. 20、6

C. 20、9

D. 30、9


51.给定关系 R(A,B,C,D,E)和关系 S(A,C,E,F,G),对其进行自然连接运算 Rlianjie.pngS 后其结果集的属性列为(B)

A.R.A,R.C,R.E,S.A,S.C,S.E

B.R.A,R.B,R.C,R.D,R.E,S.F,S.G

C.R.A,R.B,R. C,R.D,R.E,S.A,S.C,S.E

D.R.A,R.B,R. C,R.D,R.E,S.A,S.C,S.E,S.F,S.G


52-53.假设关系 R<U,U={A1,A2,A3,A4},F={A1A3→A2,A1A2→A3,A2→A4}那么在关系 R 中(C)和候选关键字中必定含有属性(A)

A.有 1 个候选关键字 A2A3

B.有 1 个候选关键字 A2A4

C.有 2 个候选关键字 A1A2 和 A1A3

D.有 2 个候选关键字 A1A2 和 A2A3

A.A1,其中 A1A2A3 主属性,A4 为非主属性

B.A2,其中 A2A3A4 主属性,A1 为非主属性

C.A2A3,其中 A2A3 为主属性,A1A4 為为非主属性

D.A2A4,其中 A2A4 为主属性,A1A3 为非主属性

 

54.要将部门表 Dept 中 name 列的修改权限赋予用户 Ming,并允许 Ming 将该权限授予他人。实现该要求的 SQL 语句如下:

GRANT UPDATE(name) ON TABLE Dept TO Ming (C):

A.FOR ALL

B.CASCADE

C.WITH GRANT OPTION 

D.WITH CHECK OPTION

 

55.若事务 T1 对数据 D1 加了共享锁,事务 T2T3 分别对数据 D2 和数据 D3 加了排它锁, 则事务(D)

A.T1 对数据 D2D3 加排它锁都成功,T2T3 对数据 D1 加共享锁成功

B.T1 对数据 D2D3 加排它锁都失败,T2T3 对数据 D1 加排它锁成功

C.T1 对数据 D2D3 加共享锁都成功,T2T3 对数据 D1 加共享锁成功

D.T1 对数据 D2D3 加共享锁都失败,T2T3 对数据 D1 加共享锁成功

 

56.当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪。 这称为分布式数据库的(D)

A.共享性

B.自治性

C.可用性

D.分布性


57.某 n 阶的三对角矩阵 A 如下图所示,按行将元素存储在一维数组 M 中,设 a1,1 存储在M[l],那么 ai,j (l<=i,j<=n 且 ai,j 位于三条对角线中)存储在 M(D)

6.png

A.i+2j 

B.2i+j 

C.i+2j-2 

D.2i+j-2

 

58.具有 3 个结点的二叉树有 5 种,可推测出具有 4 个结点的二叉树有(C)种。

A.10

B.11 

C.14 

D.15

 

59.双端队列是指在队列的两个端口都可以加入和删除元素,如下图所示。现在要求元素进队     列和出队列必须在同一端口,即从 A 端进队的元素必须从 A 端出、从 B 端进队 的元素必须从 B 端出,则对于 4 个元素的序列 a、b、c、d,若要求前 2 个元素(a、b)从 A 端口按次序全部进入队列,后两个元素(c、d)从 B 端口按次序全部进入队列,则不可能得到的出队序列是(A)

A.d、a、b、c 

B.d、c、b、a

C. b、a、d、c

D. b、d、c、a

 

60.设散列函数为 H(key)=key%ll,对于关键碍序列(23,40, 91, 17, 19, 10, 31, 65, 26), 用线件探查法解决冲突构造的哈希表为(B)

A.

哈希地址

0

1

2

3

4

5

6

7

8

9

10

关键码

10

23


91

26


17

40

19

31

65

B.

哈希地址

0

1

2

3

4

5

6

7

8

9

10

关键码

65

23


91

26


17

40

19

31

10

C.

哈希地址

0

1

2

3

4

5

6

7

8

9

10

关键码


23

10

91

26


17

40

19

31

65

D.

哈希地址

0

1

2

3

4

5

6

7

8

9

10

关键码


23

65

91

26


17

40

19

31

10

 

61.对于有序表(8, 15, 19, 23, 26,31,40, 65,91),用二分法进行查找时,可能的关键 字比较顺序为(C)

A.26,23, 19

B.26,8, 19 

C.26,40,65 

D.26,31,40


62-65.已知矩阵 Am*n 和 Bn*p 相乘的时间复杂度为 O(mnp)。矩阵相乘满足结合律,如三个矩阵 A、B、C 相乘的顺序可以是(A*B)*C 也可以是 A*(B*C)。不同的相乘顺序所需进行的乘法次数可能有很大的差别。因此确定 n 个矩阵相乘的最优计算顺序是一个非常重要的问题。已知确定 n 个矩阵 A,A2......An 相乘的计算顺序具有最优子结构,即 A1A2......An 的最优计算顺序包含其子问题 A1A2......Ak 和 Ak+1Ak+2……An (l<=k<n)的最优计算顺序。

可以列出其递归式为:

7.png

其中,Ai 的维度为 pi-1*pi m[i,j]表示 AiAi+1……Aj 最优计算顺序的相乘次数。

先采用自底向上的方法求 n 个矩阵相乘的最优计算顺序。则求解该问题的算法设计策略为(B)。算法的时间复杂度为(C),空间复杂度为(A)

给定一个实例,(POPi……P5)=(20,15,4,10,20,25),最优计算顺序为(D)

A.分治法

B.动态规划法

C.贪心法

D.回溯法

A.O(n2)

B. O(n2lgn)

C.O(n3)

D. O(2n) 

A.O(n2)

B.O(n2lgn) 

C.O(n3)

D.O(2n) 

A.(((A1*A2)*A3)*A4)*A5

B.A1*(A2*(A3*(A4*A5)))

C.((A1*A2)*A3)* (A4*A5)

D. (A1*A2) *( (A3*A4)*A5)


66.浏览器开启了无痕浏览模式后,(C)依然会被保存下来

A.浏览历史

B.搜索历史

C. 下载文件

D.临时文件


67.下面是 HTTP 的一次请求过程,正确的顺序是(B)

①浏览器向 DNS 服务器发出域名解析请求并获得结果

②在浏览器中输入 URL,并按下回车键

③服务器将网页数据发送给浏览器

④根据目的 IP 地址和端口号,与服务器建立 TCP 连接

⑤浏览器向服务器发送数据请求

⑥浏览器解析收到的数据并显示

⑦通信完成,断开 TCP 连接

A.②①④⑤③⑦⑥

B.②①⑤④③⑦⑥ 

C.②①④⑤③⑥⑦ 

D.②①④③⑤⑦⑥

 

68.TCP 和 UDP 协议均提供了(D)能力

A.连接管理

B.差错校验和重传

C.流量控制

D.端口寻址


69.在 Windows 命令行窗口中使用(B)命令可以查看本机 DHCP 服务是否己启用

A. ipconfig

B. ipconfig /all 

C.ipconfig /renew 

D.ipconfig /release

 

70.下列无线网络技术中,覆盖范围最小的是(A)

A.802.15.1 蓝 牙

B.802.11n 无线局域网

C.802.15.4 ZigBee

D.802.16m 无线城域网


71-75.A  project  is  a  [temporary] (C) of unique, complex, and connected activities having one goal or purpose and that must be completed by a specific time, within budget, and according to(A).

Project management is the process of scoping, planning, staffing , organizing, directing, and controlling the development of  a(n)(B) system at a minimum cost  within  a specified time frame.

For any systems development project, effective project management is necessary to ensure that the project meets the(A), is  developed  within  an acceptable  budget, and fulfills customer  expectations  and  specifications. Project  management  is  a  process  that  starts  at  the beginning  of  a project, extends  through  a  project, and  doesn’t  culminate until  the project is completed.

The prerequisite for good project management is a well-defined system development process. Process management  is an ongoing activity  that  documents, manages the use of, and improves an organization’s chosen methodology (the “process”)for system development. Process management is concerned with the activities, deliverables, and quality standards to be  applied to (D)project(s).

A.task      B.work      C.sequence      D.activity

A.specifications      B.rules      C.estimates      D.designs

A.perfect      B.acceptable      C.controlled      D.completed

A.deadline      B.specification      C.expectation      D.requirement

A.a single      B.a particular       C.some      D.all





2019 上半年软件设计师 下午真题及答案

试题一(共 15 分)

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

【说明】

某学校欲开发一学生跟踪系统,以便更自动化、更全面地对学生在校情况(到课情况和健    康状态等)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有 健康问题时及时与医护机构对接。该系统的主要功能是:

(1)采集学生状态。通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指 标及其所在位置等信息并记录。每张学生卡有唯一的标识(ID)与一个学生对应。

(2)健康状态告警。在学生健康状态出问题时,系统向班主任、家长和医护机构健 康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。

(3)到课检查。综合比对学生状态、课表以及所处校园场所之间的信息对学生到课 情况进行判定。对旷课学生,向其家长和班主任发送旷课警告。

(4)汇总在校情况。定期汇总在校情况,并将报告发送给家长和班主任。

(5)家长注册。家长注册使用该系统,指定自己子女,存入家长信息,待审核。

(6)基础信息管理。学校管理人员对学生及其所用学生卡和班主任、课表(班级、 上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理;对家长注册申请     进行审核,更新家长状态,将家长 ID 加入学生信息记录中使家长与其子女进行关 联,向家长发送注册结果。一个学生至少有一个家长,可以有多个家长。课表信息包括班 级、班主任、时间和位置等。

现采用结构化方法对学生跟踪系统进行分析与设计,获得如图 1-1 所示的上下文数据流和图 1-2 所示的 0 层数据流图。

8.png

9.png

【问题 1】(5 分)

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

参考答案:

E1:学生     E2:学校管理人员       E3:班主任

E4:家长     E5:医护机构健康服务系统

【问题 2】(4 分)

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

参考答案

D1:学生状态记录表         D2:学生信息表

D3 :校园场所记录表         D4:课表信息记录

【问题 3】(3 分)

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

参考答案

课表信息      D4  ->   p3到课检查

校园场所信息    D3->P3到课检查

家长ID    P6基础信息管理->  D2学生信息表

【问题 4】(3 分)

根据说明中的术语,说明图 1-1 中数据流“学生状态”和“学生信息”的组成。

参考答案

学生状态:学生卡ID,学生心率,体温(摄氏度)等健康信息,所在位置

学生信息:家长ID,学生ID,学生卡ID,班主任等信息

 

 

试题二(共 15 分)

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

【说明】

某创业孵化基地管理若干孵化公司和创业公司,为规范管理创业项目投资业务,需要 开发一个信息系统。请根据下述需求描述完成该系统的数据库设计。

【需求描述】

(1)记录孵化公司和创业公司的信息。孵化公司信息包括公司代码、公司名称、法 人代表名称、注册地址和一个电话;创业公司信息包括公司代码、公司名称和一个电话。 孵化公司和创业公司的公司代码编码不同。

(2)统一管理孵化公司和创业公司的员工。员工信息包括工号、身份证号、姓名、 性别、所属公司代码和一个手机号,工号唯一标识每位员工。

(3)记录投资方信息。投资方信息包括投资方编号、投资方名称和一个电话。

4投资方和创业公司之间依靠孵化公司牵线建立创业项目合作关系,具体实施由 孵化公司的一位员工负责协调投资方和创业公司的一个创业项目。一个创业项目只属于一个创业     公司,但可以接受若干投资方的投资。创业项目信息包括项目编号、创业公司代码、 投资方编号和孵化公司员工工号。

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。

 10.png 

【逻辑结构设计】

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

孵化公司(公司代码,公司名称,法人代表名称,注册地址,电话)

创业公司(公司代码,公司名称,电话)

员工(工号,身份证号,姓名,性别, (a),手机号) 投资方(投资方编号、投资方名称,电话)

项目(项目编号,创业公司代码(b),孵化公司员工号)

【问题 1】(5 分)

根据问题描述,补充图 2-1 的实体联系图。

参考答案:

11.png

【问题 2】(4 分)

补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。

参考答案:

a:所属公司代码   b:投资方编号

员工-外键:所属公司代码      项目-外键:投资方编号

项目-主键:(项目编号、投资方编号)组合

【问题 3】(6 分)

若创业项目的信息还需要包括投资额和投资时间,那么:

(1)是否需要增加新的实体来存储投资额和投资时间?

(2)如果增加新的实体,请给出新实体的关系模式,并对图 2-1 进行补充。如果不需要增

加新的实体,请将“投资额”和“投资时间”两个属性补充连线到图 2-1 合适的对象上,并对变化的关系模式进行修改。  

参考答案:

(1)不需要

(2)项目增加投资额、投资时间,如下图:

12.png



试题三(共 15 分)

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

【说明】

某图书公司欲开发一个基于 Web 的书籍销售系统,为顾客(Customer)提供在线购买书籍(Books)的功能,同时对公司书籍的库存及销售情况进行管理。系统的主要功能描述如下:

(1)首次使用系统时,顾客需要在系统中注册(Register  detail)。顾客填写注册信息表要求的信息,包括姓名(name)、收货地址(address)、电子邮箱(email)等,系统将为其生成一个注 册码。

(2)注册成功的顾客可以登录系统在线购买书籍(Buy  books)。购买时可以浏览书籍  信息, 包括书名(title)、作者(author)、内容简介(introduction)等。如果某种书籍的库存量为 0,那么顾客无法查询到该书籍的信息。顾客选择所需购买的书籍及购买数量 (quantities),若购买数量超过库存量,提示库存不足;若购买数量小于库存量,系统将显示验证界面,要求顾客输入注册码。注册码验证正确后,自动生成订单(Order),否则, 提示验证错误。如果顾客需要,可以选择打印订单(Printorder)。

(3)派送人员(Dispatcher)每天早晨从系统中获取当日的派送列表信息(Produce picklist),按照收货地址派送顾客订购的书籍。

(4)用于销售的书籍由公司的采购人员(Buyer)进行采购(Reorderbooks)。采购人员每天从   系统中获取库存量低于再次订购量的书籍信息,对这些书籍进行再次购买,以保证充足的库存量。新书籍到货时,采购人员向在线销售目录(Catalog)中添加新的书籍信息(Addbooks)。

(5)采购人员裉据书籍的销售情况,对销量较低的书籍设置折扣或促销活动(Promote books)。

(6)当新书籍到货时,仓库管理员(Warehouseman)接收书籍,更新库存(Update stock)。现采用面向对象方法开发书籍销售系统,得到如图 3-1 所示的用例图和图 3-2 所示的初始

类图(部分)。

 13.png

【问题 1】(6 分)

根据说明中的描述,给出图 3-1 中 A1-A3 所对应的参与者名称和 U1-U3 处所对应 的用例名称。

参考答案:

A1:采购人员或Buyer

A2:仓库管理员或Warehouseman

A3:派送人员或Dispatcher

U1:注册或Register  detail

U2:打印订单

U3:购买书籍或Buy Books

【问题 2】(6 分)

根据说明中的描述,给出图 3-1 中用例 U3 的用例描述。(用例描述中必须包括基本事件流和所有的备选事件流)。

参考答案:

参与者:顾客

主要事件流:1、顾客登录系统;2、顾客浏览书籍信息;3、系统检查某种书籍的库存是否为0;4、顾客选择所需购买的书籍及购买数量;5、系统检查库存量是否足够;6、系统显示验证界面;7、顾客验证;8、系统自动生成订单。

备选事件流:3a、若库存量为0则无法查询到该书籍信息,退回到2;5a,若购买数量超过库存量,则提示库存不足,并退回到4;7a,若验证错误,则提示验证错误,并退回到6;8a、若顾客需要可选择打印订单

【问题 3】(3 分)

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

参考答案:

C1:顾客或Customer      C2:订单或Order     C3:书籍或Books


 

试题四(共 15 分)

阅读下列说明和 C 代码,回答问题 1 至 3,将解答写在答题纸的对应栏内

【说明】

n 皇后问题描述为:在一个 n*n 的棋盘上摆放 n 个皇后,要求任意两个皇后不能冲突, 即任意两个皇后不在同一行、同一列或者同一斜线上。

算法的基本思想如下:

将第 i 个皇后摆放在第 i 行,i 从 1 开始,每个皇后都从第 1 列开始尝试。尝试时判断 在该列摆放皇后是否与前面的皇后有冲突,如果没有冲突,则在该列摆放皇后,并考虑摆 放下一个皇后;如果有冲突,则考虑下一列。如果该行没有合适的位置,回溯到上一个皇后考虑在原来位置的下一个位置上继续尝试摆放皇后,……,直到找到所有合理摆放方案。

【C 代码】

下面是算法的 C 语言实现。

(1)常量和变量说明

n:皇后数,棋盘规模为n*n

queen[]:皇后摆放位置数组,queen[i]表示第i个皇后的位置,1<=queen[i]<=n

(2)C程序

14.png


【问题 1】(8 分)

根据题干说明,填充 C 代码中的空(1)-(4)。

参考答案:

(1) queen[i]==queen[j] 或其等价形式

(2)1

(3) Place(j) && j<=n或其等价形式

(4) Nqueen(j+1)

【问题 2】(3 分)

根据题干说明和 C 代码,算法采用的设计策略为 (5)

参考答案:回溯法

【问题 3】(4 分)

当 n=4 时,有 (6)     种摆放方式,分别为 (7) 。

参考答案:

2

分别为:2413   3142

 

 

【试题五和试题六中任选 1 题解答。若解答超过 1 题,则题号小的 1 题解答有效。】

试题五(共 15 分)

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

【说明】

某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)    设计模式来实现该需求,所设计的类图如图 5-1 所示。

15.png

16.png

C++代码省略。


参考答案:

Java:

(1)void stop()

(2)BrakeBehavior

(3)wheel.stop()

(4)this.wheel=behavior

(5)break()

 

C++:

(1) Virtual void stop()=0

(2) BrakeBehavior*

(3) Wheel->stop()

(4) this->wheel=behavior

(5) Brake()