基于Struts的学生公寓管理系统的设计与实现

2015-05-30 10:48赵蔷弋改珍郭新明
软件工程 2015年8期

赵蔷 弋改珍 郭新明

摘 要:结合高校学生公寓管理的特点,使用JSP技术、Tomcat服务器,采用MySQL数据库,并使用Spring集成MyBatis框架,研究基于Struts的学生公寓管理系统。论文对系统的功能和设计方案进行分析研究,介绍了系统的实现过程。系统实现了学生公寓管理的日常业务,能够有效提高高校学生公寓管理工作的效率。

关键词:学生公寓管理;MySQL;JSP;Struts

中图分类号:TP311 文献标识码:A

Abstract:Combined with the characteristics of university student apartments management,the paper researches the student apartment management system based on Struts,using JSP,Tomact,MySQL and Spring.The paper analyzes and researches the function and the technical solution of the system,introduces the realization process.The system realized the daily business of student apartment management.It can effectively improve the efficiency of university student apartments management work.

Keywords:student apartment management;MySQL;JSP;Struts

1 引言(Introduction)

电子信息与网络技术的迅猛发展使越来越多的数据能够更有序而高效的管理。目前学校公寓管理因为信息种类繁杂、人数过多而导致管理的效率不高,人员的更迭、信息存储的差异和管理方式的差异等给学生信息整合带来很大的挑战[1]。新生分班分寝室工作是高校展开迎新工作遇到的第一个问题,如何充分利用有限的资源,减少学生报到环节,加快报到速度,尽快安排学生入住宿舍成为了高校迎新工作的关键[2]。传统的宿舍管理方法中学生入学登记、来客登记、卫生检查评比等都占用了管理人员的大量时间和精力,也对学生的报修登记产生了一定的拖延性,对于学生安全也难以进行有效保护[3]。与传统的宿舍管理方法相比,学生公寓管理系统能够降低管理成本,减少安全隐患,缩短交互时间,增加发生意外时的科技证据。学生宿舍管理系统重新定义了传统的宿舍管理模式,减少了中间环节,使得宿舍管理的效率得到极大的提升,也让学生的信息安全得到科技的保障[4]。

该系统是采用B/S(Browser/Server,浏览器/客户端)模式实现,MyEclipse作为平台开发,使用MySQL建立数据库,开发中使用Spring+MyBatis框架来封装对数据库的操作。为提高工作效率,使信息的管理与操作更加方便和快捷,实现管理员可通过手动或动态导入现有学生信息的Excel表格两种方式录入学生基本信息,并且能够按照学院、专业等条件自动将学生分配到指定楼宇。

2 功能需求(Functional requirements)

系统的用户角色可以分为三类,分别是学生、超级管理员和楼宇管理员,他们有各自的不同的权限。在系统中将其为前台用户与后台用户。前台用户是学生角色,后台用户包括超级管理员与楼宇管理员角色。

系统的总体需求是既要满足学生对宿舍的信息进行查看,还要满足管理员及楼宇管理员对学生的信息、住宿信息、卫生信息、出入信息等进行操作,实现学生与楼宇管理员之间的交互反馈。在用户操作中需要保证良好的用户体验。

(1)学生:主要对个人出入信息、本宿舍的卫生情况、个人贵重物品登记情况进行查看,还可以报修和留言。

(2)超级管理员:是整个公寓管理系统的管理员。主要对学生的信息进行录入、导入、修改和删除等;对楼宇信息进行增加、删除、查看等管理,对楼宇管理员的信息进行管理,给他们分配各自管理的楼宇;对学生的留言进行查看;对卫生评比情况进行查看。

(3)楼宇管理员:是某个学生公寓楼的管理员。主要职责是主要对本楼的学生住宿信息进行分配、调换、查询和统计;对本楼学生的出入信息进行登记、查看、修改;对学生的贵重物品信息进行登记、查询、修改;对学生的留言信息及进行查看、回复;对本楼的每周的宿舍卫生情况进行检查、登记卫生检查结果。

3 系统设计(System design)

3.1 总体设计

学生宿舍管理系统是基于B/S结构,B/S的最大优势在于客户端免维护,适用于用户群庞大或客户需求经常发生变化的情况[5]。通过Structs2和Hibernate进行开发。用户通过浏览器与服务器进行交互,提交数据到服务器Tomcat,在Tomcat中将由Struts来处理用户的请求并根据用户请求类型选择不同的处理方式和返回方式。同时采用Hibernate链接数据库,并使用了Hibernate的一级缓存和二级缓存,从而提高系统的查询效率[6]。系统的架构图如图1所示。

通过分析确定学生宿舍管理系统应分为前台和后台两部分。前台有四个功能模块:学生留言模块、卫生情况模块、出入记录模块、物品记录模块。后台有九个功能模块:学生信息管理、楼管信息管理、宿舍楼管理、卫生情况管理、物品管理、出入管理、用户管理、住宿管理、学生留言管理。

系统的模块结构图如图2所示。

3.2 学生信息上传模块

学生信息上传是本系统一个重要的功能模块,该功能实现方法如下:当管理员登陆后点击“学生信息管理”下的添加学生信息按钮,页面跳转到student文件下的add.jsp页面,点击“选择文件”按钮,在本地计算机上选择已录入的excel文件,点击“提交”按钮后,跳转到studentcontroller.jave文件下的upload方法。在此方法中将数据存在StudentDAO对象中,对数据以对象的形式存入数据库,结束此方法后重定向到list方法下,将数据以集合的形式输出到student.jsp页面。学生上传模块的流程图如图3所示。

upload module

3.3 学生宿舍分配模块

学生宿舍分配是本系统的核心模块,实现如下:当管理员登陆将学生信息录入完成后,点击“住宿管理”的复选菜单,页面跳转到accommodation.jsp页面,点击“分配宿舍楼”超链接跳转到add.jsp页面,选择具体的学院、专业,下方将显示符合条件的男女生人数,再选择相应公寓楼后,按下“分配宿舍”按钮跳转到buildingcontroller.java文件下autoBuilding方法,在此方法中调用studentService文件下的findByGMNB、countDB、countBAmt、modify方法,和将数据在buildingDAO中映射到building.xml文件中找对应的select和insert处理语句,最后在studentcontroller.java下的list方法中以集合的形式显示在student.jsp页面上。宿舍楼分配的流程图如图4所示。

4 结论(Conclusion)

本系统运用JSP技术和B/S架构,后台使用MyBatis数据库,并使用Spring-Spring MVC-MyBatis的三层框架对学生宿舍管理系统进行设计与开发。系统实现了学生公寓管理的日常业务,并实现了超级管理员动态将学生信息从Excel表格录入,并把指定的学生分配到某个宿舍楼。楼宇管理员也可对宿舍动态添加入住信息。系统使学生住宿信息管理的操作性和安全性都有了很大保障,能够有效提高高校学生公寓管理工作的水平和效率。系统还需要进一步完善,如增加宿舍用电管理和校园网络管理,方便学生交电费和网络费用。

参考文献 (References)

[1] 方亮.基于VFP的学生宿舍管理系统[J].IT技术论坛,2008,19(23):49-51.

[2] 孙玮.高校新生分班分寝室一体化系统的设计与实现[J].软件工程师,2014,17(05):28-30.

[3] 叶玉刚,白振峰.关于高校学生宿舍管理体制改革的理性思考[J].华北工学院学报(社科报),2002,14(6):34-37.

[4] 鲁满新.中澳高校学生宿舍管理现状之比较分析[J].华中农业大学报,2007,(5):11-14.

[5] 李书洁.B/S三层体系结构模式[J].河北理工学院学报,2002,(24):56-58.

[6] 李霞,刘慧婷,姚海清.基于JSP技术的学生管理系统的研究与设计[J].计算机技术与发展,2009,18(12):86-89.

作者简介:

赵 蔷(1971-),女,硕士,副教授.研究领域:软件理论,图像处理.

弋改珍(1969-),女,硕士,副教授.研究领域:计算机网络和网络安全技术.

郭新明(1979-),男,硕士,副教授.研究领域:计算机网络和网络安全技术.