ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:427.50KB ,
资源ID:493178      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-493178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]2014年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc)为本站会员(twoload295)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]2014年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc

1、2014年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明和图,回答【问题 1】至【问题 3】,将解答填入答题纸的对应栏内。 【说明】 某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统,其主要功能扣下: (1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。 (2)生产控制。根据销售订单以及库存的披萨数量,制定披萨生产计划 (包括 生产哪些披萨、生产顺序和生产量等 ),并将其保存在生产计划表中。 (3)生产。根

2、据生产计划和配方表中的披萨配方,向库存发出原材料申领单,将制作好的披萨的信息存入库存表中,以便及时进行交付。 (4)采购。根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。 (5)运送。根据销售订单将披萨交付给客户,并记录在交付记录表中。 (6)财务管理。在披萨交付后,为客户开具费用清单,收款并出具收据:依据完成 的采购订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存人收支记录表中。 (7)存储。检查库存的原材料、披萨和未完成订单,确定所需原材料。 现采用结构化方

3、法对披萨信息系统进行分析与设计,获得如图 11所示的上下文数据流图和图 12所示的 0层数据流图。【问题 1】根据说明中的词语,给出图 11中的实体 E1 E2的名称。【问题 2】根据说明中的词语,给出图 12中的数据存储 D1 D5的名称。【问题 3】 根据说明中的词语,补充图 12中缺失的数据流及其起点和终点。 2 阅读下列说明,回答【问题 1】至【 问题 3】,将解答填入答题纸的对应栏内。 【说明】 某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。 【需求分析结果】 (1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确

4、定超市关系的每一个元组。每个超市只有一名经理。 (2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。 (3)员工 信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号唯一确定员工关系的每一个元组。 (4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。 【概念模型设

5、计】 根据需求分析阶段收集的信息,设计的实体联系图和关系模式 (不完整 )如图 21:【关系模式设计】 超市 (超市名称、经理、地址、电话 ) 部门 (a),部门经理、联系电话 ) 员工 (b),姓名、联系方式、职位、工资 ) 商品 (商品号、商品名称、型号、单价、数量 ) 配给 (c),配给时间、配给数量、业务员 ) 【问题 1】 根据问题描述,补充四个联系,完善图 21的实体联系图。联系名可用联系 1、联系 2、联系 3和联系 4代替,联系的类型分为 1: 1、 1: n和 m: n(或 1: 1、 1: *和 *: *)。 【问题 2】 (1)根据实体联系图,将关系模式中的空 (a) (

6、c)补充完整; (2)给出部门和配给关系模式的主键和外键。 【问题 3】 (1)超市关系的地址可以进一步分为邮编、省、市、街道,那么该属性是属于简单属性 还是复合属性 ?请用 100字以内文字说明。 (2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为 (d),超市关系应修改为 (e)。 3 阅读以下说明和图,回答【问题 1】至【问题 3】,将解答填入答题纸的对应栏内。 【说明】 某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下: (1)每个人 (Person)可以是一个合法选民 (Eligible)或者无效的选民(Ineligible)。 (2)每个合法选

7、民必须通过该系统对其投票所在区域 (即选区, Riding)进行注册 (Registration)。每个合法选民仅能注册一个选区。 (3)选民所属选区由其居住地址 (Address)决定。假设每个人只有一个地址,地址可以是镇 (Town)或者城市(City)。 (4)某些选区可能包含多个镇;而某些较大的城市也可能包含多个选区。现采用面向对象方法对该系统进行分析与设计,得到如图 31所示的初始类图。【问题 1】 根据说明中的描述,给出图 31中 C1 C4所对应的类名 (类名使用说明中给出的英文词汇 )。 【问题 2】 根据说明中的描述,给出图 31中 M1 M6处的多重度。 【问题 3】 现对

8、该系统提出了 以下新需求: (1)某些人拥有在多个选区投票的权利,因此需要注册多个选区; (2)对手满足 (1)的选民,需要划定其 “主要居住地 ”,以确定他们应该在哪个选区进行投票。 为了满足上述需求,需要对图 31所示的类图进行哪些修改 ?请用 100字以内文字说明。 4 阅读下列说明和 C代码,回答【问题 1】至【问题 3】,将解答写在答题纸的对应栏内。 【说明】 计算一个整数数组 a的最长递增子序列长度的方法描述如下: 假设数组 a的长度为 n,用数组 b的元素 bi记录以 ai(0i n)为结尾元素的最长递增子序列的长度为 ; 其中 bi满足最优子结构,可递归定义为:【 C代码】下面

9、是算法的 C语言实现。 (1)常量和变量说明a:长度为 n的整数数组,待求其最长递增子序列 b:长度为 n的数组, bi记录以ai(0i n)为结尾元素的最长递增子序列的长度,其中 0i nlen:最长递增子序列的长度 i, j:循环变量 temp:临时变量 (2)C程序 #jnclude stdio h mtmaxL(int*b, mt n) mt I, temp=0; for(i=0; i n; i+) (bill temp) temp=bi return temp; int main() int n, a100, b100, i, j, len; scanf(“ d”, &n); for

10、(i=0; i: n; i+) scanf(“ d”, ai); (1): for(i=1; i n; i+) for(j=0, len=0; (2) ; j+) if( (3) &len bj) Ien=bj; (4) ; Printf(“len: d n”, maxL(b, n); Printf(“ n”); 【问题 1】 根据说明 和 C代码,填充 C代码中的空 (1) (4)。 【问题 2】 根据说明和 C代码,算法采用了 (5)设计策略,时间复杂度为 (6)(用 0符号表示 ) 【问题 3】 已知数组 a=3, 10, 5, 15,6, 8,据说明和 C代码,给出数组 b的元素值。

11、二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 5 阅读下列说明和 C+代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7个可编程的插槽, 每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命令 )模式实现该遥控器的软件部分。Command模式的类图如图 41所示。【 C+代码】 class Light public: Light(string name) *代码省略 *

12、 void on() *代码省略 * 开灯 void off() *代码省略 * 关灯 class Commandpublic:(1); ); class LightOnCommand: public Command开灯命令 private: Light*light; public: LightOnCommand(Light*light)this一 iight=light; ) Void execute()(2); ); class LightOffCommand: public Command关灯命令private: Light*iight; public: LightOffCommand(

13、Light*light)this一 i ight=light; ) Void execute()(3); ; class RemoteControl(遥控器 private:Command*onCommands7; Command*offCommands7; public:RemoteControl() *代码省略 * )void setCommand(int slot Command*onCommand, Command*offCommand)(4)=onCommand;(5)=offCommand; void onButtonWasPushed(int slot)(6): )void of

14、fButtonwasPushed(int slot)(7): ); int main()RemoteControl*remoteControl=new RemoteControl(); Light*livingRoomLight=new Light(“Living Room”); Light*kitchen Light=new Light(“kitchen“); LightOnCommand*IivingRoomLightOn=new LightOnCommand(livingRoomLight): LightOffCommand*iivingRoomLightOff=new LightOff

15、Command(livingRoomLight): LightOnCommand*kitchenLightOn=new LightOnCommand(kitchenLight): LightOffCommand*kitchenLightOff=new LightOffCommand(kitchenLight): remoteControl一 setCommand(0, livingRoomLightOn, livingRoomLightOff); remoteControl一 setCommand(1, kitchenLightOn, kitchenLightOff); remoteContr

16、ol一 onButtonWasPushed(0): remoteControl一 off ButtonWasPushed(0); remoteControl一 onButtonWasPushed(1); remoteControl一 offButtonWasPushed(1); *其余代码省略 * return0; 6 阅读下列说明 和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命

17、令 )模式实现该遥控器的软件部分。Command模式的类图如图 51所示。【 java代码】 class Lightpublic Light(); public Light(string name) *代码省略 * )public void on()/*代码省略 */开灯 public void off() *代码省略 * 关灯 :(1)public void execute(); class LightOnCommand implements Command开灯命令 Light light; public LightOnCommand(Light light)this 1ight=light

18、; public Void execute()(2); )class LightoffCommandimplements Command关灯命令 Light light; public LightOffCommand(Light light)this 1ight=light; ) public Void execute()(3); )class RemoteControl遥控器 CommandonCommands7;CommandoffCommands7; Public RemoteControl() *代码省略 * Publ ic void setCommand(int slot Comma

19、nd onCommand,CommandoffCommand)(4)=onCommand: (5)=offCommand: Publ ic void onButtonWasPushed(int slot)(6); )Public void offButtonWasPushed(int slot)(7); )classremoteLoaderpubl ic static void main(stringargs)RemoteControlremoteControl=new RemoteControl();LightlivingRoomLight=new Light(“Living Room”);

20、 Light kitchen Light=new Light(“kitchen”); LightOnCommandlivingRoomLightOn=new LightOnCommand(livingRoomLight); LightOffCommandlivingRoomLightOff=new LightOffCommand(livingRoomLight); LightOnCommandkitchenLightOn=new LightOnCommand(kitchenLight); LightOffCommandkitchenLightOff=new LightOffCommand(ki

21、tchenLight); remoteControl setCommand(0,livingRoomLightOn, livingRoomLightOff); remoteControl setCommand(1,kitchenLightOn, kitchenLightOff); remoteControl onButtonWasPushed(0);remoteControl offButtonWasPushed(0); remoteControl onButtonWasPushed(1);remoteControl offButtonWasPushed(1); 2014年下半年软件水平考试(

22、中级)软件设计师下午(应用技术)真题试卷答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【正确答案】 【问题 1】 E1:客户; E2:供应商 【问题 2】 D1:销售订单表; D2:库存表; D3:生产计划表; D4:配方表; D5:采购订单表 【问题 3】 (1)数据流名称:支付细节;起点:财务管理;终点: E2 (2)数据流名称:销售订单:起点:销售订单表;终点: 5运送 (3)数据流名称:生产计划:起点: D3;终点: 3生产 (4)数据流名称:库存量;起点: D2;终点: 4采购 (5)数据流名称:原材料数量:起点: 4采购;终点: D2 (6)数据流名称:未完成订单:

23、起点:销售订单表;终点: 7存储。 【试题解析】 该题以披萨信息系统为载体来考查学生对数据流图知识点的掌握程度。从题目的问答形式上来看,和往年相似,要求补充外部实体、补充缺失数据流、找出外部存储。 【问题 1】 根据 0层数据流中财务管理为客户开具费用清单数据流可知, E1实体为客户;从向供应商发送采购订单、得到供应商的供应量可知, E2实体为供应商。 【问题 2】 根据题中对更功能的描述,以及 0层数据流:生产控制,制定生产计划,并将其保存在生产计划表中可知, D3为生产计划表;生产,将制作好的披萨的信息存人库存表中,可知 D2为库存表;采购,在采购订单表中标记已完成的订单可知D5为采购订单

24、表;生产,由 “根据生产计划和配方表中的披萨配方,向库存发出原料申请 ”可知 D4为配方表;根据 “处理客户的订单信息,生成销售订 单。并将其记录在销售订单表中 ”可知 D1为销售订单表。 【问题 3】 本题考查补充分层 DFD中的数据流。在分层 DFD中,需要保持父图和子图的平衡,即父图中某加工的输入输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入 (或输出 )数据流对应于子图中几个输入 (或输出 )数据流,而子图中组成这些数据流的数据项全体正好是附图中的一个数据流。 由 “财务管理 ”段中 “依据完成的采购订单给供应商支付原材料费用并出具支付细节 ”的描述,存在

25、一个起点为财务管理,重点为供应商即 E2的数据流 ,即支付细节数据流;由 “运送 ”段中 “根据销售订单将披萨交付给客户,并记录在交付记录表中 ”可知存在一个由 “销售订单 ”指向 “运送 ”的数据流,即销售订单数据流;由 “采购 ”段中 “根据所需原材料及库存量,确定采购数量 ”可知存在由 “库存表 ”指向 “采购 ”的数据流,数据流为库存量;根据 “存储 ”段中 “检查库存的原材料、披萨和未完成订单,确定所需原料 ”可知,存在一个由 “订单表 ”指向 “存储 ”的数据流,数据流为未完成的订单。 2 【正确答案】 【问题 1】【问题 2】 (a)超市名称、部门名称主键: (超市名称、部门名称

26、 )外键;超 市名称、部门经理 (b)员工号、超市名称、部门名称 (c)商品号主键: (商品号、业务员、配给时间 )外键:业务员、商品号 【问题 3】 (1)超市关系中的地址属于复合属性。所谓复合属性就是指属性中含有多种信息,可以进一步拆分的属性,地址可以拆分成多个简单属性,符合这一特征。 (2)(d)1: n (e)超市名称、地址、电话 【试题解析】 本题考查数据库系统中实体联系模型和关系模式设计方面的应用知识,属于比较传统的题目,考察点也和往年类似。 【问题 1】 本题考查数据库的概念结构设计。两个实体集 间的联系分为三类:一对一 (1:1),一对多 (1: n)和多对多 (m:n)。 根

27、据题意, “每个部门只有一名部门经理 ”部门和部门经理之间是 1: 1关系,每个部门有多名员工,即部门和员工之间是 1: n的关系, “超市只有一名经理 ”可知表示超市的部门和经理之间是 1: 1的关系, “超市有多个部门 ”可知超市和部门之间是 1: n的关系。由 “一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给 ”可知业务员和商品之间是多对多的关系,即 m: n。根据以上分析,即可完成图 21的实体联系图。 【问题 2】 本题考查数据库的逻辑结构设计,题目要求补充完整各关系模式,并给出部门和配给关系模式的主键和外键。 根据问题一画完整的实体联系图和需求描述,员工关系模

28、式包括员工号、姓名、部门名称、超市名称、职位、联系方式、工资等,因此 (b)处应填员工号、超市名称和部门名称;部门关系模式包括超市名称、部门名称、部门经理和联系电话等,由此可知 (a)处填超市名称和部门名称。配给关系模式包括商品号、业务员、配给时间、配给数量、业务员等,由此可知, (c)处应填商品号、业务员。部门关系模式的主键应为 (超市名称和部门名称 ),外键 名称为 (超市名称、部门经理 );配给关系模式的主键应为 (商品号、业务员、配给时间 ),外键应为 (业务员、商品号 )。 【问题 3】 超市关系的地址可以进一步分为邮编、省、市、街道,则超市关系中的地址属于复合属性。所谓复合属性就是

29、指属性中含有多种信息,可以进一步拆分的属性,地址可以拆分成多个简单属性,符合这一特征。 假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应该是一个超市有多个经理,为 1: n的关系,超市关系应包含超市名称、地址、电话。 3 【正确答案】 【问题 1】 C1: Address C2: Riding C3: Ineligible C4: Eligible 【问题 2】 M1: 1, M2: *, M3: *, M4: 1, M5: *, M6: 1 【问题 3】 将 M1与 M4由 1,修改为 1 * 【试题解析】 【问题 1】 由 “每个人可以是一个合法选民或者无效选民 ”可知 C3

30、和 C4是这两者中的一个,由 C4和 C2关联可知, C4位合法选民 (Eligible),则 C3为无效选民(Ineligible)。由 city和。 Town共同指向 C1以及描述 “选 民所属选区由其居住地址(Address)决定。假设每个人只有一个地址,地址可以是镇 (Town)或者城市 (City)”可知, C1应该为 Address。由描述 “每个合法选民必须通过该系统对其投票所在区域 (即选区, Riding)进行注册 (Registration)”以及 C4指向 C2和 city、 town同时指向 C2可知, C2为 Riding,即选区。 【问题 2】 UML中关联的多重度

31、是指一个类的实例能够与另一个类的多少个实例相关联。具体的取值意义有: 0 1: 0个或 1个 1:只能 1个 0 *: 0个或多个 *: 0个或多个 1 *: 1个或多个 由描述 “每个人只有一个地址 ”可知, M1为 1;一个地址可以有 0个或多个人,因此 M2为 *;一个选区可以有 0个或多个选民,一个选民只在一个选区投票,因此, M3为 *, M4为 1;由 “某些选区可能包含多个镇 ”可知每个选区可包含 0个或多个地址, M5应为 *,每个选民只有一个地址,每个地址属于一个选区,因此 M6为 1。 【问题 3】 若对系统提出新的要求: 某些人拥有在多个选区投票的权利,因此需要注册多个选

32、区; 对手满足 (1)的选民,需要划定其 “主要居住地 ”,以确定他们应该在哪个选区进 行投票。则将 M1与 M4由 1,修改为 1 *。 4 【正确答案】 【问题 1】 (1)b0=1 (2)j =i (3)aj =ai (4)bi=len+1 【问题 2】 (5)动态规划法 (6)O(n2) 【问题 3】 B=1, 2, 2, 3, 3, 4 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 5 【正确答案】 (1)void execute() (2)light一 on() (3)light一 off

33、() (4)onCommandsslot (5)offCommandsslot (6)onCommandsslot一 execute() (7)offCommandsslot一 execute() 【试题解析】 本题考查 Command命令模式的概念及应用。 Command命令模式是一种对象行为模式。它主要解决的问题是,在软件构建过程中, “行为请求者 ”与 “行 为实现者 ”通常呈现一种 “紧耦合 ”的问题。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 6 【正确答案】 (1)interface Command (2)light on() (3)light off() (4)onCommandsslot (5)offCommandsslot (6)onCommandsslot execute() (7)offCommandsslot execute() 【试题解析】 本题考查 Command命令模式的概念及应用,并用 Java语言实现。 Command命令模式是一种对象行为模式。它主要解决的问题是,在软件构建过程中, “行为请求者 ”与 “行为实现者 ”通常呈现一种 “紧耦合 ”的问题。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1