阅读以下说明和图,根据要求回答问题。
[说明]
某高校想要开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。
1.每门课程都有3~6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2.学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5.若一门课程所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交给考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师再将核对后的成绩报告返还系统。
7.根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交给考试委员会进行审查。考试委员会在审查后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图所示的顶层数据流图和0层数据流图。
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。请简要说明程序流程图的适用场合和作用。
参考答案:
程序流程图通常在进行详细设计时使用,用来描述程序的逻辑结构。
解析:
数据流图(DFD)和程序流程图都是结构化建模中使用的重要工具,能够帮助开发人员更好地分析和设计系统,增强系统开发人员之间交流的准确性和有效性。数据流图和程序流程图是为了达到不同的目的而产生的,其所采用的标准符号集合也不相同。在实际应用中,两者的区别主要包括以下4个方面:
(1)数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流,适用于系统分析中的逻辑建模阶段。程序流程图以图形化的方式展示了应用程序从数据输入开始到获得输出为止的逻辑过程。描述处理过程的控制流,往往涉及具体的技术和环境,适用于系统设计中详细设计阶段的物理建模。
(2)数据流图中的处理过程可并行;程序流程图在某个时间点只能处于一个处理过程。
(3)数据流图展现系统的数据流;程序流程图展现系统的控制流。
(4)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;程序流程图中的处理过程遵循一致的计时标准。