学生宿舍管理系统的设计与实现.docx
- 文档编号:28275366
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:65
- 大小:1.94MB
学生宿舍管理系统的设计与实现.docx
《学生宿舍管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统的设计与实现.docx(65页珍藏版)》请在冰豆网上搜索。
学生宿舍管理系统的设计与实现
学生宿舍管理系统的设计与实现
摘要
住学生宿舍的人数越来越多,使得学生宿舍管理的难度大大增加。
用现有的传统宿舍模式进行管理,不仅不能及时关注到每个宿舍,而且还需要每个宿舍楼配置至少一个以上宿舍管理员以达到监管的目的。
有时候宿舍管理员有紧急通知要发布,在微信或qq群发布后,被聊天记录刷掉的尴尬情况;同样地,有学生想反映宿舍情况的时候,以及想要办理某些事务的时候,也会出现找不到宿舍管理员,没有宿舍管理员联系信息的烦恼,严重耽误了事情。
还有重要的一点,对信息的储存和及时修改,传统模式下很难对信息进行快速修改,学生换了手机等会引发一系列问题。
因此,设计开发一款能够满足学校学生宿舍日常管理要求,并且能方便学生使用、查看宿舍信息的系统,将来大可能派上用场。
在这个快节奏的时代,如何高效地完成宿舍信息管理,并在有通知时及时发送给各位学生了解,是各个高校宿舍追求的目标。
为了简化使用系统的要求以及做到校内互通、数据刷新,因此本系统使用的是B/S架构。
在本次设计中,将使用springboot框架,JPA数据互通,bootstrap、thymeleaf前端技术等等,运用现在的热门技术使得该系统变得具有一定实用性以及可参考性。
关键词:
学生;宿舍管理;宿舍管理员;事务;数据。
DesignandimplementationoftheStudentdormitorymanagementsystem
Abstract
Withtheincreasingnumberofcollegestudentsyearbyyear,theincreasingenrollmentofeachschool,andthehighrentofapartments,moreandmorestudentsliveindormitories,whichmakesthemanagementofdormitoriesmoredifficult.Usingtheexistingtraditionaldormitorymanagementmode,notonlycan'tpayattentiontoeverydormitoryintime,butalsoneedatleastonedormitoryadministratorineachdormitorytoachievethepurposeofsupervision.Sometimes,whenthedormitoryadministratorhasanemergencynoticetobereleased,theembarrassingsituationofbeingwipedoutbythechatrecordafterthewechatorQQgroupisreleased;similarly,whensomestudentswanttoreflectthedormitorysituation,andwanttohandlesomeaffairs,therewillalsobetroubleofnotfindingthedormitoryadministrator,nocontactinformationofthedormitoryadministrator,whichseriouslydelaysthings.Itisalsoimportanttostoreandmodifytheinformationintime.Itisdifficulttomodifytheinformationquicklyinthetraditionalmode.Studentschangetheirmobilephoneswillcauseaseriesofproblems.Therefore,thedesignanddevelopmentofadormitorycanmeetthedailymanagementrequirementsoftheschoolstudents,andcanfacilitatetheuseofstudents,checkthedormitoryinformationsystem,inthefuturemaycometouse.
Inthisfast-pacedera,howtoeffectivelycompletethedormitoryinformationmanagementandsendittoallstudentsintimewhenthereisanoticeisthegoalofeachcollegedormitory.Inordertosimplifytherequirementsofusingthesystemandachieveintercommunicationanddatarefreshwithintheschool,thesystemusesB/Sarchitecture.
Inthisdesign,wewillusethespringbootframework,JPAdatainterchange,bootstrap,thymeleaffront-endtechnology,etc.,andusethecurrentpopulartechnologytomakethesystembecomepracticalandreferential.
Keywords:
students;dormitorymanagement;dormitoryadministrator;affairs;data
1前言
管理系统在社会上已经广泛存在,管理系统是由不同的管理体制、管理机构、管理过程和管理方法组成的一个完整的组织管理体系,具有特定的管理职能,并与不同的管理对象有着内在的联系。
管理系统由管理者和被管理者组成,管理系统根据企业、学校、政府甚至家庭的具体对象而变化,整个管理系统由相对独立的部分组成。
1.1B/S架构的选择及特点概述
随着网络技术的发展,特别是web技术的发展,B/S软件体系结构应运而生。
B/S架构即浏览器和服务器架构模式。
B/S的特征和基本结构:
在B/S结构中,每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。
三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。
软件系统的改进和更新越来越频繁,B/S架构的产品明显体现出更加便捷的特性,这对于节省人力、物力、时间和用户成本都是显而易见的。
1.2学生宿舍管理系统的意义及开发目的
开发学生宿舍管理系统,不仅能减少宿管们的宿舍管理难度,消息传播更加及时,还能让学生不用再像以前的学生一样,大小事都要上下楼,对双方都是有积极的意义。
有了学生宿舍管理系统,它可以在新生入宿时根据学院要求分配床位或自己选择床位,再由宿舍管理员检查以及提前公布消息、楼层线路,免去新生找不到宿舍的烦恼,还有宿舍规则告知,宿舍信息提前知等便民功能都能实现。
更重要的是,学生宿舍管理系统可塑性强大,增加、修改功能简单,只需统一学生信息以及把控数据处理,就能方便地实现各种功能。
而且宿舍管理将更加智能化,学生能向宿管快速发送消息而不需要像以往一样找宿管,反过来宿舍管理员有什么重要的消息也能第一时间发送到平台上告知学生。
或者学生对其宿友不满意,也能发起搬宿舍的申请,避免矛盾发生。
1.3本设计应解决的主要问题
现阶段对于研究学生宿舍管理系统,主要受两方面的因素影响。
一方面为外在环境因素,另一方面为内在系统因素。
1.外在环境因素:
其指的即是学校与学生与社会三者之间对该系统的看法,比如说,用了这个系统会不会说比起以前的面对面形式更加难以沟通交流,系统的应用是否真的
方便了学生,还是说徒增麻烦。
还有就是三者对于系统的接受程度,例如,学校与学生会不会因为隐私或者其他方面的因素而拒绝使用。
2.内在系统因素:
即学生宿舍管理系统在开发的过程中要研究的问题。
主要面临两大问题。
一是“易用性”,二是“稳定性”。
①易用性:
作为一个学生宿舍管理系统,最主要的就是系统的易用性,无论是前端还是后端设计,都应以简洁清晰为主,不追求过于复杂的操作,无论是学生还是宿舍管理员都能快速上手。
多数的功能不需要直接说明,单纯看标题,导航栏就能明白其意思为最佳。
②稳定性:
虽然该系统的设计目的,主要为给学生查看通知、申请事务,宿舍管理员发送通知、处理事务。
系统在线时间并不会太长,但是对于数据的处理必须要准确无误,保证系统稳定很关键。
在数据处理方面要尽量减少无谓代码,加快处理,多做测试确保不会出现bug。
出现问题时,要么代码不执行,要么数据单条回滚。
2总体设计
学生宿舍管理系统,里面类似OA系统的设计,包含了几个子系统,首先有登录系统,登录系统分为学生登录以及管理员登录两个页面,在管理员登录页面再细分为系统管理员与宿舍管理员。
学生登录后能进行的操作有,修改个人信息,修改密码,查看通知,申请事务以及床位分配。
管理员能进行的操作有发送通知,办理事务,系统管理员还能决定是否开启关闭床位分配功能。
①登录系统:
登录系统由两个页面构成,一个为学生登录,一个为管理员登录,两个界面之间可以互相切换,这样做的目的可以省去数据库中确定权限再选择登录方式这一步,因此数据库中用户表可以分开设计而写入不同字段,避免统一用户表而出现大量空白数据。
在管理员登录时,再根据用户名称判断是否系统管理员,保存session,对应页面方法显示导航栏功能。
从而实现权限分配。
②信息系统:
学生用户能够根据自己现时的实际信息,对系统的个人信息进行修改。
但是关键数据只能查看。
有如手机号码,个人住址此类信息,修改后方便宿舍管理员及时能联系上本人。
信息修改后,清除session并退出到登录界面,防止数据不统一发生未知错误。
同样的查看信息功能,亦同样应用到学生可以查看到宿舍管理员信息上,以及宿舍管理员查看学生信息上。
③通知系统:
在该系统中,由管理员发布通知,并且通知中带有上传附件的功能,管理员上传的附近集中保存到一个本地文件夹中,由数据库保存信息以及文件路径。
学生则能查看通知,以及下载附件到指定文件夹中。
通知系统中还包含搜索功能,根据标题进行条件查询。
在首页中显示最新发布的消息。
④事务系统:
事务系统亦分为学生与管理员两面,学生能够发起宿舍调整以及退宿的事务申请。
而管理员则负责办理此两项事务。
管理员能对事务进行同意以及同意的处理若不同意则驳回,若同意则更新数据库资料。
无论同意与否学生都能在事务中心查看结果。
⑤管理系统:
管理系统由系统管理员负责,此功能主要用来开关一些不常驻功能比如开学使用的床位分配功能等,以及用户的新增等,在此功能系统中完成。
2.1设计原理
该套系统的设计,使用B/S架构。
由于该系统的子系统比较的多,实际情况中,管理系统的后续更新频繁,因此非常适合更新成本低的B/S架构。
后端框架则使用springboot,通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
开发语言使用java。
前端技术使用bootstrap以及thymeleaf搭配,可以借助自带的标签更容易实现前端功能。
数据使用体积小的MySQL,连接使用jdbc。
2.2功能模块
2.2.1登录模块
该模块的主要功能是负责给用户进行登录。
单独开发模块。
登录后保存用户的个人信息到session中备用。
2.2.2导航模块
该模块的主要功能是,设置各模块的导航。
学生页面侧边导航栏有,一级导航我的首页;一级导航消息中心,二级导航联系宿管以及查看通知;一级导航管理中心,二级导航退宿办理、宿舍调整、事务查看;一级导航床位分配。
学生页面还带有顶部导航栏,带有一级导航栏“我”;二级导航栏,修改密码,查看个人信息以及退出。
管理员页面侧边导航栏有,一级导航我的首页;一级导航消息中心,二级导航发送通知以及查看通知;一级导航管理中心,二级导航查看学生、事务办理。
而系统管理员登录时,隐藏的管理管理模块则会不再被隐藏。
该处隐藏管理模块的技术,使用到thymeleaf的th:
if标签,判断用户名的session是否与系统管理员匹配。
2.2.3文件模块
文件模块主要功能是负责文件的上传以及下载,该模块并不单独使用,而镶嵌在通知模块中。
学生宿舍管理系统中,通知模块是其核心之一,而当管理员要发布的通知内容过大时,文件模块负责解决这个问题。
宿舍管理员发布通知,可以挂上附件,而这就是文件模块的上传功能,把管理员要上传的文件复制到服务器指定位置,并把路径写入数据库中。
学生查看通知时,可以下载该文件,在数据库中获取指定路径,并复制一份到学生要下载的文件夹中。
2.2.4通知模块
通知模块主要的功能就是管理员用以发布宿舍通知,学生则进行查看。
在管理员上主要是用来发布通知,在数据库中创建一个通知表,该表包含了通知的内容以及发布人,再由系统自动获取发布时间等等信息,管理员发布后系统根据该用户的session来获取发布人id以及姓名,再由后端代码发送到数据库。
对于学生,该模块主要是用来获取通知,从数据库中获取对应通知的信息,再通过分页功能一一呈现通知。
无论哪个用户都能使用,通知的搜索通知功能,该功能通过搜索的通知标题来进行模糊查询,将查出的数据一并分页。
2.2.5资料模块
资料模块核心在于数据的处理或查看,学生、宿舍管理员查看修改各种数据。
学生用户可在该模块中,实现对自己个人信息的修改,以及修改个人的密码。
还有查看宿舍管理员的联系信息。
在我的首页里,可以查看学生宿舍地图,学生宿舍平面图,学生宿舍管理制度。
宿舍管理员则可以查看学生的信息,以及搜索学生。
系统管理员决定是否开启某些系统管理员功能。
各用户均能在首页查看学校的轮播大图。
2.2.6事务模块
事务模块核心在于事务的办理,学生申请事务,由宿舍管理员统一办理事务。
在学生用户中事务分为两类,一类为退宿申请事务,学生通过发起该类申请,达到离开宿舍的目的,该操作直接清空学生数据库的宿舍信息。
另一类为宿舍调整申请,该类申请发起,达到学生更换宿舍的目的,该操作直接更改学生数据的宿舍信息。
学生还能在事务中心中查看事务办理的结果。
在管理员的事务模块中,管理员统一在事务中心处理这两类事务。
同意则修改信息,不同意则驳回申请。
2.2.7管理模块
管理模块核心在于管理用户和控制某些功能的开关。
该模块有且只有系统管理员可以进行操作,实现对用户信息的新增,以及对学生床位分配功能的开关,该模块还可以按照床位分配功能的模板开发出各种不同的功能,并由该模块进行控制。
2.3系统总体框架
在未登陆的情况下,用户无法进行任何操作。
只有登陆后才能对导航、文件、通知、资料、事务、管理六大模块进行操作。
以下是系统的功能模块图(图2.1)。
图2.1系统功能模块图
2.4开发技术及工具
2.4.1开发语言
在这个学生管理系统中,主要涉及三方面的语言。
前端语言有Web的编程语言JavaScript(本课题使用版本为3.4.1)以及超文本标识性语言HTML;后端语言JAVA(本课题使用的版本为1.8.0-121);以及结构化查询语言SQL。
2.4.2springboot框架简介
在JAVA平台上的开源框架有很多,Spring就是其中一种。
该种容器具有控制反转的特点。
再后来为了处理呈现层与请求处理层间分离度不够的问题,创建了SpringMVC。
而为了适应当代社会工程多且繁杂的现状,springboot应运而生。
通过大量的简化配置,极大的节省了环境搭建时间甚至解决了依赖的版本冲突,使得应用的不稳定性问题得到了解决。
2.4.3Bootstrap简介
Bootstrap基于HTML、CSS、JavaScript开发是现时比较受欢迎的前端框架,主要体现在它的易用性以及灵活性。
由于本课题为Web应用,使用该框架能使开发更加快捷。
本课题中基本全部前端组件与样式均来自Bootstrap并由本人改写。
2.4.4Thymeleaf简介
Thymeleaf是现在流行的一个由JAVA语言开发的模板引擎。
使用了该模板引擎的html模板可以直接在浏览器内展示静态数据,非常有利于前后端分离。
在springboot中,我们只需要导入相应依赖就能使用。
2.4.5JPA简介
JPA就是Java的持久层API,简单来说就是提供接口,更容易访问数据库。
有以下三大优势,简单方便没有约束与限制便可创建实体,面向对象的查询能力,支持高级特性,例如继承多态等关系。
2.4.6IntelliJIDEAJAVA开发工具
本课题使用的是2019.02.01的版本,IDEA是目前最好的java开发工具,提供集成环境。
2.4.7MYSQL数据库
为了储存学生宿舍管理系统中的信息,本课题是的数据库是MYSQL数据库以及其可视化工具workbenchC.E。
此数据库是一个关系型的数据库管理系统,因其速度快、体积小、可视化操作方面的特性,非常合适本次WEB应用的设计。
2.4.8JQuery框架
jQuery就是一个快速且简洁的JavaScript库或者说框架,它极大程度的简化了JavaScript的编程。
3数据库设计
一个管理系统,无法避免的就是对数据库的设计。
本课题研究中,使用的是MySQL数据库及其Workbench8.0CE。
学生的用户信息、个人信息,管理员的用户信息,通知信息,事务信息等,均保存到数据库中。
为了方便对数据的操作,其数据分别保存到不同的“表”中,并在后端设计中对应着各个不同的实体,即entity类。
数据连接方式为JDBC连接数据库,调用数据库以及修改使用JPA。
3.1实体
数据库的实体是客观存在的事物,单个实体不一定只包含一个属性。
在这个学生宿舍管理系统中,就主要由这几个实体展开操作:
学生用户(StudentUser)、管理员用户(DomanUser)、事务(Affairs)、通知(Message),四个实体进行操作。
3.1.1学生用户(StudentUser)
学生用户实体及其属性,如下(图3.1)所示:
图3.1Student实体属性图
3.1.2管理员用户(DomanUser)
管理员用户实体及其属性,如下(图3.2)所示:
图3.2DomanUser实体属性图
3.1.3事务(Affairs)
事务实体及其属性,如下(图3.3)所示:
图3.3Affairs实体属性图
3.1.4通知(Message)
通知实体及其属性,如下(图3.4)所示:
图3.4Message实体属性图
3.2实体与数据库的关系
在MySQL数据库中,所谓的“实体”一般认为就是ER模型。
而一个实体对应数据库中的一个表,实体属性与表的列一一对应。
在项目工程里实体被统一写到entity文件夹中,再由jdbc、jpa连接数据库的表检验是否一致。
3.2.1逻辑结构设计
①学生用户表(StudentUser):
(id(用户id、主键)、studentname用户姓名、college学院、lnum宿舍栋数、dnum宿舍号、bnum床位号、phone电话号、home住址、parent监护人姓名、parentphone监护人电话、schoolcard学生卡、sclass班级、loginuser登录用户、password密码)
②管理用户表(DomanUser):
(id(管理用户id、主键)、管理员姓名dmname、管理员所管理宿舍lnum、管理员电话dmphone、管理员登录账户dmloginuser、管理员密码dmpassword)
③事务表(Affairs):
(id(事务id、主键)、affair事务类型、studentname申请人、applytext内容、affairtime发布时间、applyid办理人id、applyname发布人姓名、result办理结果、dull是否办理、lnum更新栋数、dnum更新宿舍号、bnum更新床位)
④通知表(Message):
(id(通知id、主键)、title标题、time发布时间、发布人dmname、textword内容、filepath文件路径、filename文件名)
3.2.2物理结构设计
由逻辑结构可知,该学生宿舍管理系统,一共以四张表为主,学生用户表(StudentUser)、管理用户表(DomanUser)、事务表(Affairs)、通知表(Message)。
以下为其物理结构设计。
表3.1学生用户表(StudentUser)
列名
数据类型
是否主键
可否为空
说明
id
Int
是
否
用户id
studentname
String
否
否
用户姓名
college
String
否
否
学院
lnum
int
否
否
宿舍栋数
dnum
int
否
否
宿舍号
bnum
int
否
否
床位号
phone
String
否
可
电话号
home
String
否
可
住址
parent
String
否
可
监护人姓名
parentphone
String
否
可
监护人电话
schoolcard
String
否
可
学生卡
sclass
String
否
可
班级
loginuser
String
否
否
登录用户
password
String
否
否
密码
表3.2管理用户表(DomanUser)
列明
数据类型
是否主键
可否为空
说明
id
int
是
否
管理用户id
dmname
String
否
否
管理员姓名
lnum
int
否
否
管理员所管理宿舍
dmphone
String
否
否
管理员电话
dmloginuser
String
否
否
管理员登录账户
dmpassword
String
否
否
管理员密码
表3.3事务表(Affairs)
列明
数据类型
是否主键
可否为空
说明
id
int
是
否
事务id
affair
String
否
否
事务类型
studentname
String
否
否
申请人
applytext
String
否
否
内容
affairtime
String
否
否
发布时间
applyid
int
否
否
办理人id
applyname
String
否
否
发布人姓名
result
String
否
可
办理结果
dull
String
否
可
是否办理
lnum
int
否
可
更新栋数
dnum
int
否
可
更新宿舍号
bnum
int
否
可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生宿舍 管理 系统 设计 实现