2016 下半年软件设计师考试真题及答案-下午卷
试题一(共 15 分)
阅读下列说明,回答问题 l 至问题 4,将解答填入答题纸的对应栏内。
【说明】
某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如
下:
(1)开户。根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,
账户信息(余额等)存入账户记录中;
(2)存款。客户可以向其账户中存款,根据存款金额修改账户余额;
(3)取款。客户可以从其账户中取款,根据取款金额修改账户余额;
(4)证券交易。客户和经纪人均可以进行证券交易(客户通过在线方式,经纪人通过电话),
将交易信息存入交易记录中;
(5)检查交易。平台从交易记录中读取交易信息,将交易明细返回给客户。
现采用结构化方法对该证券交易平台进行分析与设计,获得如图 1-1 所示的上下文数一据流
图和图 1-2 所示的 O 层数据流图。
【问题 1](3 分)
使用说明中的词语,给出图 1-1 中的实体 E1-E3 的名称。
【问题 2】(3 分)
使用说明中的词语,给出图 1-2 中的数据存储 D1-D3 的名称。
【问题 3】(4 分)
根据说明和图中的术语,补充图 1-2 中缺失的数据流及其起点和终点。
【问题 4】(5 分)
实际的证券交易通常是在证券交易中心完成的,因此,该平台的“证券交易”功能需将交易
信息传递给证券交易中心。针对这个功能需求,需要对图 1-1 和图 1-2 进行哪些修改,请用
200 字以内的文字加以说明。
1
2
1.
参考答案:
问题 1
E1:客户服务助理,E2:客户,E3:经纪人。
问题 2
D1:客户记录,D2:账户记录,D3:交易记录。
问题 3
数据流名称:修改账户余额,起点:存款,终点:D2。
数据流名称:修改账户余额,起点:取款,终点:D2。
数据流名称:交易信息存入交易记录(在线),起点:证券交易(在线),终点:D3。
数据流名称:交易信息存入交易记录(电话),起点:证券交易(电话),终点:D3。
问题 4
图 1 增加外部实体“证券交易中心”,增加“证券交易平台”到“证券交易中心”,数据流:
交易信息
图 2 增加外部实体“证券交易中心”,增加“证券交易(在线)“到“证券交易中心”,数
据流:交易信息
图 2 增加“证券交易(电话)“到“证券交易中心”,数据流:交易信息
试题分析:
本题问题 1 要求识别 E1-E3 具体为哪个外部实体,通读试题说明,可以了解到适合充当外部
实体的包括:客户、客户服务助理、经记人。具体的对应关系,可以通过将顶层图与题目说
明进行匹配得知。如:从图中可看出 E1 会向交易平台发出数据流“开户信息”;而从试题
说明“根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户
信息存入账户记录中”可以看出,E1 对应是客户服务助理。E2、E3 同理可得。
本题问题 2 要求识别存储,解决这类问题,以图的分析为主,配合说明给存储命名,因为存
储相关的数据流一般展现了这个存储中到底存了些什么信息,如从图中可以看到 D1 中有客
户信息,而 D2 中有账户信息,题目说明中又有“根据客户服务助理提交的开户信息,进行
开户,并将客户信息存入客户记录中,账户信息存入账户记录中。”自然 D1 应为客户记录,
D2 应为账户记录。同理,D3 为交易记录。
问题 3 分析:
缺失数据流 1
3
名称:修改账户余额,起点:存款,终点:D2。
理由:从试题说明“客户可以向其账户中存款,根据存款金额修改账户余额”可以看出,这
个功能有操作“根据存款金额修改账户余额”。据此可以了解到从该功能应有数据流“存
款”至 D2,而 0 层图没有。
缺失数据流 2:
名称:修改账户余额,起点:取款,终点:D2。
理由:从试题说明“客户可以从其账户中取款,根据取款金额修改账户余额”可以看出,这
个功能有操作“根据取款金额修改账户余额”。据此可以了解到从该功能应有数据流“取
款”至 D2,而 0 层图没有。
缺失数据流 3-4
名称:交易信息存入交易记录,起点:证券交易(分为在线与电话),终点:D3。
理由:从试题说明“客户和经纪人均可以进行证券交易,将交易信息存入交易记录中”可以
看出,这个功能有操作“将交易信息存入交易记录中”。据此可以了解到从该功能应有数据
流“证券交易”至 D3,而 0 层图没有。
试题二(共 15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某宾馆为了有效地管理客房资源,满足不同客户需求,拟构建一套宾馆信息管理系
统,以方便宾馆管理及客房预订等业务活动。
【需求分析结果】
该系统的部分功能及初步需求分析的结果如下:
(1)宾馆有多个部门,部门信息包括部门号、部门名称、电话、经理。每个部门
可以有多名员工,每名员工只属于一个部门;每个部门只有一名经理,负责管理本部门。
(2)员工信息包括员工号、姓名、岗位、电话、工资,其中,员工号唯一标识员
工关系中的一个元组,岗位有经理、业务员。
(3)客房信息包括客房号(如 1301、1302 等)、客房类型、收费标准、入住状态
4
(已入住/未入住),其中客房号唯一标识客房关系中的一个元组,不同客房类型具有不同
的收费标准。
(4)客户信息包括客户号、单位名称、联系人、联系电话、联系地址,其中客户
号唯一标识客户关系中的一个元组。
(5)客户预订客房时,需要填写预订申请。预订申请信息包括申请号、客户号、
入住时间、入住天数、客房类型、客房数量,其中,一个申请号唯一标识预订申请中的一个
元组;一位客户可烈有多个预订申请,但一个预订申请对应唯一的二位客户。
(6)当客户入住时,业务员根据客户的预订申请负责安排入住客房事宜。
安排信息包括客房号、姓名、性别、身份证号、入住时间、天数、电话,其中客房号、身份
证号和入住时间唯一标识一次安排。一名业务员可以安排多个预订申请,一个预订申请只由
一名业务员安排,而且可安排多间同类型的客房。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图如图 2-1 所示。
【关系模式设计】
部门(部门号,部门名称,经理,电话)
员工(员工号,
a
,姓名,岗位,电话,工资)
客户
b
联系人,.联系电话,联系地址.
客房(客房号,客房类型,收费标准,入住状态)
预订申请(
c
)入住时间,天数,客房类型,客房数量)
安排(申请号,客房号,姓名,性别,(
d
) ,天数,电话,业务员)
【问题 1】(4 分)
根据问题描述,补充四个联系,完善图,2-1,的实体联系图.联系名可用联系 1、
5
联系 2、联系 3 和联系 4 代替,联系的类型为 1:1、1:n 和 m:n (或 1:1,和 1:*和*:*)。
【问题 2】(8 分)
(1)根据题意、,将关系模式中的空(a)~.(d)补充完整,并填入答题纸对应
的位置上。
(2)给出“预订申请”和“安排”关系模式的主键和外键。
【问题 3】(3 分)
【关系模式设计】中的“客房”关系模式是否存在规范性问题,请用丑 100 字以内
文字解释你的观点(若存在问题,应说明如何修改“客房”关系模式).
参考答案:
问题 1:
1、经理与部门 之间 存在 1:1 的联系。
2、部门与员工 之间 存在 1:n 的联系。
3、客户与预订申请 之间 存在 1:n 的联系。
4、业务员、客房、预订申请 之间存在 1:m:n 的联系。
问题 2:
(a) 部门号。
(b) 客户号、单位名称
(c) 申请号、客户号。
(d) 身份证号、入住时间。
“预订申请”关系模式中的主键是申请号,外键是申请号、客户号。
“安排”关系模式中的主键是:(客房号、身份证号、入住时间),外键是:申请号、客房号、
业务员。
问题 3:
根据试题中的描述,客房信息中客房号是唯一标识客房关系的一个元组,即可以作为唯一的
主键。在客房关系模式中,不存在其他部分依赖关系,但客户号->类型->收费标准,存在传
递函数依赖,所以冗余,添加异常,修改异常,删除异常均存在。
试题分析:
6
试题三(共 15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某种出售罐装饮料的自动售货机.( Vending Machine)的工作过程描述如下:
(l)顾客选择所需购买的饮料及数量。
(2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。硬币器
收集投入的硬币并计算其对应的价值。如果所投入的硬币足够购买所需数量的这种饮料且饮
料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;如果投入的硬币不够或
者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。
(3)一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。
自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。已经成功购买饮料的钱是不
会被退回的。
7
现采用面向对象方法分析和设计该自动售货机的软件系统,得到如图 3-1 所示的用例图,
其中,用例“购买饮料”的用例规约描述如下。
参与者:顾客。
主要事件流:
1.顾客选择需要购买的饮料和数量,投入硬币;
2.自动售货机检查顾客是否投入足够的硬币;
3.自动售货机检查饮料信存仓中所选购的饮料是否足够;
4.自动售货机推出饮料;
5.自动售货机返回找零。
各选事件流:
2a.若投入的硬币不足,则给出提示并退回到 1;
3a.若所选购的饮料数量不足 j?则给出提示并退回到 1 。
根据用例“购买饮料”得到自动售货机的 4 个状态:“空闲”状态、“准备服务”
状态、“可购买”状态以及“饮料出售”状态,对应的状态图如图 3-2 所示。
所设计的类图如图 3-3 所示。
8