2016 上半年软件设计师考试真题及答案-下午卷
试题一(共 15 分)
阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】
某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地包
括一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议室可提供的设备有
投影仪、白板、视频播放/回放设备、计算机等。为了加强管理,该中心欲开发一会议预订
系统,系统的主要功能如下。
(1)检查可用性。客户提交预订请求后,检查预订表,判定所申请的场地是否在申请
日期内可用;如果不可用,返回不可用信息。
(2)临时预订。会议中心管理员收到客户预定请求的通知之后,提交确认。系统生成
新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户
发送临时预订确认信息和支付定金要求。
(3)分配设施与设备。根据临时预订或变更预定的设备和设施需求,分配所需设备(均
能满足用户要求)和设施,更新相应的表和预订表。
(4)确认预订。管理员收到客户支付定金的通知后,检查确认,更新预订表,根据客
户记录给客户发送预订确认信息。
(5)变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查
可用性,如果可用,分配设施和设各;如果不可用,返回不可用信息。管理员确认变更后,
根据客户记录给客户发送确认信息。
(6)要求付款。管理员从预订表中查询距预订的会议时间两周内的预定,根据客户记
录给满足条件的客户发送支付余款要求。
(7)支付余款。管理员收到客户余款支付的通知后,检查确认,更新预订表中的已支
付余款信息。
现采用结构化方法对会议预定系统进行分析与设计,获得如图 1-1 所示的上下文数据流
图和图 1-2 所示的 0 层数据流图(不完整)。
1
【问题 1】(2 分)
使用说明中的词语,给出图 1-1 中的实体 E1~E2 的名称。
【问题 2】(4 分)
使用说明中的词语,给出图 1-2 中的数据存储 D1~D4 的名称。
2
【问题 3】(6 分)
根据说明和图中术语,补充图 1-2 之中缺失的数据流及其起点和终点。
【问题 4】(3 分)
如果发送给客户的确认信息是通过 Email 系统向客户信息中的电子邮件地址进行发送
的,那么需要对图 1-1 和 1-2 进行哪些修改?用 150 字以内文字加以说明。
解析:
【问题 1】
E1:客户
E2:管理员
【问题 2】
D1:预定表 D2:客户信息记录表
D3:设施表
D4:设备表
【问题 3】
预订确认信息
起点:4 确认预定
终点:E1
客户信息
客户记录
客户记录
预定信息
客户记录
【问题 4】
起点:E1
起点:D2
起点:D2
起点:D1
起点:D2
终点:2 临时预定
终点:4 确认预定
终点:5 变更预定
终点:6 要求付款
终点:6 要求付款
图 1-1 中:增加外部实体”第三方 Email 系统”,将临时预订/预订/变更确认信息终点均
修改至”第三方 Email 系统”。
图 1-2 中:增加外部实体”第三方 Email 系统”,增加加工”发送邮件”,将临时预订/预
订/变更确认信息终点均修改至”发送邮件”加工,并增加从 D2 到”发送邮件”加工的数
据流”电子邮件地址”,再从发送邮件加工引出数据流临时预订/预订/变更确认信息 终
点为外部实体“第三方 Email 系统”。
试题二(共 15 分)
阅读下列说明,回答问题 1 至问题 3;将解答填入答题纸的对应栏内。
【说明】
某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务,需要开
3
发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。
【需求描述】
(1)记录公司所有员工的信息。员工信息包括工号、身份证号、姓名、性别、出生日
期和电话,并只登记一部电话。
(2)记录所有商品的信息。商品信息包括商品名称、生产厂家、销售价格和商品介绍。
系统内部用商品条码唯一区别每种商品。
(3)记录所有顾客的信息。顾客信息包括顾客姓名、身份证号、登录名、登录密码、
和电话号码。一位顾客只能提供一个电话号码。系统自动生成唯一的顾客编号。
(4)顾客登录系统之后,在网上商城购买商品。顾客可将选购的商品置入虚拟的购物
车内,购物车可长期存放顾客选购的所有商品。顾客可在购物车内选择商品、修改商品数量
后生成网购订单。订单生成后,由顾客选择系统提供的备选第三方支付平台进行电子支付,
支付成功后系统需要记录唯一的支付凭证编号,然后由商城根据订单进行线下配送。
(5)所有的配送商品均由仓库统一出库。为方便顾客,允许每位顾客在系统中提供多
组收货地址、收货人及联系电话。一份订单所含的多个商品可能由多名分检员根据商品所在
仓库信息从仓库中进行分拣操作,分拣后的商品交由配送员根据配送单上的收货地址进行配
送。
(6)新设计的系统要求记录实体店的每笔销售信息,包括营业员、顾客、所售商品及
其数量。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
4
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
员工(工号,身份证号,姓名,性别,出生日期,电话)
商品(商品条码,商品名称,生产厂家,销售价格,商品介绍,(a))
顾客(顾客编号,姓名,身份证号,登录名,登录密码,电话)
收货地点(收货 ID,顾客编号,收货地址,收货人,联系电话)
购物车(顾客编号,商品条码,商品数量)
订单(订单 ID,顾客编号,商品条码,商品数量,(b))
分检(分拣 ID,分拣员工号,(c),分拣时间)
配送(配送 ID,分拣 ID,配送员工号,收货 ID,配送时间,签收时间,签收快照)
销售(销售 ID,营业员工号,顾客编号,商品条码,商品数量)
【问题 1】(4 分)
补充图 2-1 中的“配送”联系所关联的对象及联系类型。
【问题 2】(6 分)
补充逻辑结构设计中的(a)、(b)和(c)三处空缺。
【问题 3】(5 分)
对于实体店销售,若要增加送货上门服务,由营业员在系统中下订单,与网购的订单进
5
行后续的统一管理。请根据该需求,对图 2-1 进行补充,并修改订单关系模式。
解析:
【问题 1】
配送员 配送地点,多对多联系
【问题 2】
(a)仓库 ID
(b)支付凭证编号
(c)商品条码 , 订单 ID
【问题 3】
在营业员和订单之间增加一个“送货上门”的联系,在订单关系中增加“营业员工号”属性
做为外键。
试题三(共 15 分)
阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某软件公司欲设计实现一个虚拟世界仿真系统。系统中的虚拟世界用于模拟现实世界中
的不同环境(由用户设置并创建),用户通过操作仿真系统中的 1~2 个机器人来探索虚拟世
界。机器人维护着两个变量 b1 和 b2,用来保存从虚拟世界中读取的字符。
该系统的主要功能描述如下:
(1)机器人探索虚拟世界(RunRobots)。用户使用编辑器(Editor)编写文件以设置
想要模拟的环境,将文件导入系统(LoadFile)从而在仿真系统中建立虚拟世界
(SetupWorld)。机器人在虚拟世界中的行为也在文件中进行定义,建立机器人的探索行为
程序(SetupProgram)。机器人在虚拟世界中探索时(RunProgram),有 2 种运行模式:
①自动控制(Run):事先编排好机器人的动作序列(指令(Instruction)),执行指
令,使机器人可以连续动作。若干条指令构成机器人的指令集(InstructionSet)。
②单步控制(Step):自动控制方式的一种特殊形式,只执行指定指令中的一个动作。
(2)手动控制机器人(ManipulateRobots)。选定 1 个机器人后(SelectRobot),可
以采用手动方式控制它。手动控制有 4 种方式:
6
①Move:机器人朝着正前方移动一个交叉点。
②Left:机器人原地沿逆时针方向旋转 90 度。
③Read:机器人读取其所在位置的字符,并将这个字符的值赋给 b1;如果这个位置上
没有字符,则不改变 b1 的当前值。
④Write:将 b1 中的字符写入机器人当前所在的位置,如果这个位置上已经有字符,该
字符的值将会被 b1 的值替代。如果这时 b1 没有值,即在执行 Write 动作之前没有执行过任
何 Read 动作,那么需要提示用户相应的错误信息(ShowErrors)。
手动控制与单步控制的区别在于,单步控制时执行的是指令中的动作,只有一种控制方
式,即执行下个动作;而手动控制时有 4 种动作。
现采用面向对象方法设计并实现该仿真系统,得到如图 3-1 所示的用例图和图 3-2 所示
的初始类图。图 3-2 中的类“Interpreter”和“Parser”用于解析描述虚拟世界的文件以
及机器人行为文件中的指令集。
7
【问题 1】(6 分)
根据说明中的描述,给出图 3-1 中 U1~U6 所对应的用例名。
【问题 2】(4 分)
图 3-1 中用例 U1~U6 分别与哪个(哪些)用例之间有关系,是何种关系?
【问题 3】(5 分)
根据说明中的描述,给出图 3-2 中 C1~C5 所对应的类名。
解析:
【问题 1】
U1:RUN
U2:STEP
U3:write
U4:Move
U5:Left
U6:Read
【问题 2】
U1 和 U2 和 Run Program 有关联关系
U3,U4,U5,U6 和 Select Robot 有关联关系
【问题 3】
8