[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷69及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷69及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷69及答案与解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 69及答案与解析 一、一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】 某大型匹萨加工和销售商为了有效管理生产和销售情况,欲开发一匹萨信息系统,其主要功能如下: (1)销售。处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。销售订单记录了订购者、所订购的匹萨、期望的交付日期等信息。 (2)生产控制。根据销售订单以及库存的匹萨数量,制定匹萨生产计划 (包括生产哪些匹萨、 生产顺序和生产量等 ),并将其保存在生产计划表中。 (3)生产。根据生产计划和
2、配方表中的匹萨配方,向库存发出原材料申领单,将制作好的匹萨的信息存入库存表中,以便及时进行交付。 (4)采购。根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。 (5)运送。根据销售订单将匹萨交付给客户,并记录在交付记录表中。 (6)财务管理。在匹萨交付后,为客户开具费用清单,收款并出具收据;依据完成的采购订单给供 应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。 (7)存储。检查库存的原材料、匹萨和未完成订单,确定所需原材料。现采用结构化方法对匹萨信息系
3、统进行分析与设计,获得如图 1-1所示的上下文数据流图和图1-2所示的 0层数据流图。【问题 1】 根据说明中的词语,给出图 1-1中的实体 E1 E2的名称。【问题 2】 根据说明中的词语,给出图 1-2中的数据存储 D1 D5的名称。【问题 3】 根据说明和图中词语,补充图 1-2中缺失的数据流及其起点和终点。 2 阅读下列说明,回答问题 1至问题 3,将解答填入 答题纸的对应栏内。【说明】 某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。【需求分析结果】 (1)超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的
4、每一个元组。每个超市只有一名经理。 (2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称唯一确定部门关系的每一个元组。 (3)员工信息包括:员工号、姓名、超 市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号唯一确定员工关系的每一个元组。 (4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。【概念模型设计】 根据需求
5、分析阶段收集的信息,设计的实体联系图和关系模式 (不完整 )如下:【关系模式设计】 超市 (超市名称,经理,地址,电话 ) 部门 ( (a) ,部门经理,联系电话 ) 员工 ( (b) ,姓名,联系方式,职位,工 资 ) 商品 (商品号,商品名称,型号,单价,数量 ) 配给 ( (c) ,配给时间,配给数量,业务员 )【问题 1】 根据问题描述,补充四个联系,完善图 2 1的实体联系图。联系名可用联系 1、联系 2、联系3和联系 4代替,联系的类型分为 1: 1、 1: n和 m: n(或 1: 1、 1: *和 *: *)。【问题 2】 (1)根据实体联系图,将关系模式中的空 (a) (c)
6、补充完整; (2)给出部门和配给关系模式的主键和外键。【问题 3】 (1)超市关系的地址可以进一步分为邮编、省、市、街道,那么该属性是属于简单属性还是复合属性 ?请用 100字以内 文字说明。 (2)假设超市需要增设一个经理的职位,那么超市与经理之间的联系类型应修改为 (d) ,超市关系应修改为 (e) 。 3 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某公司欲开发一个管理选民信息的软件系统。系统的基本需求描述如下: (1)每个人 (Person)可以是一个合法选民 (Eligible)或者无效的选民 (Ineligible)。 (2)每个合法选民必须通
7、过该系统对其投票所在区域 (即选区, Riding)进行注册(Registration)。每个合法选民仅能注册一个选区。 (3)选民所属选区由其居住地址 (Address)决定。假设每个人只有一个地址,地址可以是镇 (Town)或者城市 (City)。 (4)某些选区可能包含多个镇,而某些较大的城市也可能包含多个选区。 现采用面向对象方法对该系统进行分析与设计,得到如图 3-1所示的初始类图。 *66 【问题 1】 根据说明中的描述,给出图 3-1中 C1 C4所对应的类名 (类名使用说明中给出的英文词汇 )。 【问题 2】 根据说明中的描述,给出图 3-1中 M1 M6处的多重度。 【问题
8、3】 一现对该系统提出了以下新需求: (1)某些人拥有在多个选区投票的权利,因此需要注册多个选区: (2)对于满足 (1)的选民,需要划定其 “主要居住地 ”,以确定他们应该在哪个选区进行投票。 为了满足上述需求,需要对图 31所示的类图进行哪些修改 ?请用 100字以内文字说明。 4 阅读下列说明和 C代码,回答问题 1至问题 3,将解答写在答题纸的对应栏内。【说明】 计算一个整数数组 a的最长递增子序列长度的方法描述如下: 假设数组a的长度为 n,用数组 b的元素 bi记录以 ai(0i n)为结尾元素的最长递增子序列的长度,则数组 a的最长递增子序列的长度为 ;其中 bi满足最优子结构,
9、可递归定义为: 【 C代码】 下面是算法的 C语言实现。 (1)常量和变量说明 a:长度为 n的整数数组,待求其最长递增子序列 b:长度为 n的数组, bi记录以 ai(0i n)为结尾元素的最长递增子序列的长度,其中0i n len:最长递增子序列的长度 i, j:循环变量 temp:临时变量 (2)C程序 #include stdio h int maxL(int*b, int n) int i, temp=0; for(i=0; i n;i+) if(bi temp) temp=bi; return temp; int main()fint n, a1 0 0, b1 0 0, i, j
10、, len; scanf(” d”, n); for(i=0; i n; i+) scanf(” d”, ai); (1) ; for(i=1; i n; i+) for(j =0, len=0; (2) ; j+) if( (3) lenbj)len=bj; (4) ; printf(”len: d n”, maxL(b, n); printf(” n”); 【问题 1】 根据说明和 C代码,填充 C代码中的空 (1) (4)。【问题 2】 根据说明和 C代码,算法采用了 (5)设计策略,时间复杂度为 (6) (用 O符号表示 )。【问题 3】 已知数组 a=3, 10, 5, 15, 6,
11、 8,根据说明和 C代码,给出数组 b的元素值。 5 阅读下列说明和 C+代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7个 可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命令 )模式实现该遥控器的软件部分。Command模式的类图如图 51所示。【 C+代码】 class Light public: Light(string name) *代码省略 * ) void on() *代码省略 * ) 开灯 void off() *代码省略 *
12、) 关灯 ; class Command public: (1); ; class LightOnCommand: public Command /开灯命令 private: Light*light; public: LightOnCommand(Light*light)this一 light=light; void execute() (2) ; ) ; class LightOffCommand: public Command 关灯命令 private: Light*light; public: LightOffCommand(Light*light)this- light=light;
13、) void execute() (3) ; ; class RemoteControl 遥控器 private: Command*onCommands7; Command*OffCommands7; public: RemoteControl() *代码省略 * void setCommand(int S lot, Command*onCommand,Command*offCommand) (4) =onCommand; (5) =offCommand; void onButtonWasPushed(int slot) (6) ; void offButtonWasPushed(int sl
14、ot) (7) ; ; int main() RemoteControl*remoteControl=new RemoteControl(); Light*liVingRoomLight=new Light(”Living Room”); Light* kitchenLight=new Light(”kitchen”); LightOnCommand*livingRoomLightOn=new LightOnCommand (liVingRoomLight); LightOffCommand*livingRoomLightOff=new LightOffCommand(livingRoomLi
15、ght); LightOnCommand* kitchenLightOn=new LightOnCommand(kitchenLight); LightOffCommand* kitchenLightOff=new LightOffCommand(kitchenLight); remoteControl一 setCommand(0, liVingRoomLightOn, liVingRoomLightOff); remoteControl一 setCommand(1, kitchenLightOn, kitchenLightOff); remoteControl一 onButtonWasPus
16、hed(0); remoteControl一 offButtonWasPushed(0); remoteControl一onButtonWasPushed(1); remoteControl一 offButtonWaSPushed(1); *其余代码省略 * return 0; 6 阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。【说明】 某灯具厂商欲生产一个灯具遥控器,该遥控器具有 7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用 Command(命令 )模式实现该遥控器的软件部分。Comm
17、and模式的类图如图 6-1所示。 【 Java代码】 class Light public 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 light=light; ) public
18、void execute() (2) ; class LightOffCommand implements Command 关灯命令 Light light; public LightOffCommand(Light light) this light=light; public void execute() (3) ; class RemoteControl 遥控器 CommandonCommands=new Command7;CommandoffCommands=new Command7; public RemoteControl() *代码省略 * ) public void setCo
19、mmand(int slot, Command onCommand, Command offCommand) (4) :onCommand; (5) =offCommand; public void onButtonWasPushed(int slot) (6) ; public void offButtonWasPushed(int slot) (7) ; clas s RemoteLoader public static void main(Stringargs) RemoteControl remoteControl=new RemoteControl(); Light liVingRo
20、omLight=new Light(”Living Room”); Light kitchenLight=new Light(”kitchen”); LightOnCommand liVingRoomLightOn=new LightOnCommand(livingRoom Light); LightOffCommand liVingROomLightOff=new LightOffCommand(livingRoom Light); LightOnCommand kitchenLightOn=new LightOnCommand(kitchenLight); LightOffCommand
21、kitchenLightOff=new LightOffCommand(kitchenLight); remoteControl setCommand(0, liVingRoomLightOn, liVingRoomLightOff); remoteControl setCommand(1, kitchenLightOn, kitchenLightOff); remoteControl onButtonWasPushed(0); remoteControl offButtonWasPushed(0); remoteControl onButtonWasPushed(1); remoteCont
22、rol offButtonWasPushed(1); 软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 69答案与解析 一、一、必答题(共 4道大题,每道大题 15分) 1 【正确答案】 【问题 1】 E1:客户 E2:供应商【问题 2】 D1:销售订单表 D2:库存表 D3:生产计划表 D4:配方表 D5:采购订单表【问题 3】【试题解析】 本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,考点与往年类似,要求考生细心分析题目中所描述的内容 。 DFD是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。上下
23、文 DFD(顶层 DFD)通常用来确定系统边界,将待开发系统看作一个大的加工 (处理 ),然后根据系统从哪些外部实体接收数据流,以及系统将数据流发送到哪些外部实体,建模出的上下文图中只有唯一的一个加工和一些外部实体,以及这两者之间的输入输出数据流。 O层 DFD在上下文确定的系统外部实体以及与外部实体的输入输出数据流的基础上,将上下文 DFD中的加工分解成多个加工,识别这些加工的输入输出数据流,使得所有上下文 DFD中 的输入数据流,经过这些加工之后变换成上下文 DFD的输出数据流。根据 O层 DFD中加工的复杂程度进一步建模加工的内容。 在建分层 DFD时,根据需求情况可以将数据存储建模在不
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 69 答案 解析 DOC
