软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷40_第1页
软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷40_第2页
软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷40_第3页
软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷40_第4页
软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷40_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件水平考试(中级)软件设计师下午

(应用技术)试题模拟试卷40

一、必答题(本题共16题,每题1.0分,共16分。)

阅读以下某房屋租赁服务系统的技术说明和数据流图,根据要求回答问题1〜问题

4。[说明]某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者

的信息,从而快速地提供租赁服务。该系统具有以下功能。(1)登记房主信息:对

于每名房主,系统需登汜其姓名、住址和联系电话,系统还将为其分配一个唯一的

身份标识(ID)和密码,并将这些信息写入房主信息文件。(2)登记房屋信息:所有

在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其

分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平房、带阳台的楼

房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状态(待租赁、已出租)。

这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房

屋。(3)收取手续费:房主登记完房屋后,系统会生成一份费用单,房主根据费用

单交纳相应的费用。(4)登记租赁者信息:所有想通过该系统租赁房屋的租赁者,

必须首先在系统中登记个人信息,租赁者信息包括姓名、现住址、电话号码、出生

年月、性别,以及系统分配的唯一身份标识(ID)和密码。这些信息都保存在租赁者

信息文件中。(5)租赁房屋:已经登记在系统中的租赁者,可以得到一份系统提供

的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统

将安排租赁者与房主见面的时间和地点,并将见面信息(包含见面双方的基本信息)

通知租赁者和房主。对于每次看房,系统会生成一条看房记录并将其写入看房记录

文件中.(6)变更房屋状态,当租赁者与房主达成和房或退房协议后,房主向系统

提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。该房屋

租赁服务系统的顶层数据流图如图5/0所示,图5-11是其第0层数据流图。

房JB侑■_

房屋租黄

磨堡

■房安挎

■房支推・认

看用房・"求

图5/1某房屋租赁服务系统第0层数据流图

1、请使用[说明]中给出的词汇,将该房屋租赁服务系统顶层数据流图(见图5-10)中

(1)〜(4)空缺处的数据流补充完整。

标准答案:这是一道要求读者掌握分层DFD父图与子图平衡原则和输入榆出平衡

原则的综合分析题.本题的解答思路如下-①仔细阅读题干给出的[说明]信息,

并注意到关键信息”收取手续费:房主登记完房屋后,系统会生成一份费用单,房

主根据费用单交纳相应的费用''可知,在图5-10中处理“房屋租赁服务系统”应有一

个“费用单”数据流输出至外部实体“房主这一点也体现在图5-11中,即处理“2

登记房屋信息”有一条“费用单''数据流输出至外部实体“房主”,因此图5-10中⑴空

缺处的输出数据流是“费用单”。②由题干给出的关键信息“相赁房屋:已经登记在

系统中的租赁者,可以得到一份系统提供的待租赁房屋列表……”,给合图5-11中

处理“4查询待租赁房屋信息”有一条“待租赁房屋列表”数据流输出至外部实体“租赁

者”可知,在图5-10中⑵空缺处的输出数据流是“待租赁房屋列表”。③由题干给

出的关键信息“租赁房屋:已经登记在系统中的租赁者……租赁者从中(即待租赁房

屋列表)找到合适的房屋,就可以提出看房请求。系统会……可知,在图5-10中

应有一条“看房请求”数据流从外部实体“租赁者”输入到处理“房屋租赁服务系统”。

因此图5-10中(3)空缺处的输入数据流是“看房请求”。④由题干给出的关键信息

“变更房屋状态:当租赁者与房主达成租房或退房协议后,房主向系统提交变更房

屋状态的请求。系统将……”可知,在图5-10中应有一条“变更房屋状态请求”数据

流从外部实体“房主”输入到处理“房屋租赁服务系统”。因此图5-10中(4)空缺史的

输入数据流是“变更房屋状态请求”。

知识点解析:暂无解析

2、请使用[说明]中给出的词汇,将该房屋租赁服务系统第0层数据流图(见图5-11)

中的(5)〜(8)空缺处的数据存储补充完整。

标准答案:这是一道要求读者掌握分层DFD局部数据存储隐蔽性原则的综合分析

题。本题的解答思路如下。①由于在图5-11中(5)空缺处的数据存储与处理“1登

记房主信息”相关联,因此应重点阅读题干说明中“登记房主信息”相关的信息。由

题干绐出的关键信息'、登记房主信息:对于每名房主……并将这些信息写入房主信

息文件”可知,在图5-11中处理“1登记房主信息”应有一条“房主信息”数据流输出

到数据存储“房主信息文件”,即图5-11中(5)空缺处的数据存储是“房主信息文

件②由题干给出的关键信息“登记房屋信息:所有在系统中登记的房屋……这

些信息都保存在房屋信息文件中……”可知,在图5-11中处理“2登记房屋信息”应

有一条“房屋信息”数据流输出到数据存储“房屋信息文件”,因此图5-11中(7)空缺

处的数据存储是“房屋信息文件另外,在图5-11中(7)空缺处的数据存储也与处

理“6变更房屋状态”相关联。由题干给出的关键信息、”变更房屋状态:当租赁者与

房主达成……系统将根据房主的请求,修改房屋信息文件”可知,在图5-11中处理

“6变更房屋状态”应有一条“房屋变更信息”数据流输出给数据存储“房屋信息文

件③由题干给出的关键信息”登记租赁者信息」所有想通过该系统租赁房屋的

租赁者……这些信息都保存在租赁者信息文件中。”可知,处理“3登记租赁者信

息”应有一个“租赁者信息”数据流输出到数据存储“租赁者信息文件”,因此图5-11

中(6)空缺处的数据存储是“租赁者信息文件”。④由题干给出的关键信息“租赁房

屋:已经登记在系统中的租赁者……对于每次看房,系统会生成一条看房记录并将

其写入看房记录文件中”可知,处理“5安排租赁者看房”应有一条“看房记录”数据流

输出到数据存储“看房记录文件”,因此图5-11中⑻空缺处的数据存储是“看房记录

文件

知识点解析;暂无解析

3、请将以下与租赁者信息相关的数据字典条目补充完整。登录信息二租赁者ID+

密码注册信息=(9)租赁者信息=(10)

标准答案:由题干给出的关键信息“登记租赁者信息:所有想……租赁者信息包括

姓名、现住址、电话号码、出生年月、性别,以及系统分配的唯一身份标识(ID)和

密码”,结合试题中已给出的信息”登录信息:租赁者ID+密码”可知,该系统将“租

赁者信息”划分为“登录信息''和"注册信息''两部分,所以租赁者信息中除去登录信

息就是注册信息,将其表达成数据字典条目形式如下。注册信息:姓名+现住址+电

话号码+出生年月+性别租赁者信息=登录信息+注册信息

知识点解析:暂无解析

4、该房屋租赁服务系统第。层数据流图(见图5-11]中缺失了一些数据流,请指出

所缺失数据流的名称、起点和终点。

标准答案:这也是一道要求读者掌握分层DFD父图与子图平衡原则和输入/输出平

衡原则的综合分析题。本题的解答思路如下。①结合[问题1]的分析结果可知,在

图5-10中与外部实体“租赁者”相关的输入/输出数据共有5条(即租赁者信息、待租

赁房屋列表、看房请求、看房通知和查询房屋请求),而在图5-11中与外部实体

"租赁者''相关的输入/输出数据仅画出了3条(即待租赁房屋列表、看房通知和查询

房屋请求),缺少了“租赁者信息”和“看房请求''这两条数据流。②由题干给出的关

键信息“登记租赁者信息:所有想通过该系统租赁房屋的租赁者,必须首先在系统

中登记个人信息……这些信息都保存在租赁者信息文件中”可知,在图5-11中应有

•条“租赁者信息”数据流从外部实体“租赁者”输入到处理“3登记租赁者信息”,然

后再将租赁者的相关信息保存到数据存储“租赁者信息文件''中。③由题干给出的

关键信息“租赁房屋:己经登记……一旦租赁者从中找到合适的房屋,就可以提出

看房请求。系统会安排租赁者与房主见面的时间和地点,并将见面信息(包含见面

双方的基本信息)通知租赁者和房主。对于每次看房,系统会生成一条看房记录并

将其写入看房记录文件中“可知,在图5-11中应有一条“看房请求”数据流从外部实

体“租赁者”输入到处理“5安排租赁者看房”,然后再将看房记录保存到数据存储“看

房记录文件”中。同时注意到“将见面信息(包含见面双方的基本信息)通知租赁者和

房主”这一关键信息,见面双方的基本信息也被包含在“见面信息”中,安排见面时

需要查询租赁者信息文件和房主信息文件以获得双方的基本信息,并将见面信息通

知双方,因此在图5-11中应有一条“查询租赁者信息”数据流从处理“5安排租赁者

看房”输出到数据存储“租赁者信息文件”;在图5-11中还应有一条“查询房主信息”

数据流从处理“5安排租赁者看房”输出到数据存储“房主信息文件”。④同理,在图

5-10中与外部实体“房主”相关的输入/输出数据共有6条,而在图5-11中与外部实

体“房主”相关的输入/输出数据仅画出了5条,即缺少了数据流“变更房屋状态请

求⑤由题干给出的关键信息“变更房屋状态:当租赁者与房主达成租房或退房

协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋

信息文件”可知,在图5-11中应有一条“变更房屋状态请求”数据流从外部实体“房

主''输入到处理“6变更房屋状态”。

知识点解析:暂无解析

阅读以下某工厂人事信息管理系统数据库的设计说明,根据要求回答问题1〜问题

4。【说明]某工厂有多个部门,每个部门有多位职工,每位职工属于并且仅属于一

个部门,每个部门有一位负责人,每个办公室有一部电话。每位职工的月工资大致

是:800W月工资“500元。软件开发公司A为该工厂开发的信息管理数据库的部

分关系模式如下所示。职工(职工号,姓名,年龄,月工资,部门号,电话,办公

室)部门(部门号,部门名,负责人代码,任职时间)其中“职工”和“部门”的关系示

例分另ij见表5-17和表5-18。

表5-17“职工”关系示例表

职工号姓名年龄月工资部门号电话办公室

1001郑俊华26100018001234主楼201

1002王平27110018001234主楼201

2001王晓华381300280012351号楼302

2002李力24800280012361号楼303

3001黎运军42130038001237主楼202

4001李源24800380012452号楼102

4002李兴民361200480012462号楼103

5001赵欣250Null••••••

•••••••••••••••••••■•

表5-18“部门”关系示例表

部门号部门名负责人代码任职时间

1人事处10022004-8-3

2机关20012004-8-3

3销售科

4生产科40022003-6-1

5车间

5、请使用“关系模式标记规则”(见本题附录),给出上述各关系模式的主键和外

键。

标准答案:这是一道要求考生根据题目给定的关系模式,以及属性间的函数依赖关

系和给定的关系实例来确定各关系模式主键和外键的综合分析题。木试题的解答思

路如下。(1)由试题中给出的关键信息“某工厂有多个部门,每个部门有多位职工,

每位职工属于并且仅属于一个部门,每个部门有一位负责人.....每位职工的月工

资大致是:800W月工资“500元”,可以整理出如表5-24所示的关系模式主要属

性、含义及约束。

表5-24主要属性、含义及约束表

属性含义及约束

职工号唯一标识每个职工的编号,每个职工属于并且仅属于一个部门

部门号唯一标识每个部门的编号,每个部门有一个负责人,且他也是一位职工

月工资500W月工资W5000元

(2)设K为R(U,F)中的属性的组合,若且对于K的任何一个真子集K,,都

有K,不能决定U,则K为R的候选码(候选关键字)。若有多个候选码,则选一个

作为主码(主键)。(3)部门关系模式的主键和外键。由题目中给出的关键信息“某工

厂有多个部门,……每个部门有一位负责人“,并且结合试题所给出的“部门”关系

示例(见表5-18)可知,仅用“部门号”作为主键,可以唯一区分部门关系中的每一个

元组。同时考虑到部门负责人应该来自职员,所以“负责人代码”应为部门关系模式

的外键。最后可得部门关系模式的主键和外键如下:部门(部门号,部门名,

负贡人代码,任职时间)(4)职工关系模式的主键和外键。由题干中给出的关键信息

“每位职工属于并且仅属于一个部门”可知,仅用"职工号''作为主键,可以唯一区分

职工关系中的每一个元组0同时考虑到“部门号”是部门关系模式的主犍,所以它应

是职工关系模式的外键。最后可得职工关系模式的主键和外键如下:职工(职工

号,姓名,年龄,月工资,部C1号,电话,办公室)。

知识点解析:暂无解析

6、对于表5-17和表5-18所示的“职工”和“部门”关系,请指出表5-19中第①、②

和③行是否允许插入?请分别用100字以内的文字简要说明理由。

表5-19新噌“职工”关系示例表

行号职工号姓名年龄月工资部门号电话办公室

①1001王新军28100018001234主楼201

②2003李力281000

③5802赵晓啸361500680015683号楼503

标准答案:这是一道要求考生掌握完整性定义的约束性的综合分析题。本试题的解

答思路如下。(1)用SQL定义关系模式的一个非常重要的问题是完整性控制。完整

性控制应具有①定义功能、②检测功能和③处理功能等3方面的功能。一旦发现

违背了完整性约束条件,则应采取相关的动作来保证数据的完整性。数据库中最重

要的约束是声明一个或一组属性形成关系的键。键的约束在SQL的CREATE

TABLE命令中声明。在关系系统中,最重要的完整性约束条件是:实体完整性和

参照完整性。(2)实体完整性定义。在关系中只能有一个主键。声明主键有以下两

种方法:①将PRIMARYKEY保留字加在属性类型之后;②在属性列表中引入一

个新元素,该元素包含保留字PRIMARYKEY和用圆括号括起的,形成该键的属

性或属性组列表。(3)参照完整性定义。定义格式如下:

FOREIGNKEY(属性名)REFERENCES表名(属性名)

【ONDELETECASCADEISETNULL]参照完整性是通过使用保留字

“FOREIGNKEY”定义哪些列为外码;REFERENCES用于指明外键对应于哪个表

的主键:ONDELETECASCADE指明删除被参照关系的元组时,同时删除参照关

系中的元组;SETNULL表示置为空值方式。(4)由于在职工表的定义中,职工号

主码是唯一标识每个元组(记录)的,而在表5-19第①行中的职工号是“1001”,在

题目给出的表5-17“职工”关系示例表中已经存在该职主号的记录,为了保证实体的

完整性,该条记录不能插入。(5)表5-19第②行的元组可以插入到表5-17“职工”关

系表中,尽管部门号、电话和办公室为空,但是它表示该雇员暂时没有分配到某个

部门。虽然职工表中部门号是外键,但在定义中也没有约束它不能为空。(6)表5-

19第③行的元组不能插入到表5-17“职工”关系表中,部门号是外键,而在部门关

系中找不到部门号为“6”的元组,违反了参照完整性,所以不能做插入操作。

知识点解析:暂无解析

7、查询每个部门中月工资最高的“职工号”的SQL查询语句如下。

Select职工号from职工E

where月工资=(SelectMax(月工资)

fromWCasM

whereM.部门号=E.部门号)(])请用30字以内文字简要说明该查询语句对查

询效率的影响。(2)对该查询语句进行修改,使它既可以完成相同功能,乂可以提

高查询效率。

标准答案:这是一道要求考生分析查询效率的综合分析题。通常在涉及相关查询的

某些情形中,构造临时关系可以提高查询效率。(1)试题中所给出的SQL查询语

句,对于外层的职工关系E中的每一个元组,都要对内层的整个职工关系M进行

检索,因此查询效率不高。(2)对该查询语句进行修改,使它既可以完成相同功

能,乂可以提高查询效率。解答思路①:改正后的SQL语句使用了临时表。

SelectMax(月工资)as最高工资,部门号intcTernpfrom职T

Groupby部门号

Selecz号fromKX,Temp

where月工资=最高工资and职工.部门号=Tenp.部门号解答思路②:

Select职工号from职工,(SelectMax(月工资)as最高匚资,部门号Groupby部门W)

asdepMax

where月工资-1ft高1-资and职工用门号:depMax.部门号

知识点解析:暂无解析

8、假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select

查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完

成相同功能又可以提高查询效率的SQL语句。

Select姓名,年龄,月工资from职工

where年龄>45or月工资<100Ci

标准答案:本试题所给出的原Select查询语句中使用了条件or,系统在查询的时候

将对全表进行扫描,不会促使查询优化器使用索引,从而降低了查询效率。既可

以完成相同功能乂可以提高查询效率的SQL语句修改如下。

Select姓名,年龄,月工资from职工

where年龄>45;

union

Select姓名,年龄,月工资frocr.职工

where年龄月工费(1000:

知识点解析:暂无解析

9、该数据库系统在设计时,采用了异构数据库技术。请给出目前3种通用的异构

数据库查询技术。[附]关系模式的标记规则如下关系名(属性名1,属性名

2,属性名n)其中:①若该属性仅为主键属性时,则该属性名下画实下画

线;②若该属性仅为外键属性时,则该属性名下画虚下画线;③若该属性既是主

键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;④若该属性

既不是主键属性,乂不是外键属性时,则在该属性名下不做标记。

标准答案:这是一道要求考生掌握异构数据库的基本概念题。本题所涉及的知识点

如下。异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和

透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有各自

的DMBS。异构数据库的各个组成部分具有自身的自治性,实现数据共享的同

时,每个数据库系统仍保有各自的应用特性、完整性控制和安全性控制。目前通用

的异构数据库查询技术包括公共数据库网关技术、公共协议技术和公共编程接口技

术。

知识点解析:暂无解析

阅读以下UML类图及其说明,根据要求回答问题I〜问题4。[说明]某客户信息

管理系统中保存着两类客户的信息:①个人客户。对于这类客户,系统保存了其

客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。②集团客户。

集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客

户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住

宅电话、E-mail、办公电话以及职位。该系统除了可以保存客户信息之外,还具有

以下功能:①向系统中添加客户(addCustomer);②根据给定的客户标识在系统中

查找该客户(getCustomer);③根据给定的客户标识从系统中删除该客户

(removeCustomer);④创建新的联系人(addContactj;⑤在系统中查找指定的联系

人(getContact);⑥从系统中删除指定的联系人(removcContact)。该系统采用面向

对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表5-20所示的

类。

表6-20客户信息管理系统类表

类名说明

CustomerlnformationSystem客户信息管理系统

IndividualCustomer个人客户

InstitutionalCustomer集团客户

Contact联系人

眄述该置户信息管理系统的UML类图如图5-12所示。

ICustoaerlnforBHtionSysteaI

----------3rp-----------

|Custceer"|

[IM£v,dua!Cu$toaor]|InttitutionalCustcwr|

(5)1Hi

'---尸]

[叫:――」

图542客户信息管理系统的UML类图

10、根据上述描述,图5-12中类Cuslomer的属性是(1);类Person的属性是(2)。

(1)A.客户标识B.姓名、住宅电话、E-mailC.客户标识、办公电话、职位

D.姓名、住宅电户、办公电话、E-mail、职位⑵A.客户标识B.姓名、住

宅电话、E-mailC.客户标识、办公电话、职位D.姓名、住宅电户、办

公电话、E-mail>职位

标准答案:由试题关键信息”……对于这类客户(个人客户),系统保存了其客户标

识……对于这类客户(集团客户),系统保存了其客户标识……”可知,“客户标识”是

个人客户和集团客户的共同属性,囚此该标识也必然是类“客户”的一个属性。据此

可先排除(1)空缺处的选项B和选项D。而选项C的“办公电话、职位”是类

InstitutionalCustomer(集团客户)的属性,如果它们也是类“客户”的属性,那么类

Individualcustomer(个人客户)也必然继承这两个属性,而试题中对于类“个人客户”

无此相关描述,可见选项C不是正确答案。因此依据试题的描述,类Customer(客

户)的属性只有“客户标识”。因此(1)空缺处的正确答案是选项A。在UML类图

中,---->'表示其相连的两个类之间存在泛化关系,即在图5-12中类Person(人)

是类Contact(联系人)的基类;----表示其相连的两个类之间存在关联关系,即

在图5-12中类Person与IndividualCuslomer(个人客户)之间具有关联关系。由试题

关键信息“对于这类客户(个人客户),系统保存了其客户标识和基本信息(包拈姓

名、住宅电话和E-mail)”,以及对⑴空缺处解析中类“个人客户”继承了类“客户”的

“客户标识”属性,可见类“个人客户”还有“姓名、住宅电话和E・mail”属性没有体

现,在图5-12中这些属性应该从类Person(人)中进行关联。从试题关键信息“联系

人的信息包括姓名、住宅电话、E-mail.办公电话和职位”可知,类Contact(联系

人)除了从类"人''中继承了“姓名、住宅电话和E-mail”属性之外,还追加了“办公电

话、职位”属性。这一点分析也证明了类Person(人)具有“姓名、住宅电话和E-mail”

的属性。因此⑵空缺处的正确答案是选项B。

知识点解析:暂无解析

11、识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的

描述,请将图5-12中⑶〜(8)空缺处的内容填写完整。

标准答案:关联表示了对象间的结构关系,它暗示两个类在概念上位于相同的级

别。在UML类图中,符号,-A表示其相连的两个类之间存在关联关系。识别

关联的多重度是面向对象建模过程中的一个重要步骤。即说明一个关联的实例中有

多少个相互连接的对象是很重要的。其中,这个“多少”被称为关联角色的多重度,

把它写成一个表示取值范围的表达式或写成一个具体值。指定关联一端的多重

度,就是说明在关联另一端的类的每个对象要求在本端的类必须有多少个对象。由

题干给出的关键信息“集团客户可以创建和管理自己的若干名联系人”可知,类

InstitutionalCustomer(集团客户)和类Contact(联系人)之间存在着一对多(l:m)的联

系。根据图5-12类图中给出的关联导航,(7)空缺处应填入(8)空缺处应填入

“1…叱。客户管理系统中必然包含若干个需要管理的客户信息,即类

CustomcrInfonnationSysicm(客户信息管理系统)与类Customer(客户)之间存在着一

对多(l:m)的联系。根据图5-12类图中给出的关联导航,(3)空缺处应填入“1”,(4)

空缺处应填入“0...*”。根据[问题1]的解析可知,类Person(人)的属性有姓名、住

宅电话和E-mail,类Customer(客户)的属性是“客户标识类

Individualcustomer(个人客户)从类Customer只能继承到属性“客户标识”,其他的属

性都要依靠与类Person之间的关联关系来获取,即类Person(人)、类

Individualcustomer(个人客户)端的关联多重度均为"I”。因此(5)空缺处应填入“1”,

(6)空缺处应填入“1”。

知识点解析•:暂无解析

12、根据说明中的叙述,抽象出如表5-21所示的方法。

表5-21各方法名称及功能描述表

功能描述方法名

向系统中添加客户addCustomer

根据给定的客户标识,在系统中查找该客户getCustomer

根据给定的客户标识,从系统中删除该客户removeCustomei

创建新的联系人addContact

在系统中查找指定的联系人getContact

从系统中删除指定的联系人removeContact

请指出图5-12中,类CuslomerlnformationSystem应具有的方法:(9);类

InstitutionalCustomer应具有的方法:(10)。

标准答案:类CustomerlnformalionSyslem(客户信息管理系统)的作用是向用户提供

与客户管理相关的操作接口,所以addCustomer、getCustomer和removeCuslomer

是类CustomerlnfomiationSystem(客户信息管理系统)的方法。由于联系人是由集团

客户创建和管理的,按照面向对象的理念,与联系人相关的直接操作应由类

InslilutionalCustomer(集团客户)来提供。因此addContact>getContact和

rcinovcContact是类InstitutionalCustomer(集团客户)的方法。

知识点解析:暂无解析

13、关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。请用

150字以内的文字简要说明关联和聚集的关系,并说明其不同之处。

标准答案:在UML规范中,构成关系可以使用关联和聚集来表示。关联

(Association)关系用于描述两个概念上位于相同级别的类的实例之间存在的某种语

义上的联系。例如,售票员小张为某个长途汽车站工作,1个汽车站有多辆长途汽

车,那么售票员小张与长途汽车站、汽车站与汽车就存在着关联关系。聚集

(Aggregation)关系是关联关系的一种特例(即聚集是关联的一种),它代表两个类之

间的整体和局部关系。例如,一台电脑与键盘、鼠标、显示器之间就存在着聚集关

系。聚集暗示着整体在概念上处于比局部更高的一个级别,在实例图中不存在回

路,即只能是一种单向关系;而关联暗示两个类在概念上位于相同的级别。换言

之,聚集表示部分与整体关系的关联。若从生命周期的角度考虑,则关联对象的生

命周期一般无必然关系,聚集的整体对象往往对部分对象的生命周期负责。另

外,聚集和组装也是UML中两种非常重要的关系,它们都表示实例之间的整体/部

分关系。组装(Composition)关系是聚集关系的一种特殊形式,它暗示“局部”在“整

体''内部的生存期职责。例如,某电子商务公司与其销售部、财务部之间就存在着

组装关系。聚集是概念性的,只是区分整体与部分。组装具有很强的归属关系,

而且整体与部分的对象生存周期是一致的。

知识点解析:暂无解析

阅读以下标准书号校验码的技术说明和程序流程图,根据要求回答问题1至问题

3。【说明|为实现图书的国际统一编码,便于实现口算机化的图书管理,每本正式

出版的图书都印有国际标准书号。标准书号由“ISBN”、10个数字(0〜9)组成,其

格式如下。ISBN组号-出版者号-书名号-校验码其中,校验码是根据前面9个数字

计算得到的,用于计算机自动校验。假设标准书号的10个数字依次是a(l),

a(2)........a(10),则校验码a(10)的设置应使S=10*a(l)十/a(2)+8*a(3)+…+l*a门0)

能被11整除。如果校验码a(10)应设置成10,则规定以“X”表示之。例如,《软件

设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-5。第

1段上的数字“7”是国际ISBN中心分配给中国ISBN中心管理的组号;第2段上的

“121”表示电子工业出版社。标准书号的校验过程如图5-13所示,计算校验码的过

程如图5・14所示。其中,Mod(S,11)表示S除以11得到的余数。

图5・13标准书号的校验过程

图5・14计算校验码的过程

14、请根据标准书号校验码的技术说明,将图5-13和图5-14程序流程图中⑴〜(4)

空缺处的内容填补完整。

标准答案:制订标准书号的目的是实现图书的国际统一编码,以便于实现计算机化

的图书管理,使出版社内的图书管理、书库中的图书管理以及书店的图书销售管理

具有更高的工作效率和管理水平。标准书号由“ISBN”、10个数字(0〜9)组成,采

用“ISBN组号-出版者号-书名号-校验码”的格式。其中,出版者号规定为2-7位数

字。对较大的出版社分配比较短的码,留出较长的书名号为较多的书进行编码。

标准书号的最后一位是校验码。设置校验码可以大大减少录入错误造成的管理混

乱。校验码一般由计算机程序产生。当操作人员录入前伸个数字后,计算机就会自

动启动计算校验码的过程,输出正确的校验码。在书店(或书库),不论是建库还是

查询检索,在手工输入带校验码的标准书号后,计算机就会自动启动校验过程,判

断是否输入错误。在图5-14计算校验码的过程中,首先要计算部分S值,即

S=10*a(1)+9*a(2)+8*a(3)+...+2*a(9)o此时需要使月循环处理。在循环开始之前,

应设置初始值S=0。在循环体内,应执行语句“S+=(11-I)*a⑴"或"S+=(l+I)*a(10-

I)”(注意,其中的乘号不要丢失)。该循环应对循环变量1=1〜9进行(步长默认为

1)控制,因此,(2)空缺处应填入“9”,(3)空缺处所填写的内容是的

或“S+(l+I)*a(10-I)->S"。接着再计算该S值除以11的余数R。显然

由于“校验码a(10)的设置应使S=10*a(l)+9*a(2)+8*a(3)+…+l*a(10)能被11整

除“,即余数R与校验码之和应能被II整除,因此校验码应等于MOD(1I-R,II),

即(4)空缺处所填写的内容是“MOD(11-R,11)”。若读者该空缺处填入“MOD(11-

R)“,则是没有考虑R=0这一情况。当校验码等于10时,还应以符号X表示之。

在对标准书号的校验过程(图5-13)中,首先要将校验码为X的情况转换成数据

10,以便于后续计算。为了计算S=10*a(l)+9*a(2)+8*a(3)+…+l*a(10),需要使用

循环处理。在循环开始之前,应0设置初始值S=0,对循环变量I从1到10(步长

默认为1)。在循环体内,应执行语句"S+=(U-I)*a(l)”或"S+=I*a(ll・I)”。因此(1)空

缺处所填写的内容是⑴"或Ta(ll-I)”。在图5/3中,计算出S值之后,

还应判断S除以11的余数是否为0。若余数为0,说明S能够被11整除,表示校

验结果正确;若余数非0,则说明输入的标准书号芍错(可能是校验码输入有错,

也可能是前面的数字输入有错)。此时计算机应输出相应的错误提示信息“提醒信

息录入人员仔细校对改正。

知识点解析:暂无解析

15、图5-13(或图5-14)中Mod(S,11)表示S除以11得到的余数。以下[C程序]实

ist'aflc'in-爸iMintp;'£nLd)数P和除数q之间的余数。C程序]

{intx=0;

while(x<=p)

{if(x==p)

return0;

(5)

)

return(6)

)

标准答案:不使用求余计算符号“%”,求取被除数p和除数q之间的余数的C程序

staticintfun-Mod(intp,intq)

{intx=0;

while(x<=p)

{if(x==p)

return0;

x♦=q;

)

returnq-(x-p);

)

【C程序2】

intfun_Mod(intp,intq)

(while(pxj)

(if(x==p)

return0;

P-=Q;

)

returnp;

如下。[C程序I])

知识点解析:暂无解析

16、假设《应试捷径——典型考题解析与考点贯通.系统分析师考试》书籍标准书

号前9个数字为7-121-04715,请写出其对应的校验码。

标准答案:由题干说明可知,校验码可以是某个“0”〜“9”的数字或者是符号“X”。

《软件设计师考试考前冲刺预测卷及考点解析》的标准书号为:ISBN7-121-05027-

5o该标准书号的校验过程如下。

10x7+9x1+8x2+7x1+6x0+5x5+4x0+3x2+2x7+1x7154.八

-----------------------------------------------------------------------------------=-----=1t4…。

1111余数为

0,说明输入的标准书号正确。结合[问题1]要点解析思路,若《应试捷径——典

型考题解析与考点贯通一系统分析师考试》书籍标准书号前9个数字为7-121-

04715,则其对应的校验码a(10)计算过程如卜.:

①S1=10xa(l)+9xa(2)+8xa(3)+7xa(4)+6xa(5)+5xa(6)4-4xa(7)+3xa(8)+2xa(9)

蚂3

=10x7+9xl+8x2+7x1+6x0+5x4+4x7+3x1+2x5=163②由于11,因此

R=Mod(163,11)=9@a(10)=Mod(11-RJ1)=Mod(2,11)=2

知识点解析:暂无解析

二、选答题(本题共3题,每题分,共3分。)

17、阅读以下算法说明和C程序,根据要求回答问题1至问题2。[说明][算法4-

1]的功能是:用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对

应的左括号或者右括号,则给出相应的提示信息,如图4-18所示。

文件■示■息

(1*2)

缺少对应左括号:第2行.男4列

献少对应左括号।第3行,第10列

(((h)

ijHk

(imn)就少对应右括号,第5行•笫4列।第4行•第1列

图4J8系统提示信息在[算法4-1]中,stack

为一整数栈。算法中各函数的说明如表4-16所示。

^4-16各函数的功能说明表

函数名函数功能

push(inti)将整数i压入栈stack中

pop()stack的栈顶元素出栈

empty()判断stack栈是否为空.若为空,函数返回1,否则函数返回0

读取文本文件中的下一个字符,并返回该字符的ASCII值,将字符所在的行号以及

nextch()字符在行中的位置分别存储到变量row和col中,若遇到文件结束符,则将变量EOF

置为true

判断字符ch是左括号还是右括号,若是左括号,函数返回1;若是右括号,函数返

kind(charch)

回2;若两者都不是,函数返回0

[算法4-1]将栈stack置空,置EOF为false

ch<-nextch()i

while(notEOF)

k*-kind<ch);

if(k=»=(1)){

push((2)

push((3));)

elseif(k■«(4))

if(notempty<)){

pop():

pop()»)

else(

眼示精误信息(缺少对应左括号或右括号):

显示行号row:显示列号cob)

endif

endif

ch<-nextch()t

endwhile

if(notempty())

显示错误信息(跳少对应左括号或右括号为

while(notempty(»(

row<-pop()t

col<-pop():

显示行号row,显示列号col;)

endwhile

endif为了识别更多种类的括号,

对[算法4-1]加以改进后得至IJ[算法4-2]。[算法4-2]能够识别圆括号、方括号和花括

号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的

返回值如表4-17所示。

表4T7函数Kind(chaxch)的参数及其对应的返回值

ch(){}[1其他

返回值1234560

[算法4.2]

将栈stack置空,置EOF为false

ch<-nextch():

while(notEOF){

k<-kind<ch)i

if(k>0)

if<

push((5))»

push((6))i

push((7))i)

elseif<andW件3){

pop():

popC)i

pop();)

else(

显示幡误信息(缺少对应左括号或右括号);

显示行号row:显示列号col:}

endif

endif

ch<-nextch()i}

endwhile

if(noten^pty())(

显示错误信息(缺少对应左括号或右括号%

while(notempty()){

pop()|

row<-popOs

colv-pop();

显示行号row:显示列号co】i}}

endwhile

endif[问题1]请将[算法4-

1]和[算法4-2]中,(1)〜(7)空缺处的内容补充完整。[问题2]请从以下选项中选择

相应的判断逻辑填补[算法4-2]中的“判断条件1”至“判断条件3"。注意,若“判断条

件2”的逻辑判断结果为假,就无需对“判断条件3”进行判断。判断条件1:(8)判

断条件2:(9)判断条件3:(10)[供选择的答案]A.栈顶元素表示的是与当前字符

匹配的左括号B.栈顶元素表示的是与当前字符匹配的右括号C.字符是左括号

D.字符是右括号E.栈不空F.栈空G.字符是括号

标准答案:这是一道要求读者用创建Thread类的子类的方法实现多线程的编程

题。本题的解答思路如下。通常把限定只能在一端进行插入和删除操作的线也表

称为栈,所以栈又称为运算受限的线性表。把可以进行插入和删除操作的一端称为

栈顶(习惯用top指针指示),而另一端称之为栈底。当栈中不包含任何数据元素

时,这个栈就为空栈。由于栈具有“后进先出”的运算特点,因此在程序设计中应

用十分广泛。例如,进制转换、括号匹配的检验、表达式求值以及迷宫求解等。

[算法4-1]的功能是检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有

对应的左括号或者右括号,则给出图4-18所示的提示信息。从图4-18所给出的信

息可知,程序不但要求检查出是否有括号匹配错误,而且还需给出具体错在哪个括

号。通常,括号匹配的规则是把最近的左右括号配成一对,所以括号匹配最常用的

方法是遇到左括号则入栈,遇到右括号就出栈。这样,出栈的左括号与当前的右括

号是匹配的。[算法4-1]分析:①栈置空,置EOF为FALSE,并从文件中读取第

一个字符到ch,然后进入循环。循环体执行一次处理一个ch。进入循环,利月

kind函数算出ch的类型k。②虽然[算法4-1]中有(1)〜(4)空缺处,但其基本结构

却很明显,大致流程如下。当k等于什么的时候把什么入栈;当k等于什么的时

候且栈不为空的时候,进行出栈操作。如果栈为空,则打印错误信息;如果都不

是,则读文件的下一个字符再次进入循环。根据以上所提及的算法可知,入栈操

作应该发生在类型k为1(即ch为左括号)时,而出栈操作应该发生在类型k为2(即

ch为右括号)时。因此⑴空缺处所填写的内容是“1”,(4)空缺处所填写的内容是

“2”。由于在(4)空缺处之后的出栈操作中,并没有用到栈的内容。因此可能有些读

者理所当然地认为栈中的内容没有什么用,可以在(2)、(3)空缺处随便压个ch,即

两个空缺处所填写“ch”。但换个角度思考,从逻辑上就可以推翻这种解答。如果

(2)、(3)空缺处压的是同样的数据,又是在同一位置出栈,算法大可只用一个

PUSH、POP就可以了。由语句“rowV-pop();colV-pop();”可知,(2)、(3)空缺处

应该把row和col压入堆栈。由于是先弹出row后弹出col,且根据栈的“后进先

出''操作规则可知,应先将col压入栈,再压入row,因此(2)空缺处所填写的内容

是“col”,(3)空缺处所填写的内容是“row”。[算法4-2]分析•:同理,由[算法4-2]中

的语句“rowV・pop();colV・pop();''可知,(5)、(6)空缺处应该把row和col压入堆

栈。由于是先弹出row后弹出col,因此应先将col压入栈,再压入row,即(5)空

缺处所填写的内容是飞。1”,(6)空缺处所填写的内容是“row”。由于判断条件1为真

时,需要进行入栈操作,因此判断条件1应是判断字符是不是左括号,如果是就入

栈,即(8)空缺处应选择选项C的”字符是左括号“。判断条件2和判断条件3是相

关联的,当两个判断条件都为真时,要进行出栈操作,因此要判断栈是否为空。由

此可以得出在判断条件2和判断条件3中,至少有一个必定是用来判断栈是否为空

的。可以用判断栈顶元素米确定当前拈号是否和栈中压入拈号是同一类型的,但前

提是左括号类型入了栈,而且要在栈顶。如果(7)空缺处压入的是k,则正好符合这

一条件。所以⑺空缺处所填写的内容是“k”。同时,判断括号是否匹配的条件也就

可以确定了,如果当前ch是右括号且当前栈顶的左括号(只有左括号入了栈)类型

与ch匹配,则匹配成功。根据试题说明中的提示信息:若“判断条件2”的逻辑判

断结果为假,就无需对“判断条件3”进行判断,所以应把“栈不空”作为判断条件

2,“栈顶元素表示的是与当前字符匹配的左括号”作为判断条件3,即(9)空缺处应

选择选项E的“栈不空”,(10)空缺处应选择选项A的“栈顶元素表示的是与当前字

符匹配的左括号”。

知识点解析:暂无解析

18、请阅读以下技术说明、类图及C++代码,根据要求将(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论