用Eclipse和MYSQL开发宿舍管理系统.docx
《用Eclipse和MYSQL开发宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《用Eclipse和MYSQL开发宿舍管理系统.docx(31页珍藏版)》请在冰点文库上搜索。
用Eclipse和MYSQL开发宿舍管理系统
第一章绪论
1.开发背景
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了更好管理学生宿舍信息而设计的。
学生宿舍寝室作为学生休息的地方,有许多信息需要处理和管理。
现今,有很多学生宿舍都是初步开如使用,甚至尚未使用计算机进行信息处理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于男女生信宿信息都是用人工手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
这就是管理信息系统的开发的基本环境
数据处理手工操作,工作量大,出错率高,出错后不易更改。
基于这此问题,我认为有必要建立一个学生宿舍管理系统,使宿舍管理工作规范化,系统化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。
国内外研究现状和发展趋势综述:
在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:
效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。
诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,这一技术具有手工管理所无法比拟的优点,如:
检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。
实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。
随着计算机科学的迅速发展,计算机应用领域的不断扩大,许多性能好,功能齐全,应用面广,兼容性强的应用软件相应推出,可见计算机已经得到了广泛的应用,几乎各行各业都有关于计算机的使用,这使得计算机已成为社会中普遍存在的事物。
由于计算机的使用,使得人们在于管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。
在企业管理,办公自动化等方面得到了普遍应用,受到用户的广泛欢迎。
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
随着计算机的普及,使用微机管理学生宿舍,将会被越来越多的学校采纳,学生宿舍管理系统将会得到越来越普遍的应用。
2.开发设计的意义
随着高校办学规模的扩大,在校学生的学历层次、思想状态、文化水平呈多样化、复杂化趋势,这在很大程度上给学生管理工作带来许多新的问题。
随着学生人数的增多,高校学生宿舍管理的信息量日益庞大,账本化的工作模式获取信息慢,查阅困难,准确性差,很难适应高水平。
因此,如何为学生提供一个安全、整洁、舒适的生活和学习环境,如何应用现代技术更科学、高效地对学生宿舍进行管理是各宿舍管理工作者的目标。
在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:
效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。
诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,这一技术具有手工管理所无法比拟的优点,如:
检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。
实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。
为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。
专用系统是一个信息管理系统MIS(ManagementInformationSystem)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能。
第二章开发环境介绍
1.开发工具Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse、Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
2.数据库MySQL
2.1MySQL概述
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.2MySQL的特性
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持多线程,充分利用CPU资源。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
可以处理拥有上千万条记录的大型数据库。
2.3MySQL的应用
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图,事件等)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从宿舍管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的宿舍管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。
学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。
本系统采用java作为前台用户界面的开发语言,而后台的数据库采用MySql。
第三章系统需求分析
1.功能需求
1.1基本功能需求
主要实现的是学生宿舍管理系统,在设计该系统时,应尽可能的贴近用户,便于用户操作。
系统在实现上应该具有如下功能:
(1)系统要求用户输入正确的账号和密码才能进入系统。
(2)系统提供普通用户管理权限,能根据实施情况,增加或者删除多余房间,同时根据现有情况预估房间的需求量。
(3)系统应该提供学生的入住信息的录入,转换宿舍以及退宿舍的信息登记。
图3-1学生信息录入用例图
学生信息包含:
姓名,性别,籍贯,大学,联系电话,身份证号等。
(4)系统应提供普通用户的信息查询功能(按多种方式查询)及统计功能。
(5)系统应提供信息维护功能,对学生信息更新,修改,添加,删除。
图3-2学生修改用例图
学生工作人员:
添加,更新,删除,查询学生信息。
(6)系统应提供超级管理员增加、删除用户账户的功能。
图3-3超级用户管理用例图
超级用户:
添加,更新,删除,查询学生信息,添加,删除学生工作人员信息。
修改学生工作人员权限。
1.2功能模块
宿舍管理系统主要实现的功能有:
房间管理、宿舍管理、信息查询、信息维护等。
功能模块图如图3-2所示:
图3-2宿舍管理系统模块图
2.性能需求
2.1系统安全性
对于系统为方便学校管理学生宿舍而开发,便于统一管理,设一个超级用户,及几个普通用户(便于输入相关信息)。
在登录时,使用用户验证控件,来确认用户是否为合法用户,以保证信息安全。
2.2数据库选择
由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,这里选用MySql作为数据库开发。
第四章系统设计
1.数据库设计
数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
数据库设计是建立数据库及应用系统的技术,是信息系统开发和建议中的核心技术。
由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
1.1物理设计
从需求分析可以看出,本系统存在以下几个实体:
学生实体:
用于显示学生的属性,包括学生姓名、学生性别、学号、联系方式、宿舍编号、入住日期等。
班级实体:
用于显示班级的属性,包括班级编号、班级名称、班主任等。
宿舍实体:
用于显示宿舍的信息,包括房间ID、性别、应住人数、实住人数等。
用户实体:
登录用户的信息,包括用户名、密码和用户权限。
1.2E-R模型设计
根据实体设计,可以得到各个实体E-R图和部分子系统E-R图。
(1)学生实体E-R图如图4-1所示。
图4-1学生实体E-R图
学生实体信息包含:
学生姓名,性别,籍贯,大学,电话,身份证号。
(2)班级实体E-R图如图4-2所示。
图4-2班级实体E-R图
班级信息包含:
班级ID,班级编号,班级名称。
(3)宿舍实体E-R图如图4-3所示。
图4-3宿舍实体E-R图
房间信息包含:
房间ID,房间号,舍员性别,应住人数,实住人数。
(4)用户实体E-R图如图4-4所示。
图4-4用户实体E-R图
用户包含:
用户ID,用户名,密码,权限。
1.3表/字段及表间关系设计
(1).学生信息表
存储了学生的基本信息。
表4-1学生信息表
字段名
数据类型
数据长度
是否为空
条件
Key
学生ID
N
P_K
身份证
Char
18
N
姓名
Varchar
20
N
性别
Char
2
N
男或女
籍贯
Varchar
20
N
大学
Varchar
20
手机
Char
11
班级ID
F_K
入住日期
Date
N
住宿费
Int
N
入住状态
Int
1代表已住
0代表离开
房间ID
N
F_K
(2).班级信息表
存储了班级的基本信息。
表4-2班级信息表
字段名
数据类型
数据长度
是否为空
条件
Key
班级ID
N
P_K
班级号
Varchar
15
N
0<班级号<10
班级名
Varchar
20
N
类型ID
Int
N
1代表先进班
2代表普通班
F_K
班主任ID
N
F_K
(3).宿舍信息表
存储了宿舍的基本信息。
表4-3宿舍信息表
字段名
数据类型
数据长度
是否为空
条件
Key
房间ID
N
P_K
房间号
Char
6
N
入住性别
Char
2
N
男或女
应住人数
Int
实住人数
Int
(4).用户信息表
存储了用户的类型。
表4-4用户信息表
字段名
数据类型
数据长度
是否为空
条件
Key
用户ID
N
P_K
用户名
Varchar
20
N
密码
Varchar
10
N
用户权限
Int
N
1代表普通
0代表超级
(5).班主任表
存储了班主任的基本信息。
表4-5班主任表
字段名
数据类型
数据长度
是否为空
条件
Key
班主任ID
N
P_K
姓名
Varchar
20
N
手机号
Char
11
N
性别
Char
2
N
男或女
2.模块设计
宿舍管理系统作为公司内部信息平台的一部分,系统的用户信息来源于内部信息平台。
用户在内部信息平台单点登录,即可直接访问宿舍管理系统。
系统数据库与内部信息平台的后台数据库保持同步,当内部信息平台的用户信息修改后,即可同步信息到本系统数据库。
用户在内部信息平台成功登录后,当访问宿舍管理系统系统时,内部信息平台将用户名等信息传给宿舍管理系统,宿舍管理系统的接口模块将传过来的用户信息进行解析和初始化,得到系统的用户认证和用户角色及权限等信息,从而是实现系统和内部信息平台的登录。
2.1用户管理模块
该模块主要是为管理员登录设计的,在用户登录后进入后台管理页面,如果是普通用户只可以查看一些信息不能修改密码和增加用户,注销用户可以重新登录。
超级用户可以修改普通用户密码,增加用户,这是超级用户和普通用户的区别。
用户管理流程图如图4-5所示:
图4-5用户管理流程图
2.2房间管理模块
该模块主要实现房间管理,包括房间录入,修改,删除和房间预测。
模块图如图4-6所示:
图4-6房间管理模块图
房间修改功能是修改入住人数,在入住性别已定的情况下,可以改变入住人数。
增加或去除床位以改变入住人数。
房间修改功能如图4-7所示:
图4-7房间修改流程图
2.3信息维护模块
该模块实现的功能是修改学生的信息。
首先查询到要修改信息的学生,然后修改学生的联系方式,所在班级等。
流程图如图4-8所示:
信息维护
学生信息修改
输入学生信息
确认
修改信息
数据处理
查询
结束
取消
失败
成功
图4-8信息维护流程图
第五章系统的编码与实现
1.系统的实现平台
1.1系统环境
系统软件环境:
服务端:
操作系统:
MicrosoftWindowsXP
数据库系统:
MySQL5.0
客户端:
操作系统:
适用于各种平台
开发工具:
Eclipse,Navicat8.0
开发语言:
Java
系统硬件环境
服务端:
CPU:
酷睿四核,内存4G,硬盘500G;
客户端:
Pentium1.6GHz以上CPU,512MB以上内存;
网络配置:
百兆模式或以上。
1.2后台数据库选择及配置
本系统决定用MySQL数据库,原因有几下几点:
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购.目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
从自身特性来说:
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
支持多线程,充分利用CPU资源。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
可以处理拥有上千万条记录的大型数据库。
2.子系统功能模块的实现
2.1房间管理模块
房间录入代码部分
房间录入界面:
DioRoomAdd.java
用到的接口:
IRoomAddSe
方法:
booleanroomAdd(Stringroom,intnumber)
IRoomDao
方法:
booleanaddRoom(Stringroom,intnumber);
房间更改代码部分
房间更改:
DioRoomAlt.java
用到的接口:
IRoomAltSe
方法:
voidstoreRoomAlt(StringoldRoomCode,Stringpersoncounts);//保存房间修改
Vector>showRoomNews(Stringroomcode);//返回房间信息
Object[]roomNumReturn();//返回房间号码与房间内空床数
ArrayListroomNumReturn1();//返回房间号码
IRoomDao
方法:
Vector>showRoomNews(StringroomCode);//显示房间信息并返回
voidupdateRoom(StringoldRoomCode,StringpersonCounts);//修改房间
Object[]getRoomNumber();//获取房间号码与房间内空床数,并返回ArrayListgetRoomNumber1();//获取房间号码
房间删除代码部分
宿舍界面:
DioRoomDel.java
用到的接口:
IRoomDelSe.java
方法:
VectorshowRoomInfo();
返回值:
返回存在房间的房间号码
VoidroomDel(StringroomCode);
参数:
roomCode房间号码
功能:
删除房间
IRoomDao.java
方法:
VectorshowRoomInfo();
返回值:
返回存在房间的房间号码
VoidroomDel(StringroomCode);
参数:
roomCode房间号码
功能:
删除房间
房间预测代码部分
空房预测:
DioRoomForcast.java
用到的接口:
IRoomForcastSe
方法:
StringforcastRoomTime(Stringnumber);////需要房间个数预测时间
intforcastRoomCount(Stringdate);////需要时间预测房间个数
IRoomDao;IStudentDao
方法:
intforcastRoomBed();
ArrayListforcastStudentLeaveTime();
2.2宿舍管理模块
办理住宿代码部分
办理住宿界面:
DioCheckin.java
用到的接口:
ICheckInSe
方法:
ArrayListclassNameReturn();//获取班级名称
ArrayListroonNumberReturn();//获取房间号码与空床数
booleanstudentCheckin(String[]str);//办理入住
IStudentDao:
ArrayListgetRoomNumber();//获取房间号码及空床数
ArrayListgetClassName();//获取班级名称
booleancheckinStudent(String[]str);//办理入住
调换房间用到的接口:
IChangeRoomSe.java
方法:
voidchangeRoom(Strin