1、黑龙江农业经济职业学院毕业论文黑龙江农业经职业学院毕 业 论 文论文题目: 学生寝室管理系统 学 生: 指导教师: 学 院: 信息工程学院 专 业: 软件技术2012级121班 2014年9月摘 要本文详细阐述了学生寝室管理系统开发的过程和基本方法。通过对宿舍活动各环节产生的数据进行处理,将为上级管理层提供一系列有关宿舍情况的动态信息,使宿舍管理工作规范化、制度化、程序化,促进了宿舍管理的基础水平,避免了业务管理的随意性,提高信息处理的速度和准确性。该学生宿舍管理系统主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用
2、程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点经过分析,本系统是基于SSH框架开发的,运用了SQL Server为后台数据库,以MyEclipse为前端开发工具,系统实现了房间管理、宿舍管理、信息维护、宿舍分配、信息查询等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校大学生宿舍管理,且文后附有系统操作的使用说明书和部分程序代码,可供参考。关键词:学生宿舍管理 java ssh框架目 录摘 要I第1章 绪论11.1开发背景与现状11.2开发设计的意义2第2章 关键技术介绍4第3章 系统需求分析53.1 功能需求53.1.1 基本功能需求53.1.2
3、 功能模块53.2 性能需求63.2.1系统安全性63.2.2系统功能性6第4章 系统设计74.1 数据库设计74.1.1 物理设计74.1.2 E-R模型设计74.1.3 表/字段及表间关系设计84.2 模块设计84.2.1 用户管理模块94.2.2 寝室管理模块10第5章 系统的编码与实现125.1 登陆功能125.1.1关键代码125.2 查询功能135.2.1关键代码135.3 学生入住功能145.3.1关键代码155.4 退寝功能165.4.1关键代码165.5 系统测试175.5.1 系统测试的目的175.5.2 系统数据测试175.5.3系统测试的评价17第6章 系统评价186.
4、1系统主要功能、特色/优点介绍186. 1.1 系统主要功能186.1.2 此系统的特色/优点介绍186.2 系统存在不足与改进方案186.2.1 系统存在不足186.2.2 改进方案18总 结19致 谢20参考文献21II第1章 绪论1.1开发背景与现状当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提
5、。本系统就是为了更好管理学生宿舍信息而设计的。学生宿舍寝室作为学生休息的地方,有许多信息需要处理和管理。现今,有很多学生宿舍都是初步开如使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于男女生信宿信息都是用人工手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。这就是管理信息系统的开发的基本环境数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个学生宿舍管理系统,使宿舍管理工作规范化,系统化,程序化,避免宿舍管理的随意性,提
6、高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。国内外研究现状和发展趋势综述:在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式, 来实现学生信息的现代化管理,这一技术具有手 工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长, 成本底等。 这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经
7、济的发展过程 中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。 随着计算机科学的迅速发展,计算机应用领域的不断扩大,许多性能好,功能齐全,应用面广,兼容性强的应用软件相应推出,可见计算机已经得到了广泛的应用, 几乎各行各业都有关于计算 机的使用, 这使得计算机已成为社会中普遍存在的事物。由于计算机的使用, 使得人们在于管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。在企业管理,办公自动化等方面得到了普遍应用,受到用户 的广泛欢迎。 学
8、生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段, 手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社 会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需 求时,就会有新的技术诞生并取代旧技术。随着计算机的普及,使用微机管理学生宿舍,将会被越来越多的学校采纳,学
9、生宿舍管理系统将会得到越来越普遍的应用。1.2开发设计的意义随着高校办学规模的扩大,在校学生的学历层次、思想状态、文化水平呈多样化、复杂化趋势,这在很大程度上给学生管理工作带来许多新的问题。随着学生人数的增多,高校学生宿舍管理的信息量日益庞大,账本化的工作模式获取信息慢,查阅困难,准确性差,很难适应高水平。因此,如何为学生提供一个安全、整洁、舒适的生活和学习环境,如何应用现代技术更科学、高效地对学生宿 舍进行管理是各宿舍管理工作者的目标。在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校
10、管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用 日趋成熟的计算机技术来代替传统的人工模式, 来实现学生信息的现代化管理,这一技术具有手 工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长, 成本底等。 这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程 中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部
11、门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统-高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS(Management Information System)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,删除功能;以及对新入校学生进行宿舍安排等功能。第2章 关键技术介绍SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块
12、层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理str
13、uts和hibernate。第3章 系统需求分析学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从宿舍管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的宿舍管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点
14、。本系统采用SSH框架开发,而后台的数据库采用SQL Server 2008。3.1 功能需求3.1.1 基本功能需求主要实现的是学生宿舍管理系统,在设计该系统时,应尽可能的贴近用户,便于用户操作。系统在实现上应该具有如下功能:系统要求用户输入正确的账号和密码才能进入系统。系统提供学生的入住信息的录入。系统应提供信息查询功能(按多种方式查询)。系统应提供删除学生信息办理退寝功能。3.1.2 功能模块寝室管理系统主要实现的功能有:学生信息查询、学生入住、学生退寝等。功能模块图如图所示:图3.1 宿舍管理系统模块图3.2 性能需求3.2.1系统安全性对于系统为方便学校管理学生宿舍而开发,便于统一管
15、理,设置了管理员用户。在登录时,使用用户验证控件,来确认用户是否为合法用户,以保证信息安全。3.2.2系统功能性在功能上,管理员可以根据学生学号或所属导员等条件查询学生寝室信息,在学生入住功能上,管理员可以根据空余的房间和床位安排学生入住。在查询到学生信息时,可以为学生办理退寝,将该寝室某同学的信息清空。第4章 系统设计4.1 数据库设计数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。数据库设计是建立数据库及应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库
16、设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。4.1.1 物理设计从需求分析可以看出,本系统存在以下几个实体:寝室:用于显示寝室的属性,包括已入住的学生姓名、学生性别、学号、宿舍门牌号、床位号等管理员:登录名、密码4.1.2 E-R模型设计根据实体设计,可以得到各个实体E-R图。(1)寝室E-R图如图4.1所示。寝室寝室门牌号床位号专业性别姓名班级学号辅导员图4.1 寝室E-R图(2)管理员E-R图如图4.2所示。管理员ID管理员登陆名密码图4.2 管理员E-R图4.1.3 表/字段
17、及表间关系设计1. 寝室信息表存储了寝室的基本信息。表4.3 寝室信息表字段名数据类型数据长度是否为空条件Key学生IDInt不允许P_K学号Varchar50不允许姓名Varchar50允许性别Int允许0或1门牌号Int允许床位号Int允许专业Varchar50允许班级Varchar505允许辅导员Varchar50允许2.管理员信息表存储了管理员的基本信息。表4.4 管理员信息表字段名数据类型数据长度是否为空条件Key管理员IDInt不允许P_K登录名Varchar50不允许密码Varchar50不允许4.2 模块设计宿舍管理系统作为公司内部信息平台的一部分,系统的用户信息来源于内部信息
18、平台。用户在内部信息平台单点登录,即可直接访问宿舍管理系统。系统数据库与内部信息平台的后台数据库保持同步,当内部信息平台的用户信息修改后,即可同步信息到本系统数据库。用户在内部信息平台成功登录后,当访问宿舍管理系统系统时,内部信息平台将用户名等信息传给宿舍管理系统,宿舍管理系统的接口模块将传过来的用户信息进行解析和初始化,得到系统的用户认证信息,从而是实现系统和内部信息平台的登录。4.2.1 用户管理模块该模块主要是为管理员登录设计的,用户通过用户名与密码登录系统,如果用户名密码与数据库中储存的信息一致便可进入系统管理界面,如果用户名密码与数据库中储存的信息不一致,则返回登陆页重新登录。用户管
19、理流程图如图4.5所示:用户后台登陆管理登陆系统管理入住/查询/退寝操作成功退出ERRORNO图 4.5 用户管理流程图4.2.2 寝室管理模块该模块主要实现房间管理,学生寝室信息查询,学生离校退寝。模块图如图4.6所示:可住人数入住性别学生入住空余房间可入住的床位学生退寝删除信息根据条件查询学生寝室信息寝室管理图 4.6 房间管理模块第5章 系统的编码与实现5.1 登陆功能管理员根据用户名密码登陆系统,登陆成功后进入管理界面,若用户名密码输入不正确则停留在登陆页。图 5.1 系统登陆页5.1.1关键代码public List login(Guanli gl) List list = getH
20、ibernateTemplate().find(from Guanli where username= + gl.getUsername()+ and password= + gl.getPassword()+ );return list;public String login()gls=gldao.login(gl);if(gls.size()0)getSession().setAttribute(Guanli, gl);this.setJspPath(a.jsp);return success;elsethis.setJspPath(login.jsp);return success;5.
21、2 查询功能可根据输入条件查询相应信息。图 5.2 系统查询页5.2.1关键代码private List kqs;public List getKqs() return kqs;public void setKqs(List kqs) this.kqs = kqs;public String fyfdy()kqs=qsdao.findx(qs.getDaoyuan();System.out.println(b);this.setJspPath(xinxi.jsp);return success;public String fybj()System.out.println(a);kqs=qsda
22、o.findbj(qs.getBanji();System.out.println(a1);this.setJspPath(xinxi.jsp);return success;public String fyname()kqs=qsdao.findname(qs.getStudent();this.setJspPath(xinxi.jsp);return success;public String fymid()kqs=qsdao.findy(qs.getMid();this.setJspPath(xinxi.jsp);return success;public String fyxh()kq
23、s=qsdao.findxh(qs.getXuehao();this.setJspPath(xinxi.jsp);return success;5.3 学生入住功能进入寝室入住页会显示出可入住的房间号和床位信息,点击学生入住,进入到填写学生信息页,信息提交成功后跳回寝室入住页,以便管理员继续添加操作。图 5.3 寝室入住页5.3.1关键代码private List yi;private List er;public List getYi() return yi;public void setYi(List yi) this.yi = yi;public List getEr() return
24、er;public void setEr(List er) this.er = er;public String nlcfp()yi=qsdao.findab(qs.getSex(),1,n);er=qsdao.findab(qs.getSex(),2,n);this.setJspPath(n_lcfp.jsp);return success;public String rz()qs=qsdao.findById(qs.getStuid();this.setJspPath(stu_ruzhu.jsp);return success;public String ruzhu()qsdao.atta
25、chDirty(qs);this.setActionPath(qs_nlcfp.action);return redirect;5.4 退寝功能根据查询到的学生信息为学生办理退寝手续,退寝后该床位可入住其他学生。图 5.4 退寝页5.4.1关键代码public String tuiqin()qs=qsdao.findById(qs.getStuid();qs.setBanji(n);qs.setDaoyuan(n);qs.setStudent(n);qs.setXuehao(n);qs.setZhuanye(n);qsdao.attachDirty(qs);this.setJspPath(no
26、.jsp);return success;5.5 系统测试5.5.1 系统测试的目的系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。一个程序并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通软件测试,尽可能多的找出系统中的错误,以便与及时修改。宿舍管理系统是对学生宿
27、舍进行管理的系统,一旦系统无法运行,对学校的宿舍管理带来很多的影响。所以通过软件测试的手段,尽可能排除程序中的错误,已达到程序运行稳定的目的,使学校的工作不会因此受到影响。5.5.2 系统数据测试(1) 学生入住对学生入住功能测试,已确认学生是否可以成功入住。(2) 信息查询信息输入后,通过信息查询,查看结果是否和设计时数据一致,以确认数据的正确性。(3) 学生退寝通过删除学生信息,然后进行信息查询,验证信息是否已经成功实现退寝。5.5.3系统测试的评价系统功能评价:此系统各模块都能实现各自的功能,符合最初设计系统的要求,系统运行稳定。结论:此系统是可行的。第6章 系统评价6.1系统主要功能、
28、特色/优点介绍6. 1.1 系统主要功能主要是解决后勤的学生宿舍日常中涉及到的信息,目标是使宿舍在管理上做到数据的信息化、快速化。本系统主要包括系统管理,人员管理,日常工作管理和帮助等四大模块。四大模块中人员管理和日常工作管理这两大模块是设计的重点所在,下面重点介绍日常工作管理这部分的主要模块及功能。寝室管理这部分主要功能是管理员根据查询到的有空床位可以入住的寝室为学生安排学生寝室。也可以根据条件查询学生寝室信息,便于老师统计。管理员可根据查询到的信息对学生办理退寝。6.1.2 此系统的特色/优点介绍(1).本系统根据实际需求进行设计和开发,切合实际;(2).有机结合计算机自动处理与人工处理;
29、(3).用户界面友好,模块清晰,操作简单,使用方便;(4).扩充性好,发展潜力大;6.2 系统存在不足与改进方案6.2.1 系统存在不足系统不足:本系统还不太完善,功能还不是很强大。本系统的界面不是太美观,显得很粗糙。具体地说,对于信息查询功能还不能做到随意多个条件的查询等等功能,身份验证模块比较简单,可能对保密性要求不是非常的高等方面都需要改进和完善。6.2.2 改进方案对于此系统要从美观、功能和技术上三个方面做重点改进。美观方面当然是提高审美观点,尽可能做到界面美观,可视化并且要方便用户人员使用,功能方面要扩大此系统的功能,以前没有时间实现的现在要实现出来并且进行功能的扩充。技术方面的改进
30、现在的系统虽然功能上基本上实现了,但很多方面没有考虑仔细,还欠缺很多功能,这个方面要重点考虑一下,还有许多不足的地方也要尽可能的找出来。总 结在一个软件开发过程中,我觉得最重要的是需求分析,软件是给客户来使用的,所以客户就是上帝,如何合理有效地跟客户进行沟通,然后把需求与软件结合起来,最终形成一个确定的需求文档,这是最重要的。这次的设计就在需求方面吃了很大的亏,刚开始由于需求做的不是很细,第一,内容开始的时候太匮乏,不够详细,规定的不够具体,没有明确要求,从而导致大幅度的修改过一次需求分析,第二,项目的时间安排没有考虑到很周全,测试的时候估计是因为具体实现代码的时候,返工以及磨合的需求太大,浪
31、费了大量的时间,从而把后期修改的时间占用了一些。第三,想做的功能太多,导致后期抛了几个功能点不做,这也同时是需求分析以及时间安排的不合理问题。最终到了后期才发现这些问题,导致了很多功能都要重新编写,花费了很大的功夫,这是我对这次项目感触最大的,也是收获最多的。在这次项目中,我体会并感受到了一个项目开发的流程,除了在技术上有一定的提高以外,更重要的是形成了分层的思想与面向对象的思想。看着做出的产品,感受到了这些日子所付出的一切都是值得的!参考文献1 朱如龙.SQL Server数据库应用系统开发技术M.机诫工业出版社,2004.1. 2 孙卫琴.Java面向对象编程M.北京:电子工业出版社,2006.3 张永常编,电子工业出版社。Java程序设计使用教程。2010-1-1. 4 萨师煊,王珊数据库系统概述(第三版) M.北京:高等教育出版社,2002.151-168.20