基于VB的学生信息管理系统

更新时间:2024-07-07 01:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于VB的学生信息管理系统

[摘要] 学生信息管理系统是针对学校学生信息管理业务进行计算机处理而开发的应用

软件。它是一个典型的信息管理系统(MIS), 其开发主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前端,要求人机界面友好,功能完备,操作简单等特点;对于后台要求建立起完整性强、安全性好、能保持一致性的数据库。

此系统是中小型系统,经过分析与比较,选择 Visual Basic6.0作为前端的开发工具,利用其可视化界面设计和事件驱动的编程机制,可首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行性系统。后台采用简单、效率高、扩展性强的Access2000作为数据库。利用数据环境实现了客户端应用程序和后台数据库的连接。

本论文包括用户需求分析、系统总体设计、系统数据库的设计、系统各模块的设计及系统测试等方面,较为系统地介绍了“学生信息管理系统”课题开发的整个过程。

[关键词] 学生信息、管理系统、Visual Basic、数据库

[Abstract] The system of managing student file is targeted at student manag

ement of schools for the development of computer processing applications software. It is a typical application of managing information system (know as MIS),which mainly includes two aspects of the development of the front-end application interface and the establishment and maintenance of the background database. The front-end user interface requests friendly interface and fully functional, easy to operate, and other characteristics of the background of strong demand to establish the integrity, security, and to maintain consistency of the database.

This system is the small and medium-sized system, after analysis and comparison, the Visual Basic6.0 is chosen as the front-end development tool, using its visual interface design and event-driven programming mechanism .It can establish the first application of the prototype system in a short period of time, and then, the prototype could be modified and developed till users are satisfied with it. The background uses the Access2000 database which is simple, high efficiency, scalability and strong. Use of the data environment achieves a connection between customer-data applications interface and the background database. The thesis includes user needs analysis, system overall design, system database design, system design of each module, system testing and other aspects, a more systematic introduction of the “the system of managing student file”for the development of the whole process.

[Keywords] Student Information、 Management System、 Visual Basic、Database

目录

前言???????????????????????????????????? 1 第一章 论文总体介绍????????????????????????????1

1.1 编写目的背景与意义 ??????????????????????????1 1.2 本论文主要设计功能 ??????????????????????????2 1.3 系统开发的目标 ????????????????????????????2

第二章 系统及需求分析???????????????????????????2

2.1 系统需求????????????????????????????????2 2.2 可行性分析???????????????????????????????2

第三章 开发工具介绍????????????????????????????2

3.1 开发工具的选择?????????????????????????????2 3.2 Visual Basic简介????????????????????????????3 3.3 使用Access2000实现关系型数据库 ????????????????????4 3.4 二者的结合(DBA)????????????????????????????5

第四章 系统总体设计????????????????????????????5

4.1 系统功能????????????????????????????????5 4.2 系统流程图???????????????????????????????6 4.3 数据字典????????????????????????????????7

第五章 系统数据库的设计 ?????????????????????????7

5.1 数据库概念结构设计???????????????????????????7 5.2 系统数据表???????????????????????????????9 5.3 数据库的安全 ?????????????????????????????12

第六章 系统的具体实现 ?????????????????????????12

6.1 系统主窗体 ??????????????????????????????12 6.2 系统管理模块 ?????????????????????????????13 6.3 班级管理模块 ?????????????????????????????18 6.4 档案管理模块 ?????????????????????????????22 6.5 学费管理模块 ?????????????????????????????28 6.6 课程管理模块 ?????????????????????????????29 6.7 成绩管理模块 ?????????????????????????????31 6.8 帮助 ?????????????????????????????????33

第七章 系统测试及安全措施????????????????????????33

7.1 系统测试 ???????????????????????????????33 7.2 系统安全措施 ?????????????????????????????34

结束语???????????????????????????????????34 致谢????????????????????????????????????34参考文献 ?????????????????????????????????34

前言

近几十年来,随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们利用信息技术工作和搜索数据的能力大幅度提高,千千万万个数据库被用于商业管理、科学研究和工程开发等等,人们积累的数据越来越多。用数据库管理系统来存储数据、分析数据已成为大势所趋。

信息化是现代学生信息管理的重要特征。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间久了,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是教育单位的科学化、正规化管理,与世界接轨的重要条件。因此,用科学头脑,设计一个适合学校管理的学生信息管理系统,最大限度地加强管理,降低消耗,提高工作效率的工作势在必行。

本文介绍了开发学生信息管理系统的设计思想、具体实现技术和应用情况。通过Visual Basic6.0 来实现对整个系统程序的编制,利用数据库Access2000来完成对数据的存储。总之,本系统具有较强的实用性和先进性、规范管理、快速查询等特点。

第一章 论文总体介绍

1.1 编写目的背景与意义

学校主要有总务处、政教处、教导处三大块。其中教导处的工作最为繁重,工作人员多,信息量大。除财务部门有专人及专用软件进行信息处理外,其它各类的数据处理都由班主任以及教导处工作人员人工完成。教导处目前有几十个班级的学生,处理的信息主要有三大类:学生档案信息、成绩数据、课程信息。本系统主要着眼于以上部分,建立数据库以及对数据的各种操作功能。

对于学生信息,各班的班主任及学校领导由于各种分类和了解的需要,经常性地进行各种查询。例如:查询一个班级中团员的人数,男、女生的人数等等。教导处在每一届学生进校时必须进行分班,设置学号;每一届学生毕业,要进行学生信息备份。对于成绩管理,任课教师要进行本科目成绩登记,计算平均分、优秀率、及格率;班主任在期中考试和期末考试后计算本班学生总分,排名次;教导处要统计补考学生人数及相应名单,每学期进行学生成绩备份;学校领导则可通过查询工具来了解学生成绩情况。对于课程信息,教导处每学期要进行课程安排、任课教师分配、一周课程安排、中途课程调整等等。

以上各类信息目前还处于手工或半手工的管理状态,效率低,可靠性差。配备计算机,但实际利用率不高,如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极的作用。另外随着计算机网络的持续发展,人们的工作、学习和生活的节奏在不断加快,需要快捷的信息来源,并对此做出反应。因此,无论是从目前的现状来看,还是面向未来,一个功能完备的学生信息管理系统的开发都非常有必要。

本人作为学习计算机专业的一员,对系统的需求作了较深入的认识,同时也掌握了一定的系统开发理论,借这次毕业设计的机会,通过这次实践逐步提升自身对软件工程、数据库、程序设计等理论知识的认识,积累系统开发的经验。

1

作为毕业设计,由于时间比较紧张,加之本人没有任何系统开发的经验,它肯定存在许许多多不足的地方,但对它的改善和功能的完备并不会随着毕业设计的结束而终止。本人将在原来的基础上,着眼未来,追踪计算机新技术发展,并应用到系统持续开发中。

1.2 本论文主要设计功能

本系统主要包括:系统管理模块、学生档案管理模块、班级管理模块、学费管理模块、课程管理模块、成绩管理模块。

本系统具有如下功能:

系统管理:包括添加用户,修改密码,重新登陆,退出;

学生档案管理:包括档案信息添加,档案信息浏览,档案信息查询; 班级管理:包括班级浏览,添加班级,班级查询;

学费管理模块:包括基本学费设置,学生交费添加,学生交费浏览; 课程管理:包括基本课程设置,班级课程设置;

成绩管理:包括考试类型设置,成绩添加,成绩浏览; 帮助:包括关于,操作说明。

1.3 系统开发的目标

由于本系统是学生信息管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上,其管理界面友好化,增强人机交互性,同时也提高数据的可靠性。

第二章 系统及需求分析

2.1 系统需求

通过调查,要求系统具有以下功能: (1)要求有良好的人机界面。

(2)较好的权限管理。

(3)原始数据修改简单方便,支持多条件修改。 (4)方便的数据查询,支持多条件查询。

(5)相应的权限下,删除数据方便简单,数据稳定性好。 (6)数据计算自动完成,尽量减少人工干预。

2.2 可行性分析

由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的计算机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有大量相关参考文献,特别是网上资料,更是参考其它程序的功能,因此完全可以实现。

Visual Basic是一种可视化的、面对对象和事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

第三章 开发工具介绍

3.1 开发工具的选择

编程环境的选择:

现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual Basic, Microsoft公司的Visual C, Borland公司的Delphi和 Power soft公司的Power Builder以及Java等。

在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程

2

序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。作为数据库系统的开发,Visual Basic是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。数据库技术是MIS设计中的重要支持技术,在MIS开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库Access2000,开发工具是Visual Basic6.0。

3.2 Visual Basic简介

1. Visual Basic 语言的特点

Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。

(1) 可视化设计:表现在Visual Basic在设计应用于程序界面时有“所见即所得”的处理功能。

(2) 事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。 2. Visual Basic 系统几个在程序应用中的常用名词 Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:

(1) 视窗(Form)

视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。

(2) 对象 (Object)

对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。

(3) 属性 (Properties)

属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。

(4) 事件 (Events)

事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。

(5) 方法 (Method)

方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方

3

法。

(6) 过程 (Procedure)

过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。 (7) 模块 (Module)

模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。 3.Windows下的Visual Basic 编程环境简介

(1) 面对对象的编程

面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建模块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。

Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件,如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。

(2) 实现菜单选项

菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。

本系统使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Basic 的Application Wizard 来操作。

(3) 实现工具栏

CoolBar控件与Office2000 中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。

选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。

本系统就用了Cool工具中的Statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。

3.3 使用Access2000 实现关系型数据库

1.数据库的概念

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息。简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系型数据库(flat-file)和关系型数据库(relational)。关系型数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。 2.新建一个数据库

创建任何一个数据库的第一步是要仔细地规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。其新建过程包括:

(1)标识需要的数据;

(2)收集被标识的字段到表中; (3)标识主关键字字段;

4

(4)绘制一个简单的数据图表; (5)规范数据;

(6)标识指定字段的信息; (7)创建物理表。 3.修改已建的数据库

数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成。

4.实现数据库之间的联系

数据库之间的关系是指两个库之间共享一个共同的关键字值。一个链接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的链接形式称为自链接,这种链接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。 5.关系型数据库的实现

Access2000是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

3.4 二者的结合(DBA)

1. 与VB的连接:

Visual Basic提供了与底层数据库系统紧密的连接。它支持不同的关系数据库管理系统并充分发挥每一个数据库的特长,生成独立应用或脱离服务器运行的应用程序。Visual Basic连接数据库的方式有两种:

方式一,通过使用Visual Basic的 DATA控件;方式二,通过使用由Visual Basic提供的专用的直接与数据库相连的接口。 2. JET数据库引擎:

它提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他的软件产品大都是通过共用JET数据库引擎的,这给用户提供了丰富的数据类型。 3. DATA 控件的桥梁作用:

DATA在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用哪个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的内容改变了以后,该记录集合中的记录也会随之改变。

DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。

第四章 系统总体设计

4.1 系统功能

5

学生信息管理系统是一个交互式查询系统,利用该系统学生作为普通用户可以查询自己的信息,修改自己个人信息如进入系统的口令;学校教师作为普通用户可以录入自己学生的基本信息等,当然条件是在系统允许的情况下;查询所教科目的学生成绩,修改系统口令。系统管理员用户作为管理员可管理所有用户的权限。 1. 系统管理:

此项功能权限仅限于系统管理员,实现的功能有:用户注册,角色定义,用户信息维护等。普通用户的帐号不拥有这些权限。 2. 数据编辑:

此项权限由管理员享有。由于归于系统用户的范畴,因此,所进行的操作是对原始数据库的编辑,选中数据库中的某个表便可以进行数据编辑,当然,修改时一定要慎之又慎,要考虑到数据的参照完整性。否则,修改后的数据很难得出正确的查询结果。 系统功能图 如图1

用 户 密 码 学生信息管理系统 系统管理 档案信息管理 班级信息管理 课程信息管理 成绩信息管理 学费信息管理 密码 档案信息查询 档案信息浏览 档案信息添加 班级信息添加 班级信息浏览 年级课程设置 课程信息修改 课程信息添加 成绩信息浏览 成绩信息添加 基本学费设置 学费信息浏览

图1

4.2 系统流程图 系统流程图 如图2

6

学生注册 课程基本信息 基本信息班级设置 班级管理 档案信息管理 班级课程设置 成绩信息输入 班级课程管理 成绩信息管理 图2

4.3 数据字典

根据系统数据流图以及典型学生信息管理系统的需求,总结出下面的数据字典: ? 系统用户:系统用户名、用户密码等

? 学生基本信息:学生学号、学生姓名、性别、出生日期、班级、联系电话、入

学时间、家庭住址、备注等

? 班级信息:所在年级、班级、班主任、年制、备注等 ? 学费信息:年级、学生学号、学期、学费、欠费等 ? 课程基本信息:课程名称、教材

? 课程设置信息:年级信息、学期、课程名称等

? 学生成绩信息:所在班级、学生学号、姓名、学期、考试成绩等

第五章 系统数据库的设计

5.1数据库概念结构设计

7

学 生 基本信息班级信息 课程信息 学费信息 成绩信息 学生实体E-R图

班 级 班 级 所在年级 班主任 年制 班级实体E-R图

学 费 年级 学期 学费 欠费 班级实体E-R图

课 程 课程名称 教材 课程实体E-R图

8

年 级 年级名称 包括班级 设置课程 年级实体 E-R图

学生 考核过程 班级设置 班级 年级设置 年级 成绩设置 课程 实体之间的关系E-R图

5.2 系统数据表

数据库结构设计要求根据数据字典、使用的数据库管理系统和系统开发工具设计出数据库及各个数据表的结构。本系统数据库命名为“学生信息”,包括9数据表: 1.所有课程数据库(allkecheng)

该表实现对各课程教材的管理。如表1 字段名称 课程名称 教材 2. 成绩数据库(cj)

9

字段类型 文本 文本 字段宽度 20 30 表1

是否可空 否 否

该表主要用于存放学生的各课成绩。如表2

字段名称 学号 学期 类型 课程名称 分数 字段类型 文本 文本 文本 文本 数字 表2

3.班级数据库(class)

班级数据库将对信息的管理具体到班级,在一个较小的范围内实现对学生信息的管理,这对于学校管理是具有实际意义的。这是学生信息管理中最小范围的管理,已不需要用学号作为标识,可对一些更具体的信息进行管理,实现更细化的管理。该表就可实现对学生上课信息的管理,例如上课教室等。如表3

字段名称 年级 班级 教室 年制 专业 班主任 备注 字段类型 文本 文本 文本 文本 文本 文本 备注 表3

4.班级课程数据库(classkecheng)

该数据库对不同年级、专业、年制根据学期的不同对每个学生的接受的课程进行管理。如表4

字段名称 年级 专业 年制 学期 课程名称 字段类型 文本 文本 文本 文本 文本 表4 5.考试类型数据库(kaoshileixing)

该表实现对各次考试类型的管理。如表5 字段名称 类型 字段类型 文本 表5

6.学生基本信息数据库(xj)

为方便管理,我们采用学号作为唯一的标识。因为在学校中每个学生都有一个唯一标识身份的代码学号,用它管理简便易行。该表共有学号、姓名、性别、班级、出生年月、家庭住址、邮政编码、联系电话、入学时间、备注十个字段,学号作为主键。如表6

字段名称 字段类型 10

字段宽度 10 50 16 20 单精度 是否可空 否 否 否 否 否 字段宽度 16 20 5 8 16 8 无 是否可空 否 否 否 否 否 否 是 字段宽度 16 16 8 50 20 是否可空 否 否 否 否 否 字段宽度 10 是否可空 否 字段宽是否可空

学号 姓名 性别 班级 出生年月 家庭住址 邮政编码 联系电话 入学时间 备注 文本 文本 文本 文本 日期/时间 文本 数字 数字 日期/时间 备注 表6 10 8 2 20 自动 30 长整型 长整型 自动 无 否 否 否 否 否 否 否 否 否 是 7.交费数据库(jf)

该数据库是对学生各学期交费信息的管理,由于入学时间、专业、学期的不同,其交费信息也不相同,故要设立专门的表对其进行管理。如表7

字段名称 学号 学期 交费 欠费 日期 操作员 字段类型 文本 文本 货币 货币 日期/时间 文本 表7 8.学费数据库(xuefei)

该数据库是对学生各学期交费信息的管理,由于入学时间、专业、学期的不同,其交费信息也不相同,故要设立专门的表对其进行管理。如表8

字段名称 年级 专业 年制 学期 学费 字段类型 文本 文本 文本 文本 货币

9.用户名数据库(use)

该表主要实现用户注册、角色定义、权限分配和用户信息维护等功能,普通用户的帐号是否有效。各字段的含义Username(用户名)、password(密码)用来进入系统时输入,admin(管理员)、readonly(自由访问者)、qx(权限)根据不同权限来确定可实现的不同功能,超级用户(管理员)可实现对所有功能的访问,普通用户其权限由超级用户来指定,只读用户只能浏览和查询,不能修改和添加。如表9

字段名称 username password 字段类型 文本 文本 11

字段宽度 10 50 小数位数自动 小数位数自动 自动 10 是否可否 否 否 否 否 否 字段宽度 16 16 8 50 小数位数自动 表8 是否可空 否 否 否 否 否 字段宽度 20 20 是否可空 否 否

Admin readonly Qx1 Qx2 Qx3 Qx4 文本 文本 文本 文本 文本 文本 表9 2 2 2 2 2 2 否 否 否 否 否 否 5.3数据库的安全

数据库的安全必须规划和集成到数据库的设计中,数据库不仅应为用户提供数据访问功能,还应实现对数据的保护。应用程序可以增强数据库安全性,但不能代替数据库安全性。在考虑应用程序之前,应尽量使用数据库软件的内置特性。 1. 设置访问级别与访问权限。

2. 用视图和存储过程来增强安全性。视图可以过滤敏感数据,存储过程可以限制用户的使

用功能。

3. 其它安全措施,比如:网络安全性、防火墙和加密协议层等。

安全性中的漏洞通过常规的数据库监视中认识到。下面的一些预防措施可以预防安全漏洞:

1. 周期性地改变管理员密码。 2. 权限用户也经常改变密码。 3. 避免密码共享。

4. 随机地监视所有的活动。

5.执行数据库审核。

第六章 系统的具体实现

6.1系统主窗体

系统主窗体使用菜单来集成各个系统功能模块,是程序的启动窗体,担任着调动程序其它模块的功能,是整个程序的核心。有以下三个具体的功能:

1. 实现按用户名和密码启用系统功能。

2. 实现系统退出功能。在执行主窗体关闭操作时,首先请用户确认检查是否有未关闭

的子窗体,在关闭了子窗体之后才允许关闭系统主窗体。 3. 集成系统功能模块。 窗体界面设计如图3

12

图3

6.2 系统管理模块

系统用户管理模块主要实现:

? 用户登陆 ? 添加用户 ? 修改密码 ? 重新登录 ? 退出

1.用户登陆窗体的创建

系统用户登录功能指为了对系统进行安全性管理,在启动学生信息管理系统之前,显示一个登录对话框,要求操作员输入用户名和密码。

? 单击“确定”可以启动系统 ? 单击“取消”可以退出系统登录 登录窗体界面设计如图4

13

图4

下面为部分源代码:

Private Sub Command1_Click() Dim mrc As ADODB.Recordset

txtsql = \Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then

MsgBox \用户名错误!\警告\ Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) Exit Sub End If

username = mrc.Fields(0)

txtsql = \Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then

MsgBox \密码错误!\警告\ Text2.SetFocus Text2.SelStart = 0

Text2.SelLength = Len(Text2.Text) Exit Sub End If

MDIForm1.Show Unload Me End Sub

2.添加用户窗体的创建 添加用户窗体界面如图5

14

图5

下面为其部分源代码:

Private Sub Command1_Click() If Trim(Text1(0).Text) = \

MsgBox \用户名不能为空!\警告\ Text1(0).SetFocus Exit Sub End If

If Trim(Text1(1).Text) = \

MsgBox \密码不能为空!\警告\ Text1(1).SetFocus Exit Sub End If

If Trim(Text1(2).Text) = \

MsgBox \确认密码不能为空!\警告\ Text1(2).SetFocus Exit Sub End If

If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then

MsgBox \确认密码不正确!\警告\ Text1(2).SetFocus Exit Sub End If

Dim aa As Integer aa = 0

If Option1(2).Value = True Then For i = 0 To 3

If Check1(i).Value = 1 Then

15

aa = 1 Exit For End If Next i

If aa = 0 Then

MsgBox \普通用户至少要有一项权限!\警告\Exit Sub End If End If

Dim mrc As ADODB.Recordset

txtsql = \Set mrc = ExecuteSQL(txtsql) If mrc.EOF = False Then

MsgBox \已存在该用户!\警告\ Text1(0).SetFocus Text1(0).SelStart = 0

Text1(0).SelLength = Len(Text1(0).Text) Exit Sub End If

txtsql = \Set mrc = ExecuteSQL(txtsql) mrc.AddNew

mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) For i = 0 To 2

If Option1(i).Value = True Then Select Case i Case 0

mrc.Fields(\ Case 1

mrc.Fields(\ Case 2

For j = 0 To 3

If Check1(j).Value = 1 Then Select Case j Case 0

mrc.Fields(\ Case 1

mrc.Fields(\ Case 2

mrc.Fields(\ Case 3

mrc.Fields(\

16

End Select End If Next j End Select

End If Next i

mrc.Update

MsgBox \用户添加成功!\警告\ Text1(0).Text = \ Text1(1).Text = \ Text1(2).Text = \End Sub

3.修改用户密码窗体的创建 修改用户密码窗体界面如图6

图6

下面为其部分源代码:

Private Sub Command1_Click() pass1 = Trim(Text1.Text) pass2 = Trim(Text2.Text)

If pass1 = pass2 Then

Dim mrc As ADODB.Recordset

txtsql = %username,password from use where username='\& username & \ Set mrc = ExecuteSQL(txtsql) If mrc.EOF Then

MsgBox \此用户不存在\ Else

mrc.Fields(1) = pass1 mrc.Update

17

MsgBox \修改成功\密码\ End If

Unload Me Else

If MsgBox(\两次密码不一致\错误\ Unload Me Else

Text1.Text = \ Text2.Text = \ Text1.SetFocus End If End If End Sub

6.3 班级管理模块

班级管理模块主要实现的功能

? 班级浏览 ? 添加班级 ? 班级查询

1.浏览班级信息窗体的创建 浏览班级信息窗体界面如图7

图7

2.添加班级信息窗体的创建 添加班级信息窗体界面如图8

18

图8

下面为其部分源代码:

Private Sub Command1_Click() For j = 0 To 5

If Text1(j) = \

ss = MsgBox(Label2(j).Caption & \不能为空!\警告\

Text1(j).SetFocus Text1(j).SelStart = 0

Text1(j).SelLength = Len(Text1(j).Text) Exit Sub End If Next

Dim mrc As ADODB.Recordset If classmodi = False Then

classstr = \班级='\ Set mrc = ExecuteSQL(classstr) If mrc.EOF = False Then

sss = MsgBox(\已经存在该班级的设置,不能重复!\警告\ Text1(1).SetFocus

Text1(1).SelStart = 0

Text1(1).SelLength = Len(Text1(1).Text) mrc.Close Exit Sub End If End If

19

classstr = \班级='\Set mrc = ExecuteSQL(classstr) classstr = \Set mrc = ExecuteSQL(classstr)

mrc.AddNew

For i = 0 To 6

If Text1(6).Text = \ Text1(6).Text = \无\ End If

mrc.Fields(i) = Text1(i).Text Next i mrc.Update

If classmodi Then Unload Me

'Formclass2.classshowtitle 'Formclass2.classshowdata Else

For j = 0 To 6 Text1(j) = \Next

'MDIForm1.classbrowse_Click End If End Sub

3.查询班级信息窗体的创建 查询班级信息窗体界面如图9

图9

下面为其部分源代码:

Private Sub Command1_Click() txtsql = \

If Text1(0).Text <> \

If txtsql = \

20

txtsql = \年级='\ Else

txtsql = txtsql & \年级='\ End If End If

If Text1(1).Text <> \

If txtsql = \

txtsql = \班级='\ Else

txtsql = txtsql & \班级='\ End If End If

If Text1(2).Text <> \ aa = 1

If txtsql = \

txtsql = \专业='\ Else

txtsql = txtsql & \专业='\ End If End If

If txtsql = \

ss = MsgBox(\你至少要输入一个条件以上才能查询!\警告\ Text1(0).SetFocus Exit Sub End If

txtsql = \Dim mrc As ADODB.Recordset Set mrc = ExecuteSQL(txtsql) If mrc.EOF = True Then

zzz = MsgBox(\对不起,没有此班级的档案记录!\查询\ Formclass3.ZOrder (0)

Formclass3.Text1(0).SetFocus Exit Sub End If

Formclass2.printstr = txtsql classfind = True Formclass2.Show

Formclass2.classshowtitle Formclass2.classshowdata

Formclass2.Caption = \班级设置查询结果\

21

Formclass2.ZOrder (0) End Sub

6.4 档案信息管理模块

档案信息管理模块主要实现的功能

? 添加档案信息 ? 浏览档案信息 ? 查询档案信息

1. 添加档案信息窗体的创建 添加档案信息窗体界面如图10

图10

下面为其部分源代码:

Private Sub Command1_Click() For j = 0 To 7

If Text1(j) = \

ss = MsgBox(Label1(j).Caption & \不能为空!\警告\

Text1(j).SetFocus Text1(j).SelStart = 0

Text1(j).SelLength = Len(Text1(j).Text) Exit Sub End If

22

Next

Dim mrc As ADODB.Recordset

txtsql1 = \学号='\ Set mrc = ExecuteSQL(txtsql1) If modi = False Then

If mrc.EOF = False Then

sss = MsgBox(\已经存在该学号的记录,学号不能重复!\\警告\

Text1(0).SetFocus

Text1(0).SelStart = 0

Text1(0).SelLength = Len(Text1(0).Text) mrc.Close Exit Sub End If End If

If Not IsDate(Text1(2).Text) Then '判断是否日期格式

ssss = MsgBox(\应输入日期 mm-dd-yy\警告\ Text1(2).SetFocus

Text1(2).SelStart = 0

Text1(2).SelLength = Len(Text1(2).Text) Exit Sub End If

If Not IsDate(Text1(6).Text) Then

ssss = MsgBox(\应输入日期 mm-dd-yy\警告\ Text1(6).SetFocus

Text1(6).SelStart = 0

Text1(6).SelLength = Len(Text1(6).Text) Exit Sub End If

If modi = True Then

txtsql1 = \学号='\姓名='\Trim(Text1(1).Text) & \性别='\班级='\

Trim(Combo1(1).Text) & \出生年月=#\家庭住址='\Trim(Text1(3).Text) & \邮政编码='\联系电话='\Trim(Text1(5).Text) & \入学时间=#\备注='\Trim(Text1(7).Text) & \学号='\& Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & \

Set mrc = ExecuteSQL(txtsql1)

txtsql1 = \学号='\学号='\

23

Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & \Set mrc = ExecuteSQL(txtsql1)

txtsql1 = \学号='\学号='\Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & \'Set mrc = ExecuteSQL(txtsql1) Unload Me Exit Sub End If

txtsql1 = \

Set mrc = ExecuteSQL(txtsql1)

mrc.AddNew

For i = 4 To 9

mrc.Fields(i) = Text1(i - 2).Text Next i

mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text)

mrc.Fields(2) = Trim(Combo1(0).Text) mrc.Fields(3) = Trim(Combo1(1).Text) mrc.Update

Set mrc = Nothing

For j = 0 To 7 Text1(j) = \Next End Sub

Private Sub Command2_Click() Unload Me End Sub

Private Sub Form_Activate() Text1(0).SetFocus Form1.load1 End Sub

Public Sub load1()

Dim mrc As ADODB.Recordset

24

txtsql1 = \班级 from class order by 班级\ Set mrc = ExecuteSQL(txtsql1) If mrc.EOF Then

ddd = MsgBox(\请先设置班级部署!\警告\ mrc.Close Exit Sub End If

Combo1(1).Clear mrc.MoveFirst

Do While Not mrc.EOF

Combo1(1).AddItem mrc.Fields(0) mrc.MoveNext Loop

Combo1(1).ListIndex = 0 Combo1(0).ListIndex = 0 If modi Then '如果是修改状态 Me.Caption = \修改\

txtsql1 = \学号='\

Trim(Form3.MSF1.TextMatrix(Form3.MSF1.Row, 1)) & \ Set mrc = ExecuteSQL(txtsql1) mrc.MoveFirst For i = 4 To 9

Text1(i - 2).Text = mrc.Fields(i) Next i

Text1(0).Text = mrc.Fields(0) Text1(1).Text = mrc.Fields(1) Combo1(0).Text = mrc.Fields(2) Combo1(1).Text = mrc.Fields(3) mrc.Close Else

Me.Caption = \登记\ For i = 2 To 7

Text1(i).Text = \ Next i

Text1(6).Text = Date Text1(0).Text = \ Text1(1).Text = \ End If End Sub

2. 浏览档案信息窗体的创建 浏览档案信息窗体界面如图11

25

图11

3. 查询档案信息窗体的创建 查询档案信息窗体界面如图12

图12

下面为其部分源代码:

Private Sub Command1_Click() Dim aa As Integer txtsql = \

If Trim(Text1(0).Text) <> \ aa = 1

If txtsql = \

txtsql = \学号='\ Else

txtsql = txtsql & \学号='\ End If End If

If Trim(Text1(1).Text) <> \

26

aa = 1

If txtsql = \

txtsql = \姓名='\ Else

txtsql = txtsql & \姓名='\ End If End If

If Trim(Text1(2).Text) <> \ aa = 1

If txtsql = \

txtsql = \班级='\ Else

txtsql = txtsql & \班级='\ End If End If

If Trim(Text1(3).Text) <> \ aa = 1

txtsql = \

txtsql = \姓名 like '%\

End If

If aa = 0 Then

ss = MsgBox(\你至少要输入一个条件以上才能查询!\警告\ Text1(0).SetFocus Exit Sub End If

Dim str As String

str = \Dim mrc As ADODB.Recordset Set mrc = ExecuteSQL(str) If mrc.EOF = True Then

zzz = MsgBox(\对不起,没有此学生的档案记录!\查询\ Form4.ZOrder (0)

Form4.Text1(0).SetFocus Exit Sub End If

txtsql = \学号,xj.姓名,xj.性别,class.年级,xj.班级,class.专业,class.年制,xj.出生年月,xj.家庭住址,xj.邮政编码,xj.联系电话,xj.入学时间,xj.备注 from xj inner join class on xj.班级=class.班级 where \年级 desc,class.班级 desc,xj.学号 desc\Form3.printstr = txtsql find = True Form3.Show

27

'select xj.学号,xj.姓名,xj.性别,class.年级,xj.班级,class.专业,class.年制,xj.出生年月,xj.家庭住址,xj.邮政编码,xj.联系电话,xj.入学时间,xj.备注 from xj inner join class on xj.班级=class.班级 where xj.班级='06计算机一班' or 年级='06计算机一班' order by class.年级 desc,class.班级 desc,xj.学号 desc Form3.Caption = \学生档案查询结果\Form3.showtitle Form3.showdata End Sub

6.5 交费管理模块

交费管理模块主要实现的功能:

? 基本学费设置 ? 学生交费浏览 ? 学生交费添加

1. 基本学费设置窗体的创建

基本学费设置又包括学费设置浏览,学费设置添加,学费设置查询三部分。 基本学费设置窗体界面如图13

图13

2.学生交费浏览窗体的创建 学生交费浏览窗体界面如图14

28

图14

3. 学生交费添加窗体的创建 学生交费浏览窗体界面如图15

图15

6.6 课程管理模块

课程管理模块主要实现的功能

? 基本课程设置 ? 班级课程设置

1. 基本课程设置窗体的创建 基本课程设置窗体界面如图16

29

图16

2. 班级课程设置窗体的创建 班级课程设置窗体界面如图17

30

图17

6.7 成绩管理模块

成绩管理模块主要实现的功能

? 考试类型设置 ? 成绩添加 ? 成绩浏览

1. 考试类型窗体的创建 考试类型窗体界面如图18

31

图18

2. 成绩添加窗体的创建 成绩添加窗体界面如图19

图19

32

3. 浏览成绩信息窗体的创建 成绩浏览窗体界面如图20

图20

6.8 帮助

帮助主要实现的功能

? 操作说明 ? 关于

单击帮助后看到的界面如图21

图21

第七章 系统测试及安全措施

7.1 系统测试

按照软件工程的思想,任何软件正式投入运行之前,必须进行测试以保证软件的正确性、可扩展性及运行速度等等。由于在编码阶段已经对代码错误进行了改正,在该系统交付使用之前,我主要对本系统的功能模块进行测试,主要分两步进行,第一步对单个模块进行测试,第二步对各个模块结合后的系统整体进行的测试。测试的目的在于:寻找问题,纠正错误,提高系统技术能力,使系统早日投入运行。

主要的错误分为以下几类:

33

1. 语法错误

语法错误是经常碰到的错误码,它是由不正确的脚本语法导致。例如:命令拼写错误或传递给函数的参数不正确都将产生错误。语法错误可能导致脚本不能运行。 2. 运行时错误

运行时错误是脚本在执行过程中脚本指令试图执行不可能的动作而导致的。必须纠正导致运行时的错误,这样才能使脚本在运行时不被中断。 3. 逻辑错误

逻辑错误通常可能是潜在的和难以预测的。如果有因键入错误或程序逻辑流程错误引起的逻辑错误,脚本可能会成功运行,但产生的结果却是错误的。 在进行完测试后虽然各个部分都能满足预期要求,但我仍然发现了本系统存在的一些不足,如果可能的话我将继续改进我设计的系统,使它不断的完善以获得更高的实用价值。

7.2 系统安全措施

应综合考虑系统的安全性,基本的预防措施是必须的,另外,必须经常检查系统的运行情况,及时发现问题,避免造成破坏。

在本系统中采取的保护措施主要有: 1. 非法用户不能登录进入本系统。

2. 用户在修改个人资料时,需输入密码进行验证,否则无法修改。

3. 后台数据库的数据进行定期备份,即使系统遭到破坏,也能在最短时间内恢复。 4. 经常检查和防护,及时发现新的漏洞,及时解决。

结束语

本系统基本完成了学生管理的任务,包括了有关用户登陆、学生信息、班级信息、学费信息、成绩信息等功能。

毕业设计前,我经过系统需求分析,选择了Windows XP操作系统和Access2000平台,Visual Basic6.0作为开发工具。通过本系统的整个开发过程,不仅使我对数据库的有关内容有了深刻的认识,也使我对软件工程的内容也有了更深的体会,对设计一个软件的步骤、实现都有了更进一层的了解,使理论和实际相结合。

本管理系统先从宏观上系统设计,对所需的功能作了剖析记录,再根据数据库的内容对数据库的需要做了分析,其中用到了实体联系模型。再对主窗体进行创建后对每一个模块进行了创建,各个模块实现了各个细节功能。本次我用了将近两个半月的时间完成,虽然遇到了很多困难,却学到的更多东西,感触良多,很希望有机会对这方面的知识更深入的学习。

致谢

在本系统的设计开发过程中,得到了学校领导的重视和关心,特别得到指导教师孙玉珍老师的有益帮助,同时还得到了我的同学在程序调试和搜集论文材料的过程中的热情指导与帮助,在此,对他们表示深深的感谢!

参考文献

[1]龚沛曾,陆慰民,杨志强. Visual Basic程序设计教程(6.0版).北京:高等教育出版社,2000.

[2]郭胜,夏邦贵. Visual Basic数据库开发入门与范例解析.北京:机械工业出版社,2004. [3]郑人杰,殷人昆,陶永雷. 实用软件工程(第二版).北京:清华大学出版社,1997. [4]高春艳,李艳,谷伟东. Visual Basic数据库开发关键技术与实例应用.北京:人民邮电

34

出版社,2004.

[5]李春葆,张植民. Visual Basic数据库系统设计与开发.北京:清华大学出版社,2003. [6]刘韬,络娟,何旭洪. Visual Basic6.0数据库系统开发实例导航.北京:北京人民邮电出版社,2002.

[7]陈承欢,彭勇. 管理信息系统基础与开发技术.北京:人民邮电出版社,2005. [8]郭琦. Visual Basic数据库开发系统.北京:人民邮电出版社,2003. [9]范晓平. Visual Basic6.0软件开发项目实训. 北京:海洋出版社,2002. [10]萨师煊,王珊. 数据库系统概论(第三版).北京:高等教育出版社,2000.

[11]林立军,程斌,翁迪恩. Visual Basic 6.0数据库开发指南(第一版).西安电子科技大学,2000.

[12]姚巍. Visual Basic6.0数据库开发与工程实例.北京:人民邮电出版社,2003. [13]李廷文. Visual Basic6.0控件高级编程. 北京:人民邮电出版社,2002.

[14]王兴晶,赵万军等. Visual Basic软件开发实例. 北京:电子工业出版社,2004. [15]孙越. Visual Basic数据库开发自学教程. 北京:人民邮电出版社. [16]刘启原,刘怡. 数据库与信息系统的安全.北京:科学出版社,1999.

35

本文来源:https://www.bwwdw.com/article/9pm.html

Top