




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计盐 城 师 范 学 院毕业设计宿舍管理系统的设计与实现学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(2) 学 号 指导教师 2016年5月16日宿舍管理系统的设计与实现摘要现阶段社会已经进入互联网时代,由于各大院校学生宿舍的普及导致了管理任务的繁琐,人工管理似乎已经无法跟上时代。web端的管理可以减轻工作人员的工作量,现在手机的普及可以使我们将宿舍管理完美的融入Android端,不仅节省人力,还能随时随地解决宿舍的相关问题,因此开发了宿舍管理系统。本文主要介绍了开发背景,可行性分析,系统的主要设计和关键的开发技术。完整地介绍的整个开发过程,并且进行了良好的总结。系统以MyEclipse为开发环境,Tomcat为开发服务器,Navicat作为数据库进行开发。系统的操作简单明了,界面简洁大方,符合方便用户的开发目的。学生宿舍管理系统包括了前台的界面端设计和后台数据库的创建。此系统主要包含了学生还有管理员两个主体。学生的主要功能有查询宿舍信息,查询学生信息,查询分数和修改密码等;管理员的主要功能有增加修改学生信息,宿舍加分扣分等。关键词:学生宿舍管理;JSP;JavaEE;Android全套设计加扣 3012250582DesignandimplementationofdormitorymanagementsystemAbstractNow society has entered the Internet era, because of the popularity of the major colleges and universities students dormitory led to the tedious management tasks, labor management seems to have been unable to keep up with the times. The web client management can reduce the workload of staff, now the popularity of mobile phones can enable us to the Android management to perfect the integration of mobile terminal, not only saves manpower, anytime, anywhere can solve the dormitory related issues. Therefore, I developed hostel management system. This paper mainly introduces the development background, feasibility analysis, the main design of the system and the key development technology. A complete introduction of the entire development process, and a good summary. System to MyEclipse for the development environment, Tomcat for the development of the server, Navicat as a database development. The operation of the system is simple and clear, the interface is simple and generous, in accordance with the purpose of the users development. Student dormitory management system includes the front end of the interface design and the establishment of the background database. This system mainly contains the student as well as the administrator of the two main. Students of the main function of inquiry dormitory information, student information query, query scores and modify the password; the main functions of the administrator to add, modify student information, dormitory points deduction.Keywords: Student Dormitory Management, JSP,JavaEE, Android目 录1 绪论11.1 开发背景与意义11.1.1 开发背景11.1.2 意义11.2 课题的主要内容12 关键技术和开发工具22.1 开发工具22.2 技术介绍22.2.1 Java22.2.2 Android22.2.3 MyEclipse22.2.4 Tomcat22.2.5 Navicat22.2.6 Jsp32.2.7 Structs233 系统需求分析33.1 功能需求33.1.1 基本需求33.1.2 可行性分析43.1.3 界面需求43.1.4 建立功能流程图53.2 性能需求63.2.1 安全性能64 系统设计64.1 系统结构64.1.1 系统用例设计64.2 功能设计84.3 数据库设计94.3.1 系统E-R图94.3.2 数据库表设计105 系统实现125.1 Android端总体功能页面125.1.1 Android登录界面125.1.2 Android端添加宿舍界面135.1.3 Android查询宿舍界面165.1.4 Android统计数据界面175.1.5 Android更改密码界面185.2 Web端总体功能页面设计205.2.1 Web端后台首页205.2.2 Web端学生管理界面205.2.3 Web端宿舍管理界面216 系统测试226.1 系统测试目的226.2 系统测试22结论23参考文献24致谢251 绪论1.1 开发背景与意义1.1.1 开发背景学生宿舍是每一个学生学习生活的重要场所,目前学生数目越来越多,学生宿舍脏乱差等各种问题层出不穷,以前的人工管理已经跟不上时代的步伐。随着科学技术的不断发展,计算机管理已经普及应用于各种区域,计算机与人类的关系显得愈发密切,为了能更好的管理学生宿舍,更方便快捷的提供学生宿舍管理信息,学生宿舍管理系统也就顺理应当的被开发出来。现代社会,信息科技发展的如此迅速,市场经济效益越来越高,我们生活的任何领域都充斥计算机与互联网化。使用该软件的管理员只需要通过简单的文字以及数字的输入就可以操作控制宿舍的管理,所有的操作功能都是依靠程序代码实现。管理人员通过操作手册,可以基本了解所有简单的操作流程。随着计算机互联网越发的普及,人们已经认识到其功能的强大 ,它在生活的各个领域扮演着重要的角色。1.1.2 意义现在的世界是信息化的世界,开发学生宿舍管理系统节省了各类资源。学生和管理人员可以仅通过手机或者电脑就可以详细快速地了解到宿舍的最新信息。宿舍管理系统成功的开发,不仅避免了管理者登记繁琐,操作复杂等问题,还节省了大量的人力物力,使整个宿舍管理有条不紊,方便快捷。宿舍管理系统的开发意义明确,以此作为毕业设计可以将平时学习的知识运用到实际生活中来,既满足了生活中的需求,也巩固了平时学习的知识。1.2 课题的主要内容本课题的主要的内容是基于Jsp的宿舍管理系统,开发工具为Eclipse,采用Struts2框架,将Android和服务器之间进行交互。客户可以轻松快捷的在移动端或者电脑端进行宿舍的管理,服务器端可以进行数据表格的下载,本课题是为了方便各高校进行宿舍的管理,手机Android端的使用是本课题的设计重点。2 关键技术和开发工具2.1 开发工具系统设计时所使用的开发软件以及工具是Navicat for MySQL、 MyEclipse和Tomcat进行构建,用Jsp完成界面的设计。2.2 技术介绍2.2.1 JavaJava应用于程序设计,具有高效性,安全性等优点,是面向对象的。广泛应用于PC,超级计算机和互联网等,并且有跨平台的功能,其功能较完善可以开发比较严格的系统。2.2.2 AndroidAndroid是一种非常先进的操作系统,它是基于Linux开发的,现在在智能手机等高科技通讯设备上的使用非常的广泛,比如电脑,手机等,采用了分层的系统架构1。2.2.3 MyEclipse该软件一种功能强劲的开发环境,它是以Eclipse为基础的开发软件,普遍应用于移动应用的开发,比如说Java和JavaEE等的开发,使开发变的高效便捷,并且拥有良好的debug功能2。2.2.4 TomcatTomcat 是Jsp程序设计和测试的首选,是一种服务器,主要应用于web端。我觉的Tomcat的部署非常简单,易于操作,集成也非常的方便,并且在管理方面非常地安全3。2.2.5 NavicatNavicat for MySQL可以方便快捷的连接各种数据库,使开发人员减轻开发负担4,它是一种为数据库管理量身定造的开发工具,使用方便,可以完美地连接数据,节省开发设计时间5。2.2.6 JspJava Server Pages也就是一种服务器页面,主要应用于Java。我觉得Jsp的应用范围非常的广,可以分离内容的生成和显示,Jsp是易用的,在很多方面方便了不熟悉脚本语言的开发者。2.2.7 Struts2Struts2简单的理解就是能够反映客户的请求和响应所分开的一种功能。Struts负责所有控制转发web层6,控制跳转前台Jsp页面7。3 系统需求分析3.1 功能需求3.1.1 基本需求学生宿舍管理系统的用户有学生,管理员。分为楼号,宿舍号,学生,学号。其需求的实现主要有以下几种:学生管理和管理员管理。学生管理的功能:1)可以查询学生的楼宇名;2)可以查询学生的宿舍号;3)可以查询学生的相关信息如学院、手机号;4)学生可以登录,并查询表格,需要时可以导出下载Excel;5)学生修改密码。管理员管理的功能:1)可以添加学生的手机,学院等相关信息,以便及时更新信息;2)可以删除学生的手机,学院等相关信息,以便及时更新信息;3)管理员还可以加分还扣分,以方便学生查询;4)管理员修改密码。Android端可以在手机上进行相关操作,并且长按短按功能不同。图3-1基本需求分析图3.1.2 可行性分析技术可行性就是目前的技术是否能够满足系统的各方面要求。系统所使用的开发环境为MyEclipse。利用MyEclipse可是分模块进行开发,使用方便快捷,可以达到开发目的。数据库的选择为Navicat。技术层面上,掌握Java语言进行开发,和学习到的数据库应用软件测试方法相结合,可以在技术可行性方面达到要求8。3.1.3 界面需求界面通过JSP技术开发完成,它对内容的显示和生成形成分离。JSP技术同时还具有对动态页面进行改进设计的功能9。1.输出输出设计就是为了服务使用者,为使用者输出信息,并且能够准确反映使用者的所有需求。2.输入用户通过界面实现与系统交互,获得相关信息,使管理员能得到正确的信息。 输入设计原则包括以下几点:1)利用计算控制输入量;2)避免输入的延迟和输入错误的发生;3)减少因其他不良因素而导致的额外产生的步骤;4)优化界面以及其他输入的过程。3.1.4 建立功能流程图图3-2学生功能流程图图3-3管理员功能模块图3.2 性能需求3.2.1 安全性能该学生宿舍管理系统在管理权限上应该进行限制,具体的限制如下:1)学生的信息应该只开放给管理员以及学生查询,否则信息泄漏将会造成不良的后果,以确保系统的安全性能,不具有该项权限的人员,不可以通过任何途径以及任何渠道在系统上查询学生和宿舍的相关信息10;2)登录时,为了保证系统的严格以及信息安全的限制,仅有管理员以及学生的登录方式,不相关人员不可登录该系统,同时不可设置更多的登录途径;3)管理员的权限是整个系统模块都可以使用,而学生不可越级到管理员的模块进行数据的更改11。4 系统设计4.1 系统结构4.1.1 系统用例设计1)管理员的功能包括了对学生信息的增删查,所有的功能只有在管理员登录的情况下才能使用,具体的内容见下图4-1所示。图4-1管理员系统用例设计图2)学生的登录端功能只有对宿舍信息,学生信息,分数的查询,以及修改密码的权限,具体的内容可以见下面的用例图4-2所示。图4-2学生系统用例设计图4.2 功能设计该系统主要分成两个功能端,包括网页端,主要有以下功能查询学生楼号和宿舍号,查询学生的相关信息比如学院、手机号等,学生可以下载Excel表。管理员的权限通过分析分为以下几种:1)管理员登录,添加学生住楼宇号,宿舍号,添加学生手机号以及学院等信息,修改学生手机号以及学院等相关信息,同时设有删除类似信息的功能;2)管理员登录,为学生宿舍加分或者扣分,并且记录下学生的加分扣分的因果和加分扣分的时间;3)管理员登录,修改宿舍的变化信息,如南北苑,宿舍号更改等;4)管理员登录,修改登录密码。系统的Android端主要功能和网页端相似,还添加了长按删除等功能,方便学生和管理员手机操作,用户通过Android端登录后可以查询学生宿舍管理信息。图4-3整体功能结构图4.3 数据库设计4.3.1 系统E-R图通过系统功能设计和数据库分析,生成的系统E-R图如下所示。1)学生注册管理员管理需要完善学生的各方面信息,如学生姓名,学院,号码和学院专业等等,详细内容参照学生实体图4-3所示。图4-4学生信息实体图2)宿舍信息包括宿舍号,楼宇名,地处南北苑,如下实体图4-4所示。图4-5宿舍信息实体图3)加分扣分的条件,包括了地面桌椅被子晚归等各方面因素,具体情况参照下图4-5加分扣分原因图。图4-6加分扣分原因实体图4)管理员见下图4-6管理员功能的实体图,管理者拥有帐号和密码两个属性。图4-7管理员信息实体图4.3.2 数据库表设计 根据实际的情况建立数据库,详细的数据表如下1)概括了学生的学院信息,专业信息,如表4-1所示。表4-1学院信息表字段类型长度小数点是否是主键idint110是academyIdint110否academyNamevarchar500否specialtyIdint110否specialtyNamevarchar500否2)管理员信息表,囊括了管理者拥有的帐号密码等信息,信息数据如下表4-2所示。表4-2管理员信息表字段类型长度小数点是否是主键idint110是adminNamevarchar120否adminPwdvarchar120否3)房间信息表,详细的数据信息如下表4-3所示,表中包括了宿舍的苑系,楼栋号和宿舍号等信息。表4-3房间信息表 字段类型长度小数点是否是主键idint120是roomNamevarchar500否buildNamevarchar500否positionvarchar120否4)加分扣分原因信息表,概括了所有加分扣分的原因,宿舍号及时间,详细情况如下表4-4所示。表4-4加分扣分信息表字段类型长度小数点是否是主键bonusIdint110是roomIdint110否ratingint110否createDatedatetime00否reasonvarchar2550否5)学生信息表,介绍了学生的各项信息,包括学生姓名,学生性别,学生电话号码,学生宿舍号,学生学号,学院和专业等,详细情况如下表4-5所示。表4-5学生信息表字段类型长度小数点是否是主键idint120是stuNamevarchar120否phonevarchar120否sexvarchar120否roomIdint120否stuNumbervarchar120否academyvarchar500否specialtyvarchar500否5 系统实现5.1 Android端总体功能页面5.1.1 Android登录界面登录进入Android端后,如图5-1所示,可以看到Android端的宿舍管理系统,包括各种功能。图5-1 Android登录界面详细代码如下:PrivateButtonqueryRoomBtn,updatePass,countData,addRoom,addStudent,queryStudent;/获取登录的用户详情(application)private Admin admin;application中登录成功的用户admin=(Admin) getApplication();/System.out.println(admin);/初始化按钮queryRoomBtn = (Button) findViewById(R.id.queryRoom);updatePass=(Button) findViewById(R.id.updatePass);countData=(Button) findViewById(R.id.countData);addRoom=(Button) findViewById(R.id.addRoom);addStudent=(Button) findViewById(R.id.addStudent);queryStudent=(Button) findViewById(R.id.queryStudent);/给按钮设置监听器public void onClick(View v) switch (v.getId() /* 设置登录按钮onclick事件,检验是否登录成功*/case R.id.loginBtn:String username = userName.getText().toString().trim();String pass = password.getText().toString().trim();boolean flag = isLogin(username, pass);if (flag) / 如果登录成功,则跳转到菜单 else / 如果登录失败,则弹出toast提示框,并把输入框置空userName.setText();password.setText();break;5.1.2 Android端添加宿舍界面添加宿舍界面,详细见下图5-2所示,点击添加宿舍即可进入,输入楼号房间号,位置采用选择功能,然后点击添加即可添加宿舍。图5-2 Android端添加宿舍界面部分代码截取介绍:Private Connection conn;addRoom_btn = (Button) findViewById(R.id.addRoom_btn);cancleRoom_btn = (Button) findViewById(R.id.cancleRoom_btn);buildName=(EditText) findViewById(R.id.buildName);roomName=(EditText) findViewById(R.id.roomName);position=(Spinner) findViewById(R.id.position);/增加监听事件addRoom_btn.setOnClickListener(this);cancleRoom_btn.setOnClickListener(this);position.setOnItemSelectedListener(new OnItemSelectedListener(int flag = ps.executeUpdate();System.out.println(flag);if(flag0)String s = success;/定义s为成功的时候 JsonObject a = new JsonObject(); a.addProperty(result, s); response.getOutputStream().write(a.toString().getBytes; response.setContentType(text/json); else String s = failure; JsonObject a = new JsonObject(); a.addProperty(result, s); response.setContentType(text/json;charset=U); /JSONtext/json /Action执行失败,显示一个错误的视图页面,这个页面可以要求用户重新输入。 catch (SQLException e1) e1.printStackTrace();private boolean addRooms(String buildName, String roomName,String position) / 请求的地址和参数String url = Constant.IP_INTERFACE+/AddRoomServlet; else return false;下图即为添加宿舍的添加完成界面,具体情况如图5-3所示,添加结束即会出现“宿舍增加成功”的黑色显示框。图5-3增加宿舍成功界面5.1.3 Android查询宿舍界面查询宿舍界面,点击主界面查询宿舍即可进入,详细如下图5-4所示,在橙色空格栏中输入想要查询的宿舍号码,然后按击蓝色“查询”按钮即可。图5-4查询宿舍界面图代码如下public void queryRooms(String id) / 请求的地址和参数String url = Constant.IP_INTERFACE+/FindRoomServlet;/ 实例化请求数据对象String params = id= + id;String url = Constant.IP_INTERFACE+/DeleteRoomServlet; String params = id= +id;/ 实例化请求数据对象5.1.4 Android统计数据界面统计数据界面,具体内容如下图5-5所示,点击统计数据即可进入,统计了各房间的加分扣分情况。图5-5统计数据界面图加分扣分详细代码如下:public void queryCountData() / 请求的地址和参数String url = Constant.IP_INTERFACE+/CountStuRoomServlet;/ 实例化请求数据对象show_data.setText(result); catch (Exception e) e.printStackTrace();public void queryTopBonus() / 请求的地址和参数String url = Constant.IP_INTERFACE+/FindTopBonusServlet;/ 实例化请求数据对象5.1.5 Android更改密码界面界面主要设计为更改密码,具体内容如下图5-6所示,按击更改密码立即进入,首先要求输入旧密码后,然后按照步骤键入新密码,再次确认新密码无误后,按击更改按钮,即更改密码步骤完毕。图5-6更改密码界面图详细代码如下:private boolean checkPass() boolean flag = false;String orginal = orginal_password.getText().toString();String second = second_password.getText().toString();String again = again_password.getText().toString();/ 判断原密码是否为空if (orginal.equals() | orginal = null) Toast.makeText(UpdateAdmin.this, 原密码不能为空!, Toast.LENGTH_SHORT).show(); else if (second.equals() | second = null) Toast.makeText(UpdateAdmin.this, 新密码不能为空!, Toast.LENGTH_SHORT).show(); else if (again.equals() | again = null) Toast.makeText(UpdateAdmin.this, 再次输入密码不能为空!, Toast.LENGTH_SHORT).show(); else if (!second.equals(again) Toast.makeText(UpdateAdmin.this, 两次输入密码不一致,请重新输入!,Toast.LENGTH_SHORT).show();second_password.setText();again_password.setText(); else if (!orginal.equals(admin.getAdminPwd() Toast.makeText(UpdateAdmin.this, 原密码错误,请重新输入!, Toast.LENGTH_SHORT).show();orginal_password.setText();elseflag=true;return flag;5.2 Web端总体功能页面设计5.2.1 Web端后台首页进入后台显示首页界面,会显示管理员登录信息,具体内容见图5-6所示,在此页面管理员有权限进行“宿舍管理”,“学生管理,”“退出系统”等操作。图5-6 Web端后台首页界面图5.2.2 Web端学生管理界面点击学生管理进入,进入页面之后可以显示 “姓名”、“性别”、“电话”、“学号”、“学院”、“专业”等与学生有关的信息,同时包括了删除的权限,另外还具有导出Excel表格的功能。图5-7 Web端学生管理界面图5.2.3 Web端宿舍管理界面点击宿舍管理进入宿舍管理界面,具体内容如图5-7显示,“位置”,“宿舍名”,“楼宇名”,同时管理员具有的权限包括“添加宿舍”,“查询宿舍”,“删除、添加学生”等。图5-8 Web端宿舍管理界面部分代码详细如下:public class AddRoomServlet extends HttpServlet http:/localhost:8088/SuSeSys/AddRoomServlet?roomName=&buildName=420&position=南苑if(q)if(conn=null)conn = (Connection) DbHelper.getDB();String sql = delete from t_room where id = ?;ps.setInt(1, Integer.parseInt(id);int flag = ps.executeUpdate();System.out.println(flag);/if语句删除房间过程catch (SQLException e1) e1.printStackTrace();6 系统测试6.1 系统测试目的系统测试就是检验各模块之间是否能够正常的运行,如果出现要求未达到,或者运行错误就必须加以修改并且进行调试,直到达到自己想要的结果,系统测试实际上可以理解为发现并解决问题的过程。6.2 系统测试系统测试时,我主要测试了先添加后查询宿舍的过程,首先进入管理员页面,然后进入宿舍管理,输入宿舍信息,然后添加,当出现成功指令的时候,再次进行查询,测试结果与预期结果相同,运行时间也很完美,具体情况见下表6-1系统用例测试表。表6-1系统用例测试表项目名称宿舍管理系统的设计与实现程序版本1.0测试环境硬件环境:pc机软件环境服务器端:Internetcup,512MB内存,mysql,7200转/分硬盘客户端:IE8以上或者兼容版本编写人黄烨编写时间2016-4-14功能模块名添加宿舍功能特性可以输入宿舍相关信息测试目的验证是否能够操作成功预置条件输入管理员帐号密码,登陆成功参考信息关于添加宿舍说明用例编号测试步骤测试时间预期结果测试结果T01进入管理员界面1s显示管理员界面正常T02点击宿舍管理1s显示宿舍管理界面正常T03输入宿舍信息1s输入正确正常T04点击提交1s添加成功正常T05进入查询宿舍界面1s成功进入查询宿舍界面正常T06查询刚输入的宿舍号1s查询信息与输入相符合正常测试结果通过pc机的测试,测试结果正常,数据显示正确,加载速度完美。结论通过这一次的毕业设计,我学到的非常多关于Java的知识。虽然遇到了很多的问题,但是通过自身不断地学习以及网络查询,都非常迅速地解决了,通过努力以及同学们的帮助解决困难并完善论文。虽说毕业设计以及论文完成了,但是由于技术水平和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店喷淋工程施工方案
- 2025电商孵化园企业入驻合同标准版孵化场地租赁协议
- 《企业培训与发展》课件
- 2025至2031年中国侧向移动钢质防火卷帘门行业投资前景及策略咨询研究报告
- 2025制造企业厂房租赁合同
- 2025员工股权投资信托合同示例
- 2025至2030年中国递纬器螺灯数据监测研究报告
- 2025至2030年中国自润滑不锈钢关节轴承数据监测研究报告
- 煤气柜拆除施工方案范本
- 2025至2030年中国电气导管数据监测研究报告
- 开封文化艺术职业学院单招《职业技能测试》参考试题库(含答案)
- 《坦克的发展历程》课件
- 军事研学旅行活动策划
- (完整)有效备课上课听课评课
- 采购管理系统的六大功能模块
- 渠道施工课件
- 世界500强人力资源总监管理笔记
- 《疯狂动物城》全本台词中英文对照
- 金融风险传染性研究
- 电力出版社材料力学课后习题答案
- 成人体外心肺复苏专家共识(2023版)解读
评论
0/150
提交评论