基于ThinkPHP框架的校园一卡通系统设计与实现

目 录

摘 要 I
Abstract II
引 言 1
1 相关技术 3
1.1 框架技术 3
1.1.1 Bootstrap 3
1.1.2 ThinkPHP框架 3
1.2 前端技术 4
1.2.1 JavaScript 4
1.2.2 ECharts 4
1.3 B/S架构 4
1.4 数据库技术 5
1.4.1 MySQL 5
1.5 本章小结 6
2 系统分析 7
2.1 功能需求分析 7
2.2 非功能需求分析 8
2.3 用例分析 8
3 系统设计 11
3.1 系统概要设计 11
3.1.1 系统体系结构 11
3.1.2 系统功能结构 11
3.2 系统详细设计 12
3.2.1 数据库设计 12
3.2.2 系统功能设计 15
3.3 本章小结 16
4 系统实现 17
4.1 开发环境 17
4.1.1 用户环境 17
4.1.2 其它要求 17
4.2 开发规范 17
4.2.1 命名规范 17
4.2.2 数据表规范 17
4.2.3 其它规范 17
4.3 系统功能实现 17
4.3.1 系统实现所用技术 17
4.3.2 部分功能效果展示 18
4.4 本章小结 24
5 系统测试 25
5.1 测试计划 25
5.2 登录模块测试 25
5.3 图书馆模块测试 25
5.4 教室租用模块测试 26
5.5 压力测试 26
5.6 本章小结 27
结 论 28
参考文献 29
致 谢 31

摘 要

21世纪信息技术的迅猛发展,标志着人类科技也进入了信息化时代。校园的安全性与学生生活便利性需求也在急剧提高。当今,使用人工管理信息的成本过高,迫切需要使用信息技术化的手段来为降低成本。在这种情况下,通过市场调研得知。传统校园卡功能限制较多,成本较高,丢失后会严重影响学生使用。
为了更好的完善与改进校园一卡通系统,使校园一卡通具备多种功能性。本文设计了一款配套的软件系统,在传统校园一卡通的基础上增加了部分功能,如校园卡的支付模块设计、宿舍考勤模块设计等。后台管理人员通过使用本系统,可以清晰明确的了解学生的行为习惯与归寝时间,根据学生日常喜好,制定学生喜欢的课外活动。从而一定程度上回避晚归寝现象的出现,保证学生可以按时回到寝室确保其安全。本文采用B/S体系架构,选择ThinkPHP框架作为系统的框架支持,该框架的性能好,具有稳定、扩展能力强等特点。本文的数据库采取MySQL作为校园一卡通系统的数据库的支持。前端页面采取ECharts可视化图表技术进行数据展现。
系统经过多层次的、多方面的系统测试。从各大功能模块、系统底层编码进行了严格的规范化处理。最终,校园一卡通系统中各部分功能已基本实现,可以在日后投入实际使用。

关键词:校园一卡通;宿舍考勤; 支付; ThinkPHP

Abstract

The rapid development of information technology in the 21st century marks that human technology has also entered the information age. The security of campus and the convenience of students’ life are also increasing rapidly. Nowadays, the cost of using human management information is too high. There is an urgent need to use information technology to reduce costs. In this case, it is known through market research. The function of traditional campus card is more limited, the cost is higher, the loss will seriously affect the use of students.
In order to better improve the campus card system, so that the campus card has a variety of functions. This paper designs a supporting software system, which adds some functions on the basis of the traditional campus card, such as the design of the payment module of the campus card, the design of the dormitory attendance module and so on. Through the use of this system, the background managers can clearly understand the behavior habits of students and the time of returning to bed. Make extracurricular activities that students like according to their daily preferences. In order to avoid the phenomenon of returning to bed late to a certain extent, to ensure that students can return to the dormitory on time to ensure their safety. In this paper, B/S architecture is adopted, and ThinkPHP framework is selected as the framework support of the system. The performance of the framework is good, and it has the characteristics of stability and strong expansion ability. The database of this paper adopts MySQL 56 as the support of the database of the campus card system. The front-end page adopts ECharts visual chart technology for data display.
The system has been tested in many levels and aspects. From each big function module, the system bottom coding has carried on the strict standardization processing. Finally, the functions of each part of the campus card system have been basically realized and can be put into practical use in the future.

Keywords: Campus card; Dormitory attendance; payment; ThinkPHP

引 言

随着工业革命带来的劳动力大幅度解放,计算机技术也迅猛的发展了起来。计算机技术的高速发展也标志着信息时代的到来,信息时代对传统的教育体系产生了深远的冲击。[1]如今,校园一卡通作为校园生活的一项重要组成部分,也在时刻影响着学生们的日常生活[2]。 “去卡化”这一概念也孕育而生。
所以基于这一概念,需要开发一款符合学生校园日常生活习惯的软件系统[3],为方便学生开发的校园一卡通系统的重要意义分为两大方面。一方面是方便学生缴纳日常生活所需费用、查看图书馆借书情况、图书馆重要公告与教室租用。管理员可以从后台管理系统发布图书馆公告,学生可以阅读图书馆公告,从而得知发布的重要消息。另一方面提高学生使用校园卡的频率,有助于校方跟踪校园内的资金流动[4]。从而了解学生的消费习惯,未来可以通过数据挖掘等手段对这些数据进行分析与跟踪。来了解学生的业余兴趣爱好,开展丰富的校园活动。
该系统着重以方便学生日常生活为第一目标,开发该系统的主要意义可以分为以下二点:
第一点,该系统的主旨是为了方便学生的日常生活。系统将校园卡与生活费用紧密联系在一起。实现与传统校园卡不同的“去卡化”的目的。学生即可跟随时代的潮流,使用学生自己的智能手机进行校园消费生活。不必随身携带IC卡进行校园的身份认证。为学生的出行及日常生活提供了大幅度的便利。
第二点,由于使用校园卡系统,校方可以最大程度上的保证学生校园卡内的资金与学生的隐私安全。[5]避免学生的隐私与资金安全暴露在违法软件中。从而被不法之徒利用学生的隐私信息,进行一些违法的交易。使学生自身暴露在危险之中。
从市场需求上来说,传统的校园卡是使用智能物联网技术的一张IC卡片。这张小巧的IC卡片中存储着学生的隐私信息与资金,校园卡一旦丢失,学生需要到财务处亲自办理挂失手续。在此期间,拾取到该卡的人可以使用IC卡内的资金进行消费,同时学生的信息也存在着隐私泄露风险[6]。面对这种需求的不断增长,结合互联网、Web等先进的技术,急需为实现校园卡“去卡化”这一概念提供了一个经济、高效的系统管理平台。
本文的书写顺序严格按照目录的体系结构进行,遵循由浅到深的体系结构。并且逐步分析、解读系统所实现的功能、采用的技术及系统的使用意图。
本文的第1章介绍系统开发时所使用到的相关技术。其中包括ThinkPHP框架、MySQL数据库;前端使用JavaScript、ECharts、B/S架构、Bootstrap框架技术。详细说明了这些技术的优点与特点,并在本章小结进行了统一概括论述。第2章对系统进行分析。系统分析包括需求分析、非需求分析及用例分析[7],同时根据市场需求分析并结合用例图、用例表进行描述分析。第3章是对系统的概要设计与详细设计,其中包括系统的结构设计、模块设计、数据库设计。结合实体关系图、数据表、时序图、状态图、结构图进行详细叙述。第4章是叙述系统的实现。按照顺序从系统运行所需的用户环境、系统反馈时长、系统开发规范、系统涉及的相关技术及系统实现的功能展示。第5章是对系统的功能测试。包括制定系统的测试计划、对系统进行压力测试与系统测试时使用的测试用例。

1 相关技术

1.1 框架技术
1.1.1 Bootstrap
Bootstrap是将HTML、CSS、JavaScript相结合在一起使用的前端框架模板技术。该模板技术加强了三种技术的优点,也大幅度降低了三种技术的使用门槛。这样的一款前端框架,为软件的网页开发工作奠定了基础。使网页制作所需要的周期大幅度缩减。同时消除了网页之间的兼容性差、不易扩展与升级等问题。
Bootstrap的最大特点就使响应式网页布局。可根据使用者的设备大小进行自适应调节。减少了开发者对不同浏览器与设备兼容性的忧虑。并且Bootstrap拥有大量的精美模板,保证了页面风格的整体美观度。同时Bootstrap可以随意使用已经设计好的CSS文件与JS文件。通过自由组合CSS文件与JS文件做出全新的动画效果。
Bootstrap框架采用栅格布局技术、响应式应用技术、表格应用技术等对前端页面进行设计。这样可以保证前后端交互的统一性与协调性。
1.1.2 ThinkPHP框架
ThinkPHP框架是一款开发速度快、框架结构简单,基于MVC设计模式与面向对象的轻量级PHP开发框架。该框架准许开源的原则,免费并时刻保持更新来完善框架内容。ThinkPHP框架秉承着简洁、实用的设计原则, 使ThinkPHP框架具有高度的易用性、扩展性的特点。
ThinkPHP框架具有很强的兼容性。ThinkPHP框架是一款性能优秀的基于XML的编译型模板引擎。同时该框架还支持多种类型的模板标签,它吸收了传统的JSP标签库的思想。
ThinkPHP框架还具备很强的扩展性。通过安装不同的驱动插件还可以多种第三方模板引擎。比如Smarty、EaseTemplate、TmplateLite、Smart等。
ThinkPHP也采用三层架构模式,分为表现层、业务层与数据层。符合MVC的编程思想。大幅度提高了代码的可重用性,保持各模块之间的独立性,避免影响到其他模块的正常进行。
ThinkPHP最大的优点就是拥有丰富的文档资料。该框架由国内团队进行编写,框架的编写思路上大体保持一致。并且文档拥有大量的注释易于学习和理解。
1.2 前端技术
1.2.1 JavaScript
JavaScript于1995年的Netscape公司设计的成。随着其多年的发展与扩展,JavaScript于2012年已支持全部浏览器。
JavaScript是一种具有函数优先的轻量级。解释型或即时编译型的高级编程语言。其已经被广泛使用在Web应用开发当中。常用来为网页添加五花八门的动态效果功能。与HTML形成密不可分的关系。通过在HTML中嵌入自身代码,从而实现人机交互的效果。
JavaScript分为三大部分ECMAScript,文档对象模型、浏览器对象模型。他们分别处理JavaScript中的语法与对象、处理HTML页面的内容、与浏览器进行交互。
1.2.2 ECharts
ECharts,是一款基于JavaScript 实现的可视化图表库。ECharts功能强大,支持在多平台、多领域进行可视化数据展示工作。市场上的浏览器都可流畅运行。ECharts底层架构采用的是矢量图形库 ZRender。该图形库提供的图形直观、且与用户的交互感强,用户可以根据自己的需求及需要调整可视化图表的样式及内容。
ECharts 提供了许多经常会使用的图形。比如常见的折线图、柱状图、散点图、饼图等图表数据。ECharts也经常被使用于地理数据的可视化的描述。其包含地图、热力图、线图。他们可以精确描述关系数据。并且ECharts具有很好的兼容性,支持多种图与图之间的混合运用。
ECharts将数据库中的数据以丰富多彩的图形的方式,形成可视化的数据图表。可视化的数据显示更加符合用户的使用习惯,更加符合人性化、以人为本的设计原则。
ECharts经常与流行的前端模板进行相互结合,比较常见的就是与Bootstrap模板、Layui模板相互结合使用。
1.3 B/S架构
B/S架构即浏览器与服务器架构模式,B/S架构是随着WEB技术发展中出现的一种网络架构。该架构最大的优点就是不需要在客户机上安装相应的软件系统,属于对C/S架构体系的一种改进。通过在服务器上安装Oracle、MySQL、SQLServer、NoSQL等主流服务器软件。将系统功能实现的核心部分集中部署到服务器上。这种架构体系结构,大幅度的降低了软件系统的维护与开发成本。用户只需要在设备上使用Firefox、Google等浏览器即可进行操作,用户操作的数据会同步保留在服务器里。
B/S架构的每个节点都分布在网络上,B/S架构分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。
浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端发出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。
服务器端:提供数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。
中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。[8]
1.4 数据库技术
1.4.1 MySQL
MySQL是一款关系型数据库管理系统。如今性能强大、复杂、安全级别越高的数据库有很多种。比如Oracle、SQLServer、NoSQL等。然而MySQL数据库并不是最完美的那个,但MySQL是当今中小型企业的中流砥柱。其中一个重要原因就是MySQL是一款开源的数据库系统,其功能简洁明了。易于操作人员理解与使用。并且拥有全球各地的开发者进行维护与完善。
MySQL包含的索引功能有普通索引、唯一索引、主键索引。索引功能虽然会占用部分存储空间与计算空间。但是,有效的索引就好比数据库的地图,可以快速精确的定位到数据存储的单元。从而提高了数据库检索的效率。[9]
作为一款全球广泛使用的数据库系统,其具有很强的容灾功能。由于机房断电、人为失误等危险发生时,可以进行数据回滚。保证数据的安全性。这对开发人员无疑是一份安全保障。
1.5 本章小结
本章主要介绍了本文系统所使用的核心技术,从Bootstrap、ThinkPHP、MySQL、JavaScript、ECharts、B/S架构体系逐一进行了分析与介绍。将所选用的技术功能的优点及自身的特点进行了详细的描述。这些描述可以更加清晰直观的了解系统的组成。
并且分析了选用这些技术的理由。比如,Bootstrap模板就具备大量的HTML、CSS、JavaScript的基础内容。可以使开发者快速进行网页的开发与布局。不用从0开始对页面进行设计。
ThinkPHP框架具备易使用、兼容性高等特色。ThinkPHP框架在保持着这身的独有的处理机制的特点,同时还兼容多个开发平台。使开发者可以在不同的开发平台完成自己所需的软件开发任务。同时ThinkPHP框架更新速度快,框架自身的漏洞能够及时反馈并修复更新。
ECharts可视化图表使系统的数据更加直观的可以观察到。从而易于使用者进行理解系统功能。ECharts同时具备多种不同的可视化模式,开发人员可以根据需求自行调节。具有很高的自由度。
系统选用B/S架构的最大优点就使可以减轻用户端的压力。用户无需安装软件即可登陆系统进行操作。借助服务器的高效数据处理能力,服务器将数据经过逻辑处理后统一发送给用户。这样可以有效减少数据传递所消耗的时间。

2 系统分析

2.1 功能需求分析
本系统是一款针对学生日常生活所设计的系统。通过亲身使用及市场调研与观察,深入了解与挖掘了其中关系模式及特点[10]。最后系统划分为两种身份,即学生身份与管理员身份。
根据不同身份,不同身份的账号可以访问不同的使用主界面。为不同需求的人群提供不一样的服务。并由系统管理员统一进行信息管理与处理。保证整个系统的协调统一,让整个系统平台建设变得更加简洁、结构化。
由校方使用系统进行统一管理,可以确保学生在校园卡中的资金安全与学生隐私安全。保证学生隐私不会因为信息泄露而遭受损失。最大程度上满足校方与学生管理与生活的需要,从而实现校园一卡通去卡化[11]。
系统为管理人员提供的功能。管理员账号不能通过注册模块进行注册。需要通过Admin管理员(主管理员)通过后台管理员信息管理进行添加、删除、修改、查询管理员信息。保证系统的管理层面的协调性、统一性,避免出现数据错乱等现象。[12]其他管理员们可以通过后台带的管理员操作日志来判断其他管理员对系统后台进行的操作。管理员需要可以管理图书馆、宿舍、空闲教室的信息、学生信息。
图书馆信息管理是指管理员可以发布图书馆公告与修改图书馆开放时间。管理员可以发布图书馆公告通知想要前往图书馆学习的学生,及时准确的发布图书馆当前的情况信息,实现信息的高速传递。
宿舍信息管理可以有效观察到宿舍学生的归寝情况与请假情况。管理员通过归寝信息,可以精准快速的确定哪些宿舍楼的同学请假和晚归寝室同学的数量。与宿舍管理者进行联络。确保学生的在校安全。
空闲教室信息管理是指管理员可以对教室的情况进行管理。学生可以通过申请空闲教室来进行自习。当紧急事件需要占用教室时,管理员可以强制修改教室的占用状态。为需要借用教室自习的同学提前提供消息,节约了学生寻找教室的时间。
管理员可以通过后台系统对学生信息进行增加、删除、修改与查询的操作。通过学生的姓名、电话、所在宿舍楼进行信息的管理。可以清理无用账号,也可以帮助学生修改信息。
系统为学生提供的功能。新用户需要通过注册模块注册新账号。按照要求输入账号、密码、手机号、性别、所在宿舍楼等信息,即可成功注册学生信息。再通过登录模块,选择对应的身份信息进入到学生主页面。学生主页面包含宿舍归寝签到、消费充值、教室租用、请假申请。
学生通过调用百度地图来定位自身所在位置与学校的地理位置信息进行比较。如果当学生的定位位置信息与学校的地理位置信息误差不超过5°。即可视为归寝签到成功。为了实现去卡化的概念,在线消费充值是必不可缺的[13]。由于目前微信、支付宝并不面向个人开放支付接口,所以本系统采用余额的方式进行充值与消费。
学生可以通过该模块进行购物消费、日常餐饮与缴纳水电费等。管理后台会对学生的消费情况进行统计,便于研究学生的消费习惯与财务统计。学生可以通过系统查询教室占用情况,根据学生需要可以通过系统申请空闲教室进行自习。
学生可以通过系统查看图书馆公告,以便第一时间获得图书馆的开闭关信息,合理安排自身时间。也可以系统发出请假申请,在富文本里填写自己的请假原因。管理员可以通过后台系统查看学生的请假原因。
2.2 非功能需求分析
非功能性需求是指本系统可以满足大部分学生的日常生活需要,使用方便、快捷。为了提供用户的体验度,本系统设计了许多提示用来提示用户该操作为错误操作,请勿这样操作。
界面需求方面是指系统需要保持一个明确的主题色调,每个模块之前需要使用其他颜色统一的颜色进行提示,保持页面的整洁美观。确保系统不会对使用者造成不良的心理抵触情绪。尽可能的保持管理员端与学生端界面统一一致。系统需要具备一定的可扩展性与兼容性。[14]
2.3 用例分析
本文系统涉及到后台管理界面与学生端界面。[15]均可以驱动不同身份模式下的功能用例的常规功能。此外,学生与管理人员均需要通过登录模块进行登录。系统会根据输入的账号、密码与选择不同的身份进行身份验证判断。当管理员通过登录模块,正确进行操作后。方可进入到后台管理界面。管理员可以对管理员信息、宿舍信息、图书馆信息、教室信息、学生请假信息、学生信息、支付记录进行相应的管理与查看。如图2.1所示:
在这里插入图片描述

图2.1 后台管理模块用例图
在管理员的7个功能中,后台管理人员可以在管理员、宿舍、图书馆、教室、支付记录、学生请假信息、学生等功能中扩展出增加删除修改查询功能。其中宿舍归寝信息、学生请假信息、支付记录只可进行查看,不可进行删除、增加与修改的操作。如表2.1所示:
表2.1 管理员用例关系表
用例名称 用例关系 用例名称
管理员增删改查 包含 管理员信息操作
宿舍归寝信息查看 包含 信息查看操作
发布图书馆公告 包含 信息发布操作
查看公告详情 包含 信息查看操作
修改图书馆开放时间 包含 信息修改操作
教室信息搜索 扩展 信息搜索操作
教室占用状态修改 包含 信息修改操作
支付记录查看 包含 信息查看操作
学生请假信息查看 包含 信息查看操作
学生信息增删改查 包含 学生信息操作
当学生通过登录模块,输入学生的账号、密码与正确选择学生身份进行操作后。方可进入到学生使用界面。学生可以在系统中使用宿舍归寝签到、消费充值、教室租用、申请请假功能。如图2.2:
在这里插入图片描述

图2.2 学生端模块用例图
在学生可使用的功能中,学生可以进行宿舍归寝签到、对校园卡账户进行充值与消费、申请占用哪间教室、填写请假理由功能。通过不同功能的组合,从而达到便于学生生活的目的。其中教室被占用后,只能让管理员取消其占用状态。如表2.2所示:
表2.2 学生用例关系表
用例名称 用例关系 用例名称
请假申请 包含 信息添加操作
申请教室租用 包含 信息查询操作
教室占用情况查询 扩展 信息查询操作
余额查询 扩展 信息查询操作
余额充值与消费 包含 信息修改操作
学生位置查询 包含 信息查询操作
归寝签到 包含 信息修改操作
查看图书馆公告 依赖 信息查询操作
2.4 本章小结
本章主要讲述了学校与学生对该管理系统的需求分析、非功能性需求及用例描述。系统中以管理员与学生的不同使用视角访问使用该系统。所有的操作都必须通过登录模块的身份验证功能,才能正确的进入对应身份的主页面。从而为不同用户提供不一样的服务功能。并且介绍了系统的非功能性需求,非功能性需求最大程度上保证了用户的使用体验感,确保用户可以在不同的操作系统上使用该系统。提高了用户的留存率与黏稠度。

3 系统设计

3.1 系统概要设计
本系统的设计灵感最初来自于宿舍缴纳水电费需要前往学校的POSS进行刷卡缴纳。由于POSS机距离宿舍较远,路程耗费时间过长。为了让学生可以节约这部分时间,从而设计出校园一卡通系统。
本系统从实际需求进行分析后,结合多方面因素,将系统从宏观上分为管理员端与学生端两大部分。管理员端能够对学生、宿舍、图书馆等信息进行管理,满足了校园信息管理的基本需求。学生端能够缴纳水电费、购物消费等,满足了学生的日常生活所需。从而达到校园一卡通去卡化的目的及效果。
3.1.1 系统体系结构
校园一卡通系统体系结构分为4层,分别为表现层、控制层、业务逻辑层、数据访问层。 [16]
第一层表现层,包括用户方面使用到的浏览器、设备版本型号、硬件、软件等。本系统前端为Bootstrap模板、JavaScript、ECharts结合使用。可以清晰直观观察到页面的变化与数据变化情况。
第二层为控制层,该层主要处理模块中的ID信息,用于处理批量删除数据、条件查询等信息。分别独立控制这些数据信息,有效提高各个功能的强度与独立性。
第三层业务逻辑层,通过接收控制层提供的数据信息,并进行业务逻辑处理。将处理后的结果发送给表现层与数据访问层。
第四层数据访问层,主要是用来接受业务逻辑层的处理结果和对MySQL数据库的访问操作以及持久化框架[17]。
3.1.2 系统功能结构
根据系统功能需求,将校园一卡通系统划分为后台管理模块与学生端模块两大部分[18]。后台管理模块包括操作记录显示功能、管理员信息管理功能、图书馆信息管理功能、教室信息管理功能、支付记录查看功能、学生信息管理功能、学生请假信息查看功能。
学生端模块内可以分为宿舍归寝签到功能、消费充值功能、教室租用功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值