排课管理系统毕业设计

上传人:仙*** 文档编号:29443695 上传时间:2021-10-07 格式:DOC 页数:48 大小:621.50KB
收藏 版权申诉 举报 下载
排课管理系统毕业设计_第1页
第1页 / 共48页
排课管理系统毕业设计_第2页
第2页 / 共48页
排课管理系统毕业设计_第3页
第3页 / 共48页
资源描述:

《排课管理系统毕业设计》由会员分享,可在线阅读,更多相关《排课管理系统毕业设计(48页珍藏版)》请在装配图网上搜索。

1、I摘 要教学管理系统是典型的管理信息系统(MIS),其开发主要包括数据库的建立和维护以及应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备、界面友好、容易使用等特点。通过对数据库管理系统、 语言原理及应用程序设计等进行了较深入的学习和应用,并结合教学管理的要求,采用 Visual Basic6.0 作为前台软件开发工具,后台数据库选用 SQL Server 数据库进行支持。在整个系统开发过程中,充分利用了 Visual Basic6.0 的特色进行开发,使其开发工作快速完成。系统从用户角度出发,界面美观、友好,操作方便,系统同时具

2、有高度的可扩充性,对系统进行添加修改。系统主要由五大功能管理模块组成,它们是系统设置、基本信息管理、排课管理、学生信息管理、教师信息管理。各模块均可以实现增加、删除、保存、修改等操作。另外为了保证系统的安全性,可对用户口令进行修改,用户只有在密码正确的时候方可进入系统,并且不同的用户具有不同的权限。本系统能较好地满足了对教学管理的需求。 关键词:教学管理;排课管理;数据库;信息工程IIABSTRACTAcademic Scheduling Management System is a typical management information system (MIS), including

3、its main database development, the establishment and maintenance and development of applications in two areas. Regarding the former requirement to establish data consistency and integrity of strong data security for good. As for the latter demanded the application functions, and a friendly interface

4、 and easy-to-use features. Through the database management systems, language theory and application design for a more in-depth study and application with the Senate and scheduling management requirements. Using Visual Basic 6.0 as the future of software development tools, background database use SQL

5、 Server database support. In the entire process of system development, and make full use of the characteristics of the Visual Basic 6.0, a development to enable it to complete the development work. System from the user perspective, beautiful interface, friendly, easy to operate, the system also has

6、a high degree of expandability. Add the system changes. System from the five major functional management modules, which are set up systems, the basic information management, scheduling, management, Student information management, information management teachers. Modules can be added, deleted, preser

7、vation, and operational changes. In addition, in order to guarantee the safety of the system, the user password can be revised. Only users in the correct password to enter the system, and different users with different privileges. The system can better meet the scheduling of the Senate management ne

8、eds. Key words:senate scheduling;curricula;database; information; engineering I目录摘 要 .IABSTRACT .II第 1 章 绪 论 .1第 2 章 需求分析 .22.1 开发背景 .22.2 系统可行性分析 .22.2.1 技术可行性 .22.2.2 经济可行性 .32.2.3 操作可行性 .32.3 系统需求分析 .32.4 系统目标 .42.5 系统数据流图 .4第 3 章 系统总体设计 .63.1 系统总体功能 .63.2 系统各部分的功能 .63.2.1 系统设置模块 .63.2.2 基本信息管理 .

9、63.2.3 排课信息管理模块 .73.2.4 学生信息管理 .73.2.5 教师信息管理 .7第 4 章 数据库设计 .84.1 数据库表概要说明 .84.2 数据库概念设计 .84.2.1 各个表的用途及实体属性图 .84.2.2 系统总体 E-R 图.114.3 数据库逻辑结构设计 .12第 5 章 系统详细设计 .165.1 系统模块功能介绍 .16II5.1.1 系统设置模块功能 .165.1.2 基本信息管理模块功能 .165.1.3 学生信息管理模块功能 .165.1.4 教师信息管理模块功能 .175.1.5 排课信息管理模块功能 .175.2 系统总体流程图 .185.3 主

10、要模块功能详细设计 .185.3.1 系统登录模块 .185.3.2 用户管理模块 .205.3.3 基本信息管理模块 .225.3.4 学生信息管理模块 .235.3.5 教师信息管理模块 .285.3.6 排课信息管理模块 .29第 6 章 软件测试 .366.1 对系统功能的测试 .366.2 调试中的注意事项 .376.2.1 使用 Option Explicit 强制变量声明.376.2.2 缩短调试时间的技巧 .376.2.3 常见错误的避免 .37第 7 章 结论与展望 .397.1 结论 .397.2 进一步工作的方向 .39致谢 .41参考文献 .42附录 系统文件构架图 .

11、431第 1 章 绪 论随着计算机的普及以及计算机应用技术的飞速发展,各个行业都在享受着计算机给人们带来的方便。作为培养人才的高等院校,更有理由利用计算机这一方便快捷的工具,为其日常的教学管理工作带来较高的工作效率。随着经济的不断发展,高校业不断的进行扩招,又加之高校不断进行改革以及教学资源的不足,这些不但大大增加了高校教学管理的难度,而且要求教学管理工作更加快速,准确。教学管理面临严峻的挑战,为此,人们自然希望用先进的管理手段完成这些工作。随着计算机技术的普及,办公室自动化的先进管理手段被引进到教学信息工作中。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。计算机的最大

12、好处在于利用它能够进行信息管理。尤其对于复杂的海量信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。为了能用计算机管理教学信息工作,一个好的教学管理软件的出现成了历史的必然,于是,教学信息管理系统随之即出。本系统就是为了管理好高校教学信息而设计的。教学管理系统是一个教育单位不可缺少的部分, 学校作为一种信息资源的集结地,资料繁多,包含很多信息数据的管理。它的开发主要包括开发工具的选择及数据库的建立和维护,对于数据库要求建立一个数据一致性和完整性强、数据安全性好的库,对于开发工具的功能要求功能完备、容易使用、界面友好等特点。鉴于以

13、上原因,本系统的数据库采用了 SQL Server 作为关系数据库,配合功能强大的 SQL 查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。开发工具采用了可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言 Visual Basic6.0 作为开发工具,它简单易学、效率高、且功能强大。在 32 位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行。在整个开发过程,注重结合相关的数据库技术和软件工程的理论,使得整个开发过程更标准化、界面更加友好。2第 2 章 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深

14、入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。2.1 开发背景在高等院校中,培养学生的主要途径是教学。在教学活动中,有一系列管理工作。其中,教学计划的实施是一个重要的环节。每学期管理人员都要整理教学计划,根据教学计划下达教学任务书,然后根据教学任务书编排课程表。在这些教学信息工作中,即有大量繁琐的数据整理工作,也有严谨思维的脑力劳动。此外,还要填写大量的表格。因此工作非常繁重。加之教学的改革,招生人数的增加及教室设备的不足,不但增加了工作的难度,而且要求管理工作更加快速,准确。为此,人们自然希望用先进的

15、管理手段完成这些工作。随着计算机技术的普及,办公室自动化的先进管理手段被引进到教学信息工作中。为了能用计算机管理教学信息工作,教学管理系统随之即出。2.2 系统可行性分析可行性分析是对项目的可行性和必要性进行分析,避免盲目投资,主要是必要性分析和效益分析,以决定是否建立 MIS,同时还要进一步进行技术可行性分析、投资或者效益分析、组织管理可行性分析,确定是否存在否定项目的可能性。也就是说可行性分析阶段的关键问题是研究上一阶段所确定的问题是否有行的通的解决办法。并非所有的问题都有切实可行的解决办法,事实上,许多问题不可在预定的系统规模或时间期限内解决。可行性研究的目的不是解决问题,而是确定问题是

16、否值得去解。下面着重从以下几个方面进行本系统的可行性研究。2.2.1 技术可行性在系统采用 Visual Basic 6.0 和 SQLServer 开发,用 VB 制作系统的用户界面,SQLServer 制作后台数据库。SQLServer 的优点在于它能使用数据表示图或3自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。SQLServer 也提供了数据存储库,可以使用桌面数据库文件把数据文件置于网络文件服务器,与其他网络用户共享数据库。SQLServer是一种关系数据库管理工具,关系数据库是已开发的最通用的数据库之一。如上所述,SQLServer

17、作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。Visual Basic 6.0 是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高、且功能强大。在Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows 内部的应用程序接口(API)函数,以及动态链接库(DLL) 、动态数据交换(DDE) 、对象的链接与嵌入(OLE) 、开放式数据连接(ODBC)等技术,可以高效、快速地开发出 Windows 环境功能强大、图形

18、界面丰富的应用软件系统。Visual Basic 6.0 是专门为 Microsoft 的 32 位操作系统设计的,可用来建立 32 位的应用程序。在 WindowsNT、Windows 2000 或 WindowsXP 环境下,用 Visual Basic 6.0 的编译器可以自动生成 32 位应用程序。这样的应用程序在 32 位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行。VisualBasic6.0 与 SQLServer 两者结合完成系统功能,可运行在 Windows系列操作系统上。所以,在技术可行性方面是行的通的。2.2.2 经济可行性由于本系统开发的费用比较低,而

19、且能够实现教学管理过程中要求的基本功能,运行状态良好,系统维护费用低,能够节省大量的人力物力资源,可大幅度降低教学管理过程中的费用,提高教学管理的效率。所以,在经济上也是可行的。2.2.3 操作可行性本系统运行在通用的 Windows 操作系统上,具有 Windows 相似的操作界面。具有简单易学,使用方便等特点,只需在计算机上进行相关的简单的设置即可,懂得计算机基本操作的人员经过短期培训培训即可熟练操作,熟悉计算机操作的人员不需要再经过专门的培训即可熟练操作。所以,符合操作可行性。42.3 系统需求分析系统分析是一个系统成功实施的基础,只有弄清楚客户的需求,才能真正开发出满足客户要求的管理系

20、统,也才能让整个系统发挥其应有的作用。本系统主要目的是为了教学管理人员能够方便快捷的处理日常工作,安排课程,录入信息,查询信息,打印信息等,所以本系统主要是处理教学管理过程中的基本问题。因此本系统围绕着排课展开,如安排课表,像班级课表、教师课表、教室课表,还有课表的查询等功能。当然本系统中也包含一些其它的方面,如录入教师的信息、查询教师的信息、录入学生的信息、查询学生的信息、录入学生成绩、查询学生成绩等功能。2.4 系统目标 一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校各类工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以教学信息管理系统应该能够为用户提供充足

21、的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨

22、的重要条件。2.5 系统数据流图当信息在软件中移动时,它将被一系列“变换”所改变。数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变化。在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。数据流图是系统逻辑功能的图形表示,不是专业的计算机技术人员也很容易理解它,所以是分析员与用户之间的极好的通信工具。5 2产生课表11基本信息处理14进行排课处理15排课信 息教学管理人员12学生及教师信息13打印信息教学管理人员教室教师班级图 2.1 系统数据流图6第 3 章 系统总体设计总体设计阶段的主要任务就是针对需求分析阶段解决的“目标系统

23、应该做什么”的问题,提供一个比较抽象概括的“怎么实现目标系统”的解决办法。本阶段的另一个任务是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。因此,在本阶段将实现高校教学管理系统的功能模块的设计。3.1 系统总体功能根据之前所作系统的需求分析,可以把本系统总体功能图如图 3.1 所示:教学管理系统系统设置排课信息管理基本信息学生信息管理教师信息管理教师信息录入教师信息查询学生成绩查询学生信息录入学生信息查询学生成绩录入排课数据初始化教师课表查询教室课表查询班级课表查询自动排课手动排课科目关联教师信息科目信息管理教室信息管理班级信息管理院系信息管理重新登录用户管理图 3.1 系

24、统总体功能模块图3.2 系统各部分的功能3.2.1 系统设置模块本模块主要功能是用户管理,它是对超级用户而言的,只有超级用户才能进入用户管理进行添加、删除用户,并对所添加的用户设置权限。权限分为三个级别,分别为超级管理员、管理员、普通用户。超级管理员可以对系统的任何数据进行添加、删除、修改、查询等功能,而普通用户只能对本系统的部分信息可以查询浏览。73.2.2 基本信息管理本模块主要是对本系统的一些信息进行管理,具体分为:院系管理、班级管理、教室管理、科目信息管理、科目关联教室信息管理。3.2.3 排课信息管理模块本模块主要是完成排课功能以及与排课相关的课表查询功能。具体包括:排课数据初始化、

25、手动排课、自动排课、班级课表的查询与打印、教师课表的查询与打印、教室课表的查询与打印。3.2.4 学生信息管理本模块主要对学生的基本信息进行录入与查询等管理的操作,具体分为:学生信息录入、学生信息查询、学生成绩录入、学生成绩查询。3.2.5 教师信息管理本模块主要用来管理教师的基本信息。具体分为:教师信息的录入、教师信息的查询。8第 4 章 数据库设计数据库设计是指设计数据库的各级模式并建立数据库,对于一个给定的环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储合管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。信息管理要求是指在数据库中

26、应该存储和管理哪些数据对象;数据操作的要求是指对数据对象要进行哪些操作,如查询、增、删、改、统计等操作。一个好的数据库结构是应用系统的基础,当然设计一个好的数据库与设计一个好的数据库应用系统是密不可分的。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境,而高效率的运行环境一般包括:数据库数据的存取效率、数据库存取空间的利用率、数据库系统运行的效率等都是高的。对于数据库应用系统的开发,数据库的合理设计在系统中占有非常重要的地位。本系统采用 SQL Server 2000 数据库。下面给出数据库表概要说明、数据库概念设计及数据库物理结构设计。4.1 数据库表概要说明本系

27、统的主要用到以下几个表:个人用户表(tblUser)、学生信息表(tblStudent)、教师信息表(tblTeacher)、教室表 (tblClassRoom)、院系表(tblDepartment)、班级表(tblClass)、科目表(tblSubject)、成绩表(tblCj)、科目关联教师信息表(tblSubCategory)。4.2 数据库概念设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是结构设计。它是整个数据库设计的关键。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好的、更准确的用某一 DBMS 实现这些要求。概念结构是各种数据模型的共同的基础,

28、它比数据模型更独立于机器、更抽象,从而更加稳定 。抽象概念模型的有力工具是 E-R 图。4.2.1 各个表的用途及实体属性图1. 个人用户表(tblUser)主要用于存储个人用户的基本信息,用户名、密码、用户级别等信息。个9人用户表的实体属性图如图 4.1 所示。个人用户用户编号用户名称用户密码用户级别图 4.1 个人用户实体属性图2. 学生信息表(tblStudent)主要用于存储学生的详细信息资料。学生信息表的实体属性图如图 4.2 所示。学 生联系电话家庭住址所属院系出生年月年龄性别学号姓名民族所在班级图 4.2 学生信息表实体属性图3. 教师信息表(tblTeacher)主要用于存储教

29、师的详细信息资料。教师信息表的实体属性图如图 4.3 所示。联系电话家庭住址籍贯所属院系出生年月教师民族年龄性别编号姓名10图 4.3 教师信息表实体属性图4. 教室表(tblClassRoom)主要用于存教室的基本信息。教室信息表的实体属性如图 4.4 所示。教室编号教室名称教室图 4.4 教室信息表实体属性图5. 院系表(tblDepartment)主要用于存储院系信息。院系信息表的实体属性图如图 4.5 所示。院系编号院系名称院系图 4.5 院系信息表表实体属性图6. 班级表(tblClass)主要用于存储班级的基本信息。班级信息表的实体属性图如图 4.6 所示。班级编号班级名称班级图

30、4.6 班级信息表实体属性图7. 科目表(tblSubject)主要用于存储科目的基本信息。科目信息表的实体属性图如图 4.7 所示。科目编号科目名称科目图 4.7 科目信息表实体属性图8. 科目关联教师信息表(tblSubCategory)11主要用于存储科目与教师关联的信息。科目关联教师信息表的实体关系图如图 4.8 所示。科目教师教师编号教师姓名科目编号科目名称教授图 4.8 企业招聘实体关系图9. 成绩表(tblCj)主要用于存储学生成绩信息。成绩信息表的实体关系图如图 4.9 所示。成绩编号分数科目成绩学号图 4.9 成绩信息表实体关系4.2.2 系统总体 E-R 图通过上述分析,把

31、实体属性图经过合并可得到系统的基本 E-R 图,图如4.10 所示。121NNN1N11院系教师学生属于属于班级科目成绩教授排课课表考试 教室关联 111打印 班级课表教室课表教师课表课表N111111图 4.10 系统基本 E-R 图4.3 数据库逻辑结构设计数据库逻辑结构设计的任务就是把概念结构设计阶段设计好的基本的 E-R图转换为与选用 DBMS 产品所支持的数据模型相符合的逻辑结构。1个人用户表(tblUser):(用户编号,用户名称,用户密码,用户级别) ;2学生信息表(tblStudent):(学号,姓名,性别,年龄,所在院系,班级,民族,出生年月,家庭住址,联系电话) ;133教

32、师信息表(tblTeacher):(教师编号,姓名,性别,年龄,出生年月,所属院系,民族,家庭住址,联系电话) ;4教室表(tblClassRoom):(教室编号,教室名称) ;5院系表(tblDepartment):(院系编号,院系名称) ;6班级表(tblClass):(班级编号,班级名称) ;7科目表(tblSubject):(科目编号,科目名称) ;8科目关联教师信息表(tblSubCategory):(教师编号,教师姓名,科目编号,科目名称) ;9成绩表(tblCj):(成绩编号 ,分数,科目,学号) ;数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发

33、效率和程序的性能都是非常重要的。一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务端程序的编程和维护的难度,而且会影响系统实际运行的性能。根据系统的功能设计要求为各个数据库表设计字段,数据类型,长度和是否为空等相关信息,为了使数据库设计合理化,在数据库表设计的过程中遵守了数据库设计的三个范式的要求。以下是本系统主要的几个表:表 4.1 个人用户表(tblUser)ID列名数据类型长度属性备注1用户编号int4not null主键2用户名称char20not null3用户密码char10not null4用户级别char2not null表

34、4.2 学生信息表(tblStudent)ID列名数据类型长度属性备注1学号int10not null主键2姓名char20not null3性别char2not null4年龄char3null5民族char2null6班级char20not null147所属院系char20not null8家庭住址char50null9联系电话char12null11出生年月datetime20null表 4.3 教师信息信息表(tblTeacher)ID列名数据类型长度属性备注1编号int10not null主键2姓名char20not null3性别char2not null4年龄char3null

35、5民族char2null6所属院系char20not null7家庭住址char50null8联系电话char12null11出生年月datetime20null表 4.4 教室表(tblClassRoom) ID列名数据类型长度属性备注1教室编号int4not null主键2教室名称char6not null表 4.5 院系表(tblDepartment) ID列名数据类型长度属性备注1院系编号int4not null主键2院系名称char20not null表 4.6 班级表(tblClass)ID列名数据类型长度属性备注1班级编号int4not null主键2班级名称char20not

36、null表 4.7 科目表(tblSubject)ID列名数据类型长度属性备注1科目编号int4not null主键2科目名称char20not null表 4.8 科目关联教师信息表(tblSubCategory)15ID列名数据类型长度属性备注1教师编号int10not null主键2教师姓名char20not null3科目编号int4not null4科目名称char20not null表 4.9 tblCj(成绩表) ID列名数据类型长度属性备注1成绩编号int4not null主键2分数int4not null3科目char20not null4学号int10not null16第

37、 5 章 系统详细设计5.1 系统模块功能介绍5.1.1 系统设置模块功能1. 用户管理本模块只有超级管理员才能进入,用于对用户的添加、删除、设定用户级别等功能。2. 重新登录本模块的作用方便管理人员重新登录系统。5.1.2 基本信息管理模块功能1. 院系信息管理本模块主要是对学校所有的院系进行添加、修改、删除等操作。特别是随着学校的调整,有的院系改名,几个院系合并,一个院系分成几个院系等功能都可以由此功能完成。2.班级信息管理本模块的作用是用于添加、修改、删除班级信息。新生入学时添加班级和毕业生毕业删除班级都由此功能完成。3. 教室信息管理本模块主要是用于添加、删除、修改教室的信息。4. 科

38、目信息管理本模块主要是用于添加、删除、修改科目的信息。每一学期开始,录入科目信息以及课时数,都可以由此功能完成。5. 科目关联教师信息管理本模块的作用是设置某一门课程与某一任课教师的对应关系。可以对某一门课程的任课教师进行添加、删除、修改。还可以设置任课教师上这门课的时间段,分别为全天、上午、下午。5.1.3 学生信息管理模块功能1. 学生信息录入本模块的作用录入学生在校的基本信息。一般包括学号、姓名、性别、年龄、民族、班级、所属院系、家庭住址、联系电话等基本信息。这些基本信息17的打印也可以由本模块来完成。另外,为方便在录入学生基本信息后录入学生成绩,本模块专门设置了录入成绩按钮,点此按钮可

39、以连同学生的成绩一块儿录入。2. 学生信息查询本模块的作用是用于查询学生的基本信息。可以按学号、姓名、年龄分别进行查找。3. 学生成绩录入本模块的作用是录入学生成绩。4. 学生成绩查询本模块的作用是查询学生成绩。输入学号即可查询。5.1.4 教师信息管理模块功能1. 教师信息信息录入本模块的作用是用于录入教师的基本信息。此模块的功能与学生信息的录入差别不是很大。2.教师信息查询本模块的作用是用于查询教师信息,可分别按教师编号、姓名、年龄进行查询。5.1.5 排课信息管理模块功能1. 排课数据初始化本处的作用是进行数据初始化,为后面的排课做必要的准备。每次想重新安排课成都要进行数据初始化。2.

40、自动排课本模块的作用是输入每周上课的天数,每天上课的节数即可进行自动排课。当然自动排课之前可进行约束项设置。之后可打印课表。3. 手动排课本模块的作用是手动输入信息进行排课,是对自动排课的补充。4. 教师课表查询本模块的作用是教师课表的查询,输入教师的编号即可查询到教师的课表,之后可打印教师课表。5. 教室课表查询18本模块的作用是教室课表的查询,输入教室名即可查询到教室的课表,之后可打印教室课表。6. 班级课表查询本模块的作用是班级课表的查询,输入班级或选择班级即可查询到班级对应的课表,之后可打印班级课表。5.2 系统总体流程图通过对系统后台功能的详细分析,得到系统后台的总体流程图,如图 5

41、.1所示。登录系统学生信息教师信息系统设置学生信息录入学生信息查询成绩录入成绩查询教师信息录入数据初始化教师信息查询自动排课用户管理删除用户添加用户用户权限修改排课信息手动排课教师课表查询班级课表查询教室课表查询输出课表图 5.1 系统总体流程图5.3 主要模块功能详细设计195.3.1 系统登录模块系统运行后,首先弹出的是欢迎界面,一两秒钟之后,弹出一个登录界面,需要用户输入用户名和用户密码方可进入系统。系统提供五次输入机会,如果输入错误的用户名或密码,系统会提示你输入的用户名或密码不正确,假如输入五次密码都不正确,系统提示你与系统管理员联系。不同权限的用户输入正确的用户名和密码都能由此登录

42、系统。运行后的界面如图 5.2 所示。图 5.2 系统登录效果图登录按钮的代码如下:Dim rs As Recordset, strSql$ strSql = Select * From tblUser Where UserName= & TxtUser & Set rs = CurrentDb.OpenRecordset(strSql) With rs If .RecordCount = 1 Then If !Password = Me.txtPws Then Current.LongIn = True Current.UserName = TxtUser Current.UserLevel

43、 = !UserLevel Unload Me Exit Sub End If End If End With rs.Close Set rs = Nothing Static i i = i + 1 If 5 - i = 0 Then Echo 连续 5 次没输入正确的用户名或密码,请重新开启程序运行,若在次无法成功登入,请与管理员联系!20 Else Echo 您输入的用户或密码不正确,请重新输入! & vbCrLf & 还有 & (5 - i) & 机会! End If If i = 5 Then End txtPws.SetFocus txtPws_GotFocus5.3.2 用户管理

44、模块只有通过超级管理员登录时才能进入到此模块,管理员和普通用户则无权限进入到本模块当中。超级管理员进入到本模块中时,可以添加新用户,并为之设置权限,但是当用户表里已经存在你想添加的用户名时,系统会提示你用户表里已经有该用户名,请添加新的用户名,你也可以删除现有的管理员和普通用户。当用户表里的超级管理员超过一个时,可以对其中某一个或几个进行删除,但是当仅有一个超级管理员用户时,无法删除系统的唯一的超级管理员用户。运行后的界面如图 5.3 所示。图 5.3 用户管理效果图添加用户按钮的代码如下:21Private Sub IsBAddUser_Click() If txtPws1(0) txtPw

45、s1(1) Then Echo 输入的密码二次不一致,请确认! txtPws1(0).SetFocus Exit Sub End If If CheckEmpty(frmUser) = False Then Exit Sub ComUserLevel_LostFocus If intLevel 0 Then UsrUserName_LostFocus If blnFlag = False Then Exit Sub With rst .AddNew !UserName = UsrUserName !Password = txtPws1(0) !UserID = intLevel !UserLe

46、vel = intLevel .Update UsrUserName = txtPws1(0) = txtPws1(1) = Set dgUser.DataSource = rst End With End IfEnd Sub删除用户按钮的代码如下:Private Sub IsBDel_Click() Dim Rstemp As Recordset, Rstemp1 As Recordset, strSql$ strSql = Select * from tblUser Where UserName= & dgUser.Columns(0).Text Set Rstemp = CurrentD

47、b.OpenRecordset(strSql) With Rstemp If !UserLevel = 1 Then strSql = Select * from tblUser Where UserLevel=1 Set Rstemp1 = CurrentDb.OpenRecordset(strSql) If Rstemp1.RecordCount = 1 Then Echo 不能删除唯一一个超级管理员! Rstemp1.Close Set Rstemp1 = Nothing22 .Close Set Rstemp = Nothing Exit Sub End If End If .Clos

48、e Set Rstemp = Nothing End With If Echo(您确认要删除 用户: & dgUser.Columns(0).Text & 的相关信息?, vbOKCancel + vbQuestion) = vbCancel Then Exit Sub rst.DeleteEnd Sub5.3.3 基本信息管理模块超级管理员可以对本模块的所有功能进行操作,管理员可以对院系信息和教室信息进行操作,而普通用户则不能对本模块的任何功能进行操作。本模块具体分为院系信息管理、班级信息管理、教室信息管理、科目信息管理、科目关联教师信息管理五部分。各个部分都能实现对相关信息的添加、删除、保

49、存等功能。界面和代码都大同小异。在此只对院系信息管理进行祥述其他信息管理功能请参照院系信息管理。院系信息管理运行后的效果如图 5.4 所示。 图 5.4 院系信息管理效果图增院系的代码如下:Sub usrBar1_AddNew() Me.txtClassName = blnSave = TrueEnd Sub删除院系的代码如下:Private Sub usrBar1_DelData() If usrBar1.DelInfo(名称: & Me.txtClassName.Text) = True Then23 CurrentDb.ExeSql (delete From tblClass where

50、 名称= & txtClassName & ) End If ListViewLoadDataEnd Sub保存院系的代码如下:Private Sub usrBar1_Save() If CheckEmpty(Me) = False Then usrBar1.SaveStatic False Exit Sub End If If usrBar1.CurrentSate = 2 Then 编辑时 CurrentDb.ExeSql (Update tblClass set 名称= & txtClassName & where id= & Me.Tag) End If If usrBar1.Curr

51、entSate = 1 Then 新增时 Set rst = CurrentDb.OpenRecordset(SELECT * From tblClass) If DoLookUp(tblClass, id, 名称= & txtClassName & ) & Then Echo 您选择的班级信息重复: GoTo 1 End If rst.AddNew rst!名称 = Me.txtClassName rst.Update1: rst.Close End If usrBar1.SaveStatic True ListViewLoadDataEnd Sub5.3.4 学生信息管理模块本模块具体包括

52、学生信息录入、学生信息查询、学生成绩录入、学生成绩查询四个主要部分.1. 学生信息录入 此处学生信息录入的功能是录入学生的基本信息,学号、姓名、性别、年龄、班级、民族、所在院系、家庭住址、联系方式等基本信息。其中的有些信息是需要输入,有些信息可以通过下拉列表选择。本模块的主要实现的是学生24信息的添加、删除、编辑、保存等功能。系统运行后的效果如图 5.5 所示。图 5.5 学生信息录入效果图新增按钮的代码如下:Private Sub usrBar1_AddNew() UsrText1.Enabled = True delString blnSave = True dg.Enabled = Tr

53、ueEnd Sub删除按钮的代码如下:Private Sub usrBar1_DelData() If usrBar1.DelInfo(名称: & dg.Columns(2).Text) = True Then rst.Delete End IfEnd Sub编辑按钮的代码如下:Private Sub usrBar1_Edit() UsrText1.Tag = UsrText1.Text dg.Enabled = FalseEnd Sub保存按钮的代码如下:Private Sub usrBar1_Save() Dim Rstemp As Recordset, strSql$ If CheckE

54、mpty(Me) = False Then usrBar1.SaveStatic False Exit Sub25 End If If iKind 1 Then If DoLookUp(tblSubject, id, 科目= & ComClass & ) & = Then Echo 您选择的班级信息错误,请确认 usrBar1.SaveStatic False Exit Sub End If End If If usrBar1.CurrentSate = 2 Then 编辑时 If UsrText1.Tag UsrText1.Text Then strSql = Select * From t

55、blStudent Where 编号= & UsrText1 & Set Rstemp = CurrentDb.OpenRecordset(strSql) With Rstemp If .RecordCount 0 Then usrBar1.SaveStatic False Echo 库中已经存在 & UsrText1 & 编号的信息! 无法保存 UsrText1.SetFocus Exit Sub End If If .State 0 Then .Close Set Rstemp = Nothing End With Else End If End If If usrBar1.Current

56、Sate = 1 Then 新增时 strSql = Select * From tblStudent Where 编号= & UsrText1 & Set Rstemp = CurrentDb.OpenRecordset(strSql) With Rstemp If .RecordCount 0 Then usrBar1.SaveStatic False Echo 库中已经存在 & UsrText1 & 编号的信息! 无法保存. UsrText1.SetFocus Exit Sub End If If .State 0 Then .Close Set Rstemp = Nothing26 E

57、nd With If iKind = 1 Then 教师信息加入 frmSelectSubject.Show 1 If sCurrentSubjectID ThenCurrentDb.ExeSql Insert into tblSubCategory(CategoryID,SubCategoryName) values ( & sCurrentSubjectID & , & UsrText1 & ) Else usrBar1.SaveStatic False Exit Sub End If End If End If usrBar1.SaveStatic True Edit blnSave b

58、lnSave = False UsrText1.Enabled = True dg.Enabled = TrueEnd Sub2. 学生信息查询本模块的功能主要是对学生信息的查询,可按学号进行精确查询,也可按姓名、年龄进行模糊查询,查询之后可以对所要查询的信息进行打印。如输入学号 200224201 所查询到的效果图如图 5.6 所示。图 5.6 学生信息查询效果图查找按钮对应的代码如下:Private Sub cmdFind_Click() If CheckEmpty(Me) = False Then Exit Sub Dim intIdex As Integer For intIdex =

59、 0 To OptOp.UBound If Me.OptOp.Item(intIdex).Value = True Then Exit For Next If Me.ComClass = 全部班级 Then sSql = 27 Else Dim sCID sCID = DoLookUp(tblSubject, id, 科目= & ComClass & ) & If sCID Then sSql = ClassID= & sCID & and End If Select Case intIdex Case 0 sSql = sSql & 编号 like % & Me.UsrText1 & % C

60、ase 1 sSql = sSql & 名字= & Me.UsrText1 & Case 2 sSql = sSql & 年龄= & Me.UsrText1 End Select sSql = Select * From tblStudent where & sSql & and kind =0 ListViewLoadDataEnd Sub 打印按钮所对应的代码如下:Private Sub isButton2_Click(Index As Integer) PrintInExcel dg.DataSourceEnd Sub3. 学生成绩录入该模块的主要作用是用于录入学生的成绩,输入学号和科目

61、即可录入学生成绩。当然有的学号或者科目可以从下拉列表框中选择。如图 5.7 是录入学号为 2002242201 的成绩是效果图。图 5.7 学生成绩录入效果图分数录入按钮的代码如下所示:Private Sub isButton1_Click() Dim SubjectName, FenShu, sNo SubjectName = MCategory FenShu = Me.UsrText1.Text28 sNo = Me.Tag If DoLookUp(tblCj, id, sNo= & Me.Tag & and SubjectName= & SubjectName & ) & = Then

62、CurrentDb.ExeSql Insert into tblCj ( SubjectName,FenShu,sNo ) values ( & MCategory & , & UsrText1.Text & , & Me.Tag & ) Else CurrentDb.ExeSql Update tblCj set FenShu= & FenShu & where sNo= & sNo & and SubjectName= & SubjectName & End If Set dg.DataSource = CurrentDb.OpenRecordset(select * From qryCj

63、 where 学生编号= & Me.Tag & )End Sub4. 学生成绩查询本模块的功能是用于查询学生的成绩,输入学号即可查询学生的成绩。如图 5.8 是输入学号为 200224239 时查询到的结果。图 5.8 学生成绩查询效果图查询分数按钮的主要代码如下所示:Private Sub isButton1_Click() Dim SubjectName, FenShu, sNo Set dg.DataSource = CurrentDb.OpenRecordset(select * From qryCj where 学生编号= & Me.Tag & )End Sub5.3.5 教师信息管

64、理模块教学信息管理模块具体包括教师信息录入和教师信息的查询两部分。录入教师信息与录入学生信息的功能十分相似,教师信息查询与学生信息查询也是很相似,即可以按照教师编号进行精确查询,又可以按照教师姓名或者年龄进29行模糊查询。鉴于本模块的功能与学生信息录入和学生信息查询相似,在此不再祥述,具体请参考学生信息管理的部分功能。5.3.6 排课信息管理模块 1. 自动排课 输入每周要上课的天数和每天要上课的节数,点自动排课按钮系统可以进行自动排课,无需要人工参与。如输入每周二天,每天四节课时的效果图如图5.9 所示。图 5.9 自动排课效果图效果图自动排课按钮对应的代码如下所示:Sub isButton

65、1_Click() Dim CategoryID, isDay, isStep, Teacher, SubjectID, isCount, isDate, ClassRoomID If CheckEmpty(Me) = False Then Exit Sub isCount = Me.UsrText1 isDate = Me.UsrText2 If isCount 8 Then MsgBox 一天最多就能上 8 节课,自动失败 End If If isDate 7 Then MsgBox 一周就 7 天,自动失败 End If Dim rst As Recordset, Rst1 As Rec

66、ordset, rstRoom As Recordset CurrentDb.ExeSql delete from tblRoom1Set Rst1 = CurrentDb.OpenRecordset(Select * from tblSubject) 排课每个班级的 Do Until Rst1.EOF Set rst = CurrentDb.OpenRecordset(Select * from tblCategory) 30进行班级排课 Do Until rst.EOF 暂且加入 二节课连续上的算法 For k = 1 To rst(man) 加入其他排课设置因素 For i = 1 To isDate For j = 1 To isCount If LookUp(select Count(1) from tblRoom1 where CategoryID= & rst(id) rst(man) Then如果已经排课的数量小于 课程每周的数量 CategoryID = rst(id) isDay = i isStep = j Teacher = GetTeacher(rst(id)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!