校园一卡通系统的设计与实现Word下载.docx
《校园一卡通系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《校园一卡通系统的设计与实现Word下载.docx(54页珍藏版)》请在冰点文库上搜索。
![校园一卡通系统的设计与实现Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/f51d593b-4dd4-4d5e-948a-ca788347d7c7/f51d593b-4dd4-4d5e-948a-ca788347d7c71.gif)
onecardinhand,walkthroughtheschool,"
campusonereplacetheoldbookapplicationcard,studentcard,toteach,canteenmealcard,supermarketshoppingcard,accesscontrolcard,andwaterproof,andsoon.Reallyisconvenientfortheentireschoolteachersandstudentsindailylife,makeyoudon'
thavetogooutaslongasthefullhandcardembarrassingsituation,forthestudents,justputthecashintothecampuscard,campuscardcanbeasadigitalwallet,meetthestudentsdon'
thavetocarrycashanytimeandanywhere,convenientandsafe.Spendprepaidphonewaterinformation,alsocanbeareviewofrecentconsumptioncorrectly,easytofinance.Butformanagers,canbemadeonecartoonbackgroundmanagementsystem,totheentireschoolteachersandstudentsinformationmanagement,fastandconvenient,alsocanbetterconvenientservicefortheentireschoolteachersandstudents.ThisgraduationdesignistocopyacampusICcardsystem,toexplorethecampusICcardinthedevelopmentandpossibleproblemsinpracticaloperationandthecorrespondingsolutions.
Keywords:
TheUniversityLife;
CampusCard;
IntelligentCardSystem;
CampusCardConsumption
目录
第1章引言 -1-
1.1系统背景 -1-
1.2一卡通系统设计的思路 -1-
1.3系统开发相关技术介绍 -5-
1.3.1Spring -6-
1.3.2SpringMVC -7-
1.3.3Mybits -7-
1.3.4mysql -8-
1.3.5ajax -8-
1.3.6json -9-
第2章校园一卡通数据库设计 -11-
2.1数据库概念设计 -11-
2.2数据库逻辑设计 -16-
第3章系统的分析与设计 -17-
3.1系统分析 -17-
3.2可行性分析 -17-
3.3系统环境配置 -18-
3.4系统的后台模块设计 -18-
3.4.1持久层设计 -18-
3.4.2Dao层设计 -21-
3.4.3service层设计 -24-
3.4.3controller层设计 -25-
第4章系统的实现 -29-
4.1后台页面开发 -29-
4.1.1后台登陆界面模块 -29-
4.1.2后台学生信息管理模块 -30-
4.1.3后台校园一卡通信息管理模块 -31-
4.1.4后台信息展示模块 -33-
4.2前台页面开发 -34-
4.2.1学生登陆模块 -35-
4.2.2学生首页模块 -35-
4.2.3学生校园卡模块 -36-
4.2.4学生借书模块 -37-
4.2.5学生还书模块 -38-
4.2.6学生购买商品模块 -38-
4.2.7学生购买食物模块 -39-
第5章结束语 -41-
5.1系统亮点 -41-
5.2系统不足 -41-
参考文献 -42-
附录 -43-
致谢 -50-
-49-
第1章引言
第1章引言
1.1系统背景
计算机网络技术正在日新月异的高速发展,为人类的日常生产生活带来了极大的便利,同时也改变着了人们的生活方式,促进了社会的发展进步。
然而,目前的许多高校却仍然采用最原始的高校信息管理模式,各个部门分开管理管理且相互之间没有联系。
不仅仅管理者管理时很头疼信息的查找、修改、核实。
不仅仅浪费大量的时间,而且因为消息的不透明,常常数据修改错误,而再次查找修改信息却又是管理者的噩梦。
而针对学生,要去办理某项业务,不仅仅要首先核实自己的个人信息是否正确,往往还要各部门来回的跑,不仅费时费力,而且效率极差,学生往往苦不堪言。
因此高校校园一卡通变应运而生,取代了传统的数据不流通,使得各个部门之间信息有沟通,同时信息中出现错误,往往可以一次修改之后,其他部门那里也回更新相应数据,不会出错,大大减少了管理中的脏数据。
也为广大的学生带来了极大的便利,使得学生可以自主的使用一卡通购物、借书、充值、洗澡、打水,多卡一体化,真正实现“一卡在手,走遍全校”。
1.2一卡通系统设计的思路
此次的一卡通系统针对两大主体:
一卡通的管理者、学生或者教职工。
并针对这两大主体做一个模拟的校园一卡通系统。
图1-1一卡通管理系统结构模型
针对于管理员,管理员首先登陆后台管理系统,进入后台系统可进行如下操作:
1.2.1管理员模块
1)管理员登陆
管理员拥有唯一的账号和密码,只有核实了身份信息的管理员才可以进行后台的相关操作。
2)查看学生信息
查看已入学的学生信息,核实学生身份,并修改学生的状态为一入学状态。
3)添加学生信息
根据相关信息添加一个学生,如学生高考完毕顺利考入本校,或者学生信息以外丢失,重新录入该学生的信息。
4)删除学生信息
学生已毕业,或者由于以外的原因不能在继续上学,管理员核实信息无误后,对该学生的其他信息查找,如该学生是否还有未归还图书,该学生的校园卡是否存在消费信息、充值信息、借阅信息,一并删除流水信息,然后删除校园卡账号,并将学生状态改为离校状态。
图1-2删除学生流程
5)添加校园卡
新生入学,核实新生信息,并为新生添加一张校园卡,作为该学生在校园内身份的证明,以便该学生可以使用校园卡,该校园卡初始化密码为‘000000’,默认校园卡状态为激活状态,初始校园卡余额为0元。
6)查看校园卡
查看学生校园卡的相关信息,然后根据学生的请求,进行后续操作。
7)删除校园卡
学生离校时,查询该校园卡是否存在没有归还书籍,然后归还再借书籍,删除该学生的借书信息、消费信息、充值信息,以免出现脏数据,并删除该校园卡账号所有信息。
8)激活校园卡
学生挂失校园卡后,管理员登陆后台系统查找该账号,并将该账号的状态改为激活状态。
9)查看图书信息
管理员只拥有查看书籍相关的权限,而没有修改图书信息的权限。
10)查看商品信息
管理员查看商品的相关信息,但是不对商品信息进行修改。
11)查看食品信息
管理员查看商品的相关信息,但是不对食品信息进行修改。
1.2.2学生模块
1)学生登陆
学生首次登陆系统,使用校园卡账号和初始密码,账户密码匹配正确,登陆个人账户系统,否则提示密码错误,留在登陆页面。
2)校园卡充值
根据当前用的账户进行充值,充值前判断输入的数值是合法的数字,否则提示出错,并重新输入充值金额。
3)校园卡修改密码
首先输入旧密码判断该密码是否正确,然后两次输入新密码,判断两次密码是否相同,不相同则提示重新输入密码,否则修改密码,并返回修改密码成功,并返回登陆页面重新登陆
4)校园卡挂失
学生在丢失校园卡时,请求并冻结校园卡账户,并将校园卡状态改为挂失状态,然后补办校园,并申请管理员,请求激活校园卡状态。
5)购买食物
学生购买食物时,首先判断学生校园卡余额是否大于或者等于食物的价格,如果大于,则从学生的校园卡上扣除相应的金额,并添加一条消费记录,并提示购买食物后校园卡的余额。
如果校园卡余额小于所需支付的金额,则拒绝支付,并提示余额不足,提示学生及时充值
图1-3学生购买食品流程
6)购买商品
学生在超市消费时,扣除金额时首先查找学生的账户余额是否大于所需付的金额,如果大于,则提示购买成功,并添加一条购物信息,从学生账户扣除相应的金额,显示扣除后的余额信息。
如果校园卡余额小于所需支付的金额,则拒绝支付,并提示余额不足,提示学生及时充值。
7)学生借书
学生借书时,首先判断该校园卡信息是否存在,然后在判断该校园卡状态是否是激活状态,再判断该学生的是否已借阅该图书,如果三项都满足,则进行借书操作,插入一条借书记录,并添加借书流水信息,如果该书籍曾经借阅过,但已归还,则无需重复插入借书记录,只需更新原先存在的借书记录。
图1-4学生借书流程
8)学生还书
学生还书时,从系统查找到该条借书记录,并更新该条借书记录为已还书状态。
9)在借书籍查看
学生根据自己的账号查阅,现在所有借书的记录,以及尚未归还的图书信息,以便可以按时归还图书。
10)查阅所有借书信息
学生根据账号查找自己所有的借书记录,可以规划自己最近的阅读计划。
11)查阅消费信息
学生根据账号,可以查阅自己所有的消费记录,可以统计自己最近在什么方面的投资比较多,可以做一个消费计划,慢慢学习理财。
12)查阅充值信息
学生根据账号,可以查询自己的充值记录。
1.3系统开发相关技术介绍
1.3.1Spring
Spring是一个开源框架,是基于java开发的轻量级开发框架,其目的是为了解决企业应用开发的复杂性,spring框架的最大的特点就是分层框架结构,分层框架的好处就在于使得开发人员的开发变得更加简单,可测试行更好,松耦合程度更高。
Spring主要特点如下:
1)轻量
从自身大小与开发花费而言,Spring相对于EJB都是轻量级的,一个完整的Spring只需要在1MB的JAR文件发布,它的处理时间开销也是很少的。
2)控制反转
Spring通过BeanFactory使用控制反转(IOC)模式将开发程序的配置和依赖规范开发的实际代码分开。
降低代码的耦合性。
3)面向切面
Spring的面向切面编程通过分离业务逻辑和系统服务,使得开发人员只需注意完成开发自己的业务逻辑,并不需要投入太多的精力关注其他系统级别的事情。
4)容器
对于项目中所用到的bean对象,需要在工程加载前在Spring配置好,包括bean的类名、对应的实体名称、类属性的配置、以及创建和销毁的相关配置,好处是减少了开发人员的代码量,同时也可通过xml文件配置,减低代码的依赖性。
图1-5Spring框架图
1.3.2SpringMVC
springMVC是一个非常优秀的MVC,它是SpringFrameWork的后续产品,并且已经集成到springwebflow里面,sprinigMVC框架用来方便的实现web应用的MVC策略,提供了基于注解的解决方案,同时面向接口的编程思想贯穿始终。
springMVC是高度可配置的,它没有依赖某一种视图展示形式,而是给外部提供可配置信息,可以支持jsp技术、Velocity技术等。
springMVC将视图层,模型层和控制层解除耦合,极大减小了web项目的复杂性,减少了开发人员的负担。
整个springMVC的运行过程图1-2所示
图1-6springMVC工作流程图
1.3.3Mybits
Mybits是非常流行的持久层框架,支持普通的SQL查询使用SqlSessionFactory实例化,一个SqlSessionFactory通过SqlSessionFactoryBuilder获取,而在获取SqlSessionFactoryBuilder之前必须要在mybits的xml配置文件中配置好对应的bean对象。
使用mybatis最多的是mybatis的sql语句映射功能,他可以讲dao层用sql语句绑定,这样就能省去我们编写到层的实现。
(1)API接口层:
这个是开发者和利用mybatis最直观的部分,通过调用这些api来实现系统功能。
(2)数据处理层:
主要是进行sql语句的解析,由于mybatis具有动态sql这一特性,这是mybatis相比其他持久层软件的一大优势。
(3)基础支撑层:
这是底层支持上层开发的组件,包括很多高级的特性都是有这些组件来实现的,开发者还可以根据接口定义自己的实现机制。
图1-7mybits系统结构图
1.3.4mysql
MySQL是一个开源世界流行的关系型数据库,由瑞典公司MySQLAB开发,现在属于Oracle公司(百度百科mysql词条),现在分为了社区办和企业版,企业版具有更好的性能,以及更多的工具,但是需要交纳一定的费用,社区版是免费使用的,但是性能以及功能没有企业版强大。
Mysql之所以流行是因为它体积小,执行速度快,最重要的是它是一个开源项目,很多中小企业都在使用mysql作为数据库,甚至像阿里巴巴这样的大型公司也在使用mysql做集群。
Mysql使用的sql语言是访问数据库语言最标准化的语言,因此对于教育机构也有很多在使用mysql作为教学数据库。
另一个好处是mysql同为开源世界的一份子对于java的支持也是非常不错,所以越来越多的人开始使用了mysql数据库
1.3.5ajax
AJAX全称“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。
这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页页面。
不用刷新整个页面就可以向后台请求数据,并得到所需的数据,可以大大提高整个网页的访问效率和用户体验度。
(百度百科词条)
1.3.6json
JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从Web客户机传递给服务器端程序。
JavaScript很容易解释它,而且JSON可以表示比"
名称/值对"
更复杂的结构。
第3章系统的分析与设计
第2章校园一卡通数据库设计
在引言中明确了设计校园一卡通系统的迫切性,以及校园一卡通系统所需实现的功能,根据查找多方资料决定使用开发环境、工具、开发技术之后,就应该开始正式的开发系统之旅,首先应该解决的问题就是数据库的设计问题,因为数据库是任何一个系统的根本数据支撑,设计数据库马虎不得。
2.1数据库概念设计
2.1.1数据库概念设计
要做数据库概念设计首先要明白什么是数据库概念设计。
我们知道,自然界的实体和计算机内部的存储方式是不同的,计算机无法把一个真正的自然界外物放在计算机内部,而我们为了方便需要把实体抽象成一个计算机可以接受,而人们也可以辨识出的东西,符合实体在自然界的客观规律的东西,这个过程就叫做数据库概念设计。
概念设计主要是用来描述系统中数据的各种状态,并不关心具体的实现方式,它是从自然界实体到计算机世界的第一层抽象。
2.1.2校园一卡通系统E-R图建立
根据分析得出校园一卡通最基本的实体有5个,分别有学生、校园卡、书籍、食品、商品。
而由于消费、充值、借书等操作衍生的实体有4个,分别有已借阅书籍信息、借书流水信息、充值流水信息、消费流水信息。
1)实体E-R图
图2-1学生实体E-R图
图2-2校园卡实体E-R图
图2-3图书实体E-R图
图2-4食品实体E-R图
图2-5商品实体E-R图
图2-6已借阅书籍实体E-R图
图2-7充值流水实体E-R图
图2-8消费流水实体E-R图
图2-9借阅流水实体E-R图
2)分模块E-R图
图2-10学生基本信息E-R图
图2-11管理员管理基本校园卡信息
图2-12校园卡激活挂失
图2-13校园卡充值消费
图2-14校园卡借阅归还图书
3)总E-R图
这是整个系统的E-R图,整个系统的流程开始于学生考入本学校,系统管理员以此为根据添加对应的学生信息以及学生的校园一卡通信息。
学生拥有了校园一卡通之后,就正式成为本校的学生,可以通过一卡通进行正常的生活。
为了资金的安全起见,学生可以修改校园一卡通的密码,使得这个密码只有自己知道,好处是一旦由于粗心遗失校园卡可以不用担心别人捡到自己的校园卡之后,大肆的花费自己的校园一卡通余额,并且在丢失之后学生可以申请挂失校园卡,冻结校园卡资金,以减少不必要的麻烦。
此外学生还可以自主的购买食物以及日用品,但在此之外的前提是校园一卡通的余额要大于所需花费的钱数,这是个很正常的逻辑。
还有一个很重要的日常操作,那就是借书还书,学生通过校园一卡通借阅书籍,但有条件,不能重复借阅。
学生还可通过校园一卡通归还书籍。
在学生毕业时,或者因故不得不终止学业时,系统管理员要查实学生信息,该学生是否有未归还书籍,如果不存在未归还书籍,则直接删除学生的校园一卡通信息,包括借书信息,消费信息,校园一卡通基本信息,然后将学生的基本信息修改为离校,表示该学生已经和学校脱离了关系,但要保存该学生的基本信息,表示该学生曾经是本校的学生。
这个E-R图流程结束。
图2-15校园一卡通整体E-R图
2.2数据库逻辑设计
所谓的数据库逻辑设计,就是对数据库概念结构再次抽象,将基本的E-R图转化为所选择数据库开发产品所支持的数据模型相符合的逻辑结构。
根据目前的实际业内行情,应用的最广泛的就是关系型数据库,所以此次设计的校园一卡通数据库也应是关系型数据库。
将E-R图转化为逻辑结构应分为3步走:
a)将概念结构转化为关系模型;
b)将转化而来的关系模型转化为将使用开发的数据库所支持的模型转化;
c)对已转化的数据模型进行优化。
最终总结出来的数据库关系表有以下几张表:
1)学生基本信息表(编号、学生ID,姓名、身份证、性别、出生日期、籍贯、政治面貌、学院、专业、年级、照片、办公室号、状态);
2)校园卡基本信息表(编号、校园卡ID、学生ID、姓名、密码、余额、状态、宿舍楼号);
3)图书基本信息表(编号、图书ID、图书名称、作者、数量);
4)商品基本信息表(编号、商品ID、商品名称、商品图片、商品价格);
5)食品基本信息表(编号、食品ID、食品名称、食品图片、食品价格);
6)书籍借阅表(编号、图书ID、校园卡ID、图书名称、借书日期、应还书日期、图书状态);
7)书籍借阅流水表(编号、图书ID、校园卡ID、图书名称、借书日期);
8)充值信息表(编号、校园卡ID、充值金额、充值日期);
9)消费信息流水表(编号、校园卡ID、消费金额、消费日期);
注:
带有下划线的是对应表的主键。
第3章系统的分析与设计
3.1系统分析
在第二章分析设计出了一卡通系统的数据库部分,接下来就要正式的进入一卡通系统的开发部分,首先摆在眼前的就是解决开发前期的问题,开发工具及开发环境的选择。
确立开发环境:
1)系统环境:
windows732位操作系统;
2)服务器:
tomcat6.0;
3)开发工具:
Eclipse;
4)系统框架:
SpringMVC;
5)持久层:
Mybits;
6)数据库:
MySQL;
3.2可行性分析
校园一卡通系统采用Spring、SpringMVC、Mybits等优秀开源框架,将持久层、业务层、逻辑层、展示层解除耦合,减小了系统的耦合性,系统采用面向对象、面向接口的编程思想,使得本系统在开发完成之后的后期维护会变得很容易,其次因为本系统采用的面向对象编程思想,使得本系统在业务的扩展方面具有很高的可扩展性,不必在要添加一个需求时,整个系统都有大的改动,这也是很重要的方面。
本系统选用的开发工具和开发框架都是免费的开源产品,也就避免了版权方面的经济纠纷,另外,所选择的开发环境是比较基础的开发要求,一般的笔记本硬件就可以达到开发的要求,不需要去购买高配置硬件电脑,可以节约开发费用。
此外,本系统所采用的开发工具与所选择的框架都是主流公司所使用的,非常容易上手,实用性很强,故而也节约开发时间。
通过以上分析,校园一卡通系统的开发无论是从经济、版权、开发成本,还是人力物力上看,都具有很强的可强的可执行性,所以开发校园一卡通系统还是很值得一试。
3.3系统环境配置
校园一卡通系统开发本身要依赖Spring、SpringMVC、Mybits这些框架集成开发的,为了能更好的利用框架开发,搭建工程之初,第一步,就是配置好这些框架相应的组件:
1)配置Spring组件;
2)配置Mybits组件;
3)配置SpringMVC组件。
基本的组件配置