[计算机类试卷]2016年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc
《[计算机类试卷]2016年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2016年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、2016年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图,回答问题 1至问题 4,将解答填入答题纸的对应栏内。【说明】某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地包括一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议室可提供的设备有投影仪、白板、视频播放回放设备、计算机等。为了加强管理,该中心欲开发一会议预订系统,系统的主要功能如下。 (1)检查可用性。客户提交预订请求后,检 查预订表,判定所申请的场地是否在申请日期内可用;如果不可用,返回不可用信息。 (2)
2、临时预订。会议中心管理员收到客户预定请求的通知之后,提交确认。系统生成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户发送临时预订确认信息和支付定金要求。 (3)分配设施与设备。根据临时预订或变更预定的设备和设施需求,分配所需设备 (均能满足用户要求 )和设施,更新相应的表和预订表。 (4)确认预订。管理员收到客户支付定金的通知后,检查确认,更新预订表,根据客户记录给客户发送预订确认信息。 (5)变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查可用性,如果可用,分配设施和设备;如果不可用,返回不可用信息。管理员确认变更后,根据客户记录给客户
3、发送确认信息。 (6)要求付款。管理员从预订表中查询距预订的会议时间两周内的预定,根据客户记录给满足条件的客户发送支付余款要求。 (7)支付余款。管理员收到客户余款支付的通知后,检查确认,更新预订表中的已支付余款信息。现采用结构化方法对会议预定系统进行分析与设计,获得如图 1 1所示的上下文数据流图和图 1一 2所示的 0层数据流图 (不完整 )。1 使用说明中的词语,给出图 1 1中的实体 E1 E2的名称。 2 使用说明中的词语,给出图 12中的数据存储 D1 D4的名称。 3 根据说明和图中术语,补充图 1 2中缺失的数据流及其起点和终点。 4 如果发送给客户的确认信息是通过 Email
4、系统向客户信息中的电子邮件地址进行发送的,那么需要对图 1 1和 1 2进行哪些修改 ?用 150字以内文字加以说明。 4 阅读下列说明,回答问题 l至问题 3,将解答填入答题纸的对应栏内。【说明】某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务, 需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。【需求描述】 (1)记录公司所有员工的信息。员工信息包括工号、身份证号、姓名、性别、出生日期和电话,并只登记一部电话。 (2)记录所有商品的信息。商品信息包括商品名称、生产厂家、销售价格和商品介绍。系统内部用商品条码唯一区别每种商品。 (3)记录所有顾客
5、的信息。顾客信息包括顾客姓名、身份证号、登录名、登录密码和电话号码。一位顾客只能提供一个电话号码。系统自动生成唯一的顾客编号。 (4)顾客登录系统之后,在网上商城购买商品。顾客可将选购的商品置入虚拟的购物车内,购物车可长期存放顾客选购的所有商品。顾客可在购物车内选择商品、修改商品数量后生成网购订单。订单生成后,由顾客选择系统提供的备选第三方支付平台进行电子支付,支付成功后系统需要记录唯一的支付凭证编号,然后由商城根据订单进行线下配送。 (5)所有的配送商品均由仓库统一出库。为方便顾客,允许每位顾客在系统中提供多组收货地址、收货人及联系电话。一份订单所含的多个商品可能由多名分检员根据商品所在仓库
6、信息从仓库中进行分拣操作,分拣后的商品交由配送员根据配送单上的收货地址进行配送。 (6)新设计的系统要求记 录实体店的每笔销售信息,包括营业员、顾客、所售商品及其数量。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图 (不完整 )如图 2-1所示。【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式 (不完整 ):员工 (工号,身份证号,姓名,性别,出生日期,电话 )商品 (商品条码,商品名称,生产厂家,销售价格,商品介绍, (a)顾客 (顾客编号,姓名,身份证号,登录名,登录密码,电话 )收货地点 (收货 ID,顾客编号,收货地址,收货人,联系电话 )购物车 (顾客
7、编号,商品条码,商品数量 )订单 (订单 ID,顾客 编号,商品条码,商品数量 (b)分检 (分拣 ID,分拣员工号, (c),分拣时间 )配送 (醒送 ID,分拣 ID,配送员工号,收货 ID,配送时间,签收时间,签收快照 )销售 (销售 ID,营业员工号,顾客编号,商品条码,商品数量 ) 5 补充图 2-1中的 “配送 ”联系所关联的对象及联系类型。 6 补充逻辑结构设计中的 (a)、 (b)和 (c)三处空缺。 7 对于实体店销售,若要增加送货上门服务,由营业员在系统中下订单,与网购的订单进行后续的统一管理。请根据该需求,对图 2 1进行补充,并修改订单关系模式。 7 阅读下 列说明和图
8、,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】某软件公司欲设计实现一个虚拟世界仿真系统。系统中的虚拟世界用于模拟现实世界中的不同环境 (由用户设置并创建 ),用户通过操作仿真系统中的 l 2个机器人来探索虚拟世界。机器人维护着两个变量 b1和 b2,用来保存从虚拟世界中读取的字符。 该系统的主要功能描述如下: (1)机器人探索虚拟世界 (Run Robots)。用户使用编辑器 (Editor)编写文件以设置想要模拟的环境,将文件导入系统 (Load File)从而在仿真系统中建立虚拟世界 (SetupWorld)。机器人在虚拟世界中的行为也在文件中进行定义,建立机器人的探索行为
9、程序 (Setup Program)。机器人在虚拟世界中探索时 (Run Program),有 2种运行模式: 自动控制 (Run):事先编排好机器人的动作序列 (指令 (Instruction),执行指令,使机器人可以连续动作。若干条指令构成机器人的指令集 (Instruction Set)。 单步控制 (Step):自动控制方式的一种特殊形式,只执行指定指令中的一个动作。 (2)手动控制机器人 (Manipulate Robots)。选定1个机器人后 (Select Robot),可以采用手动方式控制它。手动控制有 4种方式: Move:机器人朝着正前方移动一个交叉点。 LeR:机器人原地
10、沿逆时针方向旋转 90度。 Read:机器人读取其所在位置的字符,并将这个字符的值赋给 bl;如果这个位置上没有字符,则不改变 b1的当前值。 Write:将 b1中的字符写入机器人当前所在的位置,如果这个位置上已经有字符,该字符的值将会被 b1的值替代。如果这时 bl没有值,即在执行 Write动作之前没有执行过任何 Read动作,那么需要提示用户相应的错误信息 (Show Errors)。 手动控制与单步控制的区别在于,单步控制时执行的是指令中的动作,只有一种控制方式,即执行下一个动作;而手动控制时有 4种动作。现采用面向对象方法设计并实现该仿真系统,得到如图3-1所示的用例图和图 3-2
11、所示的初始类图。图 3-2中的类 “Interpreter”和 “Parser”用于解析描述虚拟世界的文件以及机器人行为文件中的指令集。8 根据说明中的描述,给出图 3 1中 U1 U6所对应的用例名。 9 图 3-1中用例 U1 U6分别与哪个 (哪些 )用例之间有关系,是何种关系 ? 10 根据说明中的描述,给出图 3-2中 C1 C5所对应的类名。 10 阅读下列说明和 C代码,回答问题 1至问题 3,将解答写在答题纸的对应栏内。【说明】在一块电路板的上下两端分别有 n个接线柱。根据电路设计,用 (i,(i)表示将上端接线柱 i与下端接线柱 (i)相连,称其为该电路板上的第 i条连线。如
12、图 4 1所示的 (i)排列为 8, 7, 4, 2, 5, 1, 9, 3, 10, 6。对于任何li(j)。在制作电路板时,要求将这 n条连线分布到若干绝缘层上,在同一层上的连线不相交。现在要确定将哪些连线安排在一层上,使得该层上 有尽可能多的连线,即确定连线集 Nets=(i, (i), 1in的最大不相交子集。【分析问题】记 N(i, j)=t(t,n(t)Nets, ti, 7c(t)j)。 N(i, j)的最大不相交子集为 MNS(i, j), size(i,j)=IMNS(i, j)。经分析,该问题具有最优子结构性质。对规模为 n的电路布线问题,可以构造如下递归式:【 C代码】下
13、面是算法的 C语言实现。 (1)变量说明 sizeij:上下端分别有 i个和 j个接线柱的电路板的第一层最大不相交连接数 pii: (i),下标从 1开始 (2)C程序#include“stdlib” #include #define N 1 0 *问题规模 * int m=0; *记录最大连接集合中的接线柱 * void maxNum(int pi, int si ze IN+1N+1, int n) *求最大不相交 连接数 * int i, j; for(j=0; j=(1)时 * for(i=2; i=Ci时,考虑两种情况* sizeij=sizei一 1j=sizei一 1pii一 1
14、+l?sizei一 1j: sizei一 1pii一 1+1; *最大连接数 * sizenn =sizen一 1n =si zen一 1pin一1+1? sizen一 1n: si zen一 1pin一 1+1; *构造最大不相交连接集合,neti表示最大不相交子集中第 i条连线的上端接线柱的序号 * void constructSet(int pi, int sizeN+ 1N+ 1, int n, int netn int i, j=n; m=0; for(i=n; i1; i一一 ) *从后往前 * if(sizeij!=sizei一 1j) *(i, pii)是最大不相交子集的一条连
15、线 * (3) ; *将 i记录到数组 net中,连接线数自增 1* j=pii 1; *更新扩展连线柱区间 * if(j =pi1) netm+ =1; *当 i=1时 * 11 根据以上说明和 C代码,填充 C代码中的空 (1) (3)。 12 根据题干说明和以上 C代码,算法采用了 (4)算法设计策 略。 函数 maxNum和 constructSet的时间复杂度分别为 (5)和 (6)(用 O表示 )。 13 若连接排列为 8, 7, 4, 2, 5, 1, 9,3, 10,6,即如图 4-1所示,则最大不相交连接数为 (7),包含的连线为 (8) (用 (i, (i)的形式给出 )。
16、 14 阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。【说明】某软件系统中,已设计并实现了用于显示地址信息的类 Address(如图 51所示 ),现要求提供基于。 Dutch语言的地址信息显示接口。为了实现该要求并考虑到以后可 能还会出现新的语言的接口,决定采用适配器 (Adapter)模式实现该要求,得到如图 51所示的类图。15 阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。【说明】某软件系统中,已设计并实现了用于显示地址信息的类 Address(如图 6-1所示 ),现要求提供基于 Dutch语言的地址信息显示接口。为了实现该要求
17、并考虑到以后可能还会出现新的语言的接口,决定采用适配器 (Adapter)模式实现该要求,得到如图 6-1所示的类图。 Java代码 import java.util *; class Address public void street() 实现代码省略 public void zip() 实现代码省略 public void city() 实现代码省略 其他成员省略 C1ass DutchAddress public void straat() 实现代码省略 public void postcode() 实现代码省略 public void plaats() 实现代码省略 其他成员省略 c
18、lass DutchAddressAdapter extends DutchAddress private91); public DutchAddressAda一 3ter(Address addr) address=addr; public void straat() (2) ; public void postcode() (3) ; public void plaats() (4); 其他成员省略 clas s Test public static void main(Stringargs) Address addr=new Address(); (5) ; System out pri
19、ntln(“ n The DutchAddress n”); testDutch(addrAdapter); static void testDutch(DutchAddress addr) addr straat(); addr postcode(); addr plaats(); 2016年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷答案与解析 一、 必答题(共 4道大题,每道大题 15分) 1 【正确答案】 E1:客户 E2:管理员 【试题解析】 本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,考点与往年类似,要求考生细心分析
20、题目中所描述的内容。 面向数据流建模是目前仍然被广泛使用的结构化分析与设计的方法之一,而DFD是面向数据流建模的重要工具,是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。 DFD将系统建模成 “输入一加工 (处理 )一输出 ”的模型,即流入软件 的数据对象、经由加工的转换、最后以结果数据对象的形式流出软件,并采用分层的方式加以表示。 上下文 DFD(顶层 DFD)通常用来确定系统边界,将待开发系统看作一个大的加工 (处理 ),然后根据系统从哪些外部实体接收数据流,以及系统将数据流发送到哪些外部实体,建模出的上下文图中只有唯一的一个加工和一些外部实体,以及这两
21、者之间的输入输出数据流。 0层 DFD在上下文确定的系统外部实体以及与外部实体的输入输出数据流的基础上,将上下文 DFD中的加工分解成多个加工,识别这些加工的输入输出数据流,使得所有上下文 DFD中的输 入数据流,经过这些加工之后变换成上下文 DFD的输出数据流。根据 0层 DFD中加工的复杂程度进一步建模加工的内容。 在建分层 DFD时,根据需求情况可以将数据存储建模在不同层次的 DFD中,注意要在绘制下层数据流图时要保持父图与子图平衡。父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同,或者父图中的一个输入 (或输出 )数据流对应于子图中几个输入 (或输出 )数据
22、流,而子图中组成这些数据流的数据项全体正好是父图中的这一条数据流。 本题考查上下文 DFD,要求确定外部实体。在上下文 DFD中, 系统名称作为唯一加工的名称,外部实体和该唯一加工之间有输入输出数据流。通过考查系统的主要功能,不难发现,系统中涉及到客户和会议中心管理员,没有提到其他与系统交互的外部实体。根据描述 (1)“客户提交预订请求后 ”, (2)“会议中心管理员收到客户预定请求的通知之后,提交确认 ”、 “根据客户记录给客户发送临时预订确认信息和支付定金要求 ”等信息,对照图 1一 1,从而即可确定 E1为 “客户 ”实体, E2为 “管理员 ”实体。 2 【正确答案】 D1:预订表 D
23、2:客户表 D3:场地表 (设施表或场地设施表 ) D4:设备表 注: D3和 D4可互换 【试题解析】 本题要求确定图 12所示的 0层数据流图中的数据存储。重点分析说明中与数据存储有关的描述。根据 (1)“客户提交预订请求后,检查预订表 ”,(2)“系统生成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存 ”,可知 D1为预订表、 D2为客户表;根据 “会议中心提供举办会议的场地设施和各种设备 ”, (3)“根据临时预订或变更预定的设备和设施需求,分配所需设备 (均能满足用户要求 )和设施,更新相应的表和预订表 ”, “分配设施和设备 ”可知 D3为和 D4分别为场地 (设施
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2016 上半年 软件 水平 考试 中级 设计师 下午 应用技术 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-493300.html