关键词:选课系统 信息管理 快捷准确 操作简单
为适应“教育要面向现代化,面向世界,面向未来”的要求,积极配合教学改革的进程,进一步提高教学质量,规范和加强学生的教学管理工作,大力推广网上教学管理系统不失为一种了的办法,学生选课系统就是教学管理系统的一个组成部分。原来每次选谭前都要准备大量的材料,现在只需敲几下键盘就可以实现查询及管理,既快捷又准确,既节省了大量的人力、物力,又极大地提高了教学管理的质量和效率。我们开发的这个学生选课系统具有良好的信息管理功能,简洁新颖的用户图形界面,操作简单易学,为学生选修课程提供了较好的平台。
学生可以根据自己的实际情况认真考虑,争取选到最适合自己的课程,避免了选课时出现主观的错误,从而影响学分。本系统对于任课教师、管理员的操作和维护也非常简便易行,这样同时提高了整个选课工作的效率和管理水平。可以想见,随着校园网络的不断建设和完善,计算机必将越来越多地应用于学校的教学和管理工作中,选课系统作为其中的重要一环发挥着应有的作用。
随着我国教育体制改革的深入,学生人数的不断上升,课程设置不断向深度和广度发展,手工排课的缺点就越来越突出。由于计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。用计算机进行排课能够快速地得到满足约束条件的可行结果,具有排课时间短、人力省和质量高的优点,不但能使教务人员从繁杂的排课任务中解脱出来,而且对于推动教学的发展也起到非常重要的作用。
1
可行性分析
随着信息时代的发展,计算机产业应用在各行各业,当然在学校的应用作用更是不可忽视,尤其是在学生选课这一方面,所以用计算机进行选课是必然的,也是可靠、可行的。主要体现在如下的几点:
1.可以提高可靠性,避免主观的错误。 2.可以大幅度提高工作效率。
3.可以减少在人工选课中的困难和麻烦。
此学生选课系统的主要任务是:使用计算机实现学生快速而又准确的选课管理,主要完成学生信息的添加、修改、查询和删除。主要在WINDOWS下运行,用VB开发环境进行开发。此学生选课系统的主要问题是:学生选课系统的主要应用范围是为在校学生提供一个计算机选课平台,能管理着管理员信息,在校学生的个人信息,授课教师的信息,课程信息,排课信息,选课信息等信息,因此,在此要求上利用VB数据库开发技术和Access数据库工具,开发一个高效,准确无误的“学生选课系统”。
排课是学校教学管理中十分重要、又相当复杂的管理工作之一,是为学校所设置的课程安排时间和地点,使整个教学能够有计划有秩序地进行。
课表编排是一个涉及多种因素的组合规划问题,它要保证在课程安排中教师、学生、教室不能产生冲突(所谓冲突,就是将需上不同课程的两个或多个班安排在了同一时间、同一教室,或为同一教师在同一时间段安排了多门课程等情况),并且要满足教师的要求和教室资源等约束条件。
排课管理的主要功能是把各系或各授课部门的课程申请进行汇总,然后根据教学计划或教学环节制订全校各班级的课表。由于学校班级数、课程门数较多,
2
每门课又涉及很多信息,如果用手工进行排课,不可避免地出现教室资源冲突或教师资源冲突情况。为了使课表的编排更准确、合理、快速,学校教务部门用计算机来进行排课管理,并开发出一些适用的排课软件系统。
根据管理的实际要求,结合课程管理的实际流程,系统需要满足以下需要: 1.掌握学校所有的 课程和教师信息。包括课程的时间、班级以及任课教师姓名。
2.提供灵活的浏览和查找功能。可以查看某个班级所有课程的信息,可以对课程信息提供查找。
3.可以对课程信息和教师信息进行删除和编辑。
4.可以对课程进行变动管理,手工排课,并实现尽可能的自动排序功能。
3
需 求 分 析
结合所要开发的系统的特点,本系统将使用Visual Basic6.0中文版作为开发工具,后台数据库则采用Access 2000。
根据“排课管理系统”的需求说明和模块设计,本章将会着意于如何实现各个模块的基本功能,如果要具体应用到学校的情况中,还需要对各学校的具体需求进一步明确,并对系统进行修正。
代码开发环境为Microsoft Visual Basic6.0,它是美国微软公司推出的功能强大的应用程序开发工具,它具有运行速度快,易于掌握和使用以及开发效率高等特点,其是可视化应用编程开发环境,可重用性面向对象编程语言,快速编译器和数据库的完美结合。其运行环境及设备要求:
CPU: 主频300Mhz或更高 内存: 32M或更高 硬盘: 50M以上可用空间
操作系统:Win2000/XP/98/ ME或更高版本
数据库开发环境为Microsoft Access2000,它是美国微软公司开发的功能强大的数据库开发工具,它具有良好的开发界面,易于用户掌握和使用,在一定的环境下具有很大的功能。其运行环境及设备要求为:
CPU: 主频300Mhz或更高 内存: 32M或更高 硬盘: 50M以上可用空间
4
操作系统:Win2000/XP/98/ ME或更高版本
本系统采用ADO作为数据连接的手段。
ActiveX Data Objects(ADO)是微软公司最新的数据访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通数据访问(Universal Data Access)。OLEDB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。
同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个Connection对象,但是可以有多个,独立的Recordset对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。
以前的对象模型,如DAO和RDO是层次型的。在创建一个QueryDef对象的实例之前,不能创建DAO Recordset对象的实例。但ADO却不同,它定义了一组平面型顶级对象。
最重要的3个ADO对象是Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset也可以被单独创建,其Connection参数可以在Open属性定义。
5
总 体 设 计
本学生选课系统总体的设计界面主要有下几点:
登陆:主要有三种访问权限的用户,以级别的高低分别为管理员,教师,学生。
用户通过登录界面输入用户名,密码,并选择一定的登录权限,系统进行自动验证用户是否存在,如果存在就进入相应的用户界面,如果非法,输入超过三次则自动退出系统。具体登录系统流程图为下图所示:
6
数据库操作流程:
(用以显示版本信息和
用户界面利用Microsoft ADO Data Control,和Microsoft DataGrid Control控件与数据库进行连接,并通过编程实现了基于数据库的查看,修改,删除等操作。这个两个控件提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的一种技术,它也支持主要应用在
课程信息查询 (课程基本信息管理、任课教师等) 教师信息 (查询教师的带课情况) 查看所有课程 的信息 以管理员身份证录 查看并更改 (根据用户的不同所具有的修改方式也不同) 以教师身份登录 主窗口 (系统主窗口) 登录表单 (用户可以分别以教师或者管理员身份登录) 系统信息 Splash表单 通地单击显示登录表单 通过验证 重新登录 7
微软IE浏览器上的数据绑定控件。数据库的工作流程如上图,在此就不详细介绍了。
学生选课操作流程:
学生先查看所开所有的课程信息,然后查询到自己要选修的课程取课程列表,点击“添加”按钮就可以添加到你自己的选课列表里了。
本系统将使用Access2000作为数据库管理系统(DataBase Management System,DBMS)。在Access中,新建一个数据库,将其命名为DataUse.mdb,将新建的数据库放置在应用程序的目录中,以便调用。
班级库是描述班级信息的数据表,包括以下部分:班级号(cClassCode)、上课日期(iTimeW)、上课节次(iTimeN)、课程名称(cSjName)。在数据库中创建一个表,表名为“ClassArray”,其字段结构如表1-1所示。其中,cClassCode(班
8
级号)字段为该表的主关键字(Primary Key,PK),惟一标识了一条班级记录。
班级表(classArray)
字段名 cClassCode iTimeW iTimeN cSjName 字段说明 班级号 上课日期 上课节次 课程名次 类型 文本 数字 数字 文本 宽度 7 7 备注 主关键 不能为空 不能为空 不能为空 专业名称表(Subject)的设计
专业名称表是描述专业信息的数据表,所存放的域只有一个——专业名称(cSjName)。在数据库中创建一个表,表名为Subject,其字段结构如表1-2所示。其中,cSjName(专业名称)表的名部关键字(Foreign Key, FK),它与classArray字段构成了参照完整性。
专业名称(Subject)
字段名 Subject 字段说明 专业名称 类型 文本 宽度 7 备 注 主关键字 教师信息表(Teacher)的设计
教师信息表是描述教师信息的数据表,包括以下部分:教师姓名(cTrName)、年龄(iAge)、简单评述(cTrdetails)等部分。在数据库中创建一个表,表名为Teacher,其字段结构如表1-3所示,其中,cTrName(教师姓名)字段为该表的主关键字(Primary Key ,PK),惟一标识了一条教师记录。
教师信息(Teacher)
字段名 cTrName iAge) cTrdetails 字段说明 教师姓名 年龄 简单评述 类型 文本 数字 文本 9
宽度 7 255 备注 主关键字 不能为空 可以为空 教师代课表(trClass)的设计
教师代课表是描述教师代课信息的数据表,包括以下部分:班级号(cClassCode)、专业名称(cSubject)、代课教师(cTeacher)等部分。在数据库中创建一个表,表名为trClass,其字段结构如表所示,其中,cSubject(专业名称)表的外部关键字(Foreign Key,FK),它与Subject表的cSjName字段构成了参照完整性。
教师代课表(trClass)
字段名 cClassCode cSubject cTeacher 字段说明 班级号 专业名称 代课教师 类型 文本 文本 文本 宽度 7 7 7 备注 不能为空 不能为空 不能为空 以上各个表的关系的设计
从实际的排课管理来说,班级号、代课教师和课程名称三者之间有着必然的联系。根据这一情况,需要建立ClassArray表、Subject表、Teacher表和trClass表的相应字段之间的关系,定义下列两组参照完整性:
1.ClassArray表的cSbject表的CsjName字段与Subject表的cSJName字段为多对一的关系。
2.Subject表的cSbject字段与trClass表的cSubject字段为一对多的关系。
3.TrClass表的cTeacher字段与Teacher表的cTrName字段为多对一的关系。
10
详 细 设 计
本学生选课系统具有良好的选课功能,能够准确,可靠地进行选课,并及时对数据库进行更新,为学生进行选课提供较好地平台,提高整个学生选课的工作效率和管理水平。具体功能分为以下几个方面;
1.登录:登录教学管理信息系统,输入用户账号和密码,经系统确认后以一定身份登录。
2.密码修改:修改已登录系统的合法用户的密码,输入用户原密码、新密码和新密码的重新确认,经系统确认后进行修改。
3.用户管理:查询用户访问权限,修改和删除用户,设置用户权限,使用户具有享用功能的操作能力。
4.课程信息查询:查询所开课程的所有信息:1)学生查询所要选修的课程信息。 2)教师查询自己所教的课程信息。
5.选课:学生查询所开的课程安排,并选择自己要选修的课程。 6.选课管理:对学生选修课程进行管理,查询学生所要选修课程情况,根据需要修改有关课程信息。
7.课程管理:完成所开课程信息管理,包括所开课程信息的修改、添加、删除等工作。
8.学生管理:完成学生信息管理,包括要进行选课的学生信息修改,添加,删除等工作。
9.排课管理:完成课程的排课功能,该课程具体的上课教师,上课教室,
11
总学时,学分等。
用图示表示的各个功能模块如下图所示:
通过“系统登录界面”进入到学生选课系统中,在系统操作窗体中,根据登录用户的权限不同,访问的界面也不同管理,在下面的使用手册中会作一一的介绍。
学生信息管理 教师信息管理 选课信息管理 课程信息管理 排课 个人信息管理 课程信息查询 选课 管理员操作 教师操作 学生操作 系统登录界面 系统操作界面
启动系统:
双击可执行文件 启动学生选课系统,进入登录界面,如上面的图一所示:输入用户名和密码,点登录按钮即可。
12
提示:
1.三种角色的选择,注意登陆时请按自己的身份登陆,否则将不会进入
并弹出出错窗口。
2.户名和密码栏一定要填,否则登录按钮呈现灰色不可执行状态。 3.果管理员第一次使用,请用accp登陆,密码123登陆完毕,请建立自
己的用户并修改密码。
4.果用户是学生或教师,且为第一次登陆,密码是888,登陆后请修改。
系统界面:
13
系统维护:
单击系统维护下拉菜单,可以进行用户管理和密码修改,如下图:
提示:
1.户管理项只有管理员登录成功才能使用。
2.户管理项中,在进行操作之前,应先选中要操作的类别是管理员,教师
还是学生,然后单击修改按钮进行修改。
3.户管理项中,进行修改密码时,先选中,然后输入新密码,确认密码,
最后点击保存,如果修改成功,会弹出成功对话框。 4.密码修改项中,只能修改当前登陆的用户的密码。
14
5.在密码修改项中,修改密码时,应先输入原来的密码进行确认。
管理员操作:
选择管理员登录系统后,可以单击管理员操作菜单,进行学生信息修改和教师信息修改的操作,如下图:
选择一名学生或教师,单击修改按钮,可以对其信息进行修改。也可以删
15
除用户和添加用户。
提示:
1.信息修改窗体分为“浏览”和“全屏”两种模式,可以在浏览中点击某个学生,然后在全屏中查看详细信息。
2.要修改或添加某个学生或教师,只能进行“全屏”模式。
3.要删除某个学生,必须先删除与之相关连的其它信息,如课程选修。 4.加学生时,必须符合程序要求的规范,如果不符,将会弹出出错对话框。 5.以在“查询方式”下拉列表框中选择方式,然后在文本框中输入要查找的
信息,点击查询,即可查询所需信息。
教师操作:
选择教师登录系统后,可以单击教师操作菜单,进行课程信息修改、选课信息修改和排课的操作,如下图:
16
选择一课程,单击修改按钮,进入全屏修改模式,可以对其信息进行修改,也可以删除课程和添加课程。
提示:
1.信息修改窗体分为“浏览”和“全屏”两种模式,可以在浏览中点击某个学生,然后在全屏中查看详细信息。
2.添加课程时,必须符合程序要求的规范,如果不符,将会弹出出错对话框。
3.可以在“查询方式”下拉列表框中选择方式,然后在文本框中输入要查找的信息,点击查询,即可查询所需信息。
4.修改栏中,单击某个学生,可以对其选课信息和成绩进行修改。
17
学生操作:
选择学生登录系统后,可以单击学生操作菜单,进行个人信息修改、选课信息修改和选修课程修改的操作,如下图:
此窗口只显示当前登录学生的相关信息。
在等选课程栏里列出所有可选课程,选择其中一个再单击”>>”按钮,将添加到已选课程栏中。
在已选课程栏选择课程,可以点击“添加”按钮,使之保存到数据库,可以从
18
右边的表格中查看数据库中的信息。
如果有选错或者重选情况,可以选中已选好的课程,单击移除按钮,将课程移除数据库。
提示:
1.当然如果没有排课的话是不能进行选课的,就应该进入教师操作进
行排课,排课界面为
2.如果普通的查询不能满足要求,可以调用“万能查询”,万能查询的具体使用将在后面提到。
万能查询:
在前面的介绍中都能看到,个人信息,教师信息,课程信息中都存在着一万能查询,该项功能是提供给用户更精确细致的查询,如下图:
19
使用方法:
第一步:在“字段名”中双击选择一个字段,可在下面的“表达式”框中查看选择的是否正确。
第二步:在“运算符”框中选择一个要进行的何种运算,点击完毕可在下面的“表达式”框中查看是否正确。
第三步:在“内容”框中输入要查找的内容,输入完毕,点击“插入”即可插入表达式,可在“表达式”框中查看是否正确。如果此时表达式输入完毕,则进行第四步;如果还需要表达式,则从“逻辑”框中选择一个逻辑运算符,回到第一步,继续执行,直至表达式输入完毕。
第四步:点击“确认”进行查询,如果查询正确,将关闭该窗口,返回原来的窗体,并显示查询的结果。如果没有查到结果,将会弹出提示信息。
测试文档:
数据库测试情况
1.关系测试:学生表、课程表与成绩表有外键关系,当在“成绩表”中输入的内容在“学生表”或“课程表”内找不到时,将不允许输入
2. 系测试:有关系的各表,只允许级连更新,而不允许级连删除,通过测试。
3. 认值测试:教师和学生信息的录入时,其密码由数据的库默认约束指定,通过插入数据测试,可以实现其默认值。
20
登录测试
1.登录时如果用户名或密码错误,将会有提示:
2。登陆次数超过三次时,将会有提示信息,点击确认,将自动结束程序的运行。如下:
输入测试
1.日期测试
21
当输入的日期是非法值时,将会有出错信息,并提示输入正确的日期值。例如,当输入日期为1998-56-30时,将会弹出错误提示对话框:
2.日期对照测试
当输入的日期与本人身体证上的日期不相同时,将弹出错误信息对话框:
系统维护测试
2. 改密码时,如果输入的原始密码和确认密码不一致时,将会提示错误信息,如下图:
22
总 结
本系统的数据量比较庞大,所以在程序的开始必须有一个数据装载模块,等到数据完全被装入之后才能正常执行程序。
输入教职员的一些基本信息,保证数据库的完整性,并为后面的排课提供可靠的数据保证。常用的教职员信息至少包括姓名、年龄和简介等。
排课管理是本系统的核心部分,作用是在自动排序的基础上进行手工排序。由于目前自动排序的算法还不太成熟,因此,自动排序的结果中可能会有一些重复的情况,必须借助手工排序的方法来完善。
教职员带信息查询给用户提供一个排课结果查询的界面,应该能查询到某个教师在一周内代课的所有班级和所代课的上课时间以及课程名称。
通过这次论文设计,我深刻体会到;要想把论文作好,就必须在平时我练习学过的知识,在实践中提高自己的应变能力,真正做到学以致用。把自己开发的系统应用到实际工作和生活中,必须做好需求分析等步骤,要以用户的标准去考虑,把方便用户放在首位。通过做这个系统,让我对VB编程有了更深层次的理解,在代码编写过程中一定要按规范养成好的编写习惯,这些对我今后的工作将大有裨益。
总之,做完此次系统的开发,使我明白了努力就有收获的道理,真是受益匪浅。
23
致 谢 辞
这篇毕业论文(设计)的完成,首先要归功于山东科技大学成人教育学院及各位授课教师的辛勤培育。三年的函授学习,使我学到了许多在实际工作中接触不到的新知识。
本论文是在张琳老师的精心指导下完成的。张琳老师知识渊博,为人谦虚,工作认真,使深受教育。如果没有张琳老师的辛勤工作和耐心指导,我的毕业设计不可能顺利完成。我对张琳老师致以崇高的敬意和谢意!另外,在我论文设计期间,其他指导老师和同学也给予我很大帮助和支持,在这里一并表示感谢!
24
因篇幅问题不能全部显示,请点此查看更多更全内容