论文部分内容阅读
摘要:本文主要针对教务管理系统的功能需求展开了分析,从信息管理、课程管理、成绩管理、教学计划四个方面入手并做出各自的模块设计,此外还对系统中最难攻克的数据完整性有关问题诠释了课程数据完整性的基本内涵,探究了课程数据完整性受到破坏的主要原因,并提出了保证课程数据完整性的一些对策。
关键词:教务管理系统 课程 数据管理 数据完整性
0 引言
当今的科技迅速发展,管理系统已经完全通过计算机实现,因此需要根据外界的不断变化来完善管理系统,设计适应其发展的数据库管理系统,提高其性能,完善其功能。通过计算机进行教务管理是现代化管理的必然趋势,现通过课程设计来实现一个较小的较为简单的教务管理系统,使得学校的教务管理人员可以更加高效地进行诸如制定教学计划、安排课表和教室及考试管理等活动。
1 教务管理系统功能需求
1.1 需求分析 为了高效率的教务教学的管理,满足对学生教师信息、学生成绩等的查询及其他相关操作的实现,决定开发设计教务管理系统,使教务管理工作系统化、规范化、自动化,从而达到提高管理效率的目的。使办公人员可以轻松快捷地完成教务管理的任务。具体分析如下:
学院包括理学院、人文学院、电信学院、计算机系、外语系等若干二级院系。首先,由各二级院系制定教学计划,由此得出开课计划,这样就有了排课的基本信息,即可生成课表;一个学期结束后,教师从网上录入成绩,系统自动对此数据进行统计和处理。辅助学生的评优工作。系统包括学生学籍管理、教师基本信息管理、Web成绩录入和查询、选课、考试信息发布等。
1.2 系统功能分析 教务管理系统是一个能够管理教师及学生信息的系统,除此之外,它还应该能够对学生及教师提供一定的查询功能,如:成绩查询、获奖情况查询、课程查询、毕业情况查询等。教务系统还应该对学生每学期的选课进行管理。具体功能可归纳为以下几点:①教务处以及各二级院系可以对在籍的每个学生的学籍,包括对学生的成绩、毕业、学生奖励及处分情况进行动态管理。②系统提供Web成绩录入和查询。③系统对学生选课进行管理。④对教师信息、教学计划进行管理、维护和调整。⑤通过此系统,进行考务管理。
1.3 系统相关图
图1 用例图
图1说明:UML的用例图较详细和确切地描述了用户的功能需求,使系统责任明确到位,奠定UML对系统建模的基础,这样,其他模型图的构造和发展依赖于用例图中所描述的内容,直至系统能够实现用例图中描述的功能。
图2 类图
图2说明:将该系统分为六个类:成绩管理、信息管理、教学计划管理(这三个类完成系统管理的三个主要功能,是三个管理模块)、二级学院、教师、学生。
图3 顺序图
图3说明:学院首先制定教学计划自动排课生成课表,学生可以登录系统进行选课;每次进行考试先由成绩管理系统进行安排,考试完毕教师将成绩录入系统,学生登录系统便可以进行成绩的查询;信息管理系统对学生信息的管理主要在学籍、奖励处分情况和毕业情况方面进行管理。
图4说明:活动图是UML中描述系统动态行为的图之一,它用于展现参与行为的类的活动和动作。图中的活动用圆角矩形表示。该图反映了各个类在不同时刻完成的操作。
2 数据完整性问题
2.1 问题的提出
高校在课程数据管理中存在着诸多数据异常错误或问题,主要表现在:
一是重复设课。在课程库中对实属同一门课程设置了多个课程号,造成在分年级、分专业教学计划中对同一课程引用了不同的课程号,导致教学运行环节中课程安排、学生选课、课程重修、考试安排、毕业审查等管理工作经常出现重复课程,需要进行课程替换或合并等杂乱情况。
二是课程信息维护不完全或不准确。对课程数据的一些关键属性,比如课程类型、学分、学时等,没有全面维护或维护不准确,导致其它子系统对课程引用发生偏差或错误。
三是成绩库中出现一课多学分并存或已修学分发生变化。课程管理员随意修改课程库中的课程学分,而成绩子系统对课程学分刷新或记载存在不同步的差异,导致成绩库中一门课程出现多学分并存或已修学分发生变化的学分不一致的情况。
四是数据表中出现无课程号数据。在教学计划、成绩、教学任务书等数据表中莫名出现有数据但无课程号的情况,这种情况是由于对课程库删除了被引用的课程导致,造成其它数据表中产生垃圾数据或异常错误。
种种问题的出现,造成教务管理系统中课程数据混乱或异常错误,严重影响着教务管理系统数据的准确性和系统运行效果。笔者认为,产生这些问题的主要根源在于高校对课程数据管理存在一定程度的随意性、盲目性,无论是系统控制还是业务规则都缺乏对课程数据完整性的约束。
2.2 课程数据完整性的涵义与约束
数据完整性约束一般包括三类:
2.2.1 实体完整性
实体完整性约束的目的是确保数据库中所有实体的唯一性,也就是不应使用完全相同的数据记录。实体完整性要求一个关系或表中主码的属性不能取空值,也不能有重复值,即一个元组(关系表中的一行或一条记录)表示唯一的实体对象。
2.2.2 引用完整性
引用完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。
保证课程数据引用完整性要注意几个问题:
一是外码是否可以接受空值。外码能否为空是依赖于应用环境的,如上述成绩关系中的外码“课程号”。
二是删除课程元组时的考虑。有时想要删除课程库中一个元组,但存在引用关系中(计划、成绩等)若干元组的外码值与被删除的被引用关系中的元组主码值相对应,这时要进行级联删除,如果引用关系同时又是另一个关系的被引用关系则这种级联删除应该级联下去。 三是修改课程属性时的考虑。有时需要修改课程元组的某些属性,应注意的是,级联删除、级联修改是很危险的,可能涉及不同的业务管理范围,需经各方面的确认。
2.2.3 用户自定义完整性
任何关系数据库系统都应该支持实体完整性和引用完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。
2.3 课程数据完整性受到破坏的原因
通过分析课程数据管理中存在的问题可以发现,造成课程数据完整性受到破坏,既存在系统功能不完善的原因,也存在人为操作不当的因素。
2.3.1 在客观上存在系统功能性的欠缺
该教务管理系统已提供了一些数据完整性的约束机制,但仍然存在严重缺陷,不能有效保障课程数据的完整性、可靠性。潜在的功能缺陷有:
一是缺少数据录入时的完整性检验。目前,系统除了对课程号录入时具有“不能为空”的检验外,并未对课程其它必要属性做出“不能为空”的定义。在添加数据时系统应通过程序控制确定课程必填项目,比如学时、学分、开课单位、课程类型等。
二是缺少对数据修改、删除操作的检验和级联处理。根据引用完整性的要求,课程数据一经被其它表引用,有些属性就是“不可变”的,而该教务系统在进行课程数据修改和删除时没有对该数据进行引用检验,更没有级联修改和删除的功能。有时系统缺乏对用户操作的规范控制,就可能造成非法数据进入数据库,这样数据完整性受到破坏就在所难免。
2.3.2 在主观上存在人为操作的随意性、盲目性
课程管理员在进行课程数据处理时,操作随意性大,对数据维护可能造成错误的“风险”意识不足,比如随意修改课程数据的学分、学时等关键属性;或随意删除课程数据;或数据信息维护不完整;或数据库管理员不经过应用程序,而通过数据库后台直接对数据库进行删除、修改和插入等操作,使得一些不符合缺省规则的数据进入数据库,破坏了数据的完整性。
2.4 保证课程数据完整性的对策
在绝大多数情况下可以利用系统提供的数据完整性技术来保证数据的一致性,使得数据处于正确的状态,然而它并不是解决问题的全部方法,也难以避免人为因素,还需要通过业务规则和操作规范进行控制。
2.4.1 强化应用系统对数据完整性的控制是保障数据完整性最有效的手段
强化课程数据完整性可以利用Oracle数据库系统自身提供的完整性约束与触发器功能和应用程序执行完整性检验等方法来实现。应用系统应提供一些限制规则,这些规则规定用户在对数据库进行更新操作时,系统按照制定的规则检验操作的合法性,若不符合规则需进行相应的错误校验处理。限制规则可以分为三类:①完整性约束。②触发条件。③违约响应。
2.4.2 建立业务规则是保证数据完整性的最重要保障
如果软件功能不能从源头上对数据质量进行控制,那么建立业务规则来强制数据完整性就成为最后的屏障。
首先,要科学设置课程编码。课程是以课程代码进行标识的,课程代码必须保证同一门课程仅有一个唯一的代码,遵循同一性原则。
其次,要提高管理人员的责任意识,遵守操作规范。由于系统未做到或不能完全做到对数据进行完整性约束,因此,必须通过强化操作规范进行行为控制,避免随意性、盲目性人为错误的发生。
3 结论
为了保证教务管理系统切实有效地工作,在需求分析阶段必须做到充分了解学校的工作实情和具体需求,对于教务管理的每一个环节都必须做到了解透彻,特别是基础数据的采集与准备。这样在做系统设计时才能使得后期的课程数据等得到有效的保障,从而从根本上解决系统存在的问题,达到充分提高教务管理工作效率的目的。
参考文献:
[1]方纪旋.高校教务系统(课程管理)的开发与使用中的若干问题[J].教育信息化,2002(7).
[2]汤娟等.数据库应用系统中数据完整性的研究[J].交通与计算机,2002(1).
[3]王能斌.数据库系统原理[M].北京:电子工业出版社,2000.
关键词:教务管理系统 课程 数据管理 数据完整性
0 引言
当今的科技迅速发展,管理系统已经完全通过计算机实现,因此需要根据外界的不断变化来完善管理系统,设计适应其发展的数据库管理系统,提高其性能,完善其功能。通过计算机进行教务管理是现代化管理的必然趋势,现通过课程设计来实现一个较小的较为简单的教务管理系统,使得学校的教务管理人员可以更加高效地进行诸如制定教学计划、安排课表和教室及考试管理等活动。
1 教务管理系统功能需求
1.1 需求分析 为了高效率的教务教学的管理,满足对学生教师信息、学生成绩等的查询及其他相关操作的实现,决定开发设计教务管理系统,使教务管理工作系统化、规范化、自动化,从而达到提高管理效率的目的。使办公人员可以轻松快捷地完成教务管理的任务。具体分析如下:
学院包括理学院、人文学院、电信学院、计算机系、外语系等若干二级院系。首先,由各二级院系制定教学计划,由此得出开课计划,这样就有了排课的基本信息,即可生成课表;一个学期结束后,教师从网上录入成绩,系统自动对此数据进行统计和处理。辅助学生的评优工作。系统包括学生学籍管理、教师基本信息管理、Web成绩录入和查询、选课、考试信息发布等。
1.2 系统功能分析 教务管理系统是一个能够管理教师及学生信息的系统,除此之外,它还应该能够对学生及教师提供一定的查询功能,如:成绩查询、获奖情况查询、课程查询、毕业情况查询等。教务系统还应该对学生每学期的选课进行管理。具体功能可归纳为以下几点:①教务处以及各二级院系可以对在籍的每个学生的学籍,包括对学生的成绩、毕业、学生奖励及处分情况进行动态管理。②系统提供Web成绩录入和查询。③系统对学生选课进行管理。④对教师信息、教学计划进行管理、维护和调整。⑤通过此系统,进行考务管理。
1.3 系统相关图
图1 用例图
图1说明:UML的用例图较详细和确切地描述了用户的功能需求,使系统责任明确到位,奠定UML对系统建模的基础,这样,其他模型图的构造和发展依赖于用例图中所描述的内容,直至系统能够实现用例图中描述的功能。
图2 类图
图2说明:将该系统分为六个类:成绩管理、信息管理、教学计划管理(这三个类完成系统管理的三个主要功能,是三个管理模块)、二级学院、教师、学生。
图3 顺序图
图3说明:学院首先制定教学计划自动排课生成课表,学生可以登录系统进行选课;每次进行考试先由成绩管理系统进行安排,考试完毕教师将成绩录入系统,学生登录系统便可以进行成绩的查询;信息管理系统对学生信息的管理主要在学籍、奖励处分情况和毕业情况方面进行管理。
图4说明:活动图是UML中描述系统动态行为的图之一,它用于展现参与行为的类的活动和动作。图中的活动用圆角矩形表示。该图反映了各个类在不同时刻完成的操作。
2 数据完整性问题
2.1 问题的提出
高校在课程数据管理中存在着诸多数据异常错误或问题,主要表现在:
一是重复设课。在课程库中对实属同一门课程设置了多个课程号,造成在分年级、分专业教学计划中对同一课程引用了不同的课程号,导致教学运行环节中课程安排、学生选课、课程重修、考试安排、毕业审查等管理工作经常出现重复课程,需要进行课程替换或合并等杂乱情况。
二是课程信息维护不完全或不准确。对课程数据的一些关键属性,比如课程类型、学分、学时等,没有全面维护或维护不准确,导致其它子系统对课程引用发生偏差或错误。
三是成绩库中出现一课多学分并存或已修学分发生变化。课程管理员随意修改课程库中的课程学分,而成绩子系统对课程学分刷新或记载存在不同步的差异,导致成绩库中一门课程出现多学分并存或已修学分发生变化的学分不一致的情况。
四是数据表中出现无课程号数据。在教学计划、成绩、教学任务书等数据表中莫名出现有数据但无课程号的情况,这种情况是由于对课程库删除了被引用的课程导致,造成其它数据表中产生垃圾数据或异常错误。
种种问题的出现,造成教务管理系统中课程数据混乱或异常错误,严重影响着教务管理系统数据的准确性和系统运行效果。笔者认为,产生这些问题的主要根源在于高校对课程数据管理存在一定程度的随意性、盲目性,无论是系统控制还是业务规则都缺乏对课程数据完整性的约束。
2.2 课程数据完整性的涵义与约束
数据完整性约束一般包括三类:
2.2.1 实体完整性
实体完整性约束的目的是确保数据库中所有实体的唯一性,也就是不应使用完全相同的数据记录。实体完整性要求一个关系或表中主码的属性不能取空值,也不能有重复值,即一个元组(关系表中的一行或一条记录)表示唯一的实体对象。
2.2.2 引用完整性
引用完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。
保证课程数据引用完整性要注意几个问题:
一是外码是否可以接受空值。外码能否为空是依赖于应用环境的,如上述成绩关系中的外码“课程号”。
二是删除课程元组时的考虑。有时想要删除课程库中一个元组,但存在引用关系中(计划、成绩等)若干元组的外码值与被删除的被引用关系中的元组主码值相对应,这时要进行级联删除,如果引用关系同时又是另一个关系的被引用关系则这种级联删除应该级联下去。 三是修改课程属性时的考虑。有时需要修改课程元组的某些属性,应注意的是,级联删除、级联修改是很危险的,可能涉及不同的业务管理范围,需经各方面的确认。
2.2.3 用户自定义完整性
任何关系数据库系统都应该支持实体完整性和引用完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。
2.3 课程数据完整性受到破坏的原因
通过分析课程数据管理中存在的问题可以发现,造成课程数据完整性受到破坏,既存在系统功能不完善的原因,也存在人为操作不当的因素。
2.3.1 在客观上存在系统功能性的欠缺
该教务管理系统已提供了一些数据完整性的约束机制,但仍然存在严重缺陷,不能有效保障课程数据的完整性、可靠性。潜在的功能缺陷有:
一是缺少数据录入时的完整性检验。目前,系统除了对课程号录入时具有“不能为空”的检验外,并未对课程其它必要属性做出“不能为空”的定义。在添加数据时系统应通过程序控制确定课程必填项目,比如学时、学分、开课单位、课程类型等。
二是缺少对数据修改、删除操作的检验和级联处理。根据引用完整性的要求,课程数据一经被其它表引用,有些属性就是“不可变”的,而该教务系统在进行课程数据修改和删除时没有对该数据进行引用检验,更没有级联修改和删除的功能。有时系统缺乏对用户操作的规范控制,就可能造成非法数据进入数据库,这样数据完整性受到破坏就在所难免。
2.3.2 在主观上存在人为操作的随意性、盲目性
课程管理员在进行课程数据处理时,操作随意性大,对数据维护可能造成错误的“风险”意识不足,比如随意修改课程数据的学分、学时等关键属性;或随意删除课程数据;或数据信息维护不完整;或数据库管理员不经过应用程序,而通过数据库后台直接对数据库进行删除、修改和插入等操作,使得一些不符合缺省规则的数据进入数据库,破坏了数据的完整性。
2.4 保证课程数据完整性的对策
在绝大多数情况下可以利用系统提供的数据完整性技术来保证数据的一致性,使得数据处于正确的状态,然而它并不是解决问题的全部方法,也难以避免人为因素,还需要通过业务规则和操作规范进行控制。
2.4.1 强化应用系统对数据完整性的控制是保障数据完整性最有效的手段
强化课程数据完整性可以利用Oracle数据库系统自身提供的完整性约束与触发器功能和应用程序执行完整性检验等方法来实现。应用系统应提供一些限制规则,这些规则规定用户在对数据库进行更新操作时,系统按照制定的规则检验操作的合法性,若不符合规则需进行相应的错误校验处理。限制规则可以分为三类:①完整性约束。②触发条件。③违约响应。
2.4.2 建立业务规则是保证数据完整性的最重要保障
如果软件功能不能从源头上对数据质量进行控制,那么建立业务规则来强制数据完整性就成为最后的屏障。
首先,要科学设置课程编码。课程是以课程代码进行标识的,课程代码必须保证同一门课程仅有一个唯一的代码,遵循同一性原则。
其次,要提高管理人员的责任意识,遵守操作规范。由于系统未做到或不能完全做到对数据进行完整性约束,因此,必须通过强化操作规范进行行为控制,避免随意性、盲目性人为错误的发生。
3 结论
为了保证教务管理系统切实有效地工作,在需求分析阶段必须做到充分了解学校的工作实情和具体需求,对于教务管理的每一个环节都必须做到了解透彻,特别是基础数据的采集与准备。这样在做系统设计时才能使得后期的课程数据等得到有效的保障,从而从根本上解决系统存在的问题,达到充分提高教务管理工作效率的目的。
参考文献:
[1]方纪旋.高校教务系统(课程管理)的开发与使用中的若干问题[J].教育信息化,2002(7).
[2]汤娟等.数据库应用系统中数据完整性的研究[J].交通与计算机,2002(1).
[3]王能斌.数据库系统原理[M].北京:电子工业出版社,2000.