[计算机类试卷]2014年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc
《[计算机类试卷]2014年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2014年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、2014年上半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明和图,回答【问题 1】至【问题 4】,将解答填人答题纸的对应栏内: 【说明】 某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息,该系统的主要能如下: (1)记录巴士 ID和维修问题。巴士到车库进行维修,系统将巴士基本信息和 ID记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。 (2)确定所需部件,根据维修订单确定维修所需部件,并在部 件清单中进行标记。 (3)完成维修,机械师根据维修记录文件中的待维修机械问题,
2、完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送绘库存管理系统以对部件使用情况进行监控,巴士司机可查看已维修机械问题。 (4)记录维修工时,将机械师提供的维修工时记录在人事档案中,将维修总结发送给主管进行绩效考核。 (5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。 现采用结构化方 法对巴士维修系统进行分析与设计,获得如图 1一 l所示的上下文数据流图和图 1-2所示的 0层数据流图。【问题 1】使用说明中的词语,给出图 11中的实体 E1 E
3、5的名称。 【问题 2】使用说明中的词语,给出图 12中的数据存储 D1 D4的名称, 【问题 3】说明图 12中所存在的问题。 【问题 4】根据说明和图中术语,采用补充数据流的方式,改正图 12中的问题。要求给出所补充数据流的名称、起点和终点。 2 阅读下列说明和图,回答【问题 1】至【问题 3】,将解答填入答题纸的对应栏内。 【说明】某家电销售电子商务公司拟开 发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。【需求分析】 (1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等,员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,
4、其中岗位包括部门经理和客服等,客户信息主要包括:客户 ID、姓名、身份证号、电话、住址、账户余额。家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属商,家电厂商信息包括:厂商 ID、厂商名称、电话、法人代表信息、厂址。 (2)电子商务公司根据销售情况,由部门经理向家电厂商 订购各类家电,每个家电厂商只能由一名部门经理负责。 (3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图 (不完整 )如图 21所示。【逻辑结构设计】 根据概念模型设计阶段完成的实体联系图,得出如下关系模式【不完整】 客户 (客户
5、 ID、姓名、身份证号、电话、住址、账户余额 ) 员工 (工号、姓名、性别、岗位、身份证号、电话、住址 )家电 (家电条码、家电名称、价格、出厂日期、 (1) 家电厂商 (厂商ID、厂商名称、电话、法人代表信 息、厂址、 (2) 购买 (订购单号、 (3)、金额 ) 【问题 1】 补充图 21中的联系和联系的类型。 【问题 2】 根据图 21,将逻辑结构设计阶段生成的关系模式中的空 (1)一 (3)补充完整,用下划线支出 “家电 ”、 “家电厂商 ”和 “购买 ”关系模式的主键。 【问题 3】 电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还可以联合第二方基金公司提供理财服务,为此
6、设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财,每名客户只有一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图 21进行修改,画出修改后的实体间联系和联系的类型。 3 阅读下列说明和图,回答【问题 1】至【问题 3】,将解答填入答题纸的对应栏内。 【说明】 某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作,功能需求均使用用例进行描述,其中用例 “借书 (Check Out 800ks)”的详细描述如下。 参与者:读者 典型事件流: 1输入读者 ID: 2确认该读者能够借阅图书,并记录读者 ID; 3输入所要
7、借阅的图书 ID; 4根据图书目录中的图书 ID确认该书可以借阅,计 算归还时间,生成借阅记录; 5通知读者图书归还时间; 重复步骤 3 5,直到读者结束借阅图书。 备选事件流: 2a若读者不能借阅图书,说明读者违反了图书馆的借书制度 (例如,没有支付借书费用等 )。 告知读者不能借阅,并说明拒绝借阅的原因; 本用例结束。 4a读者要借阅的书无法外借。 告知读者本书无法借阅; 回到步骤 3。 说明:图书的归还时间与读者身份有关。如果读者是教师,图书可以借阅一年:如果是学生,则只能借阅 3个月,读者 ID中包含读者身份信息,现采用面向对象方法开发该系统,得到如图 31所示的系 统类模型 (部分
8、);以及如图 32所示的系统操作。“Checkout(bookID) (借书 )“通信图 ”(或协作图 )。【问题 1】 根据说明中的描述,以及图 31和图 32,给出图 31中 C1一 C4处所对应的类名 (类名使用图 31和图 32中给出的英文词汇 )。【问题 2】 根据说明中的描述,以及图 31和图 32,给出图 32中 M1一 M4处所对应的方法名 (方法名使用图 3一 l和图 32中给出的英文词汇 )。【问题 3】 用例 “借书 ”的备选事件流4a中,根据借书制度来判定读者能否借阅图书,随着图书馆的借书制度会不断地扩 充,并需要根据图书馆的实际运行情况来调整具体使用哪些制度,为满足这
9、一要求,在原有类设计的基础上,可以采用何种设计模式 ?简要说明原因。 4 阅读下列说明和 C代码,回答【问题 1】至【问题 3】,将解答写在答题纸的对应栏内。 【说明】 采用归并排序对 n个元素进行递增排序时,首先将 n个元素的数组分成各含 n2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排序的子数组得到排序结果。 下面的 C代码是对上述归并算法的实现,其中的常量和变量说明如下: arr: 待排序数组 P, q, r:一个子数组的位置从 P到 q,另一个子数组的位置从 q+1到 r begin, end:待排序数组的起止位量 left, right:临时存放待合
10、并的两个子数组 n1, n2:两个子数组的长度 i, j, k:循环变量 mid:临耐变量 【 C代码】 #inciude stdio h #inciude stdlib h Define MAX 65536 void merge(int arr(, int P, int q, int r) int*left, *right; int nl, n2, I, J, k; n1=qP+1: n2=rq: If(left=(int*)malloc(nl+1)*sizeof(int)=NULL)( Perror(“malloc error”): exit(1); If(right=(int*)mall
11、oc(n2+1)*sizeof(int)=NULL) Perror(“malloc error”); exit(1); for(i=0; i nl; i+) lefti=arrp+i; lefti=MAX; for(i=0; i n2; i+) righti=arrq+i+1 righti=MAX; i=0; j=0; For(k=p; (1); k+)( If(1efti rightj (2) j+; )else arrk1=lefti; i+: Void merge Sot-t(int arr(), int begin, int end) int mid: if( (3) ) mid=(b
12、egin+end) 2; merge Sort (arr, begin, mid); (4) ; Merge(arr, begin, mid, end); 【问题 1】 根据以上说明 和 C代码,填充 (1)一 (4)。 【问题 2】 根据题干说明和以上 C代码,算法采用了 (5)算法设计策略,分析时间复杂度时,列出其递归式位 (6) ,接触渐进时间复杂度 (7) (用 O符号表示 )。空间复杂度为 (8) 。 (用 O符号表示 ) 【问题 3】 两个长度分别为 n1和 n2的已经排好序的子数组进行归并,根据上述 C代码,则元素之间比较次数为 (9) 。 二、选答题(共 3道大题,每道大题 1
13、5分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号 小的 1道题解答有效。 5 阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者 (observer)模式来开发该系统,观察者模式的类图如图 51所示。(c+代码 )#include#includeUsing namespace std; Class ObserverPublic: Virtual void update(float t
14、emp, float humidity, float cleanness)=0; ); Class SubjectPublic:Virtual void registerObserver(Observer*o)=0;注册对主题感兴趣的观察者Virtual void removeObserver(Observer*o)=0;删除观察者 Virtual void notifyObservers()=0;当主题发生变化时通知观察者 Class EnvironmentData:publ ic (1) Private: Vectorobservers: Float temperature, humidi
15、ty, cleanness;Public: Void registerobserVer(0bserVer* o)observers pushback(o); )Void removeObserver(Observer*O): const iterator it=observers begin();it!=observers end(); it+) (2) ; Void measurementsChanged() (3) ; Void setMeasurements(float temperature, float humidity, float cleanness)this-temperatu
16、re=temperature: this-humidity=humidity; this一 cleanness=cleanness: (4) ; ; Class CurrentconditionsDisplay: publ ic (5) private: float temperature,humidity, cleanness; Subject*envData; Public: CurrentConditionsDisplay(Subject* envData)this一 envData=envData; (6) : Void update(float temperature, float
17、humidity, float cleanness)(this一 temperature=temperature; This-humidity=humidity; This一 cleanness=cleanness; display(); Void display() *代码省略 * ) ; int main() EnvironmentData*envData。 new EnvironmentData0: CurrentConditionsDisplay*currentDisplay=new CurrentConditionsDisplay(envData): envData-setMeasu
18、rements(80, 65, 30 4f); return 0; 6 阅读下列说明和 Java代码,将应填入 (n)址的字句写在答题纸的对应栏内。 【说明】 某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据。当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者 (observer)模式来开发该系统,观察者模式的类图如图 6-1所示。【 Java代码】 import java util *interface ObserverPublic void update(float temp, float humidity, float cleannes
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2014 上半年 软件 水平 考试 中级 设计师 下午 应用技术 答案 解析 DOC

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