问答题
阅读以下说明和图,根据要求回答问题。
[说明]
某高校想要开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。
1.每门课程都有3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交给考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师再将核对后的成绩报告返还系统。
7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交给考试委员会进行审查。考试委员会在审查后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图所示的顶层数据流图和0层数据流图。
问答题
请使用说明中的词语,给出图中的外部实体E1~E4的名称。
【正确答案】E1:考试委员会 E2:主讲教师 E3:学生(或选课学生) E4:教务处
【答案解析】顶层DFD通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体及外部实体与系统间的输入/输出数据流。图所示的顶层DFD中的数据流信息是完整的。根据题干中的关键信息“2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统”可知,外部实体“主讲教师”将产生一条输出数据流“学生的平时成绩和考试成绩(或学生成绩)”并送至“成绩管理系统”进行处理。根据题干中的关键信息“6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师再将核对之后的成绩报告返还系统”可知,“成绩管理系统”处理将产生一条送至外部实体“主讲教师”的输出数据流“成绩报告”,而外部实体“主讲教师”也将产生一条送至“成绩管理系统”处理的输出数据流“核对后的成绩报告”。综合这些分析结果可知,外部实体E2的名称是“主讲教师”。
根据题干中的关键信息“4.对于有效成绩,系统……对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处”可知,“成绩管理系统”处理将产生一条送至外部实体“教务处”的输出数据流“无效成绩通知”。根据题干中的关键信息“5.若一门课程所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表……”可知,“成绩管理系统”处理将产生一条送至外部实体“教务处”的输出数据流“课程完成通知”,而外部实体“教务处”也将产生一条送至“成绩管理系统”处理的输出数据流“生成成绩列表请求”。综合这些分析结果可知,图中外部实体E4的名称是“教务处”。
根据题干中的关键信息“7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交给考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统”可知,“成绩管理系统”处理将产生一条送至外部实体“考试委员会”的输出数据流“成绩列表”,而外部实体“考试委员会”也将产生一条送至“成绩管理系统”处理的输出数据流“成绩审查结果”。综合这些分析结果可知,图中外部实体E1的名称是“考试委员会”。
根据题干中的关键信息“7.根据主讲教师……对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”可知,“成绩管理系统”处理将产生一条送至外部实体“选课学生”的输出数据流“成绩单”,因此图中外部实体E3的名称是“选课学生”。
问答题
请使用说明中的词语,给出图中的数据存储D1~D5的名称。
【正确答案】D1:学生信息文件 D2:课程单元信息文件
D3:课程信息文件 D4:课程成绩文件
D5:无效成绩文件
【答案解析】将问题1的分析结果填入图中。由题干中的关键信息“4.对于有效成绩,系统将其保存在课程成绩文件中……”,以及图中的加工处理“2记录有效成绩”输出一条数据流并送至数据存储D4等信息可知,D4的名称是“课程成绩文件”。
同理,由题干中的关键信息“4.对于有效成绩,系统……对于无效成绩,系统会单独将其保存在无效成绩文件中”,以及图中的加工处理“3记录无效成绩”输出一条数据流并送至数据存储D5等信息可知,D5的名称是“无效成绩文件”。
根据题干中的关键信息“3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程……”,以及图中的数据存储D1输出的两条数据流分别流向加工处理“1 验证学生信息”和加工处理“4 生成成绩列表”等信息可知,在验证学生信息时,需要根据学生信息文件来进行,而生成成绩列表及成绩单时,学生信息也是必需的。因此D1的名称是“学生信息文件”。
根据题干中的关键信息“3.在记录……如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应”可知,数据存储D2和D3的名称分别是“课程信息文件”和“课程单元信息文件”。
问答题
在图中还缺少3条数据流,请根据说明及数据流图提供的信息,分别指出这3条数据流的起点和终点并填入表中。
【正确答案】起点 终点
4(或生成成绩列表) 5(或生成最终成绩单)
D1(或学生信息文件) 5(或生成最终成绩单)
D4(或课程成绩文件) 4(或生成成绩列表)
【答案解析】将问题1和问题2的解答结果填入图中。从图中可以直观地看出,加工处理“5 生成最终成绩单”只有输出数据流“成绩单”,而没有输入数据流。根据题干中的关键信息“7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交给考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”可知,加工处理“4 生成成绩列表”与加工处理“5 生成最终成绩单”间存在一条数据流“审查后的成绩列表”。但是加工处理“5 生成最终成绩单”仅依靠输入数据流“审查后的成绩列表”还不足以产生输出数据流“成绩单”,它还必须包含相应的学生信息,因此数据存储D1“学生信息文件”与加工处理“5 生成最终成绩单”间存在一条数据流“学生信息”。
根据题干中的关键信息“5.若一门课程所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交给考试委员会审查”可知,生成成绩列表时,需要从数据存储D4“课程成绩文件”中获取信息的。因此数据存储D4“课程成绩文件”与加工处理“4 生成成绩列表”间存在一条数据流“有效的课程成绩”。
整理以上分析结果,该成绩管理系统完整的0层数据流图如图所示。

问答题
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。请简要说明程序流程图的适用场合和作用。
【正确答案】程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。
【答案解析】数据流图(DFD)和程序流程图都是结构化建模中使用的重要工具,能够帮助开发人员更好地分析和设计系统,增强系统开发人员之间交流的准确性和有效性。数据流图和程序流程图是为了达到不同的目的而产生的,其所采用的标准符号集合也不相同。在实际应用中,两者的区别主要包括以下4个方面:
(1)数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流,适用于系统分析中的逻辑建模阶段。程序流程图以图形化的方式展示了应用程序从数据输入开始到获得输出为止的逻辑过程。描述处理过程的控制流,往往涉及具体的技术和环境,适用于系统设计中详细设计阶段的物理建模。
(2)数据流图中的处理过程可并行;程序流程图在某个时间点只能处于一个处理过程。
(3)数据流图展现系统的数据流;程序流程图展现系统的控制流。
(4)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;程序流程图中的处理过程遵循一致的计时标准。