2015 下半年软件设计师考试真题及答案-下午卷
试题一
【说明】
某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。学
生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。系统的主要功能如下:
(1)提交作业。验证学生标识后,学生将电子作业通过在线的方式提交,并进行存储。系统
给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。
(2)下载未批改作业。验证讲师标识后,讲师从系统中下载学生提交的作业。下载的作业将
显示在屏幕上。
(3)批改作业。讲师按格式为每个题目进行批改打分,并进行整体评价。
(4)上传批改后的作业。将批改后的作业(包括分数和评价)返回给系统,进行存储。
(5)记录分数和评价。将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已
批改口
(6)获取已批改作业。根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和
评价。
(7)作业抽检。根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报
告给讲师。
现采用结构化方法对在线作业批改系统进行分析与设计,获得如图 1-1 所示的上下文数据流
图和图 1-2 所示的 0 层数据流图。
1
问题:1.1
使用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。
问题:1.2
使用说明中的词语,给出图 1-2 中的数据存储 D1~D4 的名称。
问题:1.3
根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
问题:1.4
若发送给学生和讲师的通知是通过第三方 Email 系统进行的,则需要对图 1-1
和图 1-2 进行哪些修改?用 100 字以内文字加以说明。
2
1.
参考答案:
【问题 1】
E1:学生
师
【问题 2】
E2:讲
E3:教务人员
D1:提交的作业表
D2:学生
表
【问题 3】
D3:讲师表
D4:批改后的作业表
数据流名称:提交成功通知
起点:1 或提交作
业
数据流名称:抽检报告
抽检
终点:E1 或学生
终点:E2 或讲师
起点:7 或作业
数据流名称:分数和评价
起点:5 或记录分数和
评价
终点:D2 或学生表
数据流名称:作业已批改通知
起点:5 或记录分数和评
价
终点:E1 或学生
【问题 4】
增加外部实体“第三方 Email 系统”,将原来的两条“通知”数据流合并为一条“通知”数
据流,终点为“第三方 Email 系统”。
试题分析:
本题问题 1 要求识别 E1-E3 具体为哪个外部实体,通读试题说明,可以了解到适合充当外部
实体的包括:学生、讲师、教务人员。具体的对应关系,可以通过将顶层图与题目说明进行
匹配得知。如:从图中可看出 E1 会向系统发出数据流“作业、学生标识”,会从系统接收
到“批改后的作业、通知”;而从试题说明“验证学生标识后,学生将电子作业通过在线的
方式提交,并进行存储。系统给学生发送通知表明提交成功,通知中包含唯一编号”可以看
出,E1 对应的,便是学生。E2、E3 同理可得。
问题 2 要求识别存储,解决这类问题,以图的分析为主,配合说明给存储命名,因为存储相
关的数据流一般展现了这个存储中到底存了些什么信息,如从图中可以看到 D3 中有讲师信
息,而 D2 中有学生信息,题目说明中又有“学生和讲师的基本信息已经初始化为数据库中
3
的学生表和讲师表。”自然 D2 应为学生表,D3 应为讲师表。同理,D1 应存储了学生的作业、
D4 存储了批改后的作业,由于这两个内容在说明中没有“**表”“**文件”的表达,所以
该存储的命名直接从说明中取合适的词来总结,D1 应为作业,D4 应为批改后的作业。
问题 3 分析:
缺失数据流 1
名称:通知 起点:提交作业 终点:E1
理由:顶层图有从在线作业批改系统到 E1 的数据流“通知”,而 0 层图没有,依据平衡原
则可知缺失了,进一步分析试题说明,了解到“提交作业”这个功能有操作“系统给学生发
送通知表明提交成功”,所以缺失数据流的起点为“提交作业”。
缺失数据流 2
名称:抽检报告 起点:作业抽检 终点:E2
理由:题目说明中,对于“作业抽检”的描述为“根据教务人员标识抽取批改后的作业样本,
给出抽检意见,然后形成抽检报告给讲师。”据此可以了解到从该功能应有数据流“抽检报
告”至 E2。
缺失数据流 3
名称:分数和评价 起点:记录分数和评价 终点:D2
理由:首先值得注意的是“记录分数和评价”只有输入,没有输出,这是破坏了数据平衡原
则的。这种情况,必然是有缺失数据流的。从题目描述“将批改后的作业的分数和评价记录
在学生信息中”可以了解到,应有数据流从“记录分数和评价”到 D2。
缺失数据流 4
名称:通知 起点:记录分数和评价 终点:E1
理由:从题目描述“并通知学生作业已批改”可以了解到,应有数据流从“记录分数和评
价”到 E1。
问题 4 强调发送邮件采用了“第三方 Email 系统”,这个“第三方 Email 系统”属于典型的
外部实体,所以需要增加外部实体“第三方 Email 系统”,并将原来的两条“通知”数据流
合并为一条“通知”数据流,终点为“第三方 Email 系统”。
kuaileqie2001
2015-11-20
答案意思相近能得满分吗
4
MegumiIsh
2015-11-23
能够的,意思接近最多扣一到两分
rain_yu
2016-04-13
数据流名称:通知 不是已经重复了吗?
rain_yu
2016-04-13
“第三方 Email 系统”为何是实体而不是加工呢?
MegumiIsh
2016-04-13
通知包括两部分的通知,对学生提交成功的通知和对教师学生提交作业的通知。
加工和实体的区别要分的清楚,第三方 Email 系统是一个系统,它是一个实体,比如学生,
老师等,这些是实体,加工是指对数据的改变,将数据从一个形式变为另外一个形式。
ht28_first
2016-05-04
有 3 个问题请问老师:
1、在 D1 中填写“提交的作业”是否得分,因为这里有提交的作业,也有批改后的作业,如
果就填写作业的话如何分清是提交的作业和批改后的作业,这里 D3 就填写了“批改后的作
业”。
2、第 3 个问题中补充 1-2 缺失的数据流及起点和终点,我没有写数据流名称,填写了 6
条数据流,有 3 条数据流是对的。这样可以得多少分,多填是否有扣分。
3、第 4 个问题中我的回答是:增加外部实体“第三方 Email 系统”,将原来的两条“通知”
数据流合并为一条“通知”数据流,终点为“第三方 Email 系统”。请问这样的回答有问题
吗?如果有问题问题在哪里?
MegumiIsh
2016-05-04
先来看第一个问题:D1 填写提交的作业能得分,D1 这个数据存储本身存储的就是提交的作
业,填作业和提交的作业两个都没有影响
第二个问题;这个是看给分标准怎么给了,有时候会有出入,不过大家都是一个标准。一般
一条数据流三分的话,名称一分,起点终点各一分,如果数据流两分的话,名称一分,起点
和终点一起一分了,考试时如果多写会扣一分的样子吧
第三个问题:没有问题,答案不是这样给的吗?
fangzhengwu
2016-05-04
请问老师:离软考只剩半个月了,现在是做“模拟题”还是“历年真题”?
MegumiIsh
2016-05-05
5
我一直的建议是真题为主,模拟题为辅,因为真题更权威更有代表性,每套真题的各考点分
值的分布,答案的正确性等,都是最佳的,相对来说有些模拟题答案值得考究。所以我的建
议还是多做真题,做过的再做一次都是可以的,看看自己是否有些知识点不够牢固。
试题二
【说明】
某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。工程师小李主
要承担该系统的公告管理和消息管理模块的研发工作。公告管理模块的主要功能包括添加、
修改、删除和查看公告。消息管理模块的主要功能是消息群发。
小李根据前期调研和需求分析进行了概念模型设计,具体情况分述如下:
【需求分析结果】
(1)该企业设有研发部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名
员工,每名员工只属于一个部门,部门信息包括:部门号、名称、部门经理和电话,其中部
门号唯一确定部门关系的每一个元组。
(2)员工信息包括:员工号、姓名、岗位、电话和密码。员工号唯一确定员工关系的每一个
元组;岗位主要有经理、部门经理、管理员等,不同岗位具有不同的权限。一名员工只对应
一个岗位,但一个岗位可对应多名员工。
(3)消息信息包括:编号、内容、消息类型、接收人、接收时间、发送时间和发送人。其中
(编号,接收人)唯一标识消息关系中的每一个元组。一条消息可以发送给多个接收人,一
个接收人可以接收多条消息。
(4)公告信息包括:编号、标题、名称、内容、发布部门、发布时间。其中编号唯一确定公
告关系的每二个元组。一份公告对应一个发布部门,但一个部门可以发布多份公告;一份公
告可以被多名员工阅读,一名员工可以阅读多份公告。
【概念模型设计】
6
根据需求分析阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示:
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
部门((a),部门经理,电话)
员工(员工号,姓名,岗位号,部门号,电话,密码)
岗位(岗位号,名称,权限)
消息((b),消息类型,接收时间,发送时间,发送人)
公告((c),名称,内容,发布部门,发布时间)
阅读公告((d),阅读时间)
问题:2.1
根据问题描述,补充四个联系,完善图 2-1 所示的实体联系图。联系名可用
联系 1、联系 2、联系 3 和联系 4 代替,联系的类型分为 1:1、1:n 和 m:n(或 1:1、1:*和*:
*)。
问题:2.2
(1)根据实体联系图,将关系模式中的空(a)~(d)补充完整。
(2)给出“消息”和“阅读公告”关系模式的主键与外键。
问题:2.3
消息和公告关系中都有“编号”属性,请问它是属于命名冲突吗?用 100 字
以内文字说明原因。
2.
参考答案:
【问题 1】
7
【问题 2】
(a)部门号,名称
(b)编号,内容,接收人,
(c)编号,标题
(d)员工号,编号
消息
主键:(编号,接收人)
外键:接收人,发送人
阅读公告
主键:(员工号,公告编号)
外键:员工号,公告编号
【问题 3】
不属于命名冲突。
命名冲突是在合并 ER 模型时提出的概念,合并 ER 模型时之所以产生冲突,是因为对于同样
的对象,不同的局部 ER 模型有着不同的定义,在本题中,本就是不同对象的属性,所以不
存在冲突的说法。
试题分析:
【问题 1】
根据题干中的需求分析可以得到完整的 ER 图和联系类型。
如:“一名员工只对应一个岗位,但一个岗位可对应多名员工”,可以得出员工与岗位间是
有一个“对应”的联系的,而且联系类型是 n:1。
【问题 2】
(1)根据题干中列出的内容,可以把关系模式填完整。
(2)消息(编号,内容,消息类型,接收人,接收时间,发送时间,发送人),“其中(编
号,接收入)唯一标识消息关系中的每一个元组”可知,其主键为编号和接收人;而接收人
和发送人都需要员工号,所以为外键。
阅读公告(公告编号,员工号,阅读时间)也是同样的道理。
8