1、软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 8及答案与解析 1 类可以定义静态属性,并通过类名访问。一个类的静态的属性只有一份,由所有该类的对象共享。 (8)反映了类间的一种层次关系,而 (9)反映了一种整体与部分的关系。 ( A)继承 ( B)组合 ( C)封装 ( D)多态 ( A)继承 ( B)组合 ( C)封装 ( D)多态 3 已知 3个类 O, P和 Q,类 O中定义了一个私有方法 F1和一个公有方法 F2,类P中定义了一个公有方法 F3,类 P为类 O的派生类,类 Q为类 P的派生类,它们的继承 方式如下所示: class P: public O class
2、Q: private P ; 在关于类 P的描述中正确的是 (10),在关于类 Q的描述中正确的是 (11)。 ( A)类 P的对象可以访问 F1,但不能访问 F2 ( B)类 P的对象可以访问 F2,但不能访问 F1 ( C)类 P的对象既可以访问 F1,也可以访问 F2 ( D)类 P的对象既不能访问 F1,也不能访问 F2 ( A)类 Q的对象可以访问 F1, F2和 F3 ( B)类 Q的对象可以访问 F2和 F3,但不能访问 F1 ( C)类 Q的成员可以 访问 F2和 F3,但不能访问 F1 ( D)类 Q的成员不能访问 F1, F2和 F3 5 在某信息系统中,存在如下的业务陈述
3、: 一个客户提交 0个或多个订单; 一个订单由一个且仅由一个客户提交。 系统中存在两个类: “客户 ”类和 “订单 ”类。对应每个 “订单 ”类的实例,存在 (21)“客户 ”类的实例;对应每个 “客户 ”类的实例,存在 (22)个 “订单 ”类的实例。 ( A) 0个 ( B) 1个 ( C) 1个或多个 ( D) 0个或多个 ( A) 0个 ( B) 1个 ( C) 1个或多个 ( D) 0个或多个 7 在 UML提供的图中 , (31)用于描述系统与外部系统及用户之间的交互, (32)用于按时间顺序描述对象间的交互。 ( A)用例图 ( B)类图 ( C)对象图 ( D)部署图 ( A)
4、网络图 ( B)状态图 ( C)协作图 ( D)序列图 9 在活动图 8-8中,节点表示项目中各个工作阶段的里程碑,连接各个节点的边表示活动,边上的数字表示活动持续的时间。在下面的活动图中,从 A到 J的关键路径是 (27),关键路径长度是 (28),从 E开始的活动启动的最早时间是 (29)。( A) ABEGJ ( B) ADFHJ ( C) ACFGJ ( D) ADFB ( A) 22 ( B) 49 ( C) 19 ( D) 35 ( A) 10 ( B) 12 ( C) 13 ( D) 15 12 最常用的一种基本数据模型是关系数据模型,它用统一的 (21)结构来表示实体及实体之间
5、的联系。关系数据库的数据操作语言 (DML)主要包括 (22)两类操作。 关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡儿积、 (23)。 用 R S表示关系只和关系 S的 (24)。 设关系尺和关系 S图示如下: R: A B C a b c b b f C a d d a dS: B C D b c d b C e a d bT: A B C D a b c d a b C e c a d b d a d b则关系 T是关系 R和关系 S(25)的结果。 ( A)树 ( B)网络 ( C)图 ( D)二维表 ( A)插入和删除 ( B)检索和更新 ( C)查询和编辑 (
6、D)统计和修改 ( A)投影、连接 ( B)连接、选择 ( C)选择、投影 ( D)交、选择 ( A)连接 ( B)笛卡儿积 ( C)日连接 ( D)自然连接 ( A)自然连接 ( B) 连接 ( C)笛卡儿积 ( D)并 17 某数据库中有供应商关系 S和零件关系 P,其中,供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件号、零件名;颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将下面的 SQL语句的空缺部分补充完整。 CREATE TABLE SP (Sno CHAR(5),
7、Pno CHAR(6), Status CHAR(8), Qty NUMERIC(9), (32) (Sno,Pno), (33) (Sno), (34) (pno); 查询供应了 “红 ”色零件的供应商号、零件号和数量 (QTY)的元组演算表达式为: t|(u|$)($V)($w)(35)u1=v1v2=w1w3=红 (36) ( A) FOREIGN KEY ( B) PRIMARY KEY ( C) FOREIGN KEY(Sno)REFERENCES S ( D) FOREIGN KEY(Pno)REFERENCES P ( A) FOREIGN KEY ( B) PRIMARY KE
8、Y ( C) FOREIGN KEY(Sno)REFERENCES S ( D) FOREIGN KEY(Pno)REFERENCES P ( A) FOREIGN KEY ( B) PRIMARY KEY ( C) FOREIGN KEY(Sno)REFERENCES S ( D) FOREIGN KEY(Pno) REFERENCES P ( A) S(U)S(P)P(W) ( B) SP(U)S(V)P(W) ( C) P(U)S(P)s(w) ( D) S(U)P(V)SP(W) ( A) t1=U1T2=W2T3=V4 ( B) t1=V1T2=U2T3=U4 ( C) t1=W1T
9、2=U2T3=V4 ( D) t1=U1T2=V2T3=V4 22 域表达式 ab|R(ab) R(ba)转换成为等价的关系代数表达式,所列出的式子中(47)是不正确的。 SQL中集合成员资格的比较操作 “元组 NOT IN(集合 )”中的“NOT IN”与 (48)操作符等价。 SQL中涉及属性 AGE是甭是空值的比较操作,写法 (49)是错误的。类似于 “工资在 800至 5000之间 ”这种约束,是属于 DBS的 (50)功能。设关系模式 Q是 3NF模式,那么, (51)这种提法是不正确的。 ( A) ( B) ( C) ( D) ( A) SOME ( B) =SOME ( C) A
10、LL ( D) =ALL ( A) AGE IS NULL ( B) NOT(AGE IN NULL) ( C) AGE=NULL ( D) AGE IS NOT NULL ( A)完整性 ( B)并发控制 ( C)安全性 ( D)恢复 ( A)一定是 2NF模式 ( B) Q可能不是 4NF模式 ( C) Q可能不是 BCNF ( D) Q一定不是 BCNF 一、主观题 27 阅读下列说明及数据流图,回答问题 1、问题 2和问题 3。 【说明】 某学校建立了一个网上作业提交与管理系统,基本功能描述如下。 (1)账号和密码。任课老师用账号和密码登录系统后,提交所 有选课学生的名单。系统自动为每
11、个选课学生创建登录系统的账号和密码。 (2)作业提交。学生使用账号和密码登录系统后,可以向系统申请所选课程的作业。系统首先检查学生的当前状态,如果该学生还没有做过作业,则从数据库服务器申请一份作业。若申请成功,则显示需要完成的作业。学生需在线完成作业,单击【提交】按钮上交作业。 (3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。 27 如果将数据库服务器 (记为 DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据 存储 ? 28 根据说明,结合问题 1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些
12、数据流的起点、终点及数据流名称,如表 1-1所示给出了数据流的部分信息,请填充空缺处。29 根据数据流图的设计原则,阅读如图 1-1所示的数据流图,找出其中的错误之处。 30 阅读以下说明和数据流图,回答问题 1至问题 3。 【说明】 学生住宿服务系统帮助学生在就学的城市内寻找所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息,以及学生和房主的会面信息进行管理和维护。 房主信息包括姓名、地址、电话号码及系统分配的唯一身份标识 (ID)和密码;房屋信息包括房屋地址、类型 (单间 /套间 )、适合住宿的人数、房租、房主的 ID,以及现在是否可以出租 (例如由于装修原因,需等到装修后才可
13、出租或者房屋已被租出 )。每当房屋信息发生变化时,房主须通知系统,系统将更新房屋文件以便学生能够获得准确的可租用房屋信息。房主向系统中加入可租用的房屋信息时,需交纳一定的费用,由系统自动给出费用信息。房主可随时更新房屋的各种属性。 学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生 信息包括姓名、现住址、电话号码、出生日期、性别及系统分配的唯一身份标识 (ID)和密码。若学生希望租用某房屋,则需要发出租房请求,请求中包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主,会面信息包括会面时间、地点及会面双方的基本信息,系统将记录会面信息。 学生住宿服
14、务系统的顶层图如图 1-3所示;学生住宿服务系统的第 0层 DFD图如图 1-4所示,其中,加工 3的细化图如图 1-5所示。 30 (1)数据流图 1-3缺少了一条数据流 (在图 1-4中也未给出该数据流 ),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。 (2)数据流图 1-4中缺少了与 “查询房屋 ”加工相关的数据流,请指出此数据流的起点和终点 31 “安排会面 ”加工除需要写入会面文件外,还需要访问哪些文件 ? 32 请补齐下列数据字典条目: 登录信息 =学生 ID+密码 注册信息=_33 阅读下列说明和数据流图,回答问题 1至问题 3。 【说明】 某图书管理系统的主要
15、功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息 (姓名、单位、地址等 )一起写入读者文件。 系统的 图书管理功能分为 4个方面:购入新书、读者借书、读者还书及图书注销。 (1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量 (表示到目前为止,购入此种图书的数量 )。 (2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数 (假设每位读者能同时借
16、阅的书不超过 5本 ),若已达到最大限制数,则拒绝借书;否则 允许借书。同时,将图书分类目录号、读者号和借阅日期等信息写入借书文件中。 (3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。 (4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。 系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。 图书管理系统的顶层图如图 1-6所示;图书管理 系统的第 0层 DFD
17、图如图 1-7所示,其中,加工 2的细化图如图 1-8所示。 33 数据流图 1-7中有两条数据流是错误的,请指出这两条数据流的起点和终点。 34 数据流图 1-8中缺少 3条数据流,请指出这 3条数据流的起点和终点。 35 根据系统功能和数据流图填充下列数据字典条目中的 (1)和 (2): 查询请求信息 =查询读者请求信息 |查询图书请求信息 读者情况 =读者号 +姓名 +所在单位 +借书情况 管理工作请求单 =(1) 入库单 =(2) 36 阅读下列说明和数据流图 ,回答问题 1至问题 4。 【说明】 某基于微处理器的住宅安全系统,使用传感器 (如红外探头、摄像头等 )来检测各种意外情况,
18、如非法进入、火警、水灾等。 房主可以在安装该系统时配置安全监控设备 (如传感器、显示器、报警器等 ),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号 (即 ID)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出 预置的电话号码,并报告关于位置和检测到的事件的性质等信息。 36 数据流图如图 1-9(住宅安全系统顶层图 )所示中的 A和 B分别是什么 ? 37 数据流图如图 1-10(住宅安全系统第 0层
19、DFD图 )所示中的数据存储 “配置信息 ”会影响图中的哪些加工 ? 38 将数据流图如图 1-11(加工 4的细化图 )所示中的数据流补充完整,并指明加工名称、数据流的方向 (输入 /输出 )和数据流名称。 39 请说明逻辑数据流图 (LogicalData Flow Diagram)和物理数据流图 (PhysicalData Flow Diagram)之间的主要差别。 40 阅读下列说明和有关的图,回答问题 1至问题 4。 【说明】 某制造企业的物料出入库管理的工作流程分别叙述如下。 1出库工作流程 领料人提交领料单 (每一种物料有一张领料单 ); 仓库保管员根据领料计划单检验该领料单是否
20、有效; 若经检验没有相应的领料计划,则通知领料人该领料单无效; 若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存; 若没有足够的库存,仓库保管员向领料人发缺货单; 若 有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人。 2入库工作流程 采购员提交入库申请单 (每一种物料有一张入库申请单 ); 仓库保管员根据采购计划单验收入库申请单; 若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单; 若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单。 如果物料或供货方不合格,则向采
21、购员发出退货单; 如果检验合格,则仓库保管员登 记入库单,修改物料主文件中的现有库存数,相应的物料入库。 为便于及时了解库存情况、核查出入库情况,该企业决定将上述人工流程由计算机来实现。在设计该系统时,采用了两种方法:结构化方法和面向对象方法。 如图 1-12给出了物料出入库系统的数据流图,图中的数据流并没有画全,需要考生填补。图 1-13给出了采用面向对象方法所认定出的类。 40 图 1-12中缺少了哪些数据流 ?请指明每条数据流的名称、起点和终点。 41 给出 “领料单 ”和 “入库申请单 ”这两个类至少应具有的属性。 42 为建立功能完善的 库存管理系统,除了查询、统计、报表输出功能外,
22、还应具有哪些对提高企业效益至关重要的功能 ? 43 用面向对象方法设计的类中,有一些类的对象是需要持久存储的,这样的类一般需要映射到关系数据库模式中。请指出图 1-13中哪些类需要做这样的映射。44 阅读下列说明和有关的图表,回答问题 1至问题 3。 【说明】 A公司决定为该市车站开发自动售票系统,系统的要求如下: (1)乘客能按以下 3步操作购票:选定目的地;投入钱币;获得一张票; (2)当且仅当乘客选定目的地后,系统才接收受投钱;每次投入的钱只购买一张票; (3)只要投入的钱不少于所需的票价,且票库中有所要求的票,则应尽快出票; (4)如需找钱,则应在出票的同时退还多余的钱; (5)如果乘
23、客投入的钱不够票价,或者票库中没有所要求的票时,系统将全额退钱,并允许乘客另选目的地,继续购票; (6)出票前乘客可以按 取消 按钮取消购票,系统将全额退出该乘客投入的钱,并允许乘客另选目的地,继续购票; (7)出票结束 (包括退还多余的钱 )后,系统应保存销售记录,并等待乘客购票。 该系统还要求快速响应和操作同步,所以它应是一个实时系统。为此, A公司在该系统的数据流程图中附加了过 程控制部分,形成转换图。在该图中,控制流 (事件流 )用虚线表示,数据流用实线表示。图中的数据流并没有画全,需要考生填补。转换图如图 1-14所示。 对售票全过程进行的控制可以用系统内部各个状态之间的迁移来描述,
24、从而形成状态迁移图。在状态迁移图中,用双线框表示状态,用有向边表示状态的迁移。引起状态迁移的事件及由该事件引起的动作,在有向边旁用 “ ”形式注明。状态迁移图如图1-15所示。 该公司还制作了一个过程启动表,用以表明状态迁移图中的 4个动作与转换图中的 4个过程之间的 “启动 ”关系,即说明哪个动作将启动哪个过 程。用 1表示启动,用 0表示不启动。启动的过程将根据获得的输入数据产生输出数据,未启动的过程则不会产生输出数据。该表中没有列出的过程,其执行与否与事件无关。过程启动表如表 1-2所示。44 转换图中缺少哪 3条数据流 ?请指明每条数据流的名称、起点和终点。 45 在状态迁移图中, a
25、、 b、 c分别表示什么事件 ?请用转换图中给出的事件名解答。 46 在过程启动表中, d、 e处应填什么 ?请分别用 4位二进制码表示。 47 阅读下列说明和流程图,回答问题 1至问题 3。 【说明】 某考务处理系统具有以 下功能: (1)输入报名单; (2)自动编制准考证号; (3)输出准考证; (4)输入成绩清单; (5)输出成绩通知单; (6)输出成绩分布表; (7)输入合格标准、输出录取通知单; (8)试题难度分析,并输出试题难度分析表。 这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示: 报名单 =报名号 +姓名 +通信地址 考生名册 =报名号 +准考证号
26、 +姓名 +通信地址 成绩册 =准考证号 +课程号 +成绩 (其中 W表示 W重复多 次 ) 准考证 =报名号 +姓名 +准考证号 47 顶层图如图 1-16所示。指出 0层图 (见图 1-17)中可以删去的部分。 48 在加工 1子图 (见图 1-18)中将遗漏的数据流添加在对应栏内。 49 加工 2子图 (见图 1-19)分解成如图所示的 4个子加工及相关的文件 (即数据存储 )。试在此基础上将相关的 DFD成分添加在对应栏内,以完成该加工子图。50 阅读以下说明和流程图,回答问题 1和问题 2。 【说明】 某供销系统接受顾客的订货单,当库存中某配件的数量小于订购量或库存量低于一定数量时,
27、向供应商发出采购 单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。该供销系统的分层数据流图中部分数据流和文件的组成如下。 文件: 配件库存 =配件号 +配件名 +规格 +数量 +允许的最低库存量 数据流: 订货单 =配件号 +配件名 +规格 +数量 +顾客名 +地址 提货单 =订货单 +金额 采购单 =配件号 +配件名 +规格 +数量 +供应商名 +地址 送货单 =配件号 +配件名 +规格 +数量 +金额 假定顶层图 (见图 1-22)是正确的, “供应商 ”文件已由其他系统生成。50 指出哪张图中的哪
28、些文件可不必画出。 51 指出在哪些图中遗漏了哪些数据流。回答时用如下形式之一。 (1)XX图中遗漏了 XX加工 (或文件 )流向 XX加工 (或文件 )的 XX数据流; (2)XX图中 XX加工遗漏了 XX输入 (或输出 )数据流。 软件水平考试(中级)软件设计师上午(基础知识)试题章节练习试卷 8答案与解析 1 【正确答案】 A 2 【正确答案】 B 【试题解析】 面向对象方法的一些概念如下。 继承:是父类和子类间共享数据和方法的机制,反映了类间层次关系。 组合 :又称聚合,是由一些被称为成分的对象构成的对象。 封装:封装把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细
29、节。 多态:不同对象对同一消息的不同响应。 3 【正确答案】 B 4 【正确答案】 C 【试题解析】 继承机制是面向对象技术提供的一种解决软件复用问题的途径,即在定义一个新的类时,先把一个或多个已有类的功能全部包含进来,然后再给出新功能的定义或对已有类的功能重新定义。 在继承关系中存在两个类,即基类和派生类。继承的方式有 public, private和protected 3 种。在不同的继承方式下,派生类对基类成员的访问权限不同,外界对派生类成员的能见度也不同。 (1)基类中成员在派生类中的访问权限 public:不改变基类中成员的访问权限: private:派生类所继承的基类成员的访问权限
30、都改为 private: protected:基类中 private成员的访问权限不变,其余的都改为 protected。 (2)派生类所继承的基类成员的外部能见度 基类的 private成员只有基类的成员函数可以访问,派生类不能访问。 通过 private方式继承的基类成员只有派生类的成员函数可以访问,外界以及派生类的派生类都不能访问。 通过 protected 方式继承的基类成员只有派生类以及该派生类的子类可以访问,外界不能访问。 本题考查的是外界对派生类中继承的基类成员的访问权限。解答此题的关键在于确定基类中成员在派生类中的访问权限,尤其是类 Q,它是经过两次继承得到的, Q的直接基类是
31、 P,而 P又是由 O派生出来的。 首先应注意到类 O中有一个私有方法 F1。类的私有成员只有在本类中才能访问,因此凡是出现 “可以访问 F1”的选项都 是错误的,这样对于空 (1)而言,选项A, C就可以排除了。其次, P是采用 public继承方式从 O派生而来的,那么类 O中的所有公有成员都是 P的公有成员,在程序中的任何地方都可以访问一个类的公有成员,因此只有选项 B 是正确的。 通过继承, F1, F2, F3 都成为类 Q的成员。由上一题的选择可知, F1 是不可以被外界访问的,因此凡是出现 “可以访问 F1”的选项都是错误的,这样 A就被排除了。由于 Q采用的是 private继
32、承方式, P中的成员都成为 Q 的 private成员,即F2, F3 都是 Q的 private成员。私有成员只有本 类可以访问,所以 Q的对象不能访问 F2 和 F3,只有 Q的成员才能访问它们。因此选项 C是正确答案。 5 【正确答案】 B 6 【正确答案】 D 【试题解析】 认定类尉象是面向对象分析中的关键步骤。但是对象和类并不是孤立存在的,它们表示的事物相互作用,并且相互影响,以便支持业务任务。存在于一个或者多个对象 /类之间的自然业务联系称为对象 /类关系。可以使用图形方式说明 “客户 ”类和 “订单 ”类之间的这种关系,如图 10-1所示。其中连线表示了类之间的关系, UML 称
33、这条线为关联。图中还给出了重复度,即一个对象 /类对应 相关对象 /类的一个实例关联可能的最小出现次数和最大出现次数。由此可以得到:对应每个订单实例,都必须存在一个客户实例:对应每个客户实例,可能存在 0个或多个订单实例。 7 【正确答案】 A 8 【正确答案】 D 【试题解析】 UML 提供了 9种不同的模型图来对系统建模。用例图:以图形化的方式描述系统与外部系统及用户的交互。类图:描述系统的对象结构,它们显示构成系统的对象类以及这些对象类之间的关系。对象图:类似于类图,但并不描述对象类,它们对实际的对象实例建模。序列图:以图形化的方式描述了在一个用例 或操作执行过程中对象如何通过消息互相交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。协作图:类似于序列图,但重点不是消息的时