基于php+mysql的宿舍管理系统
2020-02-22蔡俊铠廖晓芳朱俊宇方栋豪
蔡俊铠 廖晓芳 朱俊宇 方栋豪
摘要:该系统设计主要分为功能模块的源代码设计以及后台数据库的设计。使用的是HTML+CSS+JS进行前台页面交互设计,并通过PHP与MySQL的连接,构建一个基于B/S模式下的WEB宿舍管理系统。该系统操作简易、实用性良好,在保持系统能够正常运行的前提下,能保证系统管理有效性以及提高管理效率。能有效帮助宿舍从业人员进行宿舍管理,极大地提高工作人员的工作效率。
关键词:B/S模式;宿舍管理系统;效率
中图分类号:TP311 文獻标识码:A
文章编号:1009-3044(2020)36-0060-04
1 背景
随着社会高速发展,大学生数量日益增多,呈现增长的趋势。如何高效管理学生,成了学校教育工作者的一个重要任务。而宿舍是学生大学的住所,是学生学习和生活的主要场所。随着互联网的普及,校园网覆盖日益完善,宿舍管理网络化是必然的趋势。但当今许多宿舍管理仍然采用纸质的形式,管理起来消耗大量的时间和精力,十分低效。比如:通知的传递性不强,记录物品遗失信息以及维修记录仍然采用笔记和口头通告的方式。因此在见识到宿舍管理的漏洞和不足之下,开发出一款能够及时、有效的整理和记录高校宿舍的相关信息的宿舍管理系统是十分有必要的。而且宿舍管理系统的出现能极大地减少人力、物力的使用,可以在保障信息传递效率和信息及时保存的安全性,更加方便了相关人员对信息、数据的查询。因此,十分有必要利用计算机网络技术,构建一个宿舍管理系统,对学生进行科学有效的管理。
2 系统架构及工具介绍
2.1 系统架构介绍
本系统是基于PHP+MySQL的宿舍管理系统,使用B/S架构,在WampServer环境进行开发。通过浏览器访问web服务器获取到数据库数据进行添加、删除、修改、查询的操作。前端页面的实现是通过HTML语言,由CSS语言进行前端页面美化设计,而且为了用户在移动端查看显示内容,使用了BootStrap框架进行兼容性设计。页面与用户进行交互的是由JavaScript的框架JQuery完成。系统的后台设计以及数据库的连接是通过PHP完成的,为了保证数据的稳定和正确性,使用了大量的逻辑条件判断。
2.2 相关技术与软件介绍
1)WampServer集成环境:WampServer是由Apache服务器和php环境以及MySQL数据库组成的集合包,支持中文,安装简单快捷,一步搭建本地环境,而且可以通过phpMyAdmin网页页面管理MySQL数据库。
2)Microsoft VS Code编辑器:VsCode是微软开发的编辑器,占用小,界面设计好,程序、系统调试方便快捷,支持多文件格式访问,插件丰富,提高开发效率。
3)MySQL数据库:是web程序中最方便快捷易上手的数据库之一,搭建简单,数据一般存储在不同的表内,十分易于访问和管理。
4)PHP语言:PHP是服务器执行的脚本语言,是常见的网站编程语言,适用于WEB开发,函数封装方便,可以与许多主流数据库轻松建立连接,易于学习,应用十分广泛。
3 系统的分析与设计
系统的分析主要分为两种,一种是需求分析,需求分析的意义在于能更快地把这个系统的架构逻辑都梳理清楚,另一种是功能分析,功能分析的意义在于分析如何更快地处理整个系统的细枝末节部分。系统的设计也分为两类,一类是数据库的设计,主要用于更好地建立系统的数据之间的连接关系,而另一类是系统的流程图设计,流程图能更好地展示系统功能的整个过程。
3.1 需求分析
基于PHP+MySql的宿舍管理系统具有四个用户权限,分别是学生、老师、宿管以及系统管理员。他们使用各自拥有的权限对系统进行操作,通过权限分管可以让系统交互性更好,安全性更高以及能有更好的效率运行。需求权限如图1所示:
3.2 功能分析
1)学生端功能
学生端中学生可在网页端中享受到以下服务:(包括但不限于)学生可以申请寝室的调换,自主报修宿舍设施,进行楼层群体讨论、娱乐以及接收通知,以及接收到宿管或者学院老师推送的各种通知事宜等服务。
2)老师端功能
老师端可通过管理员下发的账号到网站进行登录操作,对所属管辖范围内的学生群体进行管理操作,收发来自宿管的通知,接收学生的申请请求,以及发送重大通知到学生群体中。
3)宿管端功能
宿管端中宿舍管理员可以自主登录学校提供的账号,系统自动绑定所属管辖的宿舍栋数,并且可以接收到学生的报修信息、申请信息以及其他信息等,与此同时,宿舍管理员还可以查询到学生所属宿舍号,所属专业等个人信息,并且可以与门禁系统接入,及时了解到学生的出入情况,还需把学生寝室调换申请信息上报到学生所属学院的辅导员或书记处进行审批,接收来自老师的通知。
4)管理员功能
管理员对数据库进行维护,保持系统的正常运行,并且对老师、宿管进行账号的注册与删除,对学生数据进行Excel表格的批量添加,以及一键删除操作。以及对通知、讨论帖子进行删除操作。
3.3 数据库设计
通过分析系统需求以及划分功能模块图,在数据库中设计了10张表:
1)学生表:用于保存学生注册时填写的信息,包括表id、学号、姓名、性别、宿舍号、手机号码、身份证号码、所属学院、所属专业、入学年份。
2)宿管表:用于登记宿管个人信息,包括表id、工号、姓名、身份证号码、手机号、所属宿舍栋数、登录密码。
3)老师表:用于登记老师个人信息,包括表id、工号、姓名、性别、身份证号码、手机号、所属学院、登录密码。
4)管理员表:管理员登录信息,包括表id、用户名以及密码。
5)宿舍表:存储所有宿舍的住人情况,包括表id,栋数、楼层数、宿舍号以及状态(“未住人”, “已住人”)。
6)申请表:用于学生进行调换宿舍以及设备报修的申请、包括表id、申请标题、申请内容、学生学号、申请状态(“已审阅”,“未审阅”)、提交时间。
7)通知表:用于用户群体收发通知,包括表id,发送人信息、发送标题、发送内容、接收者信息、发送时间。
8)学生详细信息表:用于批量上传学生详细信息,包括表id、姓名、性别、生日、身份证号、家庭地址、毕业中学、所属学院、所属专业、入学年份、相片。
9)帖子详情表:用于学生讨论发布的帖子详情内容,包括表id、帖子标题、帖子内容、发布时间、发布人信息。
10)回复帖子表:用于回复帖子内容,包括表id、回复内容、回复者信息、楼层数、回复时间。
3.4 流程图设计
1)登录功能设计
在用户群体进入本系统后,会通过下发的账号密码进行各个端口的界面登录,在输入账号和密码时,若输入的内容和数据库内的信息匹配,则会跳至各个端口的主页面,否则系统会提示用户名或密码错误。
本系统的用户登录步骤流程图如图2所示:
2)讨论功能设计
在学生登录到主界面进入讨论页面后,可以进行自由发帖以及回复帖子,回复帖子中的楼层的操作。若回复的内容不符合要求,则管理员可以删除帖子。查看其他人或者自己发的有关学校时事、学校风景、学校趣闻的内容。
讨论功能流程图如图3所示:
3)通知收发送功能设计
通知收发送功能在本系统中的三个用户群体中均有使用,发送通知是通过Ajax连接数据库获取到需要发送的对象信息,然后输入需要发送的内容,点击发送成功即可。接收通知则是用户登录后可在相对应的界面中找到近5天的具体通知信息。
通知收发送功能流程图如图4所示:
4)搜索管理用户功能设计
搜索管理用户功能是本系统最重要的功能之一,主要的实现是通过用户选择需要查找的信息类别,再输入查找的内容即可检索到数据库中的数据,从而判断是否能获取到搜索结果。
搜索管理用户功能流程图如图所示:
4 系统主要功能实现
本系统的主要功能的实现分为三大模块,分别为数据库的连接绑定、页面的设计、交互逻辑的实现。
4.1 数据库的连接
系统中使用MySQL 数据库存储数据,任何信息管理系统中,数据库操作都是最核心的操作之一。其他操作需通过数据库的基本操作才能进行,浏览器访问后台的数据库获取数据,经处理后显示给用户。[1]此系统采用的是WampServer的环境,通过内置的phpMyAdmin进行数据库的页面式操作。而数据库的连接是通过php语言的封装函数实现,通过封装后的数据库连接函数十分方便,可通过外部连入config.php,输入当前连接的数据库名称、角色名、密码。
4.2 页面设计
页面设计主要采用的是HTML+CSS进行页面的美化设计,通过设计图进行页面布局,如图6所示。页面分为四个端:学生端、老师端、宿管端、管理员端,因为图片太多故只放首页图。实际通过代码语言实现的页面效果如图7所示:
而且为了让用户体验更好,本系统采用了Ajax技术,即通过JavaScript语言与服务器进行少量数据交换,可以让网页在不重新加载的前提下实现小部分内容的异步更新,从而提高系统的使用质量。
4.3 登录后的缓存设计
为了保存用户在注册或者登录后的缓存信息,本系统采用的是cookie的页面缓存技术。在用户进行页面登录后,后台通过cookie保存了登录的账号与密码,但是保存的时长规定为1小时。使用者可通过这个缓存技术,在一小时内自由登录该网站而不需要进行二次登录。而且用户如果想删除这个cookie,可通过退出按钮进行退出。实现的操作是通过获取比当前时间time()函数还要前的时间进行删除。
5 测试
5.1 测试环境
在Chrome浏览器进行测试,通过WampServer构建本地Apache服务区,进入到本地域名进行网站登录测试。
5.2 测试步骤
在Chrome浏览器输入网址,进入登录界面,进行注册/登录操作。完成操作后,进入主界面,在主界面中有讨论区、娱乐游戏区、调换宿舍申请、宿舍报修申请的功能模块选择。完成既定的目标后,退出系统,完成此次操作。
6 结束语
在这次的系统设计中,出现了几个难以解决的问题。比如学生端的讨论区中,如何实现讨论帖子中的楼中楼的逻辑思路。又或者是在管理员端中,如何通过Excel文件上传,批量获取其中的学生数据。这些问题困扰了许久,最终通过团队成员的努力,最终实现了系统的设计,完成了预期的目标。
本次系统设计也将会应用于本校进行投入使用,让学校的宿舍管理更加方便、快捷。
参考文献:
[1] 胡子豪.学生宿舍管理系统分析与设计[J].信息与电脑(理论版),2018(21):82-83.
[2] 曾玉红.基于B/S高校宿舍管理系统的设计与实现[J].电脑知识与技术,2018,14(36):60-62.
[3] 桑一梅,汝心怡.基于ThinkPHP的学生宿舍管理系统的开發[J].电脑知识与技术,2019,15(25):52-53.
[4] 胡橙凤.基于B/S架构高校宿舍管理系统设计与实现[J].电脑知识与技术,2020,16(6):61-62,69.
[5] 欧畅.宿舍管理系统的前端设计与实现[J].湖北农机化,2020(2):186-187.
【通联编辑:谢媛媛】