参考答案:
【问题1】 【问题4】
E1:学生
E2:教务人员
【问题2】
D1:学生库
D2:课程库
【问题3】
图1-1中不合法提示分解为图1-2中的三条数据流的组合:学生信息不合法提示、无注册资格提示、学位考试结果不合法提示;
图1-1中注册学生信息对应图1-2中注册学生信息和选课学生标识。
详细解析:
本题考查DFD的应用,属于比较传统的题目,考查点也与往年类似。
本题目案例说明相对简单,没有从顶层开始给出DFD,而是直接从0层DFD开始。顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体以及外部实体与系统之间的输入和输出数据流。
【问题1】
本问题考查0层DFD,要求确定外部实体。不难看出,在0层DFD中,系统主要功能“验证输入信息”和“处理注册申请”,涉及与系统交互的外部实体有“学生”提供输入信息,发送注册通知功能给“教务人员”发送所注册的课程信息和已注册的学生信息,从而即可确定E1为“学生”实体,E2为“教务人员”实体。
【问题2】
本问题要求确定1层数据流图中的数据存储。分析说明中和数据存储有关的描述,不难发现,说明2.(1)存储注册信息明确说明“将注册学生信息记录在学生库”,可知D1为学生库;说明2.(2)存储所注册课程中明确说明“然后存入课程库”,可知D2为课程库。
【问题3】
本问题要求补充缺失的数据流及其起点和终点。细心的考生可能会发现,对照图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-1中不合法提示在图1-2中没有出现。事实上,从前述【问题3】缺失数据流的分析中,已经发现,图1-2中对于说明中的功能出现了“学生信息不合法提示”、“无注册资格提示”和“学位考试结果不合法提示”三条数据流,说明图1-1中的数据流“不合法提示”是由这三条数据流组合而成,同样,2.(2)存储所注册课程将选课学生标识与欲注册课程进行关联,然后存入课程库,图1-1中注册学生信息在图1-2中进一步分出注册学生信息和选课学生标识,即图1-1中注册学生信息是注册学生信息和选课学生标识的并集。