基于web的高校学生公寓信息管理系统的设计与实现计算机科学与技术毕业设计

上传人:a**** 文档编号:159809829 上传时间:2022-10-09 格式:DOC 页数:54 大小:1.34MB
返回 下载 相关 举报
基于web的高校学生公寓信息管理系统的设计与实现计算机科学与技术毕业设计_第1页
第1页 / 共54页
基于web的高校学生公寓信息管理系统的设计与实现计算机科学与技术毕业设计_第2页
第2页 / 共54页
基于web的高校学生公寓信息管理系统的设计与实现计算机科学与技术毕业设计_第3页
第3页 / 共54页
点击查看更多>>
资源描述
基于 Web 的高校学生公寓信息管理系统的设计与实现摘摘要要高校公寓是每一位在校学生生活、学习、相互交流的重要场所,是透视一个学校文明程度和一个集体精神风貌的窗口。目前部分高校的学生公寓管理基本上还处于人工操作的阶段,效率相对较低,不利于学生问题的反馈和学校对公寓存在问题的及时解决,随着计算机技术和网络技术的日益发展和广泛应用,采用计算机以及网络来管理学生公寓,能够很好的增进宿舍管理人员同公寓学生的交流,掌握好学生的诉求才更好的创建和谐稳定的宿舍环境,因此有着很好的前景。本文开发的基于 B/S 模式的高校学生公寓管理系统,使用 javascript 动态网页制作技术以及 Ajax 异步交互技术作为主要的前台开发语言,实现前后台的数据交互;后台选用采用 SpringMVC+MyBatis 作为后台开发框架,MySQL5.5 作为数据库服务器。该学生公寓管理系统主要划分了管理员和学生两种权限,实现的功能有学生信息的管理,宿舍信息的管理,宿舍的分配功能等。系统具有界面友好,操作简便的特性。关键词公寓管理/SpringMvc/MySQL/高校The college students apartment informationmanagement system based on Web design and implementationABSTRACTThe apartment in university provided for students plays an important role in their life.Study and communication,and it is also a showpiece which reflects the civilization andspirit of a university.Previous apartments management was still in the stage of manualoperation with bow efficiency,so it is not good for the feedback and solving the problems.Nowadays,computer and network technology is becoming more and more widelyused.By using it,it can enhance the communication between students and the supervisorand then it create a harmonious and stable and the supervisor for the students,thus it hasbig prospects.Student apartment management system based on B/S model development,dynamic web page production techniques and using javascriptAjax asynchronousinteraction technology as the main front desk development language,realize Taiwan beforeand after data interaction;Background to choose the development framework forSpringMVC+MyBatis as the background,MySQL5.5 as the database server.The studentapartment management system is mainly divided into the two permissions,administratorsand students realize the function of a student information management,dormitoryinformation management,dormitory distribution function,etc.Characteristics of thesystem has a friendly interface,easy to operate.KEYWORDSmanagement of apartment,SpringMvc,MySQL,college目目录录摘要.IABSTRACT.II目录.III1 绪论.11.1 研究背景.1.2.2.32 系统关键技术.42.1 Java Web 体系结构.42.2 SpringFrameWork 架构技术.4.4.42.3 Spring 技术.52.3.1 Spring.52.3.2 MVC.62.4 web 前端技术.62.4.1Ajax.62.4.2 Jquery.72.5 数据库.72.5.1 MySQL.72.5.2 Mybatis.82.6 本章小结.83 系统需求分析.13.1 可行性分析.13.2 业务流程分析.23.3 功能需求分析.33.3.1 学生需求.33.3.2 普通管理员需求.33.3.3 超级管理员需求.43.3.4 用户登录需求.43.3.5 外部需求.43.3.6 性能需求.5.54 系统设计.64.1 系统设计目标.64.2 系统总体设计.64.2.1 系统软件架构.64.2.2 子系统划分.74.2.3 子系统划分结构图.74.3 系统功能详细设计.104.3.1 学生子系统详细设计.104.3.2 超级管理员子系统详细设计.104.3.3 普通管理员子系统详细设计.104.4 数据库设计.114.4.1 数据库设计原则.114.4.2 概念设计.124.4.3 逻辑设计.164.5 本章小结.215 系统实现.225.1 各子系统实现.225.1.1 学生用户各功能模块的实现.225.1.2 普通管理员用户各功能模块的实现.245.1.3 超级管理员各功能模块的实现.275.2 重点难点实现.285.3 本章小结.346 系统测试.356.1 功能测试.356.2 性能测试.356.3 本章小结.367 总结展望.377.1 本文总结.377.1 工作展望.37致谢.39参考文献.401 绪论绪论1.1 研究背景研究背景科技在快速发展,给生活的方方面面带来了便利。高校作为科技和信息的前沿阵地也在信息化方面有了许多可喜的进步。但是高校信息化的发展一直不是太热,因此国家提出了建设信息化校园的愿景。在此背景下国内各高校纷纷进行相关技术的研究,在信息及计算机技术发展的并且运用到了生活的各个领域1,带给人们无尽的方便和便利的基础之上。结合高校公寓管理实际现状以及国内外高校公寓管理信息化和自动化研究现状的前提下对高校公寓管理系统进行研究2。许多高校的公寓管理现状是管理人员手动录入学生信息,学生关于宿舍有任何诉求和问题只能到宿舍管理人员处进行沟通,沟通的成本较高,学生的问题反馈了问题解决的较慢或者一直没有反应,究其原因一方面是管理人员每天需要面对的学生太多问题太多管理人员应付不过来,另一方面就是管理人员的不作为,学生问题反馈没有落到自己身上就没什么感觉,问题一拖再拖,设计一个高校公寓管理系统不仅减轻管理人员的工作量和工作压力还能监督管理人员尽快解决学生诉求,创建和谐的宿舍环境。而当前的现状很不利于管理人员对宿舍以及学生进行管理,不方便学生跟管理人员进行交流急需依靠计算机信息技术应用其中来辅助管理人员工作。另一方面随着计算机信息技术发展应用生活中随处可见计算机辅助人员工作并且大大提高了工作效率,而高校公寓管理也迫切需要这样的一套计算机技术系统进行辅助管理,加之近些年国内高校信息化的推进,关于高校公寓的研究已经出了很多可用成果,并且已经有不少高校将公寓管理系统投入了实用。但是各高校的公寓管理现状不同,高校的公寓信息化管理进程的推进必须结合实际情况因此开发一套适合高校实际情况的公寓管理系统必不可少。另外国外很多高校已经实现了公寓管理的信息化以及国内部分高校实现公寓的信息化管理也说明了实现一个公寓管理系统的可行性。近些年高校公寓管理系统的研究不少,开发和实现是要结合实际情况创造出具有各学校特色的高校公寓管理系统从而解决学校当今公寓管理工作当中的一些问题和提高公寓管理的效率。目前,虽然高校一直在推进信息化的进程但是公寓信息管理方面总是不太理想。国内高校公寓信息管理普遍还处于手工进行信息记录和管理的情况,效率不高,不仅不方便管理员进行管理而且学生的需求不能得到及时有效的解决,最终会对学生的生活和学习造成较大的影响。因此研究一套适合高校的公寓信息管理系统有很重要的现实意义。学生公寓信息管理方面在国外计算机技术发展相对较早技术也比较先进,加之国外普遍对教育的重视程度较高因此在国外高校学生的公寓信息的管理都已经实现了信息化和自动化,大大提高了高校公寓管理效率,方便了管理人员也方便了学生。在美国,克莱蒙特大学凯尼斯格林(Kenneth Green)教授主持并组织了一项大型科研项目,即“信息化校园计划(CCP)”3。该研究采取定性和定量研究相结合的方法,从 1990 年到 2002 年期间,针对信息技术在美国多所大学校园里的应用问题进行了详细地调查和深入的研究,并对发展过程中存在的各种问题提出许多合理化建议。该计划是美国高校目前信息化方面最具权威性的研究项目之一(张成洪等2003a)。调查结果显示,美国大学非常注重信息化规划的制定。同时专家认为学校的信息化发展战略今后要解决的迫切问题是明确 IT 发展目标、防止 IT 人才流失、建立信息化预算模型、课程管理系统和网上教学资源建设等。在亚洲方面,2002 年,由香港大学与北京大学、新加坡国立大学、美国的 CCP、日本东京大学研究所(National Institute of Multimedia Education)密切合作,在香港大学启动“ACSS”项目,研究调查亚洲地区的 1000 多所大学,这是亚洲方面在高校信息化建设上最具权威性的研究项目之一4。调查结果表明,香港大学对学校短期和中期信息化的需求很明确,并就此作了相应的战略规划。基于网络的远程教育开展不尽如人意,学校当前规划最注重的方面是教学资源获取的便捷性、学生上网的方便性和网络安全性5。得益于这些年国家高校信息化进程的计划推进和国家对校园信息化建设的重视,因此国内高校有不少公寓信息化管理的现有成果,也已经将公寓信息化管理应用到了不少大学校园。无论从技术上还是从需求实现上都已没有太大压力,仅需要结合各学校实际情况进行操作。信息社会的高科技,商品经济化的高效益,使计算机及其应用已普及到经济和社会生活的方方面面。虽然高校是信息和科技的前沿阵地,但是现如今许多高校公寓,依然使用传统的人工手写记录信息的方式效率相对较低,在高校公寓管理还普遍处于人工管理情况的基础上,公寓管理投入了较多的人力资源并且宿舍中各种事务的记录都必须进行手动记录,时间长的话不方便进行信息管理和统计,并且容易造成信息丢失.为了方便公寓管理人员在数据方面的管理,为减轻公寓管理人员的工作量和工作压力,高校公寓管理系统的研究课题应运而生,但是大多情况只是停留在了研究的阶段。很少高校将系统的设计实现应用到公寓管理当中,本系统就是从此角度出发才想要做出一个完整易用的系统将研究变为实现和现实。结合当今各学校的宿舍管理现状,也为了能全面、准确、有效地管理学生公寓的各种信息而开发与研制的一个系统。其主要作用是快速适应现代化物管水平和解决工作人员繁重而冗长的工作量,方便学校对公寓信息的管理,进一步使公寓的主体人员学生在公寓的各种需求得到有效的满足,解决各种问题从而提供公寓管理人员的管理效率,为学生和公寓管理人员提供一座沟通的桥梁,创建和谐稳定的高校公寓环境,让管理人员管理的舒心,让学生住的舒服。公寓信息管理系统的实现将使学校学生都得到很大的方便,是校园信息化建设的进一步完善,对建设和谐稳定高效的校园环境产生重大意义。论文的组织结构如下:第一章 绪论,包含研究背景,国内外现状,研究目的及意义等。第二章 系统相关技术介绍,对系统设计和实现过程中用到的语言、技术、平台、框架进行了介绍,主要阐述了 Spring 框架技术、MVC 设计模式、一些 Web 前端技术和 MySQL 数据库的特点特性。第三章 需求分析,对该系统的需求进行分析,从系统可行性、业务流程、功能需求和非功能需求进行了分析。第四章 系统设计,在需求分析的基础上,对各个模块进行进行总体设计和数据库的设计。第五章 系统实现,讲了系统实现的过程和所采用的技术,最后对系统所用到的关键技术以及一些技术难点重点做了讲解。第六章 系统测试,使用常见的测试方法对系统进行功能性测试和数据测试。第七章 总结与展望,对系统的优缺点进行了阐述和展望。2 系统关键技术系统关键技术本系统采用当前比较流行的 B/S(Browser/Server)架构模式,使用 JavaEE 开发语言组成的 Java Web 应用程序平台,使用 MySQL 数据库,运用软件工程的相关知识在 SpringMVC+MyBatis 框架下进行系统的设计与完成,以下讲详细介绍开发中所用到的关键技术。2.1 Java Web 体系结构体系结构Web包括服务器和客户端两部分,而JavaWeb是指使用Java技术来解决有关Web互联网领域有关问题的技术总和。Java 在客户端的应用有 Java applet,由于语言的问题使用得很少,Java 在服务器端的应用非常的丰富,比如 Servlet,JSP 和第三方框架等等。Java 好像天生就擅长做 Web6,互联网发展到今天,Java 语言功不可没。2.2 SpringFrameWork 架构技术架构技术2.2.1 概述概述Java 一个厉害之处就在于它是开源的,很多优秀的程序员以及著名的机构开发出了各种各样免费开源的框架7,Spring 是由 Rod Johnson 创建,并且当前一个非常流行的开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring 使用 JavaBean可以完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅仅局限于服务器端的开发。从系统简单性、可测试性和轻耦合的角度去看,几乎能使所有的 Java 应用开发都变的更加简单便捷。Spring 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。特性特性(1)轻耦合,简化开发IOC 是控制反转的意思,Spring 通过它本身提供的 IOC容器,控制和管理对象之间的依赖关系,很大程度上避免了所谓的硬编码对程序造成的过度耦合。而且,用户可以不用再为单实例模式类和属性文件解析等比较底层的需求浪费大量精力,可以把注意力放在上层的应用中。(2)AOP 编程的支持AOP 的意思是面向切面编程。Spring 通过自己本身的 AOP功能,方便对程序进行面向切面的编程,这样就很好地解决了用传统 OOP 不容易实现的功能的开发问题8。(3)声明式事务的支持Spring 本身提供了声明式的事务管理 Transaction,可以在软件运行过程中出现异常时做数据回滚操作,防止出现一部分操作成功,另一部分操作不成功的现象,从而对安全性方面有了更好的保障。也为我们省去了很多繁琐单调的失误管理代码,这样不仅能灵活的管理事务,对开发的效率和质量也有了很大的提高。(4)方便程序的测试Spring 提供了一种不用依赖容器基本上就可以完成所有测试工作的编程方式,让你在写完代码后轻轻松松的做测试工作,不必再为高昂的测试费用担心。(5)方便集成各种优秀框架Spring 之所以成为目前非常流行的 java 框架之一,和其本身对很多优秀开源框架提供支持离不开关系,像 Struts2、Hibernate、Mybatis等优秀的框架可以直接在 Spring 上直接用,兼容性也做得相当的不错,这也是越来越多的人使用它的原因之一。(6)方便使用 Java EE APIJDBC、JavaMail 等 API 的使用比较繁琐和复杂,而Spring 对他们都做了一个简单的封装,使我们用起来更加的得心应手。(7)源码可学Java 是当初 SUN 公司以大手笔设计的编程语言,Spring 源码的设计也是相当的精妙,是优秀程序员智慧的浓缩和对 java 语言深深的造诣。很多如果你想在短时间提升自己对 Java 技术的掌握和应用水平,可以尝试一下 Spring 的源码,一定能收到意想不到的效果。(8)轻量从大小与开销两方面而言 Spring 都是轻量的。整个 Spring 框架浓缩在一个大小只有 1MB 多的 JAR 包里。而且 Spring 所需要的处理开销也是很小的。另外,Spring 对代码的侵入性非常小:简单的说,Spring 所开发的应用中的对象不依赖于 Spring 本身的特定类。Spring 的这些特征可以使你编写的代码更加的干净、更可管理性及易于测试。同时它们为 Spring 应用中的模块提供了基础且必要的支持。2.3 Spring 技术技术Spring(1)核心容器:核心容器提供 Spring 框架的基本功能。由工厂模式实现的BeanFactory 组件使用 IOC 讲程序的配置和实际应用的程序源代码分开9。(2)SpringContext:Spring 上下文,我们可以在里面配置数据库连接池,开启注解扫描,配置统一的异常处理,权限拦截检查等,它是一个 XML 格式的 Spring 框架配置文件,为 Spring 框架提供它所需要的信息。(3)Spring AOP:通过面向切面的配置管理,Spring 框架本身自带了面向切面的编程功能。不用再依赖 EJB 或者其他的组件,就可以进行声明式的事务管理。(4)Spring DAO:Spring 在数据持久化层为我们提供了有意义的异常层次结构,使用它可以轻松的处理异常以及针对不同数据库抛出的异常信息。它简化了对错误的处理,而且使我们需要编写的关于异常代码量大为减少,像是常用的打开关闭连接数据库。(5)Spring ORM:对象关系映射,Spring 支持了大多数的 ORM 框架,比如现在很流行的 Hibernate 和 Mybatis 等,从而对持久化层的访问变得更加简洁。MVCMVC 模式是一种非常常见的软件设计模式。它把软件系统分为三个层次清晰的部分:模型(Model),视图(View)和控制器(Controller)。M 是数据模型,V 是指用户界面,C 是控制层。MVC 就是要把 M 和 V 层做到代码的分层,可以是一个程序有着不同的表现形式。(1)模型(Model)“数据模型”(Model),表示数据和业务规则。它拥有 MVC三个部件中最多的任务处理,可以处理数据库。M 层与具体的数据格式无关,而且它可以为多个视图提供数据,我们所写的代码可以重复多次被不同的视图使用,大大减少了代码的重复性。(2)视图(View)视图简单的来说就是用户看到并且在上面操作的界面,主要由HTML,CSS,JSP,JavaScript,Ajax 等技术来实现。视图中并没有真正意义上程序上的逻辑,它仅仅只是一种输出数据并允许用户操作的方式而已。视图上需要对返回的数据实现刷新,就需要访问 M 层,先在被它监听的数据那里注册就可以了。(3)控制层(Controller)完成对用户的输入的接收并且调用 M 层和 V 层去完成用户的需求。当用户在页面上点击链接或者是提交表单时,控制器本身是不做处理的,它所做的是对接收到的请求判断并决定哪个模型构件去处理这个请求,并且决定用哪个视图去显示返回来的数据。2.4 web 前端技术前端技术2.4.1AjaxAJAX 就是异步 JS 和 XML 技术的综合,它是一种用于创建快速动态网页,实现无需页面整体刷新就可以对部分网页进行更新的技术10,Ajax 通过在后台与服务器进行少量的数据交换,实现对网页局部更新,不仅减轻了服务器压力,也减轻了宽带的负担,最重要的是给用户一个更好的体验,所以现在是一种很流行的技术。JqueryJquery 相较之前流行的 JS 框架 Prototype 相比来说更加优秀。可以说 Jquery 是一个轻量级的 JS 库,也可以说它是一个插件,它兼容 CSS3 和各种浏览器。它里面封装了很多基本并且常用的 JS 方法,通常我们只需要在对 HTML 中的元素定义一个 ID就可以很方便的操纵页面11。而且它的官方文档说的很全很详细,对各种应用说的也很详细,它的方法通常是以一个很醒目的$符开始,而且它非常的稳定。由于 Jquery的好使好用,以至于它流行到如果你做一个页面不用到它,就好像错过了什么,或者是落后了的感觉。2.5 数据库数据库MySQLMySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQLAB 公司。在2008 年 1 月 16 号被 Sun 公司收购12(1)使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性(2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统(3)为多种编程语言提供了 API。这些编程语言包括 C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。(4)支持多线程,充分利用 CPU 资源(5)优化的 SQL 查询算法,有效地提高查询速度(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持13,常见的编码如中文的 GB2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名(7)提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径(8)提供用于管理、检查、优化数据库操作的管理工具(9)可以处理拥有上千万条记录的大型数据库与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限(MySQL Cluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大 降 低 总 体 拥 有 成 本。目 前 Internet 上 流 行 的 网 站 构 架 方 式 是 LAMP(Linux+Apache+MySQL+PHP)14,即使用 Linux 作为操作系统,Apache 作为 Web服务器,MySQL 作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统15。可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQLAdministrator和MySQL Query Browser。phpMyAdmin 是由 php 写成的 MySQL 资料库系统管理程式,让管理者可用 Web界面管理 MySQL 资料库。phpMyBackupPro 也是由 PHP 写成的,可以透过 Web 介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。另外,还 有 其 他 的 GUI 管 理 工 具,例 如 早 先 的 mysql-front 以 及 ems mysqlmanager,navicat 等等。MybatisMyBatis 刚开始是 Apache 组织的一开源项目,名为 IBatis,在 2010 年迁移到了Google Code16,并改名为 Mybaits。它最初侧重于软件密码的开发,现在是一个基于JAVA 的持久化层框架,是一种“半自动化”的 ORM 实现,作为“全自动”ORM 实现的一种补充,它的出现显得别具意义17。MyBatis 使用简单,可以使 SQL 语句与程序代码分离,减少了代码量,架构级性能比较强,可以简化项目中的分工,增强了移植性,不方便的地方就是 SQL 语句需要自己写,而且只能带一个参数,但是我们可以用 MAP 的方式解决它。总体来说 MyBatis 是一个轻量出色的数据持久层框架。2.6 本章小结本章小结本章首先对框架开发模式进行了分析,然后介绍了系统开发过程中的主要技术包括基于 ORM 的 mybatis 框架,前端开发用到的 ajax 以及 jQuery,服务端的 jsp 技术等等,最后介绍了 MySQL 数据库的相关知识。3 系统需求分析系统需求分析软件需求分析是软件开发过程中一个十分重要的步骤,只有把需求和业务搞清楚,发开软件才能事半功倍,软件执行起来效率也更高。软件需求分析通过对项目的风险、必要的投资、未来的效益进行分析和评估,来为系统开发人员的实施工作提供依据。为保障开发一个适合某高校的公寓管理系统,需要对需求进行充分的分析,这里采用了对公寓相关人员进行调研(包括宿舍管理人员和作为宿舍主体的学生)的方法进行需求分析。3.1 可行性分析可行性分析可行性分析是通过对项目的主要内容和配套条件,对项目进行初步调查后,针对新系统的开发是否具备必要性与可能性所进行的分析和研究,为了保证可行性研究工作的科学性、客观性和公正性,有效地防止错误和遗漏,对系统是否进行进一步的开发具有重要的参考作用。(1)目标可行性,本系统的设计目标就是利用互联网网络环境来构建高校大学生公寓管理者与学生之间的沟通平台,为管理人员提供一套方便易用的信息管理系统,为学生提供一套信息查询系统,在 Web 服务器上利用现在常用的 JSP 和 MySQL技术来实现基于 Web 的高校学生公寓信息管理系统。(2)技术可行性,本系统使用了当前主流的 Java 语言进行开发、页面使用 JSP技术,使用 MySQL 数据库进行数据管理,SpringMVC 框架以及 MyBatista ORM 框架服务端技术,以及 JQuery,Ajax,Javascript 等前端技术进行系统开发。考虑到 Java和 JSP 开发技术非常成熟,MySQL 数据库的稳定,因此系统的软件开发方面可行。硬件方面,当前早已经处于硬件技术过生的时代,硬件的发展完全可以满足系统的正常运行。(3)经济可行性,本文采用的开发环境,即 Spring+JSP 组合均属于开源软件,所以其产生的费用则是微乎其微,MySQL 数据库也是完全免费好用的小中型系统常用数据库,Tomcat 服务器也是免费使用的,故本系统在经济上是可行的。(4)组织和数据可行性,学校掌握有学生信息以及管理机构和专门的负责人,可以保证系统运行有足够的数据支持。(5)社会可行性,随着社会的发展和互联网的普及,高校是科技和信息的前端阵地在系统用户的使用及操作上没有问题。(6)风险评估,通过对技术风险、经济风险、法律风险等风险因素进行研究调查,发现本系统完全规避以上风险,为学校公寓管理人员和学生之间的交流建立了一座桥梁,既方便了管理员进行学生信息管理又能方便学生反馈和解决问题。总之,此系统开发目标明确,在以上技术、经济和数据等方面都具有可行性。因此,系统的开发是完全可行的。3.2 业务流程分析业务流程分析系统业务流程是实际需求为依据。系统的设计以学生查看基本信息反馈问题,管理员查看和处理学生问题为目的,信息管理这个大需求之下主要流程又分以下几个:(1)物品损坏报修:如图 3-1图 3-1物品损坏报修流程(2)发布公告:如图 3-2图 3-2公告发布流程管理员查看报修信息通知维修人员维修学生添加报修信息添加公告信息用户登录时候查看信息发布(3)访客记录:如图 3-3图 3-3访客登记流程3.3 功能需求分析功能需求分析根据高校学生公寓管理系统总体业务流程分析,本文主要涉及的用户角色有:大学生用户与普通公寓管理员用户,超级管理员用户。本文从不同用户的角度来分析其功能需求。学生需求学生需求学生用户主要包括以下主要功能:(1)查看宿舍公告信息。(2)查看宿舍及宿舍人员基本信息。(3)个人信息更新。(4)个人密码修改。(5)宿舍损坏物品报修。普通管理员需求普通管理员需求对于普通管理员来说,其主要有以下功能:(1)宿舍信息管理包括宿舍信息的增删改查。(2)学生信息管理包括学生信息的增删改查,学生密码重置等(3)宿舍卫生信息管理包括宿舍卫生信息的增删改查。(4)公告管理,包含宿舍公告信息的增加及决定是否发布。(5)访客信息管理包括信息录入查看及删除。(6)报修信息管理,包括报修信息信息的增删改查。(7)个人信息维护。访客被访者提供信息信息录入管理员查看管理信息(8)个人密码修改。超级管理员需求超级管理员需求对于普通管理员来说,其主要有以下功能:(1)公寓楼管理。(2)普通管理员管理及其他超级管理员信息查看。(3)个人信息维护。(4)个人密码修改。用户登录需求用户登录需求系统用户总共分为三种,学生管理员以及超级管理员,但是登录时候只区分学生和管理员实现功能主要有:(1)根据登录账户自动区分用户类型,区分用户是管理员还是学生,是管理员的话分别进入到不同的用户界面进行相应的操作。(2)用户登录正确性的检查,检查用户登录账户密及对应密码验证码是否正确。(3)用户权限检查。学生只能以学生类型登录,管理员只能以管理员类型进行登录。外部需求外部需求本文设计开发的高校学生公寓管理系统主要考虑的几方面外部因素如下:(1)隐私保护,学生用户信息只能有管理员及相关人员查看。比如,学生只能查看本宿舍的相关信息,包括宿舍信息以及宿舍成员信息。(2)界面良好,系统在注重实用性的基础上尽量将界面进行了一系列美化,另外在功能操作上能够达到见图达意的目的,看到界面就知道是用来做什么操作的。(3)方便实用,操作简单、功能好使好用是保证学生和管理员对该系统的正常使用为前提。系统作为学生进行信息反馈的平台将宿舍的问题通过系统反馈到管理员,管理员对公寓的一切信息进行管理,能够大大方便管理员的工作,提高工作效率。(4)操作友好,系统在出现问题时候,比如插入数据失败或者网络超时等情况能够给用户以响应的提示。(5)可扩展适应性强,可扩展性指系统对新技术和业务需求变化的支持适应能力。系统要在设计架构上上考虑技术和业务的变化带来的系统的改变,要能以尽量少的代价适应变化。性能需求性能需求为使系统安全、快速、正确稳定地响应,在性能方面系统应做到以下几个方面:(1)响应实时性,要求系统能够快速响应,系统响应时间尽量控制在用户可忍受等待的时间内,若超出范围应需给予提示;系统能对用户的操作进行快速的响应,响应时间应控制在合理的时间范围内,若超时应给与提示。(2)正确稳定性,正确稳定性不但要求系统在突发情况下正确执行任务,如网络堵塞出现系统无响应,同时还要保证系统用户所处理的信息数据可靠。(3)安全性,安全性是系统性能中最基本的一个要求,要想受到尽量少的安全威胁,系统应采用较为先进的技术,保证系统能够安全流畅的运行。另外还需保证数据操作的原子性。比如数据操作到一半中间出现错误要能够实现数据的自动回滚以保证数据库数据的安全性和正确性。(4)系统容错性,容错性就是软件在异常情况下自身是否有防护措施或某种灾难性恢复的手段,从而保证系统能正确的运行,是系统软硬件设计中一个十分重要的方面。(5)易于维护性,维护性是指理解、改正、改动、改进软件的难易程度。软件要有易于维护性当系统发生故障时,可以在最短的时间内恢复运行。且要求系统在一年内发生的故障次数应保持在一定范围内。本章对系统在可行性方面,业务流程进行了简单的介绍,对功能需求(学生需求,普通管理员需求,超级管理员需求,用户登录需求,外部需求,性能需求等)进行了详细的分析。4 系统设计系统设计系统设计是软件开发过程中一个十分重要的环节,依据系统的需求分析,全面系统的确定系统所应有的功能,设计出一个符合需求分析的功能要求的实施方案。本章对软件从总体目标、总体设计、系统功能详细设计以及数据库设计这几个方面进行了详细的设计。4.1 系统设计目标系统设计目标基于 Web 的高校学生公寓信息管理系统服务平台设计是以更好地服务高校学生以及宿舍管理人员为目标,为了使学生和管理员能够更好的沟通,使公寓管理人员的工作压力得以减轻,为宿舍信息的管理提供方便,因此系统应该具备以下方面的特点:(1)因为系统涉及学生,普通管理员,超级管理员多种用户角色,所以必须要有良好处理逻辑来保证用户正确进入到对应的操作界面,简单的操作界面,方便的导航系统,使各种用户易于操作,便于管理自己的各种资料信息。(2)针对学生和宿舍管理人员的交流,系统必须保证拥两者之间有明显的交流途径,方便二者沟通及问题解决。(3)为了方便管理,系统要具有良好的后台管理功能,方便后台管理者对各类用户信息进行增删改等操作。(4)为了更好的方便管理员的对宿舍各类信息的管理,对各类信息的管理必须有较为合理的搜索及分页等功能。(5)新系统的设计保证能跟学校的其他系统进行良好的对接,需要良好的对外接口,方便各系统的对接和数据共享。(6)界面需要简洁而不失美观,力求达到让使用系统的用户能够在操作系统时候能够赏心悦目的进行操作。4.2 系统总体设计系统总体设计系统软件架构系统软件架构本系统采用 B/S 模式,以 Spring+Tomcat+MySQL+JSP 作为开发环境,使用DIV+CSS 实现页面布局,运用 JavaScript、JQuery、Ajax 等技术实现前端界面交互,应用 SpringMVC+Mybaits 进行后台 MVC 分层编程,系统采用当前最流行的 java 开发语言进行开发,系统的软件架构图 如图 4-1 所示。图 4-1系统软件架构图子系统划分子系统划分本系统的用户分为三种:(1)超级管理员,超级管理员拥有最高的系统权限,可以对公寓楼进行管理,包括添加,修改,删除,以及将公寓楼分配给某个管理员进行管理,以及查看各公寓楼情况等。(2)普通管理员,普通管理员对所负责公寓及其楼内一切拥有最高权限,可以进行宿舍的管理,包括添加,修改,删除等,对本公寓楼的来访信息管理,宿舍卫生情况管理,本公寓楼公告管理,本宿舍楼学生管理,本宿舍楼报修情况管理等操作。(3)学生,学生也是本系统的用户,可以查看公告,查看本宿舍物品以及舍员信息,可以提交宿舍需要维修的信息,可以提交学生对学校对公寓的管理意见及建议。根据不同的用户划分了三个不同的子系统,分别为学生子系统,管理员子系统,超级管理员子系统分别实现不同用户对应需求的操作。子系统划分结构图子系统划分结构图(1)不同用户登录流程如图 4-2:HTMLCSSAjaxWeb 浏览器MySQLjspTomcatjavascriptJquery图 4-2登录流程图(2)学生用户登录之后的子系统结构图,如图 4-3图 4-3学生子系统结构图(3)普通管理员用户登录之后进入的普通管理员子系统,如图 4-4图 4-4普通管理员用户功能模块结构图(4)超级管理员登录之后进入的子系统:如图 4-5图 4-5超级管理员子用户操作功能结构图4.3 系统功能详细设计系统功能详细设计学生子系统详细设计学生子系统详细设计(1)登录模块。此功能模块包括学生登录和前台数据的初始化。学生用户可以在前台用自己的学号和密码登录,并一次性把学生相关的信息一次性发生到前台页面,方便学生用户随时随地查看与自己相关的信息而不用每次都与服务器交互。(2)查看公告。学生用户可以在前台查看管理员发布的公告,按时间的升序排序。(3)报修申请。学生用户可以在此模块中完成寝室物品的报修,提交信息包括寝室号、报修物品、报修描述、报修人联系方式。这样可以方便后台管理员根据情况安排维修人员进行维修。(4)个人信息维护。学生可以查看自己的信息,修改自己的一部分基本信息。超级管理员子系统详细设计超级管理员子系统详细设计(1)公寓楼管理可以查看以及修改所负责宿舍楼的学生以及宿舍情况。(2)个人信息维护可以修改一些个人信息以及登录密码等。(3)普通管理员管理超级管理员可以对普通管理员信息进行添加以及维护。(4)所有普通管理员能操作的超级管理员都有权限普通管理员子系统详细设计普通管理员子系统详细设计(1)宿舍分配(按班级)管理员在数据初始化后根据实际情况对学生进行寝室的分配,按具体班级分配,比如计算机学院、2011 级、物联网工程专业学生统一分配寝室。(2)宿舍分配(按个人)管理员在数据初始化后根据实际情况对学生进行寝室的分配,按具体个人学号分配,比如学号为 541107090190 的学生进行分配寝室。(3)学生调寝当学生 A 已经分配到了宿舍 1 可以将其调到宿舍 2.(4)报修管理根据前台同学提交上来的报修信息进行列表查看和查询指定的报修信息,然后安排人员进行维修,然后更改报修记录的状态。(5)来访登记信息维护根据所负责宿舍楼的来访情况进行来访人员以及被访问人员的信息登记以及信息维护。(6)学生信息维护可以查看以及维护所负责宿舍楼的学生基本信息,并对学生信息进行维护和更新。(7)公告发布及管理可以对学生发布一些学校的需要学生知悉的公告信息,以及对学生的温馨关怀和提醒等等。4.4 数据库设计数据库设计数据库设计是根据系统需求规划和结构化数据库中的数据对象以及这些对象之间关系的过程,是信息系统开发的重要组成部分。对于一个菜鸟要进行数据库的设计苦于肚里无货只好从强大的百度文库中搜寻需要的知识,首先是确定需求如何进行数据库的表的设计。因此系统数据库的设计也是一个循序渐进的探索过程。数据库设计原则数据库设计原则数据库结构设计的好坏,直接影响到高校学生公寓信息管理系统的性能,代码开发的效率也对数据库管理系统的安全性与故障恢复难易程度有极大的影响。因此,为保证本文系统数据库设计更为合理,其设计应遵循以下几项原则:(1)便于数据管理如果是想省事的话本系统数据库的设计完全可以用一张数据表记录所有的数据但是,为了方便数据管理,和数据库数据安全性因此将数据尽可能多的分不到多张数据表中。(2)易于程序调试数据库表设计的合理与否直接影响到程序的开发效率,表的设计不仅要考虑需求还要考虑代码功能代码的实现的简易程度。(3)利于数据恢复鸡蛋要放在多个篮子中这样才能在发生意外时候尽可能降低损失,同样的数据库中的数据就相当于鸡蛋,而数据库表就是装这些鸡蛋的篮子,因此将数据分布于多张表中有利于意外发生时候数据恢复。另外建立日志表也能够在数据库数据出现问题的时候对数据进行恢复。概念设计概念设计信息管理系统的最重要的部分是数据操作和处理,为满足用户的实际需求,本文需要将高校学生公寓信息管理系统的数据模型抽象出来。而 E-R 图(即实体-联系图,Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述和现实的概念模型。任何一个信息管理系统都是为具体的用户服务的,系统中的各种用户及其之间的联系构成了系统数据库设计的建模基础。在本文系统中,主要存在三种用户角色,分别为学生、宿舍管理员,其中管理员又分为普通管理员和超级管理员。除去以上各用户外,本系统还有很多实体,现将几个主要的实体在下面做具体介绍。管理员管理员的主要作用是对公寓信息进行管理,该实体主要包括管理员账户,管理员姓名,管理员,所负责公寓号,登录账户,登录密码,管理员类型,创建时间登,如图 4-6图 4-6管理员 E-R 图管理员id名字负责公寓号登录账户密码管理员类型创建时间公寓楼,公寓楼实体主要包括公寓楼编号,公寓楼名字,对应负责人编号,房间总数,创建时间,如图 4-7图 4-7公寓楼 E-R 图学生,学生可以进行本宿舍信息查看以及个人信息维护,公告查看,添加报修信息等操作,学生实体主要属性有:学号(登陆账号),密码,姓名,性别,年龄,学制,入住时间,所在班级编号等如图 4-8 为学生实体的 E-R 图:图 4-8学生 E-R 图宿舍,宿舍实体主要包括的属性有:房间号,所属公寓楼编号,所属班级编号,可住人数,已住人数,宿舍类型,是否注满,如图 4-9公寓楼楼编号负责人编号创建时间房间总数楼名学生学号(账号)密码姓名性别年龄学制班级编号入住时间图 4-9宿舍 E-R 图班级,班级实体包含的属性有:班级编号,班级名字,学院名字,负责人,负责人,如图 4-10:图 4-10班级 E-R 图床位,床位实体包含属性主要有:床位号,所属宿舍号,所属公寓号,状态,学生号,如图 4-11:图 4-11床位 E-R 图宿舍房间号公寓楼号班级编号可住人数已住人数宿舍类型是否注满班级班级编号班级名字学院名字负责人负责人床位床位号公寓号学生号状态宿舍号宿舍财物报修登记,财物报修是学生用户可以将宿舍物品损坏的情况通过本系统将待修物品信息报到管理员处进行处理,让宿管安排维修人员进行维修。主要属性有:报修内容,公寓号,宿舍号,报修时间,报修人,维修时间,维修人,修复状态。如图 4-12:图 4-12报修信息 E-R 图来访信息,来访信息主要为登记学生被校内或校外人员的访问情况,主要属性有:公寓号,来访者,来访者,来访时间,被访者,被访者学号,访客关系,如图 4-13:图 4-13来访信息 E-R 图卫生信息,宿舍卫生信息由检查人员先将数据统计然后交由宿舍管理人员进行信息录入,管理人员可根据宿舍卫生情况对优秀宿舍进行公示表扬,卫生信息包含的属性主要有:公寓号,房间号,得分,扣分原因,卫生检查时间,检查人姓名,报修信息报修内容公寓号宿舍号报修时间报修人维修时间维修人修复状态公寓号来访者来访者被访者被访者学号来访时间访客关系来访信息如图 4-14:图 4-14卫生信息 E-R 图公告信息,公告主要是管理员发布一些对学生的温馨提示或者是对宿舍卫生检查情况进行公示时候使用,主要属性有:公告内容,发布时间,发布人,发布状态,以下图 4.15:图 4-15公告信息 E-R逻辑设计逻辑设计在数据库进行了概念结构设计之后,紧接着就需要将数据库概念结构转换为数据库系统所支持的实际数据模型,也就是所谓的数据库的逻辑结构。而数据库逻辑设计正是包括所需的实体和关系、实体规范化等工作。由于篇幅限制,本节只列出本系统几个比较重要的数据表。(1)管理员信息表(t_admin_info)如表 4-1:卫生信息报修内容报修内容报修内容报修内容报修内容报修内容公告信息公告内容发布人发布时间发布状态表表 4-14-1管理员信息表管理员信息表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键2管理员编号admin_novarchar3否唯一3姓名namevarchar20是4负责公寓号apart_novarchar20是5管理员mobile_novarchar156登陆账号login_novarchar157密码pwdvarchar158管理员类型admin_typevarchar19创建时间creatimevarchar5010备注ext_notevarchar500(2)床位信息表(t_apartment_info)如表 4-2:表表 4-2床位信息表床位信息表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键2公寓姓名namevarchar30是3公寓号apart_novarchar2否唯一4创建时间creatimevarchar50是5备注ext_notevarchar200是6房间总数total_roomsvarchar3是7负责人编号charger_novarchar3是(3)宿舍信息表(t_room_info)如表 4-3:表表 4-3宿舍信息表宿舍信息表序号中文名字段名数 据 类型长度允许空默认约束1宿舍号room_noint4否主键/12班级编号class_novarchar10是3公寓号apart_novarchar2否主键/24可住人数tolive_numvarchar1是65备注ext_notevarchar200是6已住人数lived_numvarchar1是07满员状态statevarchar1是08宿舍类型room_typevarchar1(4)学生信息表(t_stu_info)如下表 4-4:表表 4-4学生信息表学生信息表序号中文名字段名数 据 类型长度允许空默认约束1自增列idint否主键2班级编号class_novarchar10是3学生号stu_novarchar20否唯一4姓名namevarchar20否5备注ext_notevarchar200是6密码pwdvarchar30否8888887性别sexvarchar1是18年龄agevarchar2是189创建时间creatimevarchar50是10学生类型stu_typevarchar1是411mobile_novarchar15是(5)班级表(t_class_info)如下表 4-5:表表 4-5班级表班级表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键2班级编号class_novarchar10否唯一3班级名字class_namevarchar50是4学院名depart_namevarchar30是5负责人charger_namevarchar20是6负责人charger_telvarchar15是7备注ext_notevarchar200是(6)宿舍卫生表如下表 4-6:表表 4-6宿舍卫生表宿舍卫生表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键2房间号room_novarchar4否3公寓号apart_novarchar2否4得分scoresvarchar2是5扣分原因descore_reasonvarchar100是6检查时间comment_timevarchar50是7评测人comment_namevarchar20是8备注ext_notevarchar200是(7)来访登记表(t_visit_info)如下表 4-7:表表 4-7来访登记表来访登记表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键/12公寓号apart_novarchar2是3来访者visitor_namevarchar20否主键/24来访者visitor_telvarchar15否65来访时间creatimevarchar50是6被访者hoster_namevarchar20否07被访者学号hoster_novarchar20是08访客关系relationvarchar20是9备注ext_notevarchar200是(8)床位信息表(t_bed_info)如下表 4-8:表表 4-8床位信息表床位信息表序号中文名字段名数 据 类型长度允许空默认约束1公寓号apart_noint2否主键/12房间号room_novarchar4否主键/23床位号bed_novarchar1否主键/34学生号stu_novarchar20是唯一5状态statevarchar1是16备注ext_notevarchar200是(9)财物报修登记表(t_sth_fix_info)如下表 4-9:表表 4-9财物报修登记表财物报修登记表序号中文名字段名数 据 类型长度允许空默认约束1自增 ididint否主键2报修内容contentvarchar200否唯一3公寓号apart_novarchar2是4房间号room_novarchar4是5报修时间report_timevarchar50是6报修人reportervarchar20是7维修时间fixed_timevarchar50是8维修人fixervarchar20是9修复状态statevarchar1是10备注ext_notevarchar200是(10)公告表(t_notice_info)如下表 4-10:表表 4-10公告表公告表序号中文名字段名数 据 类型长度
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!