大学生公寓管理系统的设计与实现毕业论文设计_第1页
大学生公寓管理系统的设计与实现毕业论文设计_第2页
大学生公寓管理系统的设计与实现毕业论文设计_第3页
大学生公寓管理系统的设计与实现毕业论文设计_第4页
大学生公寓管理系统的设计与实现毕业论文设计_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i黑龙江大学本科生毕业论文(设计)中文题目:大学生公寓管理系统的设计与实现英文题目:TheStudentsApartmentManagementSystemDesignandImplementation摘要随着科技水平的发展,计算机应用系统已经在人们的生活、工作中起着越来越重要的作用。由于在校的大学生越来越多,传统的公寓管理存在着诸如效率低、保密性差、难于查找、更新和维护以及出错率高、不能很好的统一数据等缺陷,设计一个良好的大学生公寓管理系统将会对大学生宿舍管理工作带来事半功倍的效果。学生公寓管理系统是以高校的管理方式为实例而设计的一种实用型管理系统,本系统最大的特点是通用性、简单操作性,适用于同行业以及一些同类型的企业管理,随着学校寄宿人员的增多,公寓管理人员的负担越来越重,为了让所有公寓管理人员能从繁重的工作中解脱出来,实现无纸化办公;使工作更有条理,更方便,更有效率而开发出本公寓管理系统。本系统采用java作为前台开发工具、MySQL作为后台数据库平台的管理系统。系统通过实现公寓管理人员的信息输入与维护、公寓入住人员的信息修改与维护、宿舍用品配置登记与维护、公寓信息查询、来访人员登记等功能,使大学生公寓管理变得系统化、规范化、自动化,从而达到掌握宿舍成员的情况、提高管理效率的目的。关键字 管理系统;Java;MySQL数据库;系统设计;软件工程。

AbstractWiththedevelopmentofscientificandtechnologicallevel,Computerapplicationsysteminpeople'slives,work,playanincreasinglyimportantrole.Studentsinschoolasaresultofmoreandmore,Apartmenttraditionalmanagementsuchastheexistenceoflowefficiency,confidentialitypoor,notbegood,suchastheunificationofdatadeficiencies,designagoodmanagementsystemforapartmentthemanagementofuniversitystudentsworkeffectively.StudentApartmentManagementSystemisautilitymanagementsystembasedonthemanagingmodeofmanyuniversitiesandcolleges.Universalandeasy-operatingarethegreatestfeaturesofthesystem,whichisalsoapplicableforenterprisesofthesametype.Apartmentkeepersbearaincreasinglybecauseofthegraduallyaddednumberofroomers.Inordertofreeapartmentkeepersfromtheoftheapartmentmanagerstheinformationinputandmaintenance,Apartmentoccupancystafftoamendtheinformationandmaintenance,registrationandallocationofdormitorysuppliesmaintenance,apartmentinformation,visittheregistrationstaffandotherfunctions,Apartmentmanagementtoenablestudentstobecomesystematic,Standardization,Automation,Memberstoachievethemasterquarterssituation,Thepurposeofimprovingmanagementefficiency.KeywordsManagementsystem;Java;Mysqldatebase;Systemdesign;SoftwareEngineering.目录摘要 iAbstract ii前言 1第一章开发环境及工具简介 21.1Java简介 21.2MySQLdatebase数据库简介 4第二章需求分析 52.1可行性分析 52.1.1任务概述 52.1.2可行性研究的目的 52.1.3系统所要实现在功能 62.2性能需求 62.3功能实现 7第三章概要设计 83.1系统结构图 83.1.1大学生公寓管理系统的实体E-R图 83.1.2系统功能描述 93.1.3UML用例图 103.2数据结构设计 113.2.1大学生公寓管理系统数据结构表 113.2.2大学生公寓管理系统数据结构模型设计 113.2.2HMS系统源代码包结构 20第四章详细设计 214.1主窗体设计 214.2系统用户管理总体设计 224.2.1超级管理员与普通管理员登录界面 224.2.2宿舍管理模块 234.2.3学生管理模块 244.2.4工作人员管理模块 264.2.5来访人员管理模块 274.2.6系统管理模块 28第五章系统测试 305.1功能测试 305.2结论 30附录 32参考文献 36致谢 37前言随着科技水平的发展,计算机应用系统已经在人们的生活、工作中起着越来越重要的作用。一个好的信息系统不仅可以方便信息的传送、提高信息流通的效率和节省办公的成本,还可以通过信息系统,规范各项事务的管理,建立起高效的工作机制。一直以来人们使用人工的方式管理学生住宿信息,人工记录相关信息,如住宿生信息、宿舍情况、宿舍资源信息、宿舍卫生违纪信息等。这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,出错率很高、不能很好的统一数据。学生宿舍和公寓是学生日常生活与学习的重要场所,是对学生进行思想政治工作和素质教育的重要阵地。学生住宿管理事关学生人身安全和财产安全,关系到学校正常的教学、生活秩序,关系到学校和社会的稳定,也关系到我国高等教育的改革和发展。近年来,国家教育部相继出台了《教育部关于切实加强高校学生住宿管理的通知》、《教育部办公厅关于进一步加强高校学生住宿管理的通知》、《教育部办公厅关于进一步作好高校学生住宿管理的通知》等一系列文件,明确要求,建立健全学生公寓管理的各项规章制度,明确学生公寓提供的服务项目,保障入住学生的日常生活;加强安全保卫制度建设,对学生宿舍和公寓的住宿、用电、用水、饮食、防火防盗等方面工作,制定完善的管理制度;建立安全工作信息的收集、处理和报送制度;建立值班制度和门卫制度,开通二十四小时固定值班电话;建立安全工作检查制度,做到全面检查与重点检查相结合、定期检查和日常防范相结合,对发现的事故隐患要及时进行整改。切实做到值班门卫到位、巡逻执勤到位、检查整改到位、制度落实到位。但由于管理意识薄弱,管理手段落后,管理基础不规范,安全控制体系不完善,发生在高校公寓的恶性事件屡屡发生,如何贯彻和落实有关文件和规章制度,从基层对高校学生公寓进行科学化和规范化的日常管理,成为高校与教育主管部门亟待解决的问题。因此,一个良好的大学生公寓管理系统将会对大学生宿舍管理工作带来事半功倍的效果。第一章开发环境及工具简介大学生公寓管理系统以Java为前台开发工具、MySQL作为后台数据库的基于BS的两层模式的管理系统。1.1Java简介Java是一种简单的、面向对象的、分布式的、解释型的、健壮安全的、结构中立的、可移植的、性能优异、多线程的动态语言。是Sun公司开发的一种跨平台、适合于分布式计算环境的面向对象编程语言。由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java开发语言具有简单、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态等特性。1Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。6Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。8Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。10Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。11Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。综上,使用Java语言就具有了无比的健壮性和可靠性,这减少了应用系统的维护费用。1.2MySQLdatebase数据库简介MySQL是瑞典MySQLAB公司开发的一个小型关系型数据库管理系统。它的主要特点如下:1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS2Wrap、Solaris、Windows等多种操作系统3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多线程,充分利用CPU资源5.优化的SQL查询算法,有效地提高查询速度6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCPIP、ODBC和JDBC等多种数据库连接途径8.提供用于管理、检查、优化数据库操作的管理工具9.可以处理拥有上千万条记录的大型数据库可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQLAdministrator和MySQLQueryBrowser,使用比较方便。

第二章需求分析2.1可行性分析2.1.1任务概述通过可行性分析,理清大学生公寓管理系统开发的可行性,包括研究目的、所要完成的任务、所需的硬件和软件环境,明确大学生公寓管理系统的物理模型,了解该系统是如何运行的,抽象出大学生公寓管理系统的逻辑模型,对物理模型进行筛选;建立学生公寓管理系统的逻辑模型,得出数据流图和数据字典;补充目标系统的逻辑模型最后画出分层次的数据流图、E-R图、数据字典、和算法描述等。2.1.2可行性研究的目的系统开发是一项复杂的工程,耗费耗时,一个良好的可行性研究,可以有效的节约开发成本,提前考虑出系统所要满足的功能特效,能使开发出来的系统更完美,更加符合实际需求。总之,可行性研究的目的就是尽量减少系统开发所付出的代价,尽量使开发出来的系统功能完善,从而压缩简化了的系统从开发到应用的过程大学生公寓管理系统从以下三个方面进行可行性研究:1.技术可行性分析。大学生公寓管理系统大学生公寓管理的一个平台,系统管理员可以登陆本系统,在这个平台上管理所在公寓的一切事务,包括学生入住情况的增、删、改、查,宿舍安排,来访人员登记,工作人员管理,宿舍备品管理等。由于该系统只是针对宿舍管理员的操作平台,因此该类管理系统可以安排普通管理员和超级管理员两种用户类型。每种类型有统一的登陆页面,此页面能自动识别不同级别的用户,并提供不同的操作界面。通过CS结构,即ClientServer(客户机服务器)结构,将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。2.经济可行性分析。估算系统的开发费用以及运行、维护费用,预测系统运行后将获得的效益,并将费用与效益进行比较,看是否有利。各种费用主要是计算机硬件、系统软件等安装环境配置的费用。宿舍管理要求做到对本公寓所有人员信息的修改、添加、删除以及公寓卫生、安全、备品管理,其功能比较简单直观,所以其消耗的人力财力少,由一个人或几个人就能完成,并且有足够的时间,所以大学生公寓管理系统在经济方面是可行的。3.运行可行性分析。大学生公寓管理系统用户对象是宿舍管理人员,本系统用Java设计,功能简单,界面友好直观,并写出了详细的使用说明,宿舍管理员只需懂得简单的计算机操作知识,就能运用本系统进行宿舍管理。在硬件,硬件只要有一台一般配置的计算机及应用系统就能满足需求。综上所述:大学生公寓管理系统的开发和运用是可行的。2.1.3系统所要实现在功能大学生公寓管理系统是利用现代计算机来管理大学生公寓,针对大学生公寓管理工作的特点以及该管理工作的具体问题,本系统完成如下任务:1.公寓管理人员信息的输入。可以以管理员身份随意的对公寓成员进行删减、修改,新生入住可以很方便的添加,对于老生离校能方便的清除。2.公寓人员信息的修改、添加、删除。对于公寓里面的每个学生可以以管理员身份方便快捷的修改、添加、删除诸如寝室号、学号、住址、电话、所属专业、照片等信息。3.公寓管理人员的信息输入。对公寓管理人员的管理,如对每个区域的卫生、安全等负责分配情况以及工作人员的值班情况。4.学生寝室物品配置登记。对公寓每个寝室内的物品配置进行详细登记,随时了解本公寓物品损耗情况。5.宿舍用电、卫生及纪律等其他情况登记。记录好每个宿舍的用电情况、卫生情况以及纪律情况登记,并能在适当的时候提醒通知该宿舍采取措施。6.查询信息等功能。能提供方便快捷的查询服务,在任意用户端以特定权限的身份登录可以方便的查询本公寓成员及其详细信息。7.来访登记。记录好每个学生的来访登记,便于随时查阅。2.2性能需求1.数据精确度。该系统输入的数据为整形与字符型。2.时间特性。包括响应时间、更新处理时间、数据转换与传输时间、运行时间,这些时间尽可能短。3.适应性。在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,可使用系统自带的一个程序来修改现行系统,以适应新的变化。2.3功能实现大学生公寓管理系统(HMS)使用面向对象语言java编写,基于MVC三层架构,遵守javaEE规范,采用Spring2.0,Hibernate3.0和Struts1.2技术,MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。HMS使用流行的MVC组件Sturs1.2做为C(控制层),使用流行的ORM(ObjectRelationMapping)工具在M(数据模型)来访问数据库,并且引入Spring的IOC,AOP来进行javaBean的管理和事物管理Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts有一组相互协作的类(组件)、Serlvet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而与它们无缝地整合。Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的优点:轻量,控制反转,面向切面,容器,框架第三章概要设计3.1系统结构图大学生公寓管理系统要实现系统管理、来访人员管理、学生管理、宿舍工作人员管理、宿舍基本信息管理等,以达到对于公寓的高效、有序管理。3.1.1大学生公寓管理系统的实体E-R图图3-1系统实体E-R图3.1.2系统功能描述系统功能模块包括七大模块:系统管理模块,来访人员管理模块,学生管理模块,宿舍工作人员管理模块,宿舍楼管理模块,宿舍基本信息模块,系统登录模块1.系统管理模块:包括三个子模块管理员个人信息管理——管理管理员自己的信息管理员管理楼层分配——输入宿舍楼楼层并分配宿舍添加管理员——增加、删除宿舍管理员并受权限2.来访人员管理模块:该模块包括三个子模块来访登记入舍登记——对来访人员进行入楼登记来访人员离开登记——对来访人员离开时进行登记来访人员记录查询——查询来访人员的来访信息3.学生管理模块:包括四个子模块学生查询——根据学生学号查询本宿舍楼学生的信息学生移出管理——对于离开本楼学生的学生进行移出管理添加学生管理——对于新入住学生进行添加管理学生基本信息管理——管理本宿舍楼学生基本信息4.宿舍工作人员管理:包括三个子模块工作人员查询——查询本楼宿管人员信息工作人员职责分配管理——对本宿舍管理人员的职责进行分配管理工作人员基本信息管——本楼宿管人员基本信息查询5.宿舍楼管理:包括两个子模块宿舍楼基本信息——显示本宿舍楼的基本信息,比如楼层、房间数楼层管理——对每栋楼的楼层进行动态的增加,并分配寝室号6.登录系统:实现用户的登录3.1.3UML用例图图3-2UML用例图3.2数据结构设计3.2.1大学生公寓管理系统数据结构表针对大学生公寓管理的情况和特点,本系统采用小型关系型数据库MySQL数据库,在该数据库中包含以下十二个表:宿舍楼表(dorm_building),楼层表(floors),宿舍表(dorm),学生表(students),工作人员表(worker),室容记录表(sanitation_record),安全记录表(safe_record),用电记录表(electricity),来访人员表(visitor),管理员表(admin),纪律记录表(discipline_record)。下面主要介绍主要数据表的结构。3.2.2大学生公寓管理系统数据结构模型设计宿舍楼表(dorm_building),包括编号、宿舍楼名称、楼层总数、工作人员数量、房间总数、入住学生数以及宿舍楼描述等字段。该表用来存储宿舍楼名称,记载宿舍楼层数、工作人员数量、入住学生数以及对宿舍楼的简单描述。图3-21dorm_building图表3-1宿舍楼表(dorm_building)编号宿舍楼名称楼层总数工作人员数量房间总数入住学生数宿舍楼描述11号楼71514011201号宿舍楼22号楼71514011202号宿舍楼33号楼71514011203号宿舍楼楼层表(floors),包括编号、宿舍楼编号、楼层号码、房间数、入住学生数、楼层描述等字段。能过该表,记载宿舍楼房间数、入住学生数以及对楼层的简单描述。图3-22floors图表3-2楼层表(floors)编号宿舍楼编号楼层号码房间数入住学生数楼层描述111楼201601楼212楼201602楼313楼201603楼414楼201604楼515楼201605楼616楼201606楼717楼201607楼宿舍表(dorm),包括编号、楼层编号、房间号、床铺数、入住数、是否住满以及房间电话等字段。宿舍表记录了房间号,并且每个宿舍的床铺数以及目前本寝室内的入住情况,还有房间电话,当有学生入住本宿舍楼后,系统会自动查询每个宿舍的人员情况并分配人员到某一个宿舍。图3-23dorm图表3-3宿舍表(dorm)编号楼层编号房间号床铺数入住数空缺数是否住满房间电话111018170211028260学生表(students),包括编号、学号、姓名、性别、生日、年龄、院系、专业、照片、电话、家庭住址、辅导员及其电话、备注等字段。该表记载了某个宿舍内每个学生的情况,包括各个学生的姓名、学号以及生日、年龄,学生所在院系、专业以及学生的照片显示和电话、家庭情况,并且有学生辅导员电话等信息。图3-24students图表3-4学生表(students)编号1234…..学号姓名李开奎张三李四王五性别0000生日年龄25262728院系信科信科计算机计算机专业计算机计算机计算机计算机照片200701jpg200702jpg200703jpg200704jpg电话家庭电话家庭地址湖北省湖南省河南省黑龙江省辅导员刘德华刘德兵刘德林刘德军导员电话宿舍号1111是否在校0000备注该生听话该生听话该生听话该生听话工作人员表(worker),包括编号、工号、姓名、性别、生日、年龄、工作岗位、负责楼层、工作描述以及备注等字段。该表记载了各个宿舍楼的工作人员情况。包括工作人员的工号、工作人员的姓名、年龄以以及生日,并且记载工作人员的岗位、所负责的楼层和工作的简单描述。图3-25worker图表3-5工作人员表(worker)编号1234工号100001100002100003100004姓名李开奎张三李四王五性别0001生日年龄29302824工作岗位卫生员保安电工卫生员负责楼层11工作描述打扫卫生安全电力打扫卫生备注室容记录表(sanitation_record),包括房间号、床位号、时间、室容情况以及备注等字段。该表记录了各个寝室的室容情况,包括某个房间号里某个床位上的室容:被子状况、整洁程度等等。图3-26sanitation_record图表3-6室容记录表(sanitation_record)房间号床位号时间室容情况备注10101没叠被子1110202整洁1110303乱11安全记录表(safe_record),包括编号、房间号、时间、安全事件以及备注字段。该表记录每个学生的安全情况,详细记载了某个寝室曾经发生过的安全事件。图3-27safe_record图表3-7安全记录表(safe_record)编号房间号时间安全事件备注01101没关窗户1102102没锁门1103103盗窃11来访人员表(visitor),包括编号、姓名、电话、证件类型、证件号码、来访原因、来访时间、离开时间、接待人姓名、接待人学号、接待人所住房间、是否离开以及简单备注等字段。能过该表,可以详细掌握本宿舍楼人员的出入情况,加强宿舍的安全管理。图3-28visitor图表3-8来访人员表(visitor)编号01020304姓名张四李五王六….电话证件类型身份证身份证身份证证件号码来访原因看儿子看儿子看儿子来访时间离开时间接待人姓名张三李四王五接待人学号接待人房号507402521是否离开是是是备注112222用电记录表(electricity),包括编号、房间号、时间、年份、起始月份、截止月份、用电度数以及备注等字段。该表可以详细的记录每个寝室的用电情况,包括起始时间到结束时间内该寝室的用电数,并且自动判断该宿舍是否用电超标,并能自动提示自费买电。图3-29electricity图表3-9用电记录表(electricity)编号房间号时间年份起始月份截止月份用电度数备注011012009030630110210220090306321103103200903063111管理员表(admin),包括编号、管理员帐号、管理员密码、管理的宿舍楼、帐号状态等字段。该表记录了本系统管理人员情况,包括管理人员的登录帐号和密码,以及该帐号负责的宿舍楼号以及该管理人员帐号的状态,其中0为激活状态,1为屏蔽状态。图3-30admin图表3-10管理员表(admin)编号管理员帐号管理员密码管理的宿舍楼帐号状态1Admin123456002Admin1123456103Admin212345620纪律记录表(discipline_record),包括编号、房间号、时间、事件原因、备注等字段。该表记录了各个寝室的纪律情况,详细记载了某个寝室的违纪情况并加以简单的备注。图3-31discipline_record图表3-12纪律记录表(discipline_record)编号房间号时间事件原因备注01101夜不归寝1102102夜不归寝1103103夜不归寝113.2.2HMS系统源代码包结构宿舍管理系统的将要设计的源代码结构如下图图3-22源代码结构如下图第四章详细设计4.1主窗体设计进入登录窗口,进行用户登录。界面如下:图4-1大学生公寓管理系统登录界面该模块的功能实现管理员的登录功能,管理人员可能能过自己的用户帐号以及对应的密码登陆本宿舍管理系统。如果输入的密码不正确则显示出下界面:图4-2大学生公寓管理系统错误密码登录界面4.2系统用户管理总体设计4.2.1超级管理员与普通管理员登录界面当超级管理员用户输入正确用户名及密码登录后界面如图4-3所示。超级管理员具有本宿舍管理系统最高的权限,本用户可以对宿舍的一切进行管理,最重要的是该用户可以分配其他用户的管理权限。图4-3超级管理员用户登录后的界面当普通管理员用户输入正确用户名及密码登录后界面如图4-4所示。普通管理员可以根据超级管理员所授予的权限,对特定的功能进行管理,普通管理员是宿舍管理系统实施有效管理的载体。图4-4普通管理员用户登录后的界面4.2.2宿舍管理模块该模块包含了卫生管理、纪律管理、安全管理、用电管理四个子模块,并且可以查看每层楼的房间总数、入住学生数、工作人员数以及对它们的编辑。界面如图4-5所示:图4-5宿舍管理这其中,可以对已经存在的楼层进行编辑,可以实现对楼层号码、楼层房间总数、楼层入住学生数、楼层工作人员数进行编辑。并且可以对楼层进行简单明了的描述。界面如图4-6所示:图4-6楼层编辑其中增加宿舍楼子模块可以实现对新的宿舍楼进行添加功能,并且可以根据宿舍楼名称查询该宿舍的详细情况。其操作界面如下4-7所示:图4-7宿舍添加界面而宿舍楼列表子模块可以展现本系统中已经存在的宿舍楼,包括宿舍楼名称、楼层总数、房间总数、入住学生总数,并且可以对这些信息进行维护。其操作界面如下4-8所示:图4-8宿舍楼列表子模块操作界面4.2.3学生管理模块该模块包含添加学生、导入学生名单、学生列表三个子模块,这些模块的主要功能是对入住学生的录入以及宿舍的分配,并且可以对这些信息进行维护。界面如图4-9所示:图4-9学生管理点击“修改分配宿舍“子模块,可以对学生进行分配到各个宿舍楼,具体到宿舍楼层、宿舍号以及床辅号,其操作界面如图4-10,图4-11所示:图4-10学生宿舍分配步骤一图4-11学生宿舍分配步骤二而添加学生子模块可以完成对学生信息的查询与修改,可以通过学生姓名进行查询,可以导入学生名单或单个添加学生。操作界面如图4-12所示:图4-12学生管理子模块操作界面4.2.4工作人员管理模块该模块包括增加工作人员、工作人员列表两个子模块,分别可以对工作人员进行录入、查看工作人员列表,并且可以对工作人员进行修改与删除。操作界面如图4-13所示:图4-13工作人员管理操作界面可以通过“增加工作人员子模块中”进行添加工作人员的操作,包括工作人员姓名、工作人员编号、年龄、性别以及所属楼层、工作职责和工作的简单描述等。操作界面如图4-14所示:图4-14工作人员添加模块界面4.2.5来访人员管理模块该模块包含增加来访记录功能、今日来访记录列表以及按来访姓名查询等功能。它详细记载了来访人员的详细信息以及接待人员的详细信息,为日后的查询提供了详细的依据。其操作界面如图4-15所示:图4-15来访人员管理可以通过“增加来访纪录”进行来访添加。可以详细记载来访者姓名、来访及离开时间、来访者电话以及接待都等相关信息。并且可以根据来访人员姓名查询该人员的历史来访记录。其操作界面如图4-16所示:图4-16添加来访记录4.2.6系统管理模块该模块中可以对管理帐号进行维护,可以添加管理员、授权等功能。其操作界面如图4-17所示:图4-17系统管理通过修改登录密码可以对已经存在的用户的密码进行修改,其操作界面如图4-18所示:图4-18管理员密码修改界面可以通过添加管理员模块进行用户的添加,并且可以在其中对用户进行授权也及对用户的帐号进行激活。其中1为可用状态可登录,0为不可用状态不可登录。其操作界面如图4-19所示:图4-19添加管理员操作界面第五章系统测试为了保证系统运行的安全性、高效性,在经过需求分析、设计和编码等阶段的开发后,需要对系统的源程序进行测试,以找出并修正在各阶段设计和开发的过程中的错误和缺陷。测试的目的是为了发现尽可能多的找出系统的缺陷,并及时把不足之处改进,以提高软件的质量。系统测试在软件生存期中通常包括两个阶段,通常在编写出每一个模块之后就对它做必要的测试[12],模块的编写者与测试者是同一个人。编码与单元测试属于软件生存期中的同一个阶段。在这个阶段结束之后,对软件系统还要进行各种综合测试,这是软件生存期的另一个独立的阶段,即测试阶段,通常由专门的测试人员承担这项工作。5.1功能测试检查该管理系统的各功能模块是否完善,对各细节是否有考虑不周之处。对每个功能模块分别进行测试,验证是否达到设计功能,改进功能不足的地方。在单元功能测试的基础上,综合考虑管理系统。检查各功能模块能否顺利对接、各子功能模块的组合是否能达到预期要求的效果、数据结构、数据库是否存大缺陷。完成以上所有测试后就需要将管理系统安装于用户计算机系统中,综合考虑各方因素,在实际运行环境下,对开发系统进行一系列的模块测试和确认测试。首先用超级管理员帐号进行登录(帐号:admin,密码:123456),分别对各功能模块进行白盒测试,各模块之间衔接正常,并可实现对系统和用户总体管理功能。再用普通管理员登录系统(帐号:amdin1,密码:123456),分别对宿舍管理、学生管理、工作人员管理、来访人员管理、系统管理模块进行测试,各功能效果达到预期效果,测试通过5.2结论大学生公寓管理系统实现了对大学生公寓的管理,包括对公寓管理人员信息的输入,对公寓人员信息的修改、添加、删除,对公寓管理人员的信息输入,对学生寝室物品配置登记,对宿舍用电、卫生及纪律等其他情况登记,对宿舍楼基本信息的查询,对来访人员的登记等功能。大学生公寓管理系统是一个落实国家有关规章制度、加强学生住宿管理、规范高校公寓日常工作、提高公寓管理效能的有效工具。系统以公寓房间、入住学生为基础信息源,可以对房间床位分配、住宿收费、物业收费、房间设施、日常检查、公寓工作人员等进行规范管理,可以使教务处、学生处、保卫处、公寓管理中心、财务处等学校职能部门及学校领导随时获得全方位的公寓管理信息,实时掌握学生入住与缴费统计,动态监控公寓管理情况,实现信息共享,提高工作效率。为期一个月的毕业课程设计终于完成了,大学生公寓管理系统也已成形,在这期间我学到了许多关于Java程序设计的相关知识,掌握了MySQL后台数据库的连接,通过这次毕业设计同时也锻炼了我的实践及动手能力。但同时也发现了许多问题,在调试程序过程中,由于某些内在的错误影响程序的运行,在采用上述调试方法对程序进行调试后,程序运行情况良好,达到了预期的设计目标,基本上满足了系统的需要。到目前为止,学生公寓管理系统基本开发完毕,软件界面一般,运行稳定,功能基本符合需求。能够完成对学生公寓中学生的基本资料、卫生、纪律检查、安全管理的存储和查询,可以使用查找、修改、添加和删除等对学生公寓管理进行操作。但同时由于知识有限,缺乏开发经验,在系统开发前调研不够详细,对于用户的功能需求思考不够全面,可扩展性比较差,对于系统的灵活、美观方面做得还很不够,特别是在宿舍管理与其他部门的接合还不到位。这也就涉及到自身知识的贫乏,我会在日后的工作中努力学习。在这方面还可以总结加强的!通过这一次的毕业设计。切实感受到书到用时方恨少,虽然即将踏入社会,但是在这最后关头,毕业设计给我上了一课。

附录大学生公寓管理系统登录关健代码** *系统登陆 *@parammapping *@paramform *@paramrequest *@paramresponse *@return * publicActionForwardlogin(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ StringtoPage="#"; LoginFormloginForm=(LoginForm)form; StringloginName=loginForm.getLoginName().trim(); StringloginPwd=loginForm.getLoginPwd().trim(); Adminadmin=null; if(loginName!=null&&loginName!=null){ try{ admin=this.loginService.login(loginName,loginPwd); }catch(BusinessExceptione){ logger.error(e); toPage=ActionResultConstants.GLOBE_FORWARD; } }else{ toPage=ActionResultConstants.FAIL; } if(admin!=null){ request.getSession().setAttribute(AttributeConstants.ADMIN,admin); toPage=ActionResultConstants.SUCCESS; }elseif(admin==null){ request.setAttribute(AttributeConstants.ERROR,ActionResultConstants.ADMIN_LOGINFAIL); toPage=ActionResultConstants.FAIL; } returnmapping.findForward(toPage); }publicActionForwardlogout(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ StringtoPage="#"; Adminsupper=(Admin)request.getSession().getAttribute("super"); Adminadmin=(Admin)request.getSession().getAttribute("admin"); if(supper!=null){ request.getSession().removeAttribute("super"); } if(admin!=null){ request.getSession().removeAttribute("admin"); } returnmapping.findForward("success"); }宿舍管理实现代码** *列出所有宿舍楼 *@parammapping *@paramform *@paramrequest *@paramresponse *@return *@throwsException * publicActionForwardlistDormBuildings(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ StringtoPage="#"; intpageCount=10; intcount=0; ListdormBuildings=newArrayList(); intcurrtPage=request.getParameter("currentPage")==null?1:Integer.valueOf(request.getParameter("currentPage")); try{ count=this.dormBuildingService.queryDormBuildingsCounts().intValue();server查询总数量 page=newPage(count,currtPage,pageCount); dormBuildings=this.dormBuildingService.queryDormBuildings(page); }catch(Exceptione){ e.printStackTrace(); toPage=ActionResultConstants.FAIL; request.setAttribute(AttributeConstants.LIST_DORMBUILDINGS,ActionResultConstants.LIST_DORMBUILDING_FAILE); } toPage=ActionResultConstants.SUCCESS; request.setAttribute("page",page); request.setAttribute(AttributeConstants.LIST_DORMBUILDINGS,dormBuildings); returnmapping.findForward(toPage); }** *添加宿舍楼 *@parammapping *@paramform *@paramrequest *@paramresponse *@return *@throwsException * publicActionForwardaddDormBuilding(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ StringtoPage="#"; booleanisOk=false; DormBuildingFormdormBuildingForm=(DormBuildingForm)form; DormBuildingdormBuilding=newDormBuilding(); if(dormBuildingForm!=null){ try{ BeanUtils.copyProperties(dormBuilding,dormBuildingForm); SetfloorsSet=newHashSet(); if(dormBuilding.getDormBuildingFloors()!=null&&dormBuilding.getDormBuildingFloors()!=0){ Floorsfloor=null; for(inti=1;i<=dormBuilding.getDormBuildingFloors();i++){ floor=newFloors(); floor.setFloorsNumber(i); floor.setDormBuilding(dormBuilding); floorsSet.add(floor); } dormBuilding.setFloorses(floorsSet); } isOk=this.dormBuildingService.addDormBuilding(dormBuilding); }catch(IllegalAccessExceptione){ e.printStackTrace(); toPage=ActionResultConstants.FAIL; }catch(InvocationTargetExceptione){ e.printStackTrace(); toPage=ActionResultConstants.FAIL; }catch(BusinessExceptione1){ e1.printStackTrace(); toPage=ActionResultConstants.FAIL; request.setAttribute(AttributeConstants.ADD_DORMBUILDING,ActionResultConstants.ADD_DORMBUILDING_FAILE); } if(isOk){ request.setAttribute(AttributeConstants.ADD_DORMBUILDING,ActionResultConstants.ADD_DORMBUILDING_SUCCESS); toPage=ActionResultConstants.SUCCESS; }else{ toPage=ActionResultConstants.FAIL; request.setAttribute(AttributeConstants.ADD_DORMBUILDING,ActionResultConstants.ADD_DORMBUILDING_FAILE); } } returnmapping.findForward(toPage); }参考文献[5](美)霍斯特曼,(美)康奈尔.Java2核心技术卷I:基础知识(第7版)(英文版).人[6][8](美)埃利奥特(Elliott,J.).Hibernate程序高手秘笈(影印版).东南大学出版[9](美)哈罗普(Harrop,P.),(美)马可赛克(Machacek,J.).Spring专业开发指南.人[10]陈松.J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现.[14]刘斌.精通JavaWeb整合开发:JSP+AJAX+Struts+Hibernate.电子工业出版[15]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论