1、 学校管理系统 目 录 内容提要 1 选题的背景 1 学校管理系统的设计方法和技术线路 2 系统的基本框架、总体结构以及各部分功能 4 系统部分窗体界面、代码及简要解释 6 数据库(表)分析 17 遇到的困难和解决方案 26 用户操作说明 27 系统自我评价 28 致谢 29 参考资料 30 附录部分 31 【内容提要】 随着信息技术在管理上越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把 内部活动有机地组织起来,就必须建立与自身特点相适应的信息管理系统。本文 采用 VB 和 ACCESS 等软件为开发工
2、具,以 Windows XP(或 Windows 2000)为开发平台,设计出一个学校管理系统,对学生、员工的信息、学生的课程以及成绩进行统一管理,便于查询、修改和打印。主要实现的功能模块有系统管理子系统、学生信息管理子系统、员工信息管理子系统、班级信息管理子系统、课程信息管理子系统、成绩信息管理子系统、综合测评子系统、毕业管理子系统、图书馆管理子系统等。 本系统界面友好,操作简单,比较实用。 【关键字】 系统;管理;信息管理 - 1 - 选题的背景 1. 1需求分析 一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校各类工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要
3、。所以学校管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点 ,如 :效率低、保密性差 ,人工的大量浪费;另外时间一长 ,将产生大量的文件和数据 ,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高 ,计算机科学 日渐成熟 ,其强大的功能已为人们深刻认识 ,它已进入人类社会的各个领域并发挥着来越重要的作用。 作为计算机应用的一部分 ,使用计算机对学校的各类信息进行管理 ,具有手工管理所无法比拟的优点 .例如 :检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优
4、点能够极大地提高学校信息管理的效率 ,也是一个单位科学化、正规化管理 ,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,我通过自己的知识和大量书籍的翻阅、网站的查阅,和同学一起合作开发了一个学校管理系统。 1.2历 史现状 该项目开发的软件为学校管理系统软件 ,是鉴于目前学校学生、员工人数和图书馆信息剧增 ,信息呈爆炸性增长的前提下 ,学校对信息管理的自动化与准确化的要求日益强烈的背景下构思出来的 ,该软件设计完成后可用于所有教育单位 (包括学校 ,学院等等 )的信息的管理 .目前社会上信息管理系统发展飞快 ,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息
5、 ,学校管理系统也是有了很大的发展 ,商业化的信息管理软件也不少 .但本系统完全独立开发 ,力求使系统功能简洁明了 ,但功能齐全且易于操作 . 1.3学校管理系统的功能及特点 学 校管理信息系统是一个以计算机为工具,对学校管理信息进行处理的人 机系统,它能准确统计出学生的考试分数,能从全局出发辅助学校各职能部门以及校长管理学校。可见,学校管理系统首先必须具有强大的电子数据处理功能,能大大提高学校管理人员的工作效率,减轻劳动强度,同时,该系统应当采用管理模型,将仿真、优化等现代决策手段结合起来,为学校管理层的决策提供有效信息。本系统的用户类型可分为三种:管理员、- 2 - 普通用户 管理员:拥有
6、一切权限,可管理用户,修改,删除数据。 普通用户:只能查看数据,不得修改删除数据。 整 个系统,包括了学生信息管理、员工信息管理、班级信息管理、课程信息管理、成绩信息管理、综合测评、毕业管理等。基本符合学校管理的需求。 学校管理系统的设计方法和技术线路 2.1选用的设计语言 本系统采用面向对象的软件开发方法,以 Microsoft 公司的可视开发环境 Visual Basic 6.0 作为主要开发工具,使用 Microsoft Access 2000 作为关系数据库,并在 VB编程语言中采用 ADO 数据库编程模型,配合功能强大的查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实
7、现了预定的需 求功能。 Visual Basic 6.0 是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows环境下的各类应用程序。它简单易学、效率高、且功能强大。在 Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows内部的应用程序接口( API)函数,以及动态链接库( DLL)、动态数据交换( DDE)、对象的链接与嵌入( OLE)、开放式数据连接( ODBC)等技术,可以高效、快速地开发出 Windows环境功能强大、图形界面丰富的应用 软件系统。 Visual Basic 6.0 是专门为 Mic
8、rosoft的 32 位操作系统设计的,可用来建立 32位的应用程序。在 Windows9x、 WindowsNT或 Windows2000 环境下,用 Visual Basic 6.0 的编译器可以自动生成 32位应用程序。这样的应用程序在 32位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行。 2.2选用 Access作为后台数据库 Access2000 就是关系数据库管理工具,数据库能汇集各种信息以供查询、存储和检索。 Access 的优点在于 它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel的电子表格,可以使数据库一目了然。另外, Acce
9、ss 允许创建自定义报表用于打印或输出数据库中的信息。 Access 也提供了数据存储库,可以使用桌面数据库文件把数据文件置于网络文件服务器,与其他网络用户共享数据库。 Access 是一种关系数据库管理工具,关系数据库是已开发的最通用的数据库之一。如上所述, Access 作- 3 - 为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 作为应用程序与 OLE DB连接的桥梁, ActiveX Data Objects (ADO)为 Visual Basic 6.0 下开发的应用程序访问本地或远程数据库提供了有效的手段。 Microsoft A
10、ctiveX Data Objects (ADO) 主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO 支持用于建立基于客户端 /服务器和 Web 的应用程序的主要功能。在 VB中,可以使用开发环境提供的 ADO 控件,数据库访问方法,对 ACCESS中建立的关系数据库简单快捷的进行访问。 在数据库方面,我主要采用了 ADODC 的绑定方法。 ADO是微软公司最新推出的数据访问技术,他特别设计用来访问 OLE DB PRIVDER 一起协同工作,以提供通用数据访问( UNIVERSAL DATA ACCESS), OLEDB 是底层的数据访问接口, ADO控件使用数据对象来快速建
11、立数据绑定的控件和数据提供者之间的连接。 ADO的全名是 ActiveX Data Object(ActiveX数据对象 ),是一组优化的访问数据库的专用对象集,它为 ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行 SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。 ADO主要包括 Connection,Recordset 和 Command 三个对象 , 它们的主要功能如下: Connection对象:负责打开或连接数据库文件; Recordset对象:存取数据库的内容; Command对象:对数据库下达行动查询指令,以及执行
12、SQL Server 的存储过程。 比较而言: ODBC ( Open Database Connectivity)是第一个使用 SQL访问不同关系数据库的数据访问 技术。使用 ODBC 应用程序能够通过单一的命令操纵不同的数据库,而开发人员需要做的仅仅只是针对不同的应用加入相应的 ODBC 驱动。 DAO - ( Data Access Objects)不像 ODBC 那样是面向 C/C+程序员的,它是微软提供给 Visual Basic开发人员的一种简单的数据访问方法,用于操纵 Access 数据库。 RDO 在使用 DAO 访问不同的关系型数据库的时候, Jet引擎不得不在 DAO和 O
13、DBC之间进行命令的转化,导致了性能的下降,而 RDO( Remote Data Objects)的出现就顺理成章了。 OLE DB 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种- 4 - 应用和数据源之间的无缝连接,基于 COM( Component Object Model)的 OLE DB 应运而生了。 综上所述 ADO 基于 OLE DB 之上的 ADO 更简单、更高级、更适合 Visual Basic程序员,同时消除了 OLE DB的多种弊端,取而代之是微软技术发展的趋势。所以我采用ADO 的方法来绑定数据库,能够达到功能的要求。 系统的基本框架、总体结构以及各部
14、分功能 3.1基本框 架 这是一个学校管理系统,其下有三大模块:信息管理系统,学籍管理系统,以及图书馆管理系统。 1.信息管理系统 a. 学生信息:基本信息:学号、班级、宿舍等 档案:姓名、住址、电话等 体检信息:入学体检、毕业体检 奖惩信息 b. 员工信息:基本信息:姓名、教授课程、部门等 档案:姓名、住址、电话等 2.学籍管理: a. 学生成绩管理:成绩录入、查询、不及格名单、学生总分名次、综合测评表、毕业设计、实习管理、班级查询 、设置年级课程等 b. 员工培训管理: 我主要负责学生信息系统即学籍管理,使用 VB和数据库的连接实现对系统的管理,在 VB界面下实现各种功能。即窗体 MDIF
15、orm1、班级查询、班级查询结果、班级浏览、毕业设计、补考成绩查询结果、成绩查询结果、成绩输入、创建用户、各班课程设置、关于、积考成绩查询结果、界面、实习管理、学生成绩查询、学生成绩输入、学生成绩输入数据显示、学校基本课程、用户登陆、员工培训信息、重修成绩查询结果、综合测评、综合测评信息都由我完成。 3.2系统的总体结构 - 5 - 如图所示: 图 3.1 系统的总体结构 此系统主要由四个部分组成,分别是用户添加及登陆部分,学生信息管理部分,员工信息管理部分,班级信息管理部分,课程信息管理部分,成绩信息管理部分,综合测评部分,毕业管理部分以及图书馆部分。 界面接口 登陆接口 MDI 主接口 创
16、建用户 学生信息管理 员工信息管理 班级信息管理 基本信息 体检信息 基本信息 培训信息 班级查询 班级浏览 课程信息管理 学校基本课程 各班课程设置 成绩信息管理 学生成绩信息 综合测评 综合测评信息 综合测评图示 学生成绩查询 补考、重修、积考成绩输入 毕业管理 毕业设计 实习管理 - 6 - 3.3系统各部分功能 学生信息管理部分分为基本信息、体检信息两部分。 员工信息管理部分分为基本信息和培训信息两部分。员工培训信息部分可以浏览所有员工培训的资料,添 加新的培训资料,修改需要改的信息。 班级信息管理部分分为班级查询和班级浏览两部分。班级查询部分可以依各条件查询所有班级信息。班级浏览部分
17、支持资料的修改和删除以及班级资料的报表打印。 课程管理部分分为学校基本课程,各班课程设置两部分。学校基本课程设置部分提供所有课程的设置,可以查询、添加、删除、筛选。各班课程设置部分则根据各个班级情况从已经设置好的基本课程中选择所需要的课程,或者删除不需要的课程,同样支持报表打印。 成绩信息管理部分分为学生成绩信息、补考、重修、积考成绩输入和学生成绩查询三部分。学生成绩信息部 分可以浏览所有成绩信息,并能输入 /修改,支持报表打印。补考、重修、积考成绩输入部分可以添加 /修改补考、重修、积考成绩。学生成绩查询部分可以查询所有成绩、补考成绩、重修成绩和积考成绩。 综合测评部分分为综合测评信息和综合
18、测评图示两部分。综合测评信息部分显示所有综合测评资料,并能实现多项查询,支持打印。综合测评图示部分能依每个人的成绩显示不同的二维图。 毕业管理部分分为毕业设计、实习管理两部分。毕业设计部分能浏览所有学生的毕业设计资料,并能进行资料的添加 /修改。实习管理部分能浏览所有学生的实习资料,并能进行资料 的添加 /修改。 图书馆管理部分。 系统部分窗体界面、代码及简要解释 4.1界面窗体(界面 .frm) - 7 - 图 4.1界面窗体 这是一个运行的主界面,在控件中增加了 ProgressBar,再利用 Time 控件来控制其的变化。 Private Sub Timer1_Timer() If Pr
19、ogressBar1.Value = ProgressBar1.Max Then 当 ProgressBar 的达到 100( max设定值)时触发 Unload Me 用户登陆 .Show Timer1.Enabled = False 停止时钟 End If ProgressBar1.Value = ProgressBar1.Value + 2.5 ProgressBar 的值每次加 2.5 timer属性中设定每 0.05 秒触发一次,因此展示窗体显示时间移动为 2秒 End Sub 4.2用户登陆窗体(用户登陆 .frm) - 8 - 图 4.2用户登陆窗体 这是个用户登陆的窗体,用 D
20、ataCombo来设置了连接数据库的所有组名称,用于方便选择。 DataSource来源于 DataEnvironment1,DataMember 来源于组表, DataField来源于组名, RowSource来源于 DataEnvironment1,RowMember 来源于组表, ListFiele 来源于组名。 Option Explicit Dim rstS As ADODB.Recordset Private Sub Command2_Click() If Text1.Text = “ Then MsgBox “用户名不能为空! “, vbExclamation + vbOKOnly, “警告 “ Text1.SetFocus Exit Sub End If 防止空用户 名 If Text2.Text = “ Then MsgBox “密码不能为空! “, vbExclamation + vbOKOnly, “警告 “ Text2.SetFocus Exit Sub End If 防止空密码 Do If DataCombo1.Text = rstS(0) And Text1.Text = rstS(2) And Text2.Text = rstS(3) Then If rstS(0) = “管理员 “ Then