【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc

上传人:priceawful190 文档编号:1318197 上传时间:2019-10-17 格式:DOC 页数:17 大小:99.50KB
下载 相关 举报
【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc_第1页
第1页 / 共17页
【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc_第2页
第2页 / 共17页
【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc_第3页
第3页 / 共17页
【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc_第4页
第4页 / 共17页
【计算机类职业资格】2019年软件设计师考试软件设计应用技术模拟试题及答案解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、2019年软件设计师考试软件设计应用技术模拟试题及答案解析(总分:75.00,做题时间:150 分钟)一、案例分析题(总题数:5,分数:75.00)阅读下列说明和图,回答下列提出的问题,将解答填入答题纸的对应栏内。【说明】某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中间件,其主要功能如下:(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作

2、信息。(2)中间件验证前端应用提供的用户信息。若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。(3)前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。(4)连接管理连接相应的后台数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,新建连接;如果存在,则重用连接。(5)后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。现采用结构化方法对系统进行分析与

3、设计,获得如图 1-1所示的顶层数据流图和图 1-2所示的 0层数据流图。图 1-1 顶层数据流图名称 起点 终点输入流 P输出流 P 图 1-2 0层数据流图除加工 P的输入与输出流外,图 1-2还缺失了两条数据流,请给出这两条数据流的起点和终点。起点 终点注:名称使用说明中的词汇,起点和终点均使用图 1-2中的符号或词汇。(分数:14)(1).使用说明中的词语,给出图 1-1中的实体 E1E3的名称。(分数:3)_(2).使用说明中的词语,给出图 1-2中的数据存储 D1D3的名称。(分数:3)_(3).给出图 1-2中加工 P的名称及其输入、输出流。(分数:4)_(4).在绘制数据流图时

4、,需要注意加工的绘制。请给出三种在绘制加工的输入、输出时可能出现的错误。(分数:4)_阅读下列说明,回答下列提出的问题,将解答填入答题纸的对应栏内。【说明】某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管理系统。【需求分析结果】(1)快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和地址。每个分公司可以有多名员工处理分公司的日常业务,每位员工只能在一个分公司工作。每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。(2)员工信息包括员工号、姓名、岗位、薪资、手机号和家庭地址。其中,员工号唯一标识员工信息的每一个元组。岗

5、位包括经理、调度员、业务员等。业务员根据客户提交的快件申请单进行快件受理事宜,一个业务员可以受理多个客户的快件申请,一个快件申请只能由一个业务员受理。调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,客户号唯一标识客户信息的每一个元组。当客户要寄快件时,先要提交快件申请单,申请号由系统自动生成。快件申请信息包括申请号、客户号、发件人、发件人电话、快件名称、运费、发出地、收件人、收件人电话、收件地址。其中,一个申请号对应唯一的一

6、个快件申请,一个客户可以提交多个快件申请,但一个快件申请由唯一的一个客户提交。【概念模型设计】【关系模型设计】根据需求阶段收集的信息,设计的实体联系图(图 2-1)和关系模型(不完整)如下:分公司(分公司编号,名称,经理,办公电话,地址)员工(员工号,姓名, (a) ,岗位,薪资,手机号,家庭地址)客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)申请单( (b) ,发件人,发件人电话,发件人地址,快件名称,运费,收件人,收件人电话,收件地址,受理标志,业务员)安排承运( (c) ,实际完成时间,调度员)(分数:15)(1).根据问题描述,补充五个联系,完善图 2-1的实

7、体联系图。联系名可用联系 1、联系 2、联系 3、联系 4和联系 5代替,联系的类型分为 1:1、1:n 和 m:n(或 1:1、1:*和*:*)。(分数:5)_(2).(1)根据实体联系图,将关系模式中的空(a)(c)补充完整;(2)给出员工、申请单和安排承运关系模式的主键和外键。(分数:5)_(3).(1)客户关系的通信地址可以进一步分为邮编、省、市、街道,那么该属性是否属于简单属性,为什么?请用 100字以内的文字说明。(2)假设分公司需要增设一位经理的职位,那么分公司与经理之间的联系类型应修改为(d),分公司的主键应修改为(e)。(分数:5)_阅读下列说明和图,回答下列提出的问题,将解

8、答填入答题纸的对应栏内。【说明】某城市拟开发一个基于 Web城市黄页,公开发布该城市重要的组织或机构(以下统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下:(1)搜索信息:任何使用 Internert的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、地址、联系电话等。(2)认证:客户若想在城市黄页上发布信息,需通过系统的认证。认证成功后,该客户成为系统授权用户。(3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信息,例如变更联系电话等。(4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,有系统管理员删除该客户的相关信息。系统采用面向对象方法进行开发,

9、在开发过程中认定出如表 3-1所示的类。系统的用例图和类图分别如图3-1和图 3-2所示。表 3-1 类列表类名 说明InternetClient 网络用户CustomerList 客户集,维护城市黄页上的所有客户信息Customer 客户信息,记录单个客户的信息RegisteredClient 授权用户Administrator 系统管理员(分数:15)(1).根据说明中的描述,给出图 3-1中 A1和 A2处所对应的参与者,UC1 和 UC2所对应的用例以及(1)处的关系。(分数:5)_(2).根据说明中的描述,给出图 3-2中 C1C5所对应的类名(表 3-1中给出的类名)和(2)(5)

10、处所对应的多重度。(分数:7)_(3).认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,在根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。(分数:3)_阅读下列说明和 C代码,回答下列提出的问题,将解答写在答题纸的对应栏内。【说明】某应用中需要对 100000个整数元素进行排序,每个元素的取值在 05 之间。排序算法的基本思想是:对每一个元素 x,确定小于等于 x的元素个数(记为 m),将 x放在输出元素序列的第 m个位置。对于元素值重复的情况,依次放入第 m-l、m-2、个位置。例

11、如,如果元素值小于等于 4的元素个数有 10个,其中元素值等于 4的元素个数有 3个,则 4应该在输出元素序列的第 10个位置、第 9个位置和第 8个位置上。算法具体的步骤为:步骤 1:统计每个元素值的个数。步骤 2:统计小于等于每个元素值的个数。步骤 3:将输入元素序列中的每个元素放入有序的输出元素序列。【C 代码】下面是该排序算法的 C语言实现。(1)常量和变量说明R: 常量,定义元素取值范围中的取值个数,如上述应用中 R值应取 6i:循环变量n:待排序元素个数a:输入数组,长度为 nb:输出数组,长度为 nc:辅助数组,长度为 R,其中每个元素表示小于等于下标所对应的元素值的个数。(2)

12、函数 sort1 void sort(int n,int a,int b)2 int cR,i;3 for (i=0;i)解析:(2).根据说明中的描述,给出图 3-2中 C1C5所对应的类名(表 3-1中给出的类名)和(2)(5)处所对应的多重度。(分数:7)_正确答案:(C1:InternetClient;C2:CustomerList;C3:Administrator;C4:RegisteredClientC5:Customer;(2)1 ;(3)0*;(4)01;(5)01)解析:(3).认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,在根据相应的原则从该集

13、合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。(分数:3)_正确答案:(候选类的选择运用了良性依赖原则“不会在实际中造成危害的依赖关系,都是良性依赖”和接口隔离原则(ISP)。)解析:阅读下列说明和 C代码,回答下列提出的问题,将解答写在答题纸的对应栏内。【说明】某应用中需要对 100000个整数元素进行排序,每个元素的取值在 05 之间。排序算法的基本思想是:对每一个元素 x,确定小于等于 x的元素个数(记为 m),将 x放在输出元素序列的第 m个位置。对于元素值重复的情况,依次放入第 m-l、m-2、个位置。例如,如果元素值

14、小于等于 4的元素个数有 10个,其中元素值等于 4的元素个数有 3个,则 4应该在输出元素序列的第 10个位置、第 9个位置和第 8个位置上。算法具体的步骤为:步骤 1:统计每个元素值的个数。步骤 2:统计小于等于每个元素值的个数。步骤 3:将输入元素序列中的每个元素放入有序的输出元素序列。【C 代码】下面是该排序算法的 C语言实现。(1)常量和变量说明R: 常量,定义元素取值范围中的取值个数,如上述应用中 R值应取 6i:循环变量n:待排序元素个数a:输入数组,长度为 nb:输出数组,长度为 nc:辅助数组,长度为 R,其中每个元素表示小于等于下标所对应的元素值的个数。(2)函数 sort

15、1 void sort(int n,int a,int b)2 int cR,i;3 for (i=0;i=0;i-) 即可。)解析:1.阅读下列说明和 C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表 5-1所示。表 5-1飞 起 飞机种类飞特征行特征直升机(Helicopter)垂直起飞(VerticalTakeOff)亚音速飞行(SubSonicFly)客机(AirPlane)长距离起飞(LongDistanceTakeOff)亚音速飞行(SubSonicF

16、ly)歼击机(Fighter)长距离起飞(LongDistanceTakeOff)超音速飞行(SuperSonicFly)鹞式战斗垂直起飞超音速飞机(Harrier)(VerticalTakeOff)行(SuperSonicFly)为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图 5-1所示。图 5-1中,AirCraft 为抽象类,描述了抽象的飞机,而类 Helicopter、AirPlane、Fighter 和 Harrier分别描述具体的飞机种类,方法 fly()和 takeOff()分别表示不同飞机都具有飞行特征和起飞特征;类FlyBehavior与 T

17、akeOffBehavior为抽象类,分别用于表示抽象的飞行为与起飞行为;类 SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类 VerticalTakeOff与 LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为。【C+ 代码】#includeusing namespace std;class FlyBehavior public : virtual void fly()= 0;class SubSonicFly:publicFlyBehaviorpublic: void fly() coutfly()(4)takeOffBehavior-takeOff()(5)SubSonicFly()(6)VerticalTakeOff()(7)Helicopter() 注:空(1)与空(2)答案可互换)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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