[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷70及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷70及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷70及答案与解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 70及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,从而快速地提供租赁服务。该系统具有以下功能。 (1)登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。 (2)登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号 (对于新增加的房屋,系统会自动 为其分配一个识别号 )。除此之外,还需登记该房屋的地址、房型 (如平房、带阳台
2、的楼房、独立式住宅等 )、最多能够容纳的房客数、租金及房屋状况 (待租赁、已出租 )。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。 (3)登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。 (4)租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以 提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。 (5)收取手续费。房主登记完房屋后,系统会生成一
3、份费用单,房主根据费用单缴纳相应的费用。 (6)变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。数据流题图 1-1和题图 1-2分别给出了该系统的顶层数据流图和 0层数据流图。1 使用说明中给出的词汇,将数据流题图 1-1中 (1) (4)处的数据流补充完整。 2 使用说明中给出 的词汇,将数据流图题图 1-2中的 (5) (8)补充完整。 3 数据流程图题图 1-2中缺失了三条数据流,请指出这三条数据流的起点、终点和数据流名称。 3 阅读下列说明,回答问题 l至问题 4,将解答填入答题纸的对应栏内。 【说明】 某汽车
4、维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。 (1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质 (个人、单位 )、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色、车辆类别等信息。一 个客户至少有一台车。客户及车辆信息如题表 2-1所示。(2)记录维修车辆的故障信息。包括:维修类型 (普通、加急 )、作业分类 (大、中、小修 )、结算方式 (自付、三包、索赔 )等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托
5、书,如题表 2-2所示。(3)维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如题表 2-3所示。(4)客户 车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。 根据需求阶段收集的信息,设计的实体联系图 (见题图 2-1)和关系模式 (不完整 )如下所示。题图 2-1中业务员和维修工是员工的子实体。 【概念结构设计】【逻辑结构设计】 客户 ( _(5),折扣率,联系人,联系电话 ) 车辆 (车牌号,客户编号,车型,颜色,车辆类别 ) 委托书 ( _(6
6、),维修类型,作业分类,结算方式,进厂时间,预计完工时间,登记日期,故障描述,总费用 ) 维修项目 (维修项目编号,维修 项目,单价 ) 派工单 ( _(7),工时 ) 员工 ( _(8),工种,员工类型,级别 ) 4 根据问题描述,填写题图 2-1中 (1) (4)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用 1: 1、 1: n或 1: *、 m: n或 *: *表示。 5 补充题图 2 1中的联系并指明其联系类型。联系名可为:联系 1,联系2, 。 6 根据题图 2-1和说明,将逻辑结构设计阶段生成的关系模式中的空 (5) (8)补充完整。 7 根据问题描述,写出客户、
7、委托书和派工单这三个关系的主键。 7 阅 读下列说明和图,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某图书管理系统的主要功能如下。 (1)图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态 (可借阅或已借出 )。 (2)资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带 )。 (3)读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录 文件,用来保存读者所借资源的相关信
8、息。 现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。题表 3-1给出了说明中出现的所有名词。通过对题表 3-1中的名词进行分析,最终得到了题图 3-1所示的 UML类图 (类的说明见题表 3-2)。8 题表 3-2所给出的类并不完整,根据说明和题表 3-1,将题图 3-1中的 (a) (c)处补充完整。 9 根据说明中的描述,给出题图 3 1中的类 CatalogItern以及 (b)、 (c)处所对应的类的关键属性 (使用题表 3-1中给出的词汇 ),
9、其中, CatalogItem有 4个关键属性;(b)、 (c)处对应的类各有 2个关键属性。 10 识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成题图 3-1中的 (1) (6)。11 阅读下列说明、图和 C代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 一般的树结构常采用孩子一兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个 孩子节点和下一个兄弟节点。例如,题图 4-1(a)所示的树的孩子一兄弟表示如题图 4-1(b)所示。函数LevelTraVerse()的功能是对给定树进行层序遍历。例如,对题图 4-
10、1所示的树进行层序遍历时,节点的访问次序为: D B A E F P C。 对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所示。Bool、 Status类型定义如下: typedef enumFALSE=0, TRUE=1 Bool; typedef enumOVERFLOW=-2, UNDERFLOW=-1, ERROR=0, OK=1Status;树的二叉链表节点定义如下: typedef struct Node char data; Struct Node *firstchiid,*nextbrother; Node, *TreeNode;【函数】 Status Le
11、ve1Traverse(TreeNode root) *层序遍历树,树采用孩子一兄弟表示法, root是树根节点的指针 * Queue tempQ; TreeNode ptr, brOtherptr; if(!root) return ERROR; InitQueue( tempQ); _(1); brotherptr = root - nextbrother; while (brotherptr) EnQueue( _(2); *end-while* while(_(3) _(4); printf( c t,ptr- data); if(_(5)continue; _(6); brother
12、ptr=ptr- firstchiid-nextbrother; while(brotherptr) EnQueue( tempQ, brotherptr); _(7); *end-while* ) *end-while* return OK; ) *LevelTraverse* 12 阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。为支持将来能够模 拟更多种类鸭子的特征,采用策略设计模式 (Strategy)设
13、计的类图如题图 5-1所示。其中, Duck为抽象类,描述了抽象的鸭子,而类 RubberDuck、 MallardDuck、CottonDuck和 RedHeadDuck分别描述具体的鸭子种类,方法 fly()、 quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与 QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为;类 FlyNoWay与 FlyWithWings分别描述不 能飞行的行为和用翅膀飞行的行为;类 Quack、 Squeak与 QuackNoWay分别描述发出 “嘎嘎 ”声的行为、发出橡皮与
14、空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。 【 C+代码】#include iostream using namespace_(1);class FlyBehaViorpublic: _(2) fly()=0; ;class QuackBehaviorpublic: _(3) quack()=0;; class FlyWithWings:public FlyBehavior public: void fly()cout 使用翅膀飞行 ! end1; ;class FlyNoWay: public FlyBehavior public: void fly()cout 不能飞行 !e
15、nd1; ;class Quack: public QuackBehaVior public: void quack()cout 发出 嘎嘎 声 ! end1; ; class Squeak: publiC QuackBehavior public: void quack()cout 发出空气与橡皮摩擦声 ! end1; ; class QuackNoWay: public QuackBehavior public: void quack()cout 不能发声 ! end1; ;Class Duck protected: FlyBehavior *_(4); QuackBehaVior *_(
16、5); public: void fly() _(6); void quack() _(7); ; virtual void display()=0; ;clasS RubberDuck: public Duck(public: RubberDuCk() flyBehaVior=new_(8); quackBehavior=new_(9); RubberDuck() if(!flyBehavior)delete flyBehavior; if (!quackBehaVior)delete quackBehavior; void display() *此处省 略显示橡皮鸭的代码 * ;其他代码省
17、略 13 阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中种种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式 (Strategy)设计的类图如题图 6-1所示。其中, Duck为抽象类,描述了抽象的鸭子,而类 RubberDuck、 MallardDuck、CottonDuck和 RedHeadDuck分别描述具体的鸭子种类,方法 fly()、 quack()和display()分别表示不同种类的鸭子都具
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 70 答案 解析 DOC
