大学宿舍管理系统.docx
《大学宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《大学宿舍管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
大学宿舍管理系统
1引言
1.1课题背景
计算机技术的日益发展,使得计算机已经应用到生活的各个方面,而近几年我国在教育方面的改革,使大学生也是越来越多,这就带来一个学校在后勤管理方面的重要问题[1]。
在以前,学生数量少,所以许多工作都是靠人工操作,然而现在面对学生人数越来越多的现实,效率低下,出错率高等缺点就暴露无遗,而且已经远远达不到现在提倡的高效的,节约资源的管理需求,因此,能够设计开发一个大学生宿舍管理系统是迎合时代快速发展的必然选择。
1.2研究课题的目的和意义
高校学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的[2]。
而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
我针对以上情况,设计了一套高校学生宿舍管理系统[3]。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的高校提供了一个方便、快捷的操作方式。
本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改等功能,能够快速的查询学校所需的住宿信息[4]。
1.3国内外研究现状及发展趋势
随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域[5]。
使得人们在于管理、应用及服务等各个领域使用数据方面变得更加简洁、更加方便、大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面[6]。
计算机管理信息系统它主要具有数学处理,计划,控制,预测,和辅助决策等功能。
据统计,目前美国在计划管理中80~90%的工作由计算机完成,财务会计工作中超过90%的信息处理由计算机完成,人事管理领域中计算机由计算机的应用更是接近了100%。
在企业管理中,办公自动化等方面得到了普遍应用,受到用户的广泛欢迎[7]。
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
因此,现阶段学生宿舍管理系统的研究受到很多人的关注[8]。
就目前而言,现在国内也有一些相当优秀的软件出现。
如文达学生宿舍管理系统,它针对学生社区管理工作,设计图形化操作界面,方便学生社区生活基本住处管理,如学生的入住、注销等情况的处理;实用的通讯工具,支持同时管理学生和教职工;支持图像扫描和照片管理;支持按组别、年龄、姓氏等条件进行快速搜索;支持快速条件功能;支持快速查找功能,可以根据支持按宿舍楼号、寝室号进行查找;支持自定义的常用条件筛选功能;支持全国的行政区划、邮政编码、电话号码、常用电话查询功能[9]。
宿舍管理系统2.6,这个软件是为中小企业,学校的宿舍管理提供的一款免费软件,它可以管理房间信息,入住员工信息,提供各种查询功能,尤其是对房间信息管理,包括房间的水电表、电话、网络端口,这些功能对房间的维护提供了很大的方便,还提供了计费管理功能[10]。
在一些发达国家类似的宿舍管理系统已经应用于后勤管理,而且已经相当普及[11]。
近几年,管理信息系统发展较快,特别是微型计算机的出现和普及为信息处理提了物美价廉的手段,对于推动我国管理信息处理的现代化起了重要的作用。
然而在我们国家基本上还是停留在帐本化管理,尽管已经出现了一些不错的产品,但后勤人员在使用电脑情况不佳,因此在制作出好产品的同时,我们国家也要注重人才素质的培养同样不容忽视[12]。
1.4本课题的研究方法及设计思路
本系统使用java语言编写,使用MyEclipse作为开发环境[13]。
利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate[14]。
数据库连接对动态网站来说是最为重要的部分,也是该软件设计的难点。
了使程序在具有安全性、完整性、健壮性的同时,可以方便地移植,采用Hibernate连接数据库更合适一些。
使开发人员可以用纯Java语言编写完整的数据库应用程序[15]。
本课题研究的是基于J2EE的web版大学宿舍管理系统,在设计过程中,拟采用MVC模式下的Struts2框架进行功能实现。
持久层选用Hibernate将实体Bean映射至数据库表。
在表示层中以Web页面作为主要客户端。
由于框架本身的优势,使得该系统易于维护,可扩展性强。
容器采用ApacheTomcat,解决了线程问题,使得可以在同一时间容纳多个用户[16]。
web层主要是作为用户访问系统的界面,提供Web网页服务器,同时与后台服务器连接,将客户端的请求信息传递到业务层,同时将后台反馈的信息传送到客户端[6]。
视图部分采用JSP,控制器部分交由Struts的action直接和实体bean交互以操作数据库。
后台数据库采用的Oracle,它功能比较强大,除了可以处理包含在各种平台上运行的数据库管理系统内核之外,还包括了数据复制、数据库系统管理、Internet网关支持、在线分析处理、多媒体支持和各种并行处理能力。
该系统的设计与实现应为学校管理部门提供一个全新的工作环境,为促进学校教育教学管理的科学化、规范化、信息化提供了有力的支持,提升了学校教学管理信息化的水平,从而使该系统成为学校日常管理工作中离不开的关键应用,所以应该为日后软件的维护提供良好和完备的接口[17]。
2可行性分析
2.1经济可行性
软件的经济可行性是指投入该软件使用后,软件所能带来的经济收益与开发设计所需要的投资比率,是否能够减少较之以往的费用,同时还要看此软件能否可以给用户带来好的的经济效益,我们开发的大学生宿舍管理系统不仅可以使管理人员提高工作效率,节省工作时间,方便操作与管理,更多的节省人力资源所带来的不必要的费用。
本系统的开发在经济上是完全可行的。
开发此软件不需要大量经费,而且是个人独立设计,可以节省许多费用,只需要一台电脑即可,不需要太多的花费。
2.2技术可行性
该系统的开发选取的开发工具:
Java作为编程语言
1.MyEclipse10.0.作为开发环境:
Myeclipse企业级工作平台是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能。
2.Oracle10g作为数据库开发工具:
Oracle10g数据库关键目标降低管理开销,提高性能。
Oracle10g的增强有对高可用性的增强、新的Flashback能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户;BI方面的增强,包括改进的SQL能力、分析功能、OLAP、数据挖掘的能力等;对非关系型数据存储的能力得到了改进;
3.ApacheTomcat6.0作为服务器开发工具:
Apache是普通服务器,本身只支持普通网页。
Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的一些特有功能。
由于Tomca本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。
ApacheTomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
4.MicrosoftOfficeVisio2007作为数据流程图和业务流程图绘制工具:
MicrosoftOfficeVisio便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。
使用具有专业外观的MicrosoftOfficeVisio图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。
大多数图形软件程序依赖于艺术技能。
在使用Visio时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。
5.MicrosoftWord2003作为文档编写:
是一种处理程序,可使文档的创建、共享和阅读变得更加容易。
改进后的审阅和标记功能为您提供多种跟踪更改和管理批注的方式。
Word2003还支持“可扩展标记语言”(XML)文件格式,并可作为功能完善的XML编辑器。
另外,您可以保存和打开XML文件以集成单位内的关键商业数据。
根据该系统的基本要求衡量所需的技术是否具备,可从硬软件的性能要求、环境条件、操作人员软件应用水平等方面去考虑和分析。
考虑到系统实施的可行性以及复杂性,在开发环境方面选择了如今较流行的MyEclipse工具来进行开发管理平台的设计,使用Oracle10g作为数据库来存储数据。
在硬件方面,由于用的是笔记本电脑,硬件的配置越高,系统的开发与运行流畅。
而且根据了解,如今的家用或商用电脑硬件的整体配置水平普遍比较高,所以系统在硬件方面是可行的。
在软件方面,由于MyEclipse和Oracle10g是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,并且在校期间都应用过,因此软件方面是可行的。
2.3运行可行性
大学生宿舍管理系统操作简单易行,所以使用前的培训也比较容易,只需要简单的一些电脑操作技术即可,而且运行环境简单,界面设计简洁易懂,经过以上分析,运行方面是可行的。
3总体设计
3.1系统需求分析
3.1.1数据需求:
此系统主要完成学生入住登记及入住后的管理,因此,需要的数据信息包括:
系统管理员,楼宇管理员信息包括用户名、密码、电话等信息。
学生信息包括学生基本个人信息,住房信息,迁入迁出信息;房屋信息包括价格和标准配置,水电费的设置和收缴情况等;维修信息包含维修者和损坏者及赔偿等信息;访问者信息,包括访问者身份及进入和离开登记等。
3.1.2功能需求:
功能需求分析的任务是弄清用户对目标系统数据处理功能所提出的需求。
本系统的功能需求有:
(1)允许管理员通过指定帐号和密码可以进入系统;
(2)管理员可以随时录入某个学生或房间的住宿情况;
(3)管理员可以随时查询某个学生或房间的住宿情况;
(4)管理员可以查询某个宿舍的水电费情况;
(5)管理员还可以录入每个学生的出入情况;
(6)学生可以通过姓名和学号进入系统;
(7)学生可以报修物品,查询水电费,发布留言。
3.2系统概要设计
3.2.1功能模块设计:
该系统总体分为三个大模块,即系统管理员模块,楼宇管理员和学生模块,系统赋予各模块的功能是有区别的。
除此之外,还有登录模块。
各模块的功能如下所述:
登录模块:
可以判断账号的合法性和角色,根据不同的角色跳转相应的页面。
系统管理员模块:
(1)楼宇管理员管理:
该模块主要功能是添加新的楼宇管路员,对楼宇管理员的姓名、电话等信息的修改、删除,查询;
(2)学生管理:
该模块主要是查询学生的入住信息的添加,更新等。
(3)宿舍管理:
该模块主要是查询并且显示宿舍的大小,宿舍号,位置等;
(4)楼宇管理:
该模块主要是添加楼宇,修改楼宇相关信息;
(5)修改密码:
该模块主要是修改登录人员的密码修改;
(6)退出系统:
该模块是退出系统。
楼宇管理员模块:
(1)本月水费统计:
该模块主要是显示各个宿舍的当月用水情况以及是否交费;
(2)本月电费统计:
该模块主要是显示各个宿舍的当月用电情况以及是否交费;
(3)学生入住登记:
该模块主要是登记学生入住;
(4)学生迁出登记:
该模块主要是登记学生的迁出;
(5)报修统计:
该模块主要是查看各个宿舍的设施需要维修情况;
(6)迁出记录:
该模块主要是查看学生的迁出名单;
(7)学生留言:
该模块主要是查看学生的留言建议;
(8)公告管理:
该模块主要是发布公告提示学生;
(9)修改密码:
该模块主要是修改登录密码;
(10)退出系统:
该模块主要是退出当前系统。
学生模块:
(1)本月水费查询:
该模块主要是查询该生宿舍的水费;
(2)本月电费查询:
该模块主要是查询该生宿舍的电费;
(3)在此留言:
该模块主要是给楼宇管理员留言;
(4)维修申请:
该模块主要是维修申请通知管理员维修;
(5)公告查询:
该模块主要是查看管理员的公告
(6)修改密码:
该模块主要是修改密码;
(7)退出系统:
该模块主要是退出当前系统。
3.3功能模块图
图3-1系统功能模块图
图3-2学生功能模块图
3.4系统分层设计
该系统采用MVC分层结构设计。
主要包括视图层、控制层、模型层。
系统中设计用到的包有bean包、action包和dao包。
action包:
主要是放置Struts2的Actionjava类,用来控制流程跳转、操纵model层、从model里面取数据呈现给表示层。
dao包:
主要放置负责与数据库打交道的java类,所有类皆继承自一个HirbernateDao。
该层封装了数据的增、删、改、查操作。
bean包:
主要是放置实体beanjava类,用来表示实体,并且映射至数据库对应的表,负责向view层提供数据。
4详细设计
4.1数据库
4.1.1数据库设计
一个好的软件,数据库设计的好坏决定了软件的开发维护、运行以及维护的容易程度。
如果把企业的数据比作高楼大厦的砖瓦,那么数据库的设计就相当于打地基一样重要。
整个软件系统的操作实际上就是对数据的操作,所以,数据库的设计直接决定这个系统的好坏。
4.1.2数据字典
本系统一共使用12张表,其中涉及到学生的有:
学生表(student)、楼宇信息表(building)、宿舍表(dormitory)、迁出表(out1)、入住表(log)、水费表(waterfee)、电费表(electricfee)、留言信息表(message)、维修表(repair)、公告表(notice)。
各表的表结构如下所示:
楼宇信息表用于记录楼宇的基本信息。
如表4-1所示。
序号
字段名
字段说明
字段类型
字段长度
1
Building_ID
编号
number
4
2
Building_Name
楼宇名称
varchar2
50
3
Building_Introduction
楼宇说明
varchar2
200
表4-1 楼宇信息表
学生表用于记录学生的基本信息,如表4-2所示。
序号
字段名
字段说明
字段类型
字段长度
1
Student_ID
编号
number
4
2
Student_DomitoryID
宿舍编号
number
4
3
Student_Username
学生用户名
varchar2
20
4
Student_Password
学生密码
varchar2
50
5
Student_Name
姓名
varchar2
20
6
Student_Sex
性别
varchar2
10
7
Student_Class
班级
varchar2
20
8
Student_State
状态
varchar2
20
表4-2 学生表
宿舍表用于记录宿舍的基本信息,如表4-3所示。
序号
字段名
字段说明
字段类型
字段长度
1
Domitory_ID
编号
number
4
2
Domitory_BuildingID
楼宇编号
number
4
3
Domitory_Name
宿舍名
varchar2
50
4
Domitory_Type
宿舍类型
varchar2
20
5
Domitory_Number
宿舍人数
varchar2
20
6
Domitory_Tel
联系方式
varchar2
50
表4-3 宿舍表
迁出表用于记录学生迁出的信息,如表4-4所示。
序号
字段名
字段说明
字段类型
字段长度
1
Out_ID
编号
number
4
2
Out_StudentID
学生编号
number
4
3
Out_Date
迁出日期
varchar2
20
4
Out_Remark
迁出说明
varchar2
200
表4-4 迁出表
入住表用于记录学生迁出的信息,如表4-5所示。
序号
字段名
字段说明
字段类型
字段长度
1
Log_ID
编号
number
4
2
Log_StudentID
学生编号
number
4
3
Log_TeacherID
楼宇管理员编号
number
4
4
Log_Date
入住日期
varchar2
20
5
Log_Remark
入住说明
varchar2
200
表4-5 入住表
水费表用于记录相关水费信息,如表4-6所示。
序号
字段名
字段说明
字段类型
字段长度
1
Waterfee_ID
编号
number
4
2
Waterfee_Domitory_Name
宿舍名
varchar2
50
3
Waterfee_Degree
吨数
varchar2
20
4
Waterfee_Start
上月读表数
varchar2
20
5
Waterfee_End
本月读表数
varchar2
20
6
Waterfee_Money
金额
varchar2
20
7
Waterfee_Whether
是否已交费
varchar2
20
表4-6 水费表
留言信息表用于记录留言的相关信息,如表4-7所示。
序号
字段名
字段说明
字段类型
字段长度
1
Message_ID
编号
number
4
2
Message_Domitory_Name
宿舍名
varchar2
50
3
Message_Theme
留言主题
varchar2
20
4
Message_Content
留言内容
varchar2
50
5
Message_Student_Name
学生姓名
varchar2
50
表4-7 留言信息表
维修表用于记录维修的相关信息,如表4-8所示。
序号
字段名
字段说明
字段类型
字段长度
1
Repair_ID
编号
number
4
2
Repair_Domitory_Name
宿舍名
varchar2
50
3
Repair_Content
维修内容
varchar2
50
4
Repair_Date
提交日期
varchar2
20
表4-8 维修表
公告表用于记录管理员发布公告的相关信息,如表4-9所示。
序号
字段名
字段说明
字段类型
字段长度
1
Notice_ID
编号
number
4
2
Notice_Theme
公告主题
varchar2
20
3
Notice_Content
公告内容
varchar2
200
4
Notice_Date
发布日期
varchar2
20
5
Teacher_Name
楼宇管理员姓名
varchar2
20
表4-9 公告表
4.1.3E-R图
图4-1E-R图
4.2EJB层的设计
4.2.1实体Bean的设计
实体Bean是根据数据库之中的表来建立的其中的相关属性/成员变量对应数据库表中的各种字段。
以本工程的一个实体为例,各种操作需要调用到Student实体Bean,Student实体Bean的代码如下:
packagecom.briup.sushe.bean;
publicclassStudentBean
{
privateintStudent_ID;
privateintStudent_DomitoryID;
privateStringStudent_Username;
privateStringStudent_Password;
privateStringStudent_Name;
privateStringStudent_Sex;
privateStringStudent_Class;
privateStringStudent_State;
publicintgetStudent_ID(){
returnStudent_ID;
}
publicvoidsetStudent_ID(intstudentID){
Student_ID=studentID;
}
publicintgetStudent_DomitoryID(){
returnStudent_DomitoryID;
}
publicvoidsetStudent_DomitoryID(intstudentDomitoryID){
Student_DomitoryID=studentDomitoryID;
}
publicStringgetStudent_Username(){
returnStudent_Username;
}
publicvoidsetStudent_Username(StringstudentUsername){
Student_Username=studentUsername;
}
publicStringgetStudent_Password(){
returnStudent_Password;
}
publicvoidsetStudent_Password(StringstudentPassword){
Student_Password=studentPassword;
}
publicStringgetStudent_Name(){
returnStudent_Name;
}
publicvoidsetStudent_Name(StringstudentName){
Student_Name=studentName;
}
publicStringgetStudent_Sex(){
returnStudent_Sex;
}
publicvoidsetStudent_Sex(StringstudentSex){
Student_Sex=studentSex;
}
publicStringgetStudent_Clas