资源描述
基于Web的高校学生公寓信息管理系统的设计与实现
摘 要
高校公寓是每一位在校学生生活、学习、相互交流的重要场所,是透视一个学校文明程度和一个集体精神风貌的窗口。目前部分高校的学生公寓管理基本上还处于人工操作的阶段,效率相对较低,不利于学生问题的反馈和学校对公寓存在问题的及时解决,随着计算机技术和网络技术的日益发展和广泛应用,采用计算机以及网络来管理学生公寓,能够很好的增进宿舍管理人员同公寓学生的交流,掌握好学生的诉求才更好的创建和谐稳定的宿舍环境,因此有着很好的前景。
本文开发的基于B/S模式的高校学生公寓管理系统,使用javascript动态网页制作技术以及Ajax异步交互技术作为主要的前台开发语言,实现前后台的数据交互;后台选用采用SpringMVC+MyBatis作为后台开发框架,MySQL5.5作为数据库服务器。该学生公寓管理系统主要划分了管理员和学生两种权限,实现的功能有学生信息的管理,宿舍信息的管理,宿舍的分配功能等。系统具有界面友好,操作简便的特性。
关键词 公寓管理 /SpringMvc/ MySQL/ 高校
II
The college students apartment information
management system based on Web design and implementation
ABSTRACT
The 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 and spirit of a university. Previous apartments management was still in the stage of manual operation 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 widely used .By using it,it can enhance the communication between students and the supervisor and then it create a harmonious and stable and the supervisor for the students, thus it has big prospects. Student apartment management system based on B/S model development, dynamic web page production techniques and using javascript Ajax asynchronous interaction technology as the main front desk development language, realize Taiwan before and after data interaction; Background to choose the development framework for SpringMVC + MyBatis as the background, MySQL5.5 as the database server. The student apartment management system is mainly divided into the two permissions, administrators and students realize the function of a student information management, dormitory information management, dormitory distribution function, etc. Characteristics of the system has a friendly interface, easy to operate.
KEY WORDS management of apartment, SpringMvc, MySQL ,college
目 录
摘 要 I
ABSTRACT II
目 录 III
1 绪论 1
1.1 研究背景 1
1.2国内外研究现状 2
1.3研究目的及意义 2
1.4论文组织结构 3
2 系统关键技术 4
2.1 Java Web体系结构 4
2.2 SpringFrameWork架构技术 4
2.2.1概述 4
2.2.2特性 4
2.3 Spring技术 5
2.3.1 Spring 5
2.3.2 MVC 6
2.4 web前端技术 6
2.4.1 Ajax 6
2.4.2 Jquery 7
2.5 数据库 7
2.5.1 MySQL 7
2.5.2 Mybatis 8
2.6 本章小结 9
3 系统需求分析 1
3.1 可行性分析 1
3.2 业务流程分析 2
3.3 功能需求分析 3
3.3.1 学生需求 3
3.3.2 普通管理员需求 3
3.3.3 超级管理员需求 4
3.3.4 用户登录需求 4
3.3.5 外部需求 4
3.3.6 性能需求 5
3.4本章小结 5
4 系统设计 6
4.1 系统设计目标 6
4.2 系统总体设计 6
4.2.1 系统软件架构 6
4.2.2 子系统划分 7
4.2.3 子系统划分结构图 7
4.3 系统功能详细设计 10
4.3.1 学生子系统详细设计 10
4.3.2 超级管理员子系统详细设计 10
4.3.3 普通管理员子系统详细设计 10
4.4 数据库设计 11
4.4.1 数据库设计原则 11
4.4.2 概念设计 12
4.4.3 逻辑设计 16
4.5 本章小结 21
5系统实现 22
5.1 各子系统实现 22
5.1.1 学生用户各功能模块的实现 22
5.1.2 普通管理员用户各功能模块的实现 25
5.1.3 超级管理员各功能模块的实现 28
5.2 重点难点实现 30
5.3 本章小结 35
6系统测试 36
6.1 功能测试 36
6.2 性能测试 36
6.3 本章小结 37
7总结展望 38
7.1 本文总结 38
7.1 工作展望 38
致谢 40
参考文献 41
1 绪论
1.1 研究背景
科技在快速发展,给生活的方方面面带来了便利。高校作为科技和信息的前沿阵地也在信息化方面有了许多可喜的进步。但是高校信息化的发展一直不是太热,因此国家提出了建设信息化校园的愿景。在此背景下国内各高校纷纷进行相关技术的研究,在信息及计算机技术发展的并且运用到了生活的各个领域[1],带给人们无尽的方便和便利的基础之上。结合高校公寓管理实际现状以及国内外高校公寓管理信息化和自动化研究现状的前提下对高校公寓管理系统进行研究[2]。许多高校的公寓管理现状是管理人员手动录入学生信息,学生关于宿舍有任何诉求和问题只能到宿舍管理人员处进行沟通,沟通的成本较高,学生的问题反馈了问题解决的较慢或者一直没有反应,究其原因一方面是管理人员每天需要面对的学生太多问题太多管理人员应付不过来,另一方面就是管理人员的不作为,学生问题反馈没有落到自己身上就没什么感觉,问题一拖再拖,设计一个高校公寓管理系统不仅减轻管理人员的工作量和工作压力还能监督管理人员尽快解决学生诉求,创建和谐的宿舍环境。
而当前的现状很不利于管理人员对宿舍以及学生进行管理,不方便学生跟管理人员进行交流急需依靠计算机信息技术应用其中来辅助管理人员工作。另一方面随着计算机信息技术发展应用生活中随处可见计算机辅助人员工作并且大大提高了工作效率,而高校公寓管理也迫切需要这样的一套计算机技术系统进行辅助管理,加之近些年国内高校信息化的推进,关于高校公寓的研究已经出了很多可用成果,并且已经有不少高校将公寓管理系统投入了实用。但是各高校的公寓管理现状不同,高校的公寓信息化管理进程的推进必须结合实际情况因此开发一套适合高校实际情况的公寓管理系统必不可少。另外国外很多高校已经实现了公寓管理的信息化以及国内部分高校实现公寓的信息化管理也说明了实现一个公寓管理系统的可行性。近些年高校公寓管理系统的研究不少,开发和实现是要结合实际情况创造出具有各学校特色的高校公寓管理系统从而解决学校当今公寓管理工作当中的一些问题和提高公寓管理的效率。
目前,虽然高校一直在推进信息化的进程但是公寓信息管理方面总是不太理想。国内高校公寓信息管理普遍还处于手工进行信息记录和管理的情况,效率不高,不仅不方便管理员进行管理而且学生的需求不能得到及时有效的解决,最终会对学生的生活和学习造成较大的影响。因此研究一套适合高校的公寓信息管理系统有很重要的现实意义。
1.2国内外研究现状
学生公寓信息管理方面在国外计算机技术发展相对较早技术也比较先进,加之国外普遍对教育的重视程度较高因此在国外高校学生的公寓信息的管理都已经实现了信息化和自动化,大大提高了高校公寓管理效率,方便了管理人员也方便了学生。
在美国,克莱蒙特大学凯尼斯·格林(Kenneth Green) 教授主持并组织了一项大型科研项目,即“信息化校园计划(CCP)”[3]。该研究采取定性和定量研究相结合的方法,从1990 年到 2002 年期间,针对信息技术在美国多所大学校园里的应用问题进行了详细地调查和深入的研究,并对发展过程中存在的各种问题提出许多合理化建议。该计划是美国高校目前信息化方面最具权威性的研究项目之一(张成洪等 2003a)。调查结果显示,美国大学非常注重信息化规划的制定。同时专家认为学校的信息化发展战略今后要解决的迫切问题是明确 IT 发展目标、防止 IT 人才流失、建立信息化预算模型、课程管理系统和网上教学资源建设等。
在亚洲方面,2002 年,由香港大学与北京大学、新加坡国立大学、美国的 CCP、日本东京大学研究所(National Institute of Multimedia Education)密切合作,在香港大学启动“ACSS”项目,研究调查亚洲地区的 1000 多所大学,这是亚洲方面在高校信
息化建设上最具权威性的研究项目之一[4]。调查结果表明,香港大学对学校短期和中期信息化的需求很明确,并就此作了相应的战略规划。基于网络的远程教育开展不尽如人意,学校当前规划最注重的方面是教学资源获取的便捷性、学生上网的方便性和网络安全性[5]。
得益于这些年国家高校信息化进程的计划推进和国家对校园信息化建设的重视,因此国内高校有不少公寓信息化管理的现有成果,也已经将公寓信息化管理应用到了不少大学校园。无论从技术上还是从需求实现上都已没有太大压力,仅需要结合各学校实际情况进行操作。
1.3研究目的及意义
信息社会的高科技,商品经济化的高效益,使计算机及其应用已普及到经济和社会生活的方方面面。虽然高校是信息和科技的前沿阵地,但是现如今许多高校公寓,依然使用传统的人工手写记录信息的方式效率相对较低,在高校公寓管理还普遍处于人工管理情况的基础上,公寓管理投入了较多的人力资源并且宿舍中各种事务的记录都必须进行手动记录,时间长的话不方便进行信息管理和统计,并且容易造成信息丢失.为了方便公寓管理人员在数据方面的管理,为减轻公寓管理人员的工作量和工作压力,高校公寓管理系统的研究课题应运而生,但是大多情况只是停留在了研究的阶段。很少高校将系统的设计实现应用到公寓管理当中,本系统就是从此角度出发才想要做出一个完整易用的系统将研究变为实现和现实。
结合当今各学校的宿舍管理现状,也为了能全面、准确、有效地管理学生公寓的各种信息而开发与研制的一个系统。其主要作用是快速适应现代化物管水平和解决工作人员繁重而冗长的工作量,方便学校对公寓信息的管理,进一步使公寓的主体人员学生在公寓的各种需求得到有效的满足,解决各种问题从而提供公寓管理人员的管理效率,为学生和公寓管理人员提供一座沟通的桥梁,创建和谐稳定的高校公寓环境,让管理人员管理的舒心,让学生住的舒服。
公寓信息管理系统的实现将使学校学生都得到很大的方便,是校园信息化建设的进一步完善,对建设和谐稳定高效的校园环境产生重大意义。
1.4论文组织结构
论文的组织结构如下:
第一章 绪论,包含研究背景,国内外现状,研究目的及意义等。
第二章 系统相关技术介绍,对系统设计和实现过程中用到的语言、技术、平台、框架进行了介绍,主要阐述了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好像天生就擅长做Web[6],互联网发展到今天,Java语言功不可没。
2.2 SpringFrameWork架构技术
2.2.1概述
Java一个厉害之处就在于它是开源的,很多优秀的程序员以及著名的机构开发出了各种各样免费开源的框架[7],Spring是由Rod Johnson创建,并且当前一个非常流行的开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用JavaBean可以完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅局限于服务器端的开发。从系统简单性、可测试性和轻耦合的角度去看,几乎能使所有的Java应用开发都变的更加简单便捷。
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
2.2.2特性
(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 API JDBC、JavaMail等API的使用比较繁琐和复杂,而Spring对他们都做了一个简单的封装,使我们用起来更加的得心应手。
(7) 源码可学 Java是当初SUN公司以大手笔设计的编程语言,Spring源码的设计也是相当的精妙,是优秀程序员智慧的浓缩和对java语言深深的造诣。很多如果你想在短时间提升自己对Java技术的掌握和应用水平,可以尝试一下Spring的源码,一定能收到意想不到的效果。
(8) 轻量——从大小与开销两方面而言Spring都是轻量的。整个Spring框架浓缩在一个大小只有1MB多的JAR包里。而且Spring所需要的处理开销也是很小的。另外,Spring对代码的侵入性非常小:简单的说,Spring所开发的应用中的对象不依赖于Spring本身的特定类。
Spring的这些特征可以使你编写的代码更加的干净、更可管理性及易于测试。同时它们为Spring应用中的模块提供了基础且必要的支持。
2.3 Spring技术
2.3.1 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等,从而对持久化层的访问变得更加简洁。
2.3.2 MVC
MVC模式是一种非常常见的软件设计模式。它把软件系统分为三个层次清晰的部分:模型(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.1 Ajax
AJAX 就是异步JS和XML技术的综合,它是一种用于创建快速动态网页,实现无需页面整体刷新就可以对部分网页进行更新的技术[10],Ajax通过在后台与服务器进行少量的数据交换,实现对网页局部更新,不仅减轻了服务器压力,也减轻了宽带的负担,最重要的是给用户一个更好的体验,所以现在是一种很流行的技术。
2.4.2 Jquery
Jquery相较之前流行的JS框架Prototype相比来说更加优秀。可以说Jquery是一个轻量级的JS库,也可以说它是一个插件,它兼容CSS3和各种浏览器。它里面封装了很多基本并且常用的JS方法,通常我们只需要在对HTML中的元素定义一个ID就可以很方便的操纵页面[11]。而且它的官方文档说的很全很详细,对各种应用说的也很详细,它的方法通常是以一个很醒目的$符开始,而且它非常的稳定。由于Jquery的好使好用,以至于它流行到如果你做一个页面不用到它,就好像错过了什么,或者是落后了的感觉。
2.5 数据库
2.5.1 MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购[12]。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:
(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],常见的编码如中文的GB 2312、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的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。
phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。
phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。 另外,还有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。
2.5.2 Mybatis
MyBatis刚开始是Apache 组织的一开源项目,名为IBatis,在2010年迁移到了Google Code[16],并改名为Mybaits。它最初侧重于软件密码的开发,现在是一个基于JAVA的持久化层框架,是一种“半自动化”的ORM实现,作为“全自动”ORM实现的一种补充,它的出现显得别具意义[17]。MyBatis使用简单,可以使SQL语句与程序代码分离,减少了代码量,架构级性能比较强,可以简化项目中的分工,增强了移植性,不方便的地方就是SQL语句需要自己写,而且只能带一个参数,但是我们可以用MAP的方式解决它。总体来说MyBatis是一个轻量出色的数据持久层框架。
2.6 本章小结
本章首先对框架开发模式进行了分析,然后介绍了系统开发过程中的主要技术包括基于ORM的mybatis框架,前端开发用到的ajax以及jQuery,服务端的jsp技术等等,最后介绍了MySQL 数据库的相关知识。
40
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 功能需求分析
根据高校学生公寓管理系统总体业务流程分析,本文主要涉及的用户角色有:大学生用户与普通公寓管理员用户,超级管理员用户。本文从不同用户的角度来分析其功能需求。
3.3.1 学生需求
学生用户主要包括以下主要功能:
(1) 查看宿舍公告信息。
(2) 查看宿舍及宿舍人员基本信息。
(3) 个人信息更新。
(4) 个人密码修改。
(5) 宿舍损坏物品报修。
3.3.2 普通管理员需求
对于普通管理员来说,其主要有以下功能:
(1) 宿舍信息管理包括宿舍信息的增删改查。
(2) 学生信息管理包括学生信息的增删改查,学生密码重置等
(3) 宿舍卫生信息管理包括宿舍卫生信息的增删改查。
(4) 公告管理,包含宿舍公告信息的增加及决定是否发布。
(5) 访客信息管理包括信息录入查看及删除。
(6) 报修信息管理,包括报修信息信息的增删改查。
(7) 个人信息维护。
(8) 个人密码修改。
3.3.3 超级管理员需求
对于普通管理员来说,其主要有以下功能:
(1) 公寓楼管理。
(2) 普通管理员管理及其他超级管理员信息查看。
(3) 个人信息维护。
(4) 个人密码修改。
3.3.4 用户登录需求
系统用户总共分为三种,学生管理员以及超级管理员,但是登录时候只区分学生和管理员实现功能主要有:
(1) 根据登录账户自动区分用户类型,区分用户是管理员还是学生,是管理员的话分别进入到不同的用户界面进行相应的操作。
(2) 用户登录正确性的检查,检查用户登录账户密及对应密码验证码是否正确。
(3) 用户权限检查。学生只能以学生类型登录,管理员只能以管理员类型进行登录。
3.3.5 外部需求
本文设计开发的高校学生公寓管理系统主要考虑的几方面外部因素如下:
(1) 隐私保护,学生用户信息只能有管理员及相关人员查看。比如,学生只能查看本宿舍的相关信息,包括宿舍信息以及宿舍成员信息。
(2) 界面良好,系统在注重实用性的基础上尽量将界面进行了一系列美化,另外在功能操作上能够达到见图达意的目的,看到界面就知道是用来做什么操作的。
(3) 方便实用,操作简单、功能好使好用是保证学生和管理员对该系统的正常使用为前提。系统作为学生进行信息反馈的平台将宿舍的问题通过系统反馈到管理员,管理员对公寓的一切信息进行管理,能够大大方便管理员的工作,提高工作效率。
(4) 操作友好,系统在出现问题时候,比如插入数据失败或者网络超时等情况能够给用户以响应的提示。
(5) 可扩展适应性强,可扩展性指系统对新技术和业务需求变化的支持适应能力。系统要在设计架构上上考虑技术和业务的变化带来的系统的改变,要能以尽量少的代价适应变化。
3.3.6 性能需求
为使系统安全、快速、正确稳定地响应,在性能方面系统应做到以下几个方面:
(1) 响应实时性,要求系统能够快速响应,系统响应时间尽量控制在用户可忍受等待的时间内,若超出范围应需给予提示;系统能对用户的操作进行快速的响应,响应时间应控制在合理的时间范围内,若超时应给与提示。
(2) 正确稳定性,正确稳定性不但要求系统在突发情况下正确执行任务,如网络堵塞出现系统无响应,同时还要保证系统用户所处理的信息数据可靠。
(3) 安全性,安全性是系统性能中最基本的一个要求,要想受到尽量少的安全威胁,系统应采用较为先进的技术,保证系统能够安全流畅的运行。另外还需保证数据操作的原子性。比如数据操作到一半中间出现错误要能够实现数据的自动回滚以保证数据库数据的安全性和正确性。
(4) 系统容错性,容错性就是软件在异常情况下自身是否有防护措施或某种灾难性恢复的手段,从而保证系统能正确的运行,是系统软硬件设计中一个十分重要的方面。
(5) 易于维护性,维护性是指理解、改正、改动、改进软件的难易程度。软件要有易于维护性当系统发生故障时,可以在最短的时间内恢复运行。且要求系统在一年内发生的故障次数应保持在一定范围内。
3.4本章小结
本章对系统在可行性方面,业务流程进行了简单的介绍,对功能需求(学生需求,普通管理员需求,超级管理员需求,用户登录需求,外部需求,性能需求等)进行了详细的分析。
4 系统设计
系统设计是软件开发过程中一个十分重要的环节,依据系统的需求分析,全面系统的确定系统所应有的功能,设计出一个符合需求分析的功能要求的实施方案。本章对软件从总体目标、总体设计、系统功能详细设计以及数据库设计这几个方面进行了详细的设计。
4.1 系统设计目标
基于 Web的高校学生公寓信息管理系统服务平台设计是以更好地服务高校学生以及宿舍管理人员为目标,为了使学生和管理员能够更好的沟通,使公寓管理人员的工作压力得以减轻,为宿舍信息的管理提供方便,因此系统应该具备以下方面的特点:
(1)因为系统涉及学生,普通管理员,超级管理员多种用户角色,所以必须要有良好处理逻辑来保证用户正确进入到对应的操作界面,简单的操作界面,方便的导航系统,使各种用户易于操作,便于管理自己的各种资料信息。
(2)针对学生和宿舍管理人员的交流,系统必须保证拥两者之间有明显的交流
途径,方便二者沟通及问题解决。
(3)为了方便管理,系统要具有良好的后台管理功能,方便后台管理者对各类用户信息进行增删改等操作。
(4)为了更好的方便管理员的对宿舍各类信息的管理,对各类信息的管理必须有较为合理的搜索及分页等功能。
(5)新系统的设计保证能跟学校的其他系统进行良好的对接,需要良好的对外接口,方便各系统的对接和数据共享。
(6)界面需要简洁而不失美观,力求达到让使用系统的用户能够在操作系统时候能够赏心悦目的进行操作。
4.2 系统总体设计
4.2.1 系统软件架构
本系统采用B/S模式,以 Spring+Tomcat+MySQL+JSP作为开发环境,使用 DIV+CSS 实现页面布局,运用 JavaScript、JQuery、Ajax 等技术实现前端界面交互,应用 SpringMVC+Mybaits进行后台 MVC分层编程,系统采用当前最流行的java开发语言进行开发,系统的软件架构图 如图4-1 所示。
HTML
CSS
Ajax
Web浏览器
MySQL
jsp
Tomcat
javascript
Jquery
图4-1 系统软件架构图
4.2.2 子系统划分
本系统的用户分为三种:
(1
展开阅读全文