2013 下半年软件设计师考试真题及答案-下午卷
试题一
某大学欲开发一个基于 Web 的课程注册系统,该系统的主要功能如下:
1. 验证输入信息
(1) 检查学生信息:检查学生输入的所有注册所需信息。如果信息不合法,返回学生信
息不合法提示;如果合法,输出合法学生信息。
(2) 检查学位考试结果:检查学生提供的学位考试结果。如果不合法,返回学位考试结
果不合法提示;如果合法,检査该学生注册资格。
(3) 检查学生注册资格:根据合法学生信息和合法学位考试结果,检查该学生对欲选课
程的注册资格。如果无资格,返回无注册资格提示;如果有注册资格,则输出注册学生信息
(包含选课学生标识)和欲注册课程信息。
2. 处理注册申请
(1) 存储注册信息:将注册学生信息记录在学生库。
(2) 存储所注册课程:将选课学生标识与欲注册课程进行关联,然后存入课程库。
(3) 发送注册通知:从学生库中读取注册学生信息,从课程库中读取所注册课程信息,
给学生发送接受提示;给教务人员发送所注册课程信息和已注册学生信息。
现采用结构化方法对课程注册系统进行分析与设计,获得如图 1-1 所示的 0 层数据流图和图
1-2 所示的 1 层数据流图。
【问题 1】
使用说明中的词语,给出图 1-1 中的实体 E1 和 E2 的名称。
E1:学生
E2:教务人员
本问题考查 0 层 DFD,要求确定外部实体。不难看出,在 0 层 DFD 中,系统主要功能“验证
输入信息”和“处理注册申请”,涉及与系统交互的外部实体有“学生”提供输入信息,发
送注册通知功能给“教务人员”发送所注册的课程信息和已注册的学生信息,从而即可确定
E1 为“学生”实体,E2 为“教务人员”实体。
【问题 2】
使用说明中的词语,给出图 1-2 中的数据存储 D1 和 D2 的名称。
D1:学生库
D2:课程库
本问题要求确定 1 层数据流图中的数据存储。分析说明中和数据存储有关的描述,不难发现,
说明 2.(1)存储注册信息明确说明“将注册学生信息记录在学生库”,可知 D1 为学生库;说
明 2.(2)存储所注册课程中明确说明“然后存入课程库”,可知 D2 为课程库。
【问题 3】
根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
本问题要求补充缺失的数据流及其起点和终点。细心的考生可能会发现,对照图 1-1 和图
1-2 的输入数据流,数量和名称均相同,所以缺失的数据流是输出数据流或者处理之间的数
据流。考查图 1-1 中输出至 E1 的数据流,有“接受提示”和“不合法提示”,而图 1-2 中没
有这两条数据流,可以确定缺失的数据流包括这两条或者其分解的数据流。
考查说明 1 中的 3 个子功能,
1.(1)检查学生信息完成检查学生输入的所有注册所需信息。如果信息不合法,返回学生信
息不合法提示。
1.(2)检查学位考试结果完成检查学生提供的学位考试结果。如果不合法,返回学位考试结
果不合法提示。
1.(3)检查学生注册资格完成根据合法学生信息和合法学位考试结果,检查该学生对欲选课
程的注册资格。如果无资格,返回无注册资格提示。
对应图 1-1 中的处理 1 验证输入信息的输出数据流“不合法提示”,不难发现,在图 1-2 中,
处理 1.1 缺少了到实体学生的输出数据流“学生信息不合法提示”;处理 1.2 缺少了到实体
学生的输出数据流“无注册资格提示”;处理 1.3 缺少了到实体学生的输出数据流“学位考
试结果不合法提示”。
再考查图 1-1 中处理 2,其输出数据流有三条,而图 1-2 中对图 1-1 中处理 2 的分解中,只
包含了“所注册课程信息”和“已注册学生信息”两条数据流,缺失了“接受提示”。说明
2.(3)中发送注册通知功能完成从学生库中读取注册学生信息,从课程库中读取所注册课程
信息,给学生发送接受提示;给教务人员发送所注册课程信息和己注册学生信息。所以,缺
失的“接受提示”的起点是处理 2.3 发送注册通知,终点是 E1 学生。
【问题 4】
根据补充完整的图 1-1 和图 1-2,说明上层的哪些数据流是由下层的哪些数据流组合而
成。
图 1-1 中不合法提示分解为图 1-2 中的三条数据流的组合:学生信息不合法提示、无注册资
格提示、学位考试结果不合法提示。
图 1-1 中注册学生信息对应图 1-2 中注册学生信息和选课学生标识。
本问题考查数据流的分解与组合。仔细分析【说明】中的文字并与图 1-1 的对照,可以发现
在图 1-1 中不合法提示在图 1-2 中没有出现。事实上,从前述【问题 3】缺失数据流的分析
中,己经发现,图 1-2 中对于说明中的功能出现了“学生信息不合法提示”、“无注册资格提
示”和“学位考试结果不合法提示”三条数据流,说明图 1-1 中的数据流“不合法提示”是
由这三条数据流组合而成。同样,2.(2)存储所注册课程将选课学生标识与欲注册课程进行
关联,然后存入课程库,图 1-1 中注册学生信息在图 1-2 中进一步分出注册学生信息和选课
学生标识,即图 1-1 中注册学生信息是注册学生信息和选课学生标识的并集。
试题二
某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管
理系统。
【需求分析结果】
(1) 快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和地
址。每个分公司可以有多名员工处理分公司的日常业务,每名员工只能在一个分公司工作。
每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。
(2) 员工信息包括员工号、姓名、岗位、薪资、手机号和家庭地址。其中,员工号唯一
标识员工信息的每一个元组。岗位包括经理、调度员、业务员等。业务员根据客户提交的快
件申请单进行快件受理事宜,一个业务员可以受理多个客户的快件申请,一个快件申请只能
由一个业务员受理。调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业
务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。
(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行
账号。其中,客户号唯一标识客户信息的每一个元组。当客户要寄快件时,先要提交快件申
请单,申请号由系统自动生成。快件申请信息包括申请号、客户号、发件人、发件人电话、
快件名称、运费、发出地、收件人、收件人电话、收件地址。其中,一个申请号对应唯一的
一个快件申请,一个客户可以提交多个快件申请,但一个快件申请由唯一的一个客户提交。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(图 2-1)和关系模式(不完整)如下:
【关系模式设计】
分公司(分公司编号,名称,经理,办公电话,地址)
员工(员工号,姓名,(a),岗位,薪资,手机号,家庭地址)
客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)申请单( (b) ,
发件人,发件人电话,发件人地址,快件名称,运费,收件人,收件人电话,收件地址,受
理标志,业务员)
安排承运( (c) ,实际完成时间,调度员)
【问题 1】
根据问题描述,补充五个联系,完善图 2-1 的实体联系图。联系名可用联系 1、联系 2、
联系 3、联系 4 和联系 5 代替,联系的类型分为 1:1、1:n 和 m:n(或 1:1、1:*和*:*)。
图中的*可表示为 m 或 n,对联系名称可不做要求,但不能出现重名。
由“每个分公司有一位经理”可知分公司与经理之间的管理联系类型为 1:);由“每个分公
司有多名员工处理日常事务,每个员工属于一个分公司”可知分公司与员工间的所属联系类
型为 1:*;并且员工是经理的超类型,经理是员工的子类型。
由“一个客户可以有多个快件申请,但一个快件申请对应唯一的一个客户”可知,客户与申
请单之间的提交联系类型为 1:*。
由“业务员根据客户提交的快件申请单进行快件受理事宜,一个业务员可以受理多个客户的
快件申请,一个快件申请只能由一个业务员受理”可知业务员与申请单之间的受理联系类型
为 1:*。
由“调度根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等;
一个业务员可以执行调度安排的多个快件的承运业务。”可知,调度、业务员和申请单之间
的承运联系类型为 1:*:*。
【问题 2】
(1) 根据实体联系图,将关系模式中的空(a)〜(c)补充完整。
(2) 给出员工、申请单和安排承运关系模式的主键和外键。
(1) (a)分公司编号
(b) 申请号,客户号
(c) 申请号,业务员
(1)完整的关系模式如下:
分公司(分公司编号,名称,办公电话,地址)
员工(员工号,姓名,分公_司_编_号,岗位,薪资,手机号,家庭地址)
客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)
申请单(申请号,客方号,发件人,发件人电话,发件人地址,快件名称,运费,收件人,
收件人电话,收件地址,受理标志,业务员)
安排承运(申请号,亚务炅,实际完成时间,调度员)
(2)员工、申请单和安排承运关系模式的主键和外键的分析如下:
在申请单信息中,申请号由系统自动生成,不会重复,可作为申请单的主键属性,外键为客
户号,业务员;在员工信息中,员工号唯一标识员工信息的每一个元组,故为员工关系的主
键属性,外键为分公司编号;安排承运关系模式的主键为申请号,外键为业务员和调度员。
【问题 3】
(1)客户关系的通信地址可以进一步分为邮编、省、市、街道,那么该属性是否属于简
单属性,为什么?请用 100 字以内的文字说明。
(2)假设分公司需要增设一位经理的职位,那么分公司与经理之间的联系类型应修改为
(d) ,分公司的主键应修改为 (e) 。
(1)该属性不属于简单属性。因为简单属性是原子的、不可再分的,复合属性是可
以细分为更小的部分(即划分为别的属性),本题客户关系的通信地址可以进一步分为邮编、
省、市、街道,所以属于复合属性。
(2) (d)1:n
(e)分公司编号,经理
(1) 客户的通信地址属性不属于简单属性。因为根据题意,客户关系的通信地址可以进一步
分为邮编、省、市、街道,而简单属性是原子的、不可再分的,复合属性可以细分为更小的
部分(即划分为别的属性)。由于客户的通信地址可以进一步分为邮编、省、市、街道,故
属于复合属性。
(2) 根据题意,分公司需要增设一位经理的职位,那么分公司与经理之间的联系类型应修改
为 l:n,分公司的主键应修改为分公司编号,经理。