目录
摘要和关键字-
1简介-简介
2全系统设计计划-
2.1校园卡管理中心(服务器)-
2.2设计概念-
3系统设备准备-
3.1技术可行性分析-
3.2系统概述-
3.3系统简介-
4系统操作环境和使用方法-
4.1系统操作环境-
4.2客户/服务器结构的特点-
4.3远程数据访问-
4.4数据连接-
5系统功能和结构-
5.1系统的功能-
5.2全系统地图-
5.3系统所有数据库存和表-
5.3.1数据库如下:-
5.3.2设置表名和一些字段-
6每个模块的详细说明-
6.1登录模块-登录模块
6.1.1设计理念-
6.1.2模块功能-模块功能
6.1.3相关代码-相关代码
6.1.4模块流程-模块流程
6.2卡管理模块-卡管理模块
6.2.1设计理念-
6.2.1模块功能-模块功能
6.2.3模块流程-模块流程
6.2.4卡管理模块分类-卡管理模块分类
6.3查询模块-查询模块
6.3.1设计理念-
6.3.2模块功能-模块功能
6.3.3模块流程-模块流程
6.3.4信息查询分类-信息查询分类
6.4报告模块-报告模块
6.4.1设计理念-
6.4.2模块功能-模块功能
6.4.3模块流程-模块流程
6.5系统管理模块-
6.5.1设计理念-
6.5.2模块功能-模块功能
6.5.3模块流程-模块流程
摘要-摘要
参考文献-请参阅
谢谢-谢谢
检阅表单-检阅表单
基于VB的校园一卡通管理信息系统软件
摘要:随着计算机技术和网络技术的迅速发展,人类科学进入信息时代,信息技术本身对教育改革产生了重大影响。
现代化的学校少不了现代化的教学设施、设备的武装。建设“校园一卡通”,为学校的教师、学生和教学管理人员提供具有开放性、灵活性、面向学校应用服务的管理平台、是教学管理科学化的必要前提和基本途径,所以,“校园一卡通”的建设势在必行。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对校园一卡通进行管理,具有着人工记帐管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高校园一卡通的效率,也是校园一卡通走向科学化、规范化的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以一个小型的校园一卡通管理为例,谈谈其开发过程和所涉及到的问题及解决方法。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成校园一卡通基本信息管理的全过程,包括校园一卡通的发行、充值、查询、挂失、回收等管理工作。经过实际使用证明,本文所设计的校园一卡通系统可以满足小型校园一卡通管理方面需要。
关键词:管理信息系统、校园一卡通管理、Visual Ba、Access
1 绪论
随着计算机技术和网络技术的迅速发展,人类科学正进入信息时代,信息技术本身正对教育的改革产生深远的影响。现代化的学校少不了现代化的教学设施、设备的武装。建设“校园一卡通”,为学校的教师、学生和教学管理人员提供具有开放性、灵活性、面向学校应用服务的管理平台、是教学管理科学化的必要前提和基本途径,所以,“校园一卡通”的建设势在必行。
随着社会的进步与变革,各学校原有的消费和管理模式已不能适应新的发展要求,基于目前现状“一卡通”应运而生。所谓“一卡通”即在学校内,凡有现金、票证或需要识别身份的场合均采用卡来完成。此种管理模式代替了传统的消费管理模式,为学校的管理带来了高效、方便与安全。建立先进的信息管理系统是实现高等教育现代化的必由之路,而智能卡技术的推广运用,则是推进高校信息化管理的重要举措之一。校园智能卡可供学生用于校园内部处理杂务,购买食品、饮料、书本,借阅图书,查资料,洗澡等。学生只需在管理中心开设帐户并存入金额,即可启用其电子钱包功能,可反复充值,“校园一卡通系统”可真正意义地实现“一卡在手,走遍校园”。独具特点的通用查询子系统使其可充当管理学校日常消费、管理的角色,并为领导的决策提供可靠的数据依据,同时也为教职员工和学生提供了方便。
2 系统总体设计规划
系统功能结构组成
校园一卡通系统架构总体分二层,分别是卡管理中心与各子系统,现介绍如下:
服务器、客户端
2.1 校园卡管理中心(服务器)
由中心数据库服务器、存贮设备、中心应用服务器、前置机以及各种管理软件共同构成了校园卡管理中心。
中心数据库服务器:中心数据库服务器装有windows xp或windows 2003操作系统平台, Access2003数据库系统,根据学校的规模、营业流水的大小以及管理模式可以使用较高档次的PC服务器和数据存储设备,以保证数据的安全性与可靠性及系统的稳定性;中心服务器根据实际需要可以直接接入到校园网提供的虚拟专网中。
主要功能是为各前置机提供个人帐户记录、历史流水帐的实时查询服务,提供全部和部分数据库子集、索引的查询服务;实时存储各地交易、充值、扣款流水的服务;中心数据的实时更新、存储备等服务。
2.2设计理念
1. 实现一卡走遍校园,一卡通用、一卡多用
用射频卡代替学校目前使用的学生证、借书证、和食堂就餐券、澡票等、证件、计算机房的机时票等,实现学生只要带一张卡即可在校内食堂、洗浴中心、等收费场所消费;也可以去图书馆查阅资料、借阅书籍;去机房上机等。从根本上实现“一卡在手,走遍校园”的设想。实现全校各类数据的统一性和规范性;提高学校的现代化管理水平。
设计上追求先进,注重实用、科学、经济及合理性;力求系统的安全、简捷、功能齐全;充分考虑系统的可扩展、可维护。
2. 校园卡的作用
校园卡可代替:学生证、工作证、身份证、借书证、会员证、餐卡、钱包、存折。
3. 校园一卡通应用范围
学生管理:注册、注销
身份识别:图书馆、计算中心。
交费:上机。
用餐:餐厅。
4. 总体应用结构
各消费点通过校园主干网和中心服务器联结,通过校园主干网与中心进行数据交换,主干网的安全是整个校园一卡通系统运行的安全保证。为了确保系统安全,设计上采用了中心服务器与各消费点服务器之间的非实时性及实时性相结合原则,即:主干网通可进行数据交换,便于数据统计,主干网不通各消费点服务器可承担各消费系统运行任务,保证各消费系统正常运行。
3 系统设备准备
3.1技术可行性分析
目前计算机以进入日新月异的时代,大内存、大容量的硬盘也以普及,这就为系统提供了强有力的硬件保障。操作系统现有WindowsXP/windows2003等,同时提供了面向对象的程序设计工具——Visual Basic 等。它们强大的功能为实现用户要求提供保证,综上所述在技术上是可以完成的。
3.2系统概述
1、本系统对硬件的适应:
CPU: 586-133以上主频;
128兆以上内存;
硬盘剩余空间30兆以上;
具鼠标器,最好彩显;
任意打印机。
2、适应平台:WINDOWS95/98/2000以上。以Visual Ba为系统开发平台,利用Visual Ba可视化、面向对象、采用事件驱动方式的结构化高级程序设计语言,可以用最迅速、最简捷的方式开发出应用系统,操作简便、灵活。
3.3系统简介
本系统有主要设计客户端部分功能,系统在后台运行的一卡通中心服务器支持之下,分成登录模块、卡管理模块、查询模块、报表模块、系统管理模块,根据用户的管理要求可以实现分离和统一。这样做主要是出于系统管理的需要,体现了工作分工,互相监督制约的原则。发行中心主要负责发卡和认证,实现、挂失、解挂、补卡等查询、报表、汇总资金等操作,并为系统中的所有部门提供校园卡和用户身份的识别与鉴定。结算中心负责系统中所有与资金流动有关的业务,如预付金额、补贴等等。各相应子系统就是学校中的分网点应用系统。
主要特性
(1) 一卡多用
校园卡既可作为身份卡,在不同的场合证明持卡人的身份,还可以作为储值卡代替现金完成各种交易,交纳各种费用。只用一张智能卡就可以完成以下功能:学生证、借书证,餐卡(食堂、餐厅),交费卡(机房),电子钱包(超市)。
(2) 一体化管理
操作方便,简捷易用。开户补卡等所有操作一对一地就可完成。
(3) 实时联网
实时到账。整个系统通过多种方式互联,所有数据可以实时互传,任何一笔流水都会迅速下发到每一台主机,保证系统准确性、有效性,充分维护用户的利益。
(4) 工作可靠
支持恢复还原功能。系统软件、硬件稳定可靠。保证系统连续正常运转据备
份,手段多样,软盘、USB硬盘、硬盘。实时备份,系统崩溃可立即恢复。
(5) 易维护
系统本身的故障率极低,主要设备有自检功能,系统完全采用了模块化设计,
可以迅速排除各种故障。
(6) 速度快
数据处理快,实时性高,即使是系统高峰期的大量数据也可应付自如。
4. 系统的运行环境及使用方法
4.1 系统的运行环境
系统采用Visual Basic 6.0实现 。VB是以人们所熟知的BASIC语言为基础的,不仅易学,易掌握,它的可视化特性还为应用程序的界面设计提供了迅速便捷的途径。在VB编程中不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象拖放到窗体上适当位置即可,VB同时还是一个包括了编辑、测试和调试、编译并建立可执行程序,直到应用程序的发行。
VB是在原有的Basic语言的基础上进一步发展起来的,能方便地进行图形用户界面设计的程序语言。Visual Basic除了继承原有BASIC语言简单易学的特点外,引入了窗体和控件的概念,从而可以方便地进行可视化屏幕设计,另一个特色是具有事件驱动的编程机制,从传统的面向过程的程序设计,转移到采用先进的面向对象的程序的程序设计。
Access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
VB对数据库的访问,许多用低版本Visual Basic创建的数据访问应用程序都使用了Microsoft Access所采用的Microsoft Jet数据库引擎来存储和管理数据。这些应用程序用Microsoft Date Access Objects(DAO)对数据进行访问和操作。在Visual Basic 6.0中可以用Microsoft ActiveX Date Objects(ADO)来轻松地操作多种数据库格式中的数据,这些格式中包括Microsoft Jet数据库,对于新的应用程序来说,使用ADO和 Visual Basic的新式数据访问功能将更加方便。使用ADO和使用DAO一样,有两种途径可以对数据进行访问。一种方法是使用Visual Basic提供的数据控件,几乎不需要编写代码,就能方便地实现对数据的常用操作。另一种方法是使用ADO对象,完全通过编写代码来对数据进行访问。利用控件访问数据库的方式虽然简单方便,但不利于对大数据库进行访问而且灵活性也不好。但通过对象,直接利用编码的方式实现对数据库的操作,会使数据库处理更灵活,功能更强大,并且综合性更强。
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
4.2 客户/服务器结构的特点
安全性高:数据的对话完全由数据库服务器来进行,而不需产生多个数据库内容的备份,因此数据的访问操作较为可靠安全.
扩充性佳:对于想要将更多的用添加到网络系统中,客户/服务器结构模式可以很容易满足添加的需求。
提高操作效率:使用客户/服务器结构工作模式将大幅度提高操作的速率。特别是对于那些只有低运行速度的工作站的系统,运用较高级的服务器就能够有效改善数据访问速度。
传输效率佳:客户/服务器结构模式完全根据需求进行数据的传递,大量减少网络的通信量,明显提高数据传输效率。
4.3 远程数据访问
在VB中,用数据库引擎和数据访问对象DAO可以创建功能强大的客户/服务器应用程序。对远程数据库的访问是开发这类应用程序的关键,本文将介绍在VB中用DAO通过数据库引擎访问远程数据库的方法。
用DAO访问远程数据库可以通过三步来实现,即数据连接、数据处理和断开连接。下面主要介绍数据连接和数据处理的具体操作。
4.4 数据连接
DAO通过链接远程表的方式来进行数据连接。这样,数据虽然驻留在远程数据源上,但在本地的数据库中可以存储与远程数据的永久性连接,同时缓存链接的表结构信息,从而在下一次访问该表时, 不用再次从服务器中检索这些结构信息,加快了连接速度。一旦链接了一个表,该链接便会保留在各会话期间,直到连接断开。链接远程表的具体操作是:
用 Open Database 方法打开将要包含该链接的本地数据库,用 CreateTableDef 方法在该数据库中创建一个新的TableDef对象,将 TableDef 对象的 Connect 属性设置为一个合法的连接字符串,标识要访问的远程数据库类型、数据文件的路径以及用户名和远程数据源密码等。将 TableDef 对象的 SourceTableName 属性设置为远程数据库中要访问的表的名称。 添加 TableDef 对象到 TableDefs 集合中。
数据处理
数据连接建立后,可以用 OpenRecordset 方法打开一个记录集,并可用 DBGrid 控件和 Data 控件方便地浏览整个记录集。如果使用表类型(Table-type)记录对象,则对应的是一个实际存在的数据库表,在多用户环境下,其它用户对数据的修改会立即反映到表中;如果使用动态集类型(Dynaset-type)记录对象,则对应的既可以是一个表中全部记录,又可以是一个查询的结果,并且可以更新记录集中的记录;如果使用快照类型(Snapshot-type)记录对象,则对应的可以是表中的全部记录,也可以是一个查询结果,但不能进行记录的增加、删除和修改操作。此外,还可以建立其它类型的记录对象,如仅向前型(Forward Only-type)记录对象和动态型(Dynamic-type)记录对象。
断开连接可以通过关闭应用程序或设置连接超时来实现。注意:如果对数据库对象使用 Close方法,则由于在 Microsoft Jet 数据库引擎内部缓存了连接,实际上连接并未取消。
客户端利用Winsock的Send Data方法将待查内容发送到服务器端,服务器端利用data控件对数据库进行查询,最终利用Winsock的Send Data 方法将查询结果发送到客户端。
5系统的功能及结构
5.1系统的功能
1. 卡管理,查询,报表,系统管理
2. 较强的操作性,快捷方便
3. 可设置大金额密码功能
4. 可按人分部门设置管理限权
5. 可多机联网使用
6. 可24小时全天候运营
7. 可备份,还原数据
8. 具有日志功能
5.2 系统的总体结构图
5.3系统所用数据库和表
5.3.1数据库为:Access2003 库名: ykt.mdb
5.3.2表名及部分字段设置
ykt.mdb
字段名称 | 字段值 |
卡号 | 字符 |
学号 | 字符 |
系别 | 字符 |
班级 | 字符 |
姓名 | 字符 |
金额 | 字符 |
身份 | 字符 |
标记 | 字符 |
日期 | 字符 |
补办标记 | 字符 |
字段名称 | 字段值 |
卡号 | 字符 |
消费金额 | 字符 |
日期 | 字符 |
预付金额 | 字符 |
6.各模块的详细介绍
6.1登录模块
6.1.1 设计思想
运用操作员代码和操作员口令进行系统的初步登录,并根据相应的操作代码分配相应的管理权限。
6.1.2 模块功能
进行系统的登录时,用户和密码都将以“*”显示,这样可以为系统提高一定的安全性,系统还具体管理权限的分配。
6.1.3 相关代码
系统登录相关代码:
Option Explicit
Dim cnt As Integer '记录确定次数
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
If Trim) = "" Then '判断输入的用户名是否为空
MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""
Tx
Else
sql = "select * from 管理员 where 管理代码='" & Tx & "'"
r sql, con, adOpenKeyset, adLockPessimistic
If r = True Then
MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""
Tx
Else '检验密码是否正确
If Trim(1)) = Trim) Then
userID = Tx
r
Unload Me
Frmmdimain.Show
Else
MsgBox "密码不正确", vbOKOnly + vbExclamation, ""
End If
End If
End If
cnt = cnt + 1
If cnt = 3 Then
Unload Me
End If
Exit Sub
End Sub
Private Sub Form_Load()
Dim connectionstring As String
connectionstring = "provider=Micro;" & _
"data source=ykt.mdb"
con.Open connectionstring
cnt = 0
End Sub
6.1.4 模块流程
N
Y
6.2卡管理模块
6.2.1 设计思想
运用VB中的Data数据控件对数据库进行增加,修改,删除等操作。在这些操作中,为了让一些卡管理功能能具别清楚,把新卡,补办卡,挂失卡与撤消挂失,卡回收分别做了相应的标记,如:新卡标记为“1”,补办卡标记为“0”,身份,教工用“-1”,学生卡用“1”,其它用“0”以便查询和身份的具别。在对挂失卡的处理,只要此卡号处于挂失状态,在消费,预付金额,卡回收时都有限制。在对此模块中的操作都是先经过数据库中的查询命来实现,并进行相应的操作。
6.2.2 模块功能
模块功能:预付金额,发行新卡,补办卡,挂失与撤消挂失,卡回收等。
6.2.3 模块流程
6.2.4 卡管理模块分类
卡管理模块包括:预付金额、卡消费、发行新卡、补办卡、回收卡和挂失/撤消挂失。
1. 付金额
预付金额是对卡进行充值的,只要所充的值一定要大于零。不能对负值和零充值。如果输入的值小于等于零,系统提示:不能充负值。
2. 卡消费
卡消费是消费者在各部门消费的金额数,如:餐厅、机房、图书馆、洗浴和超市。卡消费是卡管理的主要功能。消费者消费多少金额,系统将自动从中扣除多少金额。
3. 发行新卡
发行新卡这一部分是必然的,每一年都有新生到这个学校,当然也要办新卡。根据对话框输入相对于自己的个人信息,然后将存入数据库中。
4. 补办卡
补办卡是必须要此卡处于挂失状态下才能补办卡。如果并没有处于挂失状态下就不能被补办,系统将自动提醒用户。也就是说一个用户只能拥有一张卡。
5. 回收卡
有发行新卡当然也就有回收卡,回收卡就是相对于毕业生来说,人毕业了,卡就得回收,回收的卡将从数据库里清除所以有关信息。
6. 挂失/撤消挂失
挂失/撤消挂失也是一项必不可少的一项,当然有挂失就有撤消挂失。如果此卡已被挂失,那么此卡将处于冰冻状态(不能被消费)。撤消挂失就是将处于冰冻状态的卡化解。
6.3 查询模块
6.3.1 设计思想
利用VB中的DataGrid控件和ADO数据控件Adodc数据控件以及SQL相关数据操作命令,进行数据查询。通过Data Grid网格表格显示。
6.3.2 模块功能
具体实现数据查询,对办卡、补办、挂失与解挂,卡的身份进行查询,很客观的把数据库中的内容体现出来。可以按时间来查询各项内容的使用情况。可以查询操作员的信息。按网点查询用户消费情况,查询用户使用情况。
6.3.3 模块流程
6.3.4 信息查询分类
卡信息查询:根据用户输入卡号、学号、姓名、系别等可以查询卡基本信息。
用户消费查询:根据用户输入卡号可以查询用户在食堂、机房、浴室、超市以及图书馆消费的金额。
查询卡基本情况
按网点查询用户消费情况
按用户查询用户消费情况
6.4 报表模块
6.4.1 设计思想
运用VB中的Data Environment数据环境设计器与ODBC数据源,再加上Data Report的运用。实现报表的处理,把卡的信息,管理员日志,预付金额信息体现出来,并打印。
6.4.2 模块功能
实现报表的处理,把卡的基本信息,卡的消费信息体现出来,并打印。
6.4.3 模块流程
卡基本信息报表
卡消费信息报表
6.5系统管理模块
6.5.1 设计思想
此模块主要是对系统的安全性和保密性进行设计的。其中操作员管理这个分支模块是根据操作员的身份进行操作权限的设置。数据恢复和数据还原有一定的数据安全性,不为防止不丢失数据而做的。根据操作的需要进行定期的操作口令修改,提高保密性。可以增加和删除操作员。数据备分时是系统自动根据当日日期
加数据库的名称合起来组成新的文件名,即备份数据文件名。在权限设定时分为系统管理员,系统操作员,普通操作员,一般用户,分别用1,2,3,4来代表,进入系统时,会自动检测该用户的权限并分给相应的操作权限。
6.5.2模块功能
增加操作员,修改和删除操作员,操作员修改密码。
6.5.3模块流程
操作员管理
数据备份
数据恢复
总结:
通过这次毕业设计,使我更进一步地掌握了Visual Basic这门语言,对它的功能以及应用有了更深一步的了解,对它的操纵更熟练了。但是同时很好地重视它,掌握它。通过这次毕业设计,虽然比起以前有了很大的进步,但还是了解得不够,学习的不够,今后要更加努力学习好一些基础的知识,以备在需要的时候发挥自身的才能。“书到用时方恨少”这句话在这次毕业设计中表现得淋漓尽致,一开始做毕业设计时,不够重视,认为肯定能行,但做到最后,情况越糟,甚至有一段时间让我觉得有点手足无措了,幸好有朋友的帮助,再加上自己“亡羊补牢”式地恶补,才没有出现让人不满意的结果,晕也让我体会到了,互相帮助的重要性。
这次毕业设计采用Visual Ba语言(以下简称VB)编写,VB简单易学,容易掌握,而且也容易理解,尤其它是面向对象的编程工具,更让人觉得直观不繁琐,一目了然。但是VB也有许多的不足之处,比如:不够灵活,做出来的界面比较呆板。
VB6.0内部的数据库和Office中的Access数据库一致,而且简单易学。不仅如些,VB6.0有基于Web的应用,这架起了和远程通信的桥梁。
设计也有不少的不足之处:系统的功能不够完善,只能说是一个简单的校园一卡通系统。
没有弹性的分析和“一卡通”运行过程中存在的问题等等,这些问题因为时间的关系和自身掌握的知识不够多,不够熟练而没有完善。
参考文献:
[1]网冠科技.Visual Basic时尚编程百例.北京:机械工业出版社,2001
[2]Carl Franklin,(潇湘工作室 译).Visual Basic 6.0 Internet 编程指南.北京人民邮电出版社,1999
[3]朱锦坤,纪哲锐.Visual Basic多媒体与因特网应用.北京:清华大学出版社,1999
[4]马锦忠,陆正康等.数据库系统概论.南京:南京大学出版社,1995
[5]沈德金,陈粤初.MCS51系统单片机接口电路与应用程序实例.北京:北京航天航空大学出版社,1991
[6]薛钧义等.MCS51/96系列单片机微型计算机及其应用.西安:西安交大出版社
[7]陈春玲.软件工程与数据库概论.西电科大版,1999
致谢
在本次毕业设计的设计制作过程中,我之所以能顺利完成任务,除去自身的努力之外,很大程度上要归功于我的老师、同学和朋友,他们给我提供了很大的帮助,他们认真的做我的测试用户、不厌其烦的为我提出了系统的不足之处和改进方法、指导我、督促我,让我从中得到很多编程技巧和经验,在此表示诚挚感谢。