【附源码】校园一卡通管理系统(源码+毕业论文+答辩ppt齐全)java开发ssm框架javaweb项目,可做计算机毕业设计或课程设计

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习。自有计算机毕设的工作室团队,专注计算机毕设开发、定制、远程、文档编写指导等。

🍅 查看主页更多项目 | 计算机毕设工作室 🍅

🍅 欢迎点赞 👍 收藏 ⭐留言 📝

🍅 Java毕设项目精品实战案例《2000+套》🍅 

⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡          

项目运行演示

校园一卡通管理系统(含毕业论文),java开发ssm框架,可做计算机毕业设计或课程设计

项目功能简介

【附源码】校园一卡通管理系统(源码+毕业论文+答辩ppt齐全)java开发ssm框架javaweb项目,可做计算机毕业设计或课程设计

学生用户可以进行校园超市购物,图书信息浏览以及图书借阅归还,食堂美食下单,浏览校园公告,在线咨询,校园卡充值,个人信息管理等功能

管理员用户可以进行校园卡业务管理,学生管理,商品订单管理,校园超市管理,图书管理,图书借阅管理,食堂美食管理,学生充值管理,缴费信息管理

摘 要

为了更好的方便用户在校园的日常生活,校园一卡通可以服务广大高校师生,校园一卡通管理系统是借助感应式智能卡为信息载体,以学校校园网为载体进行建设,使得高校全面实现学校科学化、自动化管理。系统采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用SSM框架、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。能够对校园超市、图书信息、食堂美食、校园公告、消费结算等方面实现管理功能。

通过高校一卡通管理系统的设计与实现,不仅使得校园实现了管理的数字化和自动化,提高了管理的水平,实现迅速、全方位的一卡通信息获取与处理,给全校的师生的日常生活提供了便利,而且具有很好的应用前景和经济效益。

关键词:校园一卡通;SSM框架;MySQL数据库

  1. 绪论

    1. 研究背景与意义

校园一卡通作为智能卡在校园领域的应用,起初只是为高校师生提供消费功能,师生到一卡通管理中心充值后,进入餐厅消费刷卡,如今的一卡通主要是以金融业务为主,兼顾图书借阅、考勤管理、机房上机等学校综合管理为一体的多用途智能卡。可见,校园一卡通的发展与智能卡的发展密切相关。世界第一枚智能卡是在1976年由法国布尔(Bull)公司研制出,经过这些年的发展,已经在全球的各个领域得到了广泛使用。尽管国际组织对于智能卡的结构大小和通信协议有了明确规范,但是由于每个生产商生产的芯片不同,而每个芯片都拥有独一无二的指令集,使得智能卡的代码无法实现移植。并且智能卡的编程接口也较复杂,开发需要了解通信接口协议、硬件结构等内容,Java技术很好地处理解决上述问题,开发人员不用考虑底层结构,Java技术在研发初衷就是为了保护智慧卡内的私密、敏感性资料。所以将Java技术引入到一卡通系统中,具有独特优势。

针对基于Java的校园一卡通,该卡存储信息量大,数据安全性能高,随之也要研发出一套适合于该类智能一卡通的一卡通管理系统,实现数据的快速读取和录入,实现信息数据的高效管理。

随着计算机网络技术和计算机硬件设备的飞速发展,高校越来越重视学校的数字化建设,将多个信息平台建设在学校的校园网上。同时,各个高校采用低成本的大容量的物理存储介质来存储学校信息数据,校园一卡通作为学校师生必备的物品,如何对校园一卡通进行高效管理,是学校日常的主要工作。通过建设功能完善、科学规范的校园一卡通管理系统使得一卡通管理人员从复杂的工作中脱离出来,保证质量的同时能够提高效率。

现今社会网络与我们的生活高度融合,老旧的校园一卡通管理方式也要接受改革的洗礼,传统大量手工操作的管理方式将被自动智能管理的方式所取代,校园一卡通管理系统也随着需要发生转变。同时,随着高校用户规模的不断壮大,传统简单的消费管理方式不能够满足用户的实际使用需求,需要在图书借阅、水电节能、门禁管理、机房管理等方面进行整合和扩展,来为用户提供更加完善的服务

    1. 开发现状

在校园一卡通普遍使用之前,高校都釆用智能卡管理系统,实现餐饮、水电、图书借还管理,但是智能卡的应用范围非常有限。国内教育体制的改革导致高效人员数量不断增多,国家投入大量资金建设各大高校,幵展数字化校园、高校信息化建设,校园一卡通系统应运而生。北京迪科远望科技股份有限公司从1993年开始从事智能卡业务,在2000年,实现了真正意义上的校园一卡通。在2003年,中央民族大学是全国首家实施了校园一卡通项目,第二个学校是北京航空航天大学,接下来的几年,全国各大高校依次推广了校园一卡通实施建设工作。但是,由于办学规模、经费预算等不足的限制,使得校园一卡通普遍运行在部分高校中,并没有实现全部院校的使用实施。校园一卡通管理较传统的一卡通管理系统有了明显升级,除了具备基本的功能外,还增加银行卡自助圈存功能,使一卡通在校园中实现最大的使用价值,从学校的角度,也大大提高了校园信息化、规范化管理的脚步。虽然校园一卡通极大方便用户、教工的生活,减轻携带各种证件的烦恼,在功能和性能上都有了提高,但是各个高校没有统一的标准,每个学校都找不同的软件供应商来设计适用于本校的一卡通管理系统,每个学校的资金投入、时间安排、技术要求都不同,造成不同学校使用的一卡通管理系统不同,系统运行一段时间后面临升级或者二次开发,又会投入大量的人力、物力,造成了学校的管理不便。 实际上,各大高校所使用的“一卡通”还是一卡对应多个管理信息系统,这些管理信息系统分布在不同的网络区域,不同的地点,还是一卡多用的机制,并没有真正意义上的实现“校园一卡通”,现在的校园一卡通普遍存在如下几个问题:

(1)一卡通所对用的多个系统之间是独立的,没有通信接口,数据信息不能实现共享,存在扩展性低的缺点,后期维护和升级成本较高。

(2)存在没有统一的、合理的规划方案和便准,各个学校的一卡通管理系统从不同的供应商采购,使得系统的兼容性低。

(3)现在多数学校使用的一卡通并没有真正的考虑学校教师和用户的需求,并没有与学校其他信息基础设施相配合,存在功能不足、安全性能不高等缺点,研发过于盲目,实用性能差、耗费成本高问题。

(4)由于一卡通对应多个管理系统,每个系统之间没有通信接口,这就造成各个系统之间协调的成本较高。

(5)由于不同学校对一卡通管理系统研发投入的资金有限,时间要求较紧,开发出来的系统扩展性能低,实用性能差,无法实现系统的升级和二次开发。

(6)现在多数高校的一卡通系统信息安全机制较差,容易出现信息泄露、篡改等问题。

为了解决目前“一卡通”普遍存在的问题,应该从整体上建设一卡通统一的设计规划和管理接口,遵循“一卡”、“一库、“一网”的设计原则,使得一卡通有校内消费结算和身份识别两方面的用途。其中,一卡是指将逐步取代餐饮卡、借书证卡、门禁卡等校内证件,将这些功能于一体,成为学校内唯一的电子钱包消费结算手段,用户身份识别的唯一介质;一网指的是统一的校园网络,以前的各个系统采用铁通网络、电信网络,现在全部统一为校园网络,不在使用其他网络,实现数据的交换、交易及同步;一库指的是数据库,所有数据信息包括用户信息、设备信息、系统参数的设置和环境设置都在一个数据库中存储。

除此之外,一卡通管理系统做到与原有老系统,还有银行系统优质衔接的同时,还要为未来有可能拓展的管理功能预留适当的接口,使得“一卡通”并不是简单的消费卡,而是真正能够实现校园管理中各方面的用途。

真正的校园一卡通管理信息系统需要具备下述的系统特性:

(1)采用统一的管理结算中心,具有完善的系统账务平衡管理,实现管理层次化;(2)搭建一卡通中心管理系统,包括身份认证、校内消费、校务管理等子系统,     实现中心管理系统和各个子系统是协同处理信息数据;

(3)具备完善的系统管理功能,当系统出现异常情况时候,能够及时进行系统异常处理和恢复;

(4)具备良好的安全性能,需要支持数据信息加密、安全校验等安全保障功能;  (5)支持电子钱包应用,使广大师生在校园内使用电子支付的方式实现各种消费,   如:食堂打饭、超市购物、机房上机、图书馆阅览等。

(6)具备良好的安全机制,有完善的卡信息、终端数据采集安全机制及日志管理,保证卡信息数据安全

    1. 研究内容

校园一卡通管理系统的开发及实现,所需要的工作内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,校园一卡通管理系统的开发使用SSM框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。

(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对校园一卡通管理系统的设计主要划分别为管理员和用户角色,并所使用的功能模块也相应不同,但是系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行试卷信息查询,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。

(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。

    1. 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出校园一卡通管理系统 。

本文共有七章,如下所示。

第一章概述了校园一卡通管理系统的研究目的和意义;精炼地总结了国内外在内的领域研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要概述了本文所用的开发技术和工具。

第三章简要对系统各业务流程进行需求分析、可行性分析。

第四章对校园一卡通管理系统进行设计。

第五章对校园一卡通管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第六章对校园一卡通管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第七章总结全文并对未来的研究做出展望

  1. 相关技术介绍

    1. HTTP协议

超文本传输协议(HTTP)作为协作式与分布式的通信协议,其以万维网交换信息作为前提条件。HTTP为IEIF的国际化标准指标,在制定相关标准与实现内,W3C积极参与其中,同时发挥着不可替代的作用。其能够借助超文本标记语言,将文档在服务器与浏览器之间相互传输。HTML作为构架文档的标记语言,这些文档内将包括有关信息的链接,用户仅需要点击其中一个链接就能够访问多媒体对象与图像,同时获得该链接项所具有的附加信息。

    1. Java语言与JDK开发环境 

Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群。

JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行。

    1. SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

1.1 Spring

Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。

Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。

1.2 SpringMVC

SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。

1.3 mybatis

mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

    1. Mysql数据库

数据库是系统开发过程中不可或缺的一部分。 在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。 数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。

在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。

  1. 系统分析

    1. 可行性分析

技术性方面,采用当前主流的SSM框架进行系统主体框架的搭建,前台使用jquery,ajax,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。

实用性方面,本次设计的主要任务是在校园一卡通管理系统内实现校园商品订单、图书借阅与归还、美食订单、用户费用、充值、支付管理功能等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。

经济性方面,由于本课题中设计的校园一卡通管理系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个校园一卡通管理系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

    1. 功能需求分析

本系统使用的角色大概分为用户和管理员。

用户注册模块:将用户信息录入数据库,用户利用注册的账号以及密码登录系统,浏览查看各种信息,添加部分信息;

支付管理:包括超市支付和食堂支付管理等。校园一卡通管理系统支持校园卡与银行之间实现网络对接,校园卡可有两个账户,分别是电子钱包和过度性存储,电子钱包实现消费,一卡通使用者可以在POS机上刷卡支出消费,还可以在饭堂、校图书馆、复印社、体育馆等地脱机消费,过渡性存储账户为持卡人提供存储大额现金,用户可以实现过渡账户到电子钱包的资金圏存。

图书信息管理:图书管理主要是运行图书借阅通过读卡终端,读取一卡通的信息,实现借阅人身份识别和验证,使得合法用户进入图书馆进行图书阅览与借还,通过对学校图书馆内书籍管理,包括场馆出入管理,借书证证件管理、借阅逾期莉款等管理,可以加强对图书的流动监控,实现图书智能化和规范化管理,提高管理效率。

充值与缴费管理;充值与缴费管理包括卡信息完整、日志管理、终端数据釆集安全机制的完美实现,一卡通消费不仅可以刷卡消费,还可以在饭堂、校园超市、校图书馆、复印社、体育馆等地脱机消费,并对刷卡消费记录进行汇总,统计形成报表,为后期数据分析决策提供依据,实现校园收费的快捷、方便、一卡化。

校园卡管理:校园一卡通管理系统应对持卡人的及卡的信息进行管理,包括姓名、班级、学校、系别、联系方式、卡号、卡状态、幵卡操作人员等信息,这些信息对于图书借阅、宿舍管理等是非常重要的信息。

学生用例图如下所示。

图3-1 学生用例图

管理员用例图如下所示。

图3-2 管理员用例图

    1. 非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对校园一卡通管理系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

    1. 安全性需求分析

      1. 系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于校园一卡通管理系统来说,必须要有很好的安全性来保障整个系统。

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

      1. 数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。

因此,在写入数据库时,要保证数据完整性、正确性和一致性。

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习。自有计算机毕设的工作室团队,专注计算机毕设开发、定制、远程、文档编写指导等。

🍅 查看主页更多项目 | 计算机毕设工作室 🍅

🍅 欢迎点赞 👍 收藏 ⭐留言 📝

🍅 Java毕设项目精品实战案例《2000+套》🍅 

⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡          

  1. 系统设计

    1. 系统架构设计

本校园一卡通管理系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

图4-1 系统架构

    1. 系统功能设计

登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。

校园超市模块:管理员可以修改、删除、查看、添加商品。用户选择商品形成订单并支付。

图书管理模块:图书管理分为添加、删除。图书信息由管理员进行修改、添加、删除操作;用户可借阅归还。

食堂美食管理模块:管理员可以修改或删除美食类型,用户可以选择美食形成订单并支付等。

    1. 数据库设计

      1. 数据需求分析

从前面可以分析到数据库中最重要的是用户信息,管理员信息,同时存在商品信息和美食信息、图书信息、费用信息等。分析可以得到如下数据描述:

用户用户:用于记录用户的各种信息,包括性别、用户ID、审核状态等数据项。

管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。

商品管理:存储的商品信息。包括商品的名称、品牌、规格、价格、数量、金额、下单时间等数据项。

图书管理:储存的图书信息。包括图书的名称、图书类型、图片、作者、出版社等数据项。

美食管理:储存美食信息。包括美食的名称、类型、图片、分类、材料、简介、价格、数量等数据项。

      1. 数据库概念设计

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统ER图如下图所示。

图4-3 系统ER图

      1. 数据库表设计

校园一卡通管理系统所拥有的数据表有以下:用户信息表,商品管理、图书管理、美食管理等。

由于数据表较多,只展示系统主要数据表,如下表所示。

表名:chaoshizhifu

功能:超市支付

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kahao

varchar

200

卡号

xuehao

varchar

200

学号

xingming

varchar

200

姓名

shouji

varchar

200

手机

dingdanbianhao

varchar

200

订单编号

jine

int

金额

zhifushijian

datetime

支付时间

表名:xiaoyuanchaoshi

功能:校园超市

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinmingcheng

varchar

200

商品名称

shangpinleixing

varchar

200

商品类型

pinpai

varchar

200

品牌

guige

varchar

200

规格

jiage

int

价格

shuliang

int

数量

tupian

longtext

4294967295

图片

shangpinjieshao

longtext

4294967295

商品介绍

thumbsupnum

int

0

crazilynum

int

0

clicknum

int

点击次数

0

表名:news

功能:校园公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表名:messages

功能:留言板

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

留言人id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

content

longtext

4294967295

留言内容

cpicture

longtext

4294967295

留言图片

reply

longtext

4294967295

回复内容

rpicture

longtext

4294967295

回复图片

表名:tushuxinxi

功能:图书信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

tupian

longtext

4294967295

图片

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

xiangqing

longtext

4294967295

详情

shuliang

int

数量

thumbsupnum

int

0

crazilynum

int

0

clicknum

int

点击次数

0

表名:meishileixing

功能:美食类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

meishileixing

varchar

200

美食类型

表名:tushuleixing

功能:图书类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushuleixing

varchar

200

图书类型

表名:meishidingdan

功能:美食订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dingdanbianhao

varchar

200

订单编号

meishimingcheng

varchar

200

美食名称

meishifenlei

varchar

200

美食分类

cailiao

varchar

200

材料

jianjie

varchar

200

简介

jiage

int

价格

shuliang

int

数量

jine

int

金额

xuehao

varchar

200

学号

xingming

varchar

200

姓名

shouji

varchar

200

手机

xiadanshijian

datetime

下单时间

表名:tushujieyue

功能:图书借阅

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

jianshu

varchar

200

简述

shuliang

varchar

200

数量

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

xuehao

varchar

200

学号

xingming

varchar

200

姓名

shouji

varchar

200

手机

shenfenzheng

varchar

200

身份证

dengjishijian

datetime

登记时间

zhuangtai

varchar

200

状态

表名:jiaofeixinxi

功能:缴费信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

kahao

varchar

200

卡号

xuehao

varchar

200

学号

xingming

varchar

200

姓名

tupian

longtext

4294967295

图片

shouji

varchar

200

手机

feiyongbianhao

varchar

200

费用编号

jine

int

金额

zhifushijian

datetime

支付时间

表名:tushuguihai

功能:图书归还

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushuleixing

varchar

200

图书类型

jianshu

varchar

200

简述

shuliang

varchar

200

数量

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

xuehao

varchar

200

学号

xingming

varchar

200

姓名

shouji

varchar

200

手机

shenfenzheng

varchar

200

身份证

guihaishijian

datetime

归还时间

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习。自有计算机毕设的工作室团队,专注计算机毕设开发、定制、远程、文档编写指导等。

🍅 查看主页更多项目 | 计算机毕设工作室 🍅

🍅 欢迎点赞 👍 收藏 ⭐留言 📝

🍅 Java毕设项目精品实战案例《2000+套》🍅 

⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡          

  1. 系统实现

    1. 数据库访问层的实现

该系统是通过jdbc和MySQL达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。

jdbc.driverClass=com.MySQL.jdbc.Driver

jdbc.url=jdbc:MySQL://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一个参数代表MySQL数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。

后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。

    1. 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布试题信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

图5-1登录流程图

图5-1登录流程图

登录界面关键代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    1. 系统首页模块的实现

管理员登录成功之后跳转至系统首页,系统首页由校园超市展示、图书信息展示、食堂美食展示。系统首页界面如下所示。

图5-2系统首页界面

    1. 校园超市模块的实现

管理员可以查看超市商品,可添加、修改或删除商品。

用户商品列表界面如下图5-3所示。管理员商品列表界面如下图5-4所示

图5-3用户商品列表界面

图5-4管理商品列表界面

    1. 图书信息模块的实现

管理员可以进行查看、修改、删除图书信息,管理所有图书信息。

图书信息管理如下图所示。

图5-5图书信息管理界面

    1. 食堂美食管理模块的实现

校园一卡通管理系统中的管理人员是可以对校园一卡通管理系统内的食堂美食,包括美食名称、美食图片、材料、简介、价格等进行维护和管理的,支持增删改查操作。

食堂美食管理界面如下图所示。

图5-7食堂美食管理界面

  1. 系统测试

    1. 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

    1. 功能测试

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是食堂美食管理功能的测试用例,检测了食堂美食管理中对美食信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-2 食堂美食管理的测试用例

功能描述

用于食堂美食管理

测试目的

检测食堂美食管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加美食,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加美食,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改美食,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改美食,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除美食,选择考试删除

提示删除成功

与预期结果一致

点击搜索美食,输入存在的考试名

查找出美食

与预期结果一致

点击搜索美食,输入不存在的考试名

不显示美食

与预期结果一致

下表是校园超市功能的测试用例,检测了校园超市中对商品信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 校园超市的测试用例

功能描述

用于校园超市

测试目的

检测校园超市时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加商品,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加商品,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改商品,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改商品,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除商品,选择试卷删除

提示删除成功

与预期结果一致

点击搜索商品,输入存在的试卷名

查找出商品

与预期结果一致

点击搜索商品,输入不存在的试卷名

不显示商品

与预期结果一致

    1. 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是校园一卡通为核心展开的,主要是为了实现校园信息化管理和用户方便的需求。

校园一卡通管理系统的开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了校园一卡通管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了校园一卡通管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。

系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

  • [1]贺建虎,韩雷.基于互联网的校园一卡通教室考勤系统在高校的应用探索——以西安外国语大学为例[J/OL].中国教育技术装备:1-4[2023-04-16].
  • [2]张伟.基于虚拟化校园一卡通系统的云计算部署[J].淮阴工学院学报,2023,32(01):53-56.
  • [3]战宇,陈伟. 基于校园一卡通消费记录的高校学生就餐数据分析[C]//中国计算机用户协会网络应用分会.中国计算机用户协会网络应用分会2022年第二十六届网络新技术与应用年会论文集.中国计算机用户协会网络应用分会2022年第二十六届网络新技术与应用年会论文集,2022:337-339.
  • [4]董北伟.基于校园一卡通的设计与实现[J].电子测试,2022,36(20):69-71.
  • [5]王成,吴清林,涂庆华.校园一卡通专用智能审计系统设计与实现[J].现代电子技术,2022,45(20):59-64.
  • [6]孙玉.智慧校园一卡通系统的应用[J].集成电路应用,2022,39(10):110-111.
  • [7]张永伟.智慧校园一卡通技术和安全性设计[J].电子技术与软件工程,2022(12):25-28.
  • [8]林松月,刘进.大数据与院校研究[J].重庆高教研究,2022,10(04):7-19.
  • [9]汤健. 基于校园一卡通数据的学生行为分析与成绩预警[D].华中师范大学,2022.
  • [10]王岩.校园一卡通系统的应用与维护分析[J].集成电路应用,2022,39(04):252-253.
  • [11]郑欢,陈汝龙.基于多机构管理的校园一卡通设计与实现[J].电脑与电信,2022(04):51-54.
  • [12]周学刚.基于NFC技术的虚拟校园卡建设研究[J].信息与电脑(理论版),2022,34(05):1-3.
  • [13]韩佳峰.智慧校园环境下的校园一卡通建设[J].数字通信世界,2022(02):140-142.
  • [14]陈刚.数字校园一卡通中的身份验证技术研究及应用[J].电脑编程技巧与维护,2021(08):113-115.

致谢

本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习。自有计算机毕设的工作室团队,专注计算机毕设开发、定制、远程、文档编写指导等。

🍅 查看主页更多项目 | 计算机毕设工作室 🍅

🍅 欢迎点赞 👍 收藏 ⭐留言 📝

🍅 Java毕设项目精品实战案例《2000+套》🍅 

⬇️文章末尾获取联系方式,需要源码+毕设论文或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡          

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机毕设工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值