[计算机类试卷]2011年下半年软件水平考试(中级)软件设计师下午(应用技术)试题真题试卷及答案与解析.doc
《[计算机类试卷]2011年下半年软件水平考试(中级)软件设计师下午(应用技术)试题真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2011年下半年软件水平考试(中级)软件设计师下午(应用技术)试题真题试卷及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、2011年下半年软件水平考试(中级)软件设计师下午(应用技术)试题真题试卷及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图。 说明 某公司欲开发招聘系统以提高招聘效率,其主要功能如下: (1)接受申请 验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。 (2)评估应聘者 根据部门经理设置的职位要求,审查已经受理的申请;对未被录用的应聘者进行谢绝处理,将未被录用的应聘者信息存入未录用的应聘者表,并给其发送谢绝决策;对录用的应聘者进行职位安排评价,将评价结果存入评价结果表,并给其发送录用决策,发送录用职位和录用者信息给
2、工资系统。 现采用结构化方法对招聘系统进行分析与设计,获得如图 1-1所示的顶层数据流图、图 1-2所示 0层数据流图和图 1-3所示 1层数据流图。1 使用说明中的术语,给出图中 E1 E3所对应的实体名称。 2 使用说明中的术语,给出图中 D1 D2所对应的数据存储名称。 3 使用说明和图中的术语,给出图 1-3中加工 P1 P3的名称。 4 解释说明图 1-2和图 1-3是否保持平衡,若不平衡请按如下格式补充图 1-3中数据流的名称以及数据流的起点或终点,使其平衡 (使用说明中的术语或图中符号 )。4 阅读下列说明。 说明 某物流公司为了整合上游供应商与下游客户,缩短物流过程,降低产品库
3、存,需要构建一个信息系统以方便管理其业务运作活动。 需求分析结果 (1)物流公司包含若干部门,部门信息包括部门号、部门名称、经理、电话和邮箱。一个部门可以有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名经理,只需负责管理本部门的事务和人员。 (2)员工信息包括员工号、姓名、职位、电话号码和工资;其中, 职位包括:经理、业务员等。业务员根据托运申请负责安排承运货物事宜,例如:装货时间、到达时间等。一个业务员可以安排多个托运申请,但一个托运申请只由一个业务员处理。 (3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号,其中,客户号唯一标识客户信
4、息的每一个元组。每当客户要进行货物托运时,先要提出货物托运申请。托运申请信息包括申请号、客户号、货物名称、数量、运费、出发地、目的地。其中,一个申请号对应唯一的一个托运申请;一个客户可以有多个货物托运申请,但一个托运申请对应唯一的一个客户号 。 概念模型设计 根据需求阶段收集的信息,设计的实体联系图和关系模式 (不完整 )如图 2-1所示。关系模式设计 部门 (部门号,部门名称,经理,电话,邮箱 ) 员工 (员工号,姓名,职位,电话号码,工资, (a) 客户 (b),单位名称,通信地址,所属省份,联系人,联系电话,银行账号 ) 托运申请 (c),货物名称,数量,运费,出发地,目的地 ) 安排承
5、运(d),装货时间,到达时间,业务员 ) 5 根据问题描述,补充四个联系、联系的类型,以及实体与子实体的联系,完善图2-1所示的实体联系图。 6 根据实 体联系图,将关系模式中的空 (a) (d)补充完整。分别指出部门、员工和安排承运关系模式的主键和外键。 7 若系统新增需求描述如下: 为了数据库信息的安全性,公司要求对数据库操作设置权限管理功能,当员工登录系统时,系统需要检查员工的权限。权限的设置人是部门经理。为满足上述需要,应如何修改 (或补充 )图 2-1所示的实体联系图,请给出修改后的实体联系图和关系模式。 7 阅读下列说明和图。 说明 Pay int m=3; int cc=4; i
6、nt w33=1,2,3,3,2,1,2,2,2; int c33=1,2,3,3,2,1,2,2,2; int bestW=8; int bestC=0; int bestX3=0, 0, 0; int cw=0; int cp=0; int x3=0, 0, 0; int backtrack (int i) int j=0; int found=0; if(i n-1) /*得到问题解 */ bestW=cw; bestC=cp; for(j=0; j n; j+) (1) ; return 1; if (cp =cc)(/*有解 */ found=1; for(j=0; (2) ; j+
7、) /*第 i个部件从第 j个供应商购买 */ (3) ; cw=cw+wi j; cp=cp+ci j; if (cp =cc ) /*回溯 */ cw=cw - wi j; (5) ; return found; 11 (1) 12 (2) 13 (3) 14 (4) 15 (5) 15 阅读下列说明和 C+代码。 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售 2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图 5-1所示。 采用状态 (State)模式来实现该纸巾售卖机,得到如图 5-2所示的类图。其中类 State为抽象类,定义了投币、退币、出纸巾等方法接口。类
8、SoldState、 SoldOutState、NoQuarterState和 HasQuarterState分别对应图 5-1中纸巾售卖机的 4种状态:售出纸巾、纸巾售完、没有投币、有 2元 钱。C+代码 #include iostream using namespace std; /以下为类的定义部分 class TissueMachine; /类的提前引用 class State public: virtual void insertQuarter()=0; /投币 virtual void ejectQuarter()=0; /退币 virtual void turnCrank()=0
9、; /按下 “出纸巾 ”按钮 virtual void dispense()=0; /出纸巾 ; /*类 SoldOutState、 NoQuarterState、HasQuarterState、 SoldState的定义省略, 每个类中均定义了私有数据成员TissueMachine* tissueMachine;*/ class TissueMachine private: (1) *soldOutState, *noQuarterState, *hasQuarterState,*soldState, *state; int count; /纸巾数 public: TissueMachine
10、 (int numbers); void setState (State* state); State* getHasQuarterState(); State* getNoQuarterState()j State* getSoldState(); State* getSoldOutState(); int getCount()j /其余代码省略 ; /以下为类的实现部分 void NoQuarterState :insertQuarter() tissueMachine- setState( (2) ); void HasQuarterState :ejectQuarter() tissu
11、eMachine- setState( (3) ); void SoldState :dispense() if (tissueMachine- getCount() 0) tissueMachine-setState( (4) ); else tissueMachine- setState( (5) ); /其余代码省略 16 (1) 17 (2) 18 (3) 19 (4) 20 (5) 20 阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售 2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图
12、6-1所示。采用状态(State)模式来实现该纸巾售卖机,得到如图 6-2所示的类图。其中类 State为抽象类,定义了投币、退币、出纸巾等方法接口。类 SoldState、 SoldOutState、NoQuarterState和 HasQuarterState分别对应图 6-1中纸巾售卖机的 4种状态:售出纸巾、纸巾售完、没有投币、有 2元钱。Java代码 import java.util.*; interface State public void insertQuarter(); /投币 public void ejectQuarter(); /退币 public void turnC
13、rank(); /按下 “出纸巾 ”按钮 public void dispense(); /出纸巾 class TissueMachine (1) soldOutStater noQuarterState, hasQuarterState, soldState,state; state - soldOutState; int count=0; /纸巾数 public TissueMachine (int numbers) /*实现代码省略 */ public State getHasQuarterState() return hasQuarterState; public State getN
14、oQuarterState() return noQuarterState; public State getSoldState() return soldState; public State getSoldOutState() return soldOutState; public int getCount() return count; /其余代码省略 class NoQuarterState implements State TissueMachine tissueMachine; public void insertQuarter() tissueMachine. setState(
15、 (2) ); /构造方法以及其余代码省略 class HasQuarterState implements State TissueMachine tissueMachine; public void ejectQuarter() tissueMachine.setState( (3) ); /构造方法以及其余代码省略 class SoldState implements State TissueMachine tissueMachine; public void dispense() if(tissueMachine .getCount() 0) tissueMachine.setStat
16、e( (4) ); else tissueMachine.setState( (5) ); 21 (1) 22 (2) 23 (3) 24 (4) 25 (5) 2011年下半年软件水平考试(中级)软件设计师下午(应用技术)试题真题试卷答案与解析 一、必答题( 共 4道大题,每道大题 15分) 1 【正确答案】 E1:应聘者 E2:部门经理 E3:工资系统 【试题解析】 本题考查数据流图 (DFD)的应用,采用结构化方法进行系统分析与设计,是一道传统题目,要求考生细心分析题目中所描述的内容。 DFD是一种便于用户理解、分析系统数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。 本问题考查
17、顶层 DFD。顶层 DFD -般用来确定系统边界,将待开发系统看作一个加工,因此图中只有唯一的一个处理和一些外部实体,以及这两者之间的输入输出数据流。 外部实体可以是使用系统的用户,也可以是为系统提供输入或接收系统输出的外部系统。本问题要求根据描述确定图中的外部实体。应仔细分析题目中描述,并结合已经在顶层数据流图中给出的数据流进行分析。从题目的说明中可以看出,与系统的交互者包括应聘者、部门经理和工资系统。分析说明中的描述可知,应聘者提供自身信息,并接收系统验证合格后的致谢信息等。部门经理设置职位要求。对录用者而言,将其录用职位和信息发送给工资系统。对应图1-1中数据流和实体的对应关系,可知 E
18、1为应聘者, E2为部门经理, E3为工资系统。 2 【正确答案】 D1:未录用的应聘者表 D2:评价结果表 【试题解析】 本问题考查 DFD中数据存储的确定。本题中涉及的数据存储只有2个,一个是存储未被录用的应聘者信息,即未录用的应聘者表;另一个是存储对录用的应聘者进行职位安排评价的评价结果,即评价结果表。可以确定图 1-2中D1和 D2为未录用的应聘者表和评价结果表,因为有一个处理与这两个数据存储相关,需要再对应图 1-3,可确认 D1为未录用的应聘者表, D2为评价结果表。 3 【正确答案】 P1:验证信息 P2:审查申请 P3:职位安排评价 【试题解析】 本问题考查 1层 DFD中缺失
19、的处理。从说明 (1)中接受申请的描述功能,需先对应聘者信息进行验证,受理验证合格的申请,可知缺失的处理 P1为验证信息。说明 (2)中,根据职位要求,审查已经受理的申请,对录用者进行职位安排评价,可知缺失的处理 P2为审查申请, P3为职位安排评价。 4 【正确答案】 答案 :不平衡。图 1-2中加工的输入输出流与其子图 1-3中的输入输出流的数量不同。 【试题解析】 本问题考查绘制分层 DFD时的注意事项。在分层 DFD中,需要保持父图与子图的平衡。即父图中某 加工的输入输出数据流必须与其子图的输入输出数据流在数量和名字上相同,或者父图的一个输入 (或输出 )数据流对应于子图中几个输入 (
20、或输出 )数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流。 本题中,图 1-2中加工的输入输出流与其子图 1-3中的输入输出流的数量不同。也无需将父图中一条数据流分解成子图中多条数据流,因此,补充子图中缺失的输入或输出数据流:录用职位、已受理的申请、谢绝决策。 5 【正确答案】 【试题解析】 本题考查数据库系统中实体联系模型 (E-R模型 )和关系模式设计 方面的应用知识。 两个实体集之间的联系类型分为三类:一对一 (1:1)联系、一对多 (1:n)联系和多对多 (m:n)联系。 根据题意,每名员工只能在一个部门工作,所以部门和员工之间有一个 1:n的“所属 ”联系;由于
21、每个部门有一名经理,只需负责管理本部门的事务和人员,因此部门和经理之间有一个 1:1的 “管理 ”联系;由于一个业务员可以安排多个托运申请,但一个托运申请只由一个业务员处理,故业务员和托运申请之间有一个 1:n的“托运 ”联系;又由于一个客户可以有多个货物托运申请,但一个托运申请对应唯一的一个客户号, 故客户和托运申请之间有一个 1:n的 “申请 ”联系。 根据上述分析,完善图 2-1所示的实体联系图可参见参考答案 6 【正确答案】 【试题解析】 根据题意,部门和员工之间有一个 1:n的 “所属 ”联系需要将一端的码并入多端,故员工关系模式中的空 (a)应填写部门号;在客户关系模式中,客户号为
22、主键,故空 (b)应填写客户号;在托运申请关系模式中,申请号、客户号为主键,故空 (c)应填写申请号、客户号;又由于一个业务员可以安排多个托运申请,但一个托运申请只由一个业务员处理,因此在安排承运关系模式中,申请号为主键,故空 (d)应填写申请号。 部门关系模式中的部门号为主键,经理为外键;因为经理来自员工关系。员工关系模式中的员工号为主键,部门号为外键,因为部门号来自部门关系。安排承运关系模式中的申请号为主键,业务员为外键,因为业务员来自员工关系。 7 【正确答案】 关系模式:权限 (员工号,权限,设置人 )或权限 (员工号,权限,部门经理 ) 【试题解析】 根据题意,权限的设置人是部门经理
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2011 年下 半年 软件 水平 考试 中级 设计师 下午 应用技术 试题 答案 解析 DOC

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