毕业设计 学生宿舍管理系统论文 - 图文

更新时间:2024-05-10 11:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2011届毕业生 毕业论文

题 目: 学生宿舍管理系统 院系名称: 专业班级: 学生姓名: 学 号: 指导教师: 教师职称:

2011年 6 月 3 日

摘 要 当今大学校园内的学生公寓,其数据量大,各种信息管理内容复杂,查询和管理学生信息和校园内的公寓信息等工作由人工完成将是很累的,不仅浪费了许多人力物力资源,而且还很容易出现差错,有一个软件对学生公寓管理不仅节省了人力物力,而且对各种信息的把握和操作也更加方便。 该学生宿舍管理系统主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。管理人员需要做的就是将数据输入到系统的数据库中去。经过分析,本系统运用了MySQL为后台数据库,以eclipse为前端开发工具,系统实现了房间管理、宿舍管理、信息维护、宿舍分配、信息查询等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校大学生宿舍管理。 关键词: 学生宿舍管理 java MySQL数据库 eclipse

I

Title student dormitory Management System Abstract Today's dormitory in the university campus has a large amount of data, and the relation in a variety of information was complex, so query and management of student information or dormitory information will be tired by people. Not only wastes a lot of human and material resources, and very prone to error, there is a software to manage the student dormitory not only save the human and material resources, but to grasp all kinds of information and operation is also more convenient. The dormitory management system including the development prospects of the user interface and the development of database, for the database we need to build a required consistency and integrity, data security database. As for the front-end application development requires the application provides powerful data manipulation features, friendly interface, easy to use and so on. Managers need to do is to enter data into the system's database. After analysis, the system uses MySQL as the backend database, eclipse as the front-end development tools, system management to achieve the room, dormitory management, information maintenance, the assignments, and other necessary information query functions, the operation is simple, friendly interface and stable operation for college students at the university dormitory management. Keywords Student Apartment Management java MySQL Database eclipse II

目 录

1 绪论 ..................................................................... 1 1.1 开发背景与现状 ...................................................... 1 1.2 开发设计的意义 ...................................................... 2 2 开发环境介绍 ............................................................. 4 2.1 开发工具 Eclipse .................................................... 4 2.2 数据库 MySQL ........................................................ 4 2.2.1 MySQL概述 ....................................................... 4 2.2.2 MySQL的特性 ..................................................... 5 2.2.3 MySQL的应用 ..................................................... 5 3 系统需求分析 ............................................................. 6 3.1 功能需求 ............................................................. 6 3.1.1 基本功能需求 ..................................................... 6 3.1.2 功能模块 ......................................................... 6 3.2 性能需求 ............................................................. 7 3.2.1 系统安全性 ....................................................... 7 3.2.2 数据库选择 ....................................................... 7 4 系统设计 ................................................................. 8 4.1 数据库设计 ........................................................... 8 4.1.1 物理设计 ......................................................... 8 4.1.2 E-R模型设计 ..................................................... 8 4.1.3 表/字段及表间关系设计 ........................................... 10 4.2 模块设计 .............................................................. 11

4.2.1 用户管理模块 .................................................... 11 4.2.2 房间管理模块 .................................................... 13 4.2.3 信息维护模块 .................................................... 14 5 系统的编码与实现 ........................................................ 15 5.1 系统的实现平台 ...................................................... 15

5.1.1 系统环境 ........................................................ 15 5.1.2 后台数据库选择及配置 ............................................ 15 5.2 子系统功能模块的实现 ................................................ 16 5.2.1 房间管理模块 .................................................... 16 5.2.2 宿舍管理模块 .................................................... 20 5.2.3 信息查询模块 .................................................... 23 5.2.4 信息维护模块 .................................................... 25

1

5.2.5 系统管理模块 .................................................... 26 5.3 数据库操作的实现 .................................................... 28 5.4 系统测试 ............................................................ 29 5.4.1 系统测试的目的 .................................................. 29 5.4.2 系统的测试环境 .................................................. 30 总 结 ..................................................................... 31 致 谢 ..................................................................... 32 参 考 文 献 ................................................................ 33

2

1 绪论

1.1 开发背景与现状 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了更好管理学生宿舍信息而设计的。

学生宿舍寝室作为学生休息的地方,有许多信息需要处理和管理。现今,有很多学生宿舍都是初步开如使用,甚至尚未使用计算机进行信息处理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于男女生信宿信息都是用人工手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。这就是管理信息系统的开发的基本环境

数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个学生宿舍管理系统,使宿舍管理工作规范化,系统化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。

国内外研究现状和发展趋势综述:在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式, 来实现学生信息的现代化管理,这一技术具有手 工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长, 成本底等。 这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程 中具有一定的竞争优势,也是学校实现

1

科学化,正规化,现代化的重要条件。实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。 随着计算机科学的迅速发展,计算机应用领域的不断扩大,许多性能好,功能齐全,应用面广,兼容性强的应用软件相应推出,可见计算机已经得到了广泛的应用, 几乎各行各业都有关于计算 机的使用, 这使得计算机已成为社会中普遍存在的事物。

由于计算机的使用, 使得人们在于管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。在企业管理,办公自动化等方面得到了普遍应用,受到用户 的广泛欢迎。 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。

目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段, 手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社 会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需 求时,就会有新的技术诞生并取代旧技术。随着计算机的普及,使用微机管理学生宿舍,将会被越来越多的学校采纳,学生宿舍管理系统将会得到越来越普遍的 应用。

1.2 开发设计的意义

随着高校办学规模的扩大,在校学生的学历层次、思想状态、文化水平呈多样化、复杂化趋势,这在很大程度上给学生管理工作带来许多新的问题。随着学生人数的增多,高校学生宿舍管理的信息量日益庞大,账本化的工作模式获取信息慢,查阅困难,准确性差,很难适应高水平。因此,如何为学生提供一个安全、整洁、舒适的生活和学习环境,如何应用现代技术更科学、高效地对学生宿 舍进行管理是各宿舍管理工作者的目标。

在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用 日趋成熟的计算机技术来代替传统的

2

人工模式, 来实现学生信息的现代化管理,这一技术具有手 工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长, 成本底等。 这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程 中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。

为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS(Management Information System)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能。

3

2 开发环境介绍

2.1 开发工具 Eclipse

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

基于Eclipse的应用程序的突出例子是IBM的WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse 、Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

2.2 数据库 MySQL

2.2.1 MySQL概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体

4

拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 2.2.2 MySQL的特性

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 。 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。

3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源 。

5.优化的SQL查询算法,有效地提高查询速度 。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 。 8.提供用于管理、检查、优化数据库操作的管理工具 。 9.可以处理拥有上千万条记录的大型数据库。 2.2.3 MySQL的应用

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入5.1版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

5

3 系统需求分析

学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从宿舍管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的宿舍管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。

学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。本系统采用java作为前台用户界面的开发语言,而后台的数据库采用MySql。

3.1 功能需求

3.1.1 基本功能需求

主要实现的是学生宿舍管理系统,在设计该系统时,应尽可能的贴近用户,便于

用户操作。系统在实现上应该具有如下功能:

1. 系统要求用户输入正确的账号和密码才能进入系统。

2. 系统提供普通用户管理权限,能根据实施情况,增加或者删除多余房间,同时根据现有情况预估房间的需求量。

3. 系统应该提供学生的入住信息的录入,转换宿舍以及退宿舍的信息登记。 4. 系统应提供普通用户的信息查询功能(按多种方式查询)及统计功能。 5. 系统应提供信息维护功能,对学生信息修改,删除。 6. 系统应提供超级管理员增加、删除用户账户的功能。 3.1.2 功能模块

宿舍管理系统主要实现的功能有:房间管理、宿舍管理、信息查询、信息维护等。 功能模块图如图3.1所示:

6

宿舍管理系统 房间管理 宿舍管理 信息查询 信息维护 系统管理 房间录入 房间查询 房间删除 空房预测 办理入住 调换宿舍 办理退宿 房间查询 人员查询 信息统计 学生信息修改 添加用户 修改密码 注销 退出系统 图3.1 宿舍管理系统模块图

3.2 性能需求

3.2.1系统安全性

对于系统为方便学校管理学生宿舍而开发,便于统一管理,设一个超级用户,及几个普通用户(便于输入相关信息)。在登录时,使用用户验证控件,来确认用户是否为合法用户,以保证信息安全。 3.2.2 数据库选择

由于用到的数据表格多,另外考虑到实际情况,学生基本信息的变动,还有员工信息的多少的变化,我选用MySql 作为数据库开发。

7

4 系统设计

4.1 数据库设计

数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。

数据库设计是建立数据库及应用系统的技术,是信息系统开发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。 4.1.1 物理设计

从需求分析可以看出,本系统存在以下几个实体:

学生实体:用于显示学生的属性,包括学生姓名、学生性别、学号、联系方式、宿舍编号、入住日期等

班级实体:用于显示班级的属性,包括班级编号、班级名称、班主任等 宿舍实体:用于显示宿舍的信息,包括房间ID、入住性别、应住人数、实住人数等

用户实体:登录用户的信息,包括用户名、密码和用户权限 4.1.2 E-R模型设计

根据实体设计,可以得到各个实体E-R图和部分子系统E-R图。 (1)学生实体E-R图如图4.1所示。

姓名 性别 身份证 学生 籍贯 学生ID 大学 联系电话

图4.1 学生实体E-R图

8

(2)班级实体E-R图如图4.2所示。

班级 班级ID 班级编号 班级姓名

图4.2 班级实体E-R图

(3)宿舍实体E-R图如图4.3所示。

房间ID 房间号 入住性别 房间 应住人数 实住人数

图4.3 宿舍实体E-R图

(4)用户实体E-R图如图4.4所示。

用户ID 用户名 用户 密码 用户权限

图4.4 用户实体E-R图

9

4.1.3 表/字段及表间关系设计

1. 学生信息表

存储了学生的基本信息。

表4.1 学生信息表

字段名 学生ID 身份证 姓名 性别 籍贯 大学 手机 班级ID 入住日期 住宿费 入住状态 房间ID 数据类型 Char Varchar Char Varchar Varchar Char Date Int Int 数据长度 18 20 2 20 20 11 是否为空 N N N N N N N 1代表已住 0代表离开 N 条件 男或女 Key P_K F_K F_K 2.班级信息表

存储了班级的基本信息。

表4.2 班级信息表

字段名 班级ID 班级号 班级名 类型ID 班主任ID 数据类型 Varchar Varchar 数据长度 15 20 是否为空 N N N N N 条件 P25CJEV3058 P25VSXV4088 Key P_K F_K F_K 3. 宿舍信息表

存储了宿舍的基本信息。

表4.3 宿舍信息表

字段名 房间ID 房间号 入住性别 应住人数 实住人数

10

数据类型 Char Char Int Int 数据长度 6 2 是否为空 N N N 条件 男或女 Key P_K

4. 用户信息表 存储了用户的类型。

表4.4 用户信息表

字段名 用户ID 用户名 密码 用户权限

5. 班主任表

存储了班主任的基本信息。

表4.5 班主任表

字段名 班主任ID 姓名 手机号 性别

数据类型 Varchar Char Char 数据长度 20 11 2 是否为空 N N N N 条件 男或女 Key P_K 数据类型 Varchar Varchar Int 数据长度 20 10 是否为空 N N N N 条件 1代表普通 0代表超级 Key P_K 4.2 模块设计

宿舍管理系统作为公司内部信息平台的一部分,系统的用户信息来源于内部信息平台。用户在内部信息平台单点登录,即可直接访问宿舍管理系统。系统数据库与内部信息平台的后台数据库保持同步,当内部信息平台的用户信息修改后,即可同步信息到本系统数据库。

用户在内部信息平台成功登录后,当访问宿舍管理系统系统时,内部信息平台将用户名等信息传给宿舍管理系统,宿舍管理系统的接口模块将传过来的用户信息进行解析和初始化,得到系统的用户认证和用户角色及权限等信息,从而是实现系统和内部信息平台的登录。 4.2.1 用户管理模块

该模块主要是为管理员登录设计的,在用户登录后进入后台管理页面,如果是普通用户只可以查看一些信息不能修改密码和增加用户,注销用户可以重新登录。超级用户可以修改普通用户密码,增加用户,这是超级用户和普通用户的区别。

11

用户管理流程图如图4.5所示:

用户 后台登陆管理 ERROR 登陆 后台管理 普通用户用户管理 超级用户 普通用户权 超级用户权 NO 修改密修改/增加/删除 注销账号 操作成功 退出 图 4.5 用户管理流程图

12

NO

4.2.2 房间管理模块

该模块主要实现房间管理,包括房间录入,修改,删除和房间预测。 模块图如图4.6所示:

房间管理 房间录入 房间修改 删除房间 房间预测 房间号 可住人数 可住人数 入住性别 房间号 图 4.6 房间管理模块

房间修改功能是修改入住人数,在入住性别已定的情况下,可以改变入住人数。增加或去除床位以改变入住人数。房间修改功能如图4.7所示:

房间修改 显示房间属性 输入房间 提交 增加成功

图 4.7 房间修改流程

13

4.2.3 信息维护模块

该模块实现的功能是修改学生的信息。首先查询到要修改信息的学生,然后修改学生的联系方式,所在班级等。流程图如图4.8所示:

信息维护 学生信息修改 输入学生信息 失败

查询 成功 修改信息 确认 数据处理 取消 结束

图 4.8 信息维护流程

14

5 系统的编码与实现

5.1 系统的实现平台

5.1.1 系统环境 1、系统软件环境 (1)服务端

操作系统:Microsoft Windows XP 数据库系统:MySQL5.0 (2)客户端

操作系统:适用于各种平台 开发工具:Eclipse,Navicat8.0 开发语言:Java 2、系统硬件环境

(1)服务端:CPU:酷睿四核,内存4G,硬盘500G; (2)客户端:Pentium 1.6GHz以上CPU,512MB以上内存; (3)网络配置:百兆模式或以上。 5.1.2 后台数据库选择及配置

本系统决定用MySQL数据库,原因有几下几点:

(1)MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

(2)从自身特性来说:

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。

15

3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源。

5.优化的SQL查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 8.提供用于管理、检查、优化数据库操作的管理工具。 9.可以处理拥有上千万条记录的大型数据库。

5.2 子系统功能模块的实现 宿舍管理系统主界面

图5.1 宿舍管理系统主界面

5.2.1 房间管理模块 一、房间录入

16

图5.2 房间录入界面

代码部分

房间录入界面:DioRoomAdd.java 用到的接口 1、 IRoomAddSe 方法

boolean roomAdd(String room, int number) 2、 IRoomDao 方法

boolean addRoom(String room,int number); 二、房间更改

图5.3 房间更改界面

17

代码部分

房间更改:DioRoomAlt.java 用到的接口 1、 IRoomAltSe 方法

void storeRoomAlt(String oldRoomCode,String personcounts);//保存房间修改 Vector> showRoomNews(String roomcode);//返回房间信息 Object[] roomNumReturn();//返回房间号码与房间内空床数ArrayList roomNumReturn1();//返回房间号码 2、 IRoomDao 方法

Vector> showRoomNews(String roomCode);//显示房间信息并返回 void updateRoom(String oldRoomCode,String personCounts);//修改房间 Object[] getRoomNumber();// 获取房间号码与房间内空床数,并返回ArrayList getRoomNumber1();//获取房间号码 三、房间删除

图5.4 房间删除界面

代码部分

宿舍界面:DioRoomDel.java 用到的借口

18

1、 IRoomDelSe.java

方法 Vector showRoomInfo( ); 返回值: 返回存在房间的房间号码 Void roomDel(String roomCode); 参数:roomCode 房间号码 功能:删除房间 2、

IRoomDao.java

方法 Vector showRoomInfo( ); 返回值: 返回存在房间的房间号码 Void roomDel(String roomCode); 参数: roomCode 房间号码 功能:删除房间 四、 房间预测

图5.5 房间预测界面

代码部分

空房预测:DioRoomForcast.java 用到的接口: 1、 IRoomForcastSe 方法

String forcastRoomTime(String number); ////需要房间个数预测时间 int forcastRoomCount(String date); ////需要时间预测房间个数 2、 IRoomDao;IStudentDao 方法

19

int forcastRoomBed();

ArrayList forcastStudentLeaveTime(); 5.2.2 宿舍管理模块 一、办理住宿

图5.6 办理住宿界面

代码部分

办理住宿界面:DioCheckin.java 用到的接口 1、 ICheckInSe 方法

ArrayList classNameReturn();//获取班级名称

ArrayList roonNumberReturn();//获取房间号码与空床数 boolean studentCheckin(String[] str);//办理入住 2、 IStudentDao

ArrayList getRoomNumber();// 获取房间号码及空床数 ArrayList getClassName();// 获取班级名称 boolean checkinStudent(String[] str);//办理入住 二、调换房间

20

方法 Student selectStudentInAlt(String name);

boolean updateStudent(String oldName,String name, String idCard,String country, String college,String phone , String classname,String sex); 5.2.5 系统管理模块 一、用户添加

图5.13 用户添加界面

代码部分:

用户添加:DioUserAdd.java 用到的接口: 1.、IUserAddSe

方法 boolean addUser(User user); 2、IUserDao

方法 boolean addUser(User user); 二、 用户修改

26

图5.14 用户修改界面

代码部分

用户修改界面:DioUserAlt.java 用到的接口 1. IUserAltSe 方法:

boolean altPasswordUser(String userName,String oldPassWord,String newPassWord); boolean altPasswordUser(String userName,String oldPassWord,String newPassWord); 三、用户删除

图5.15 用户删除界面

代码部分

27

用户删除界面:DioUerDel.java 用到的接口 1、 IUserDelSe 方法

void delUser(String userName);//删除用户

Vector> selectUserName();//获取用户名 2、 IUserDao 方法

void deleteUser(String userName);//删除用户

Vector> selectUserName();//获取用户名

5.3 数据库操作的实现

在系统开发过程中,因为要多处用到对数据库的操作,如果这些操作在每次用到时在每个Java程序中去实现,将非常繁琐,因此,为了简化这些操作,在开发时设计了一个可重用组件:dbConnect.java,把对数据库的操作都封装在dbConnect类中,需要用到时生成对象调用便可[5]。

定义dbConnect类的代码如下:

import java.sql.*;//导入java.sql包中的所有类 public class dbConnect{

private Connection conn = null; //声明Connection对象的实例 public Statement stmt = null;

//声明Statement对象的实例

public ResultSet rs = null; //声明ResultSet对象的实例 private String user=“username”; private String password=““;

private String className=“ com.mysql.jdbc.Driver”; //定义保存数据库驱动的变量

public dbConnect(){ //构造函数 try{

Class.forName(className);

28

}catch(ClassNotFoundException e){

System.out.println (“加载数据库驱动失败!”); e.printStackTrace(); } }

对于数据库的操作通常包括连接数据库、执行查询操作、执行更新操作和关 闭数据库连接等,因此在dbConnect.Java中应设计4个方法,分别是:连接数据库的方法getConnection(),执行查询操作的方法executeQuery(String sql),执行更新操作的方法executeUpdate(String Sql),关闭数据库连接的方法close()。

5.4 系统测试

5.4.1 系统测试的目的

系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。它的任务是尽可能彻底地检查出程序中的错误,提高软件的可靠性,其目的是检验系统“做得怎样?”。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

一个程序并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通软件测试,尽可能多的找出系统中的错误,以便与及时修改。宿舍管理系统是对学生宿舍进行管理的系统,一旦系统无法运行,对学校的宿舍管理带来很多的影响。所以通过软件测试的手段,尽可能排除程序中的错误,已达到程序运行稳定的目的,使学校的工作不会因此受到影响。

29

5.4.2 系统的测试环境

1. 系统测试的性能要求

系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。

本系统运行环境为网络版,在运行时对系统整体性能要有一定的要求,要求:软硬件要求:系统环境winXP+MySQL+eclipse

硬件系统环境P4 2.4、512MB内存、80G硬盘

系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。 2. 测试数据 (1)信息输入

选择几组数据进行添加 修改 删除 等操作 实现其基本功能

(2) 信息查询

信息输入后,通过信息查询,查看结果是否和设计时数据一致,以确认数据的正确性。,

(3) 信息的删除,通过对信息的删除,然后进行信息查询,验证信息是否

已经成功删除。

30

总 结

在一个软件开发过程中,我觉得最重要的是需求分析,软件是给客户来使用的,所以客户就是上帝,如何合理有效地跟客户进行沟通,然后把需求与软件结合起来,最终形成一个确定的需求文档,这是最重要的。这次的设计就在需求方面吃了很大的亏,刚开始由于需求做的不是很细,第一,内容开始的时候太匮乏,功能点太模棱两可,不够详细,规定的不够具体,没有明确要求,从而导致大幅度的修改过一次需求分析,第二,项目的时间安排没有考虑到很周全,测试的时候估计是因为具体实现代码的时候,返工以及磨合的需求太大,导致测试停滞断时间,从而把后期修改BUG的时间占用了一些,差点来不及。第三,想做的功能太多,导致后期抛了几个功能点不做,这也同时是需求分析以及时间安排的不合理问题。最终到了后期才发现这些问题,导致了很多功能都要重新写,花费了很大的功夫,这是这次项目感触最大的,也是收获最多的。

在这次的毕业设计的过程中,更加深入了解了对分层设计思想的认识。从一开始的Dao层到业务逻辑层,然后通过监听器连接到界面上,最终成为一个满足需求的软件,这就是MVC开发模式。虽然一开始感觉到分层很复杂,但是做了几个类后,逐渐有了思路,也进一步加深了对java面向对象概念的认识。在这次项目中,我体会并感受到了一个项目开发的流程,除了在技术上有一定的提高以外,更重要的是形成了分层的思想与面向对象的思想。看着做出的产品,感受到了这两个月来所付出的一切都是值得的!

31

致 谢

毕业设计与论文即将完成之际,回想起开始工作的不知所措,以及调研、调试过程中的多次遇阻,真是说不出的艰辛。幸好,有许多老师、同学的帮助,我才得以调试成功,一次次的改进自己的程序,实现各种功能。正是在这些老师,朋友的帮助下,我才及时纠正了自己的语法错误、逻辑错误、攻克了不少难点。

在此,我首先感谢我的导师。是他在毕业设计之处帮助我分析题目,讲解整个软件的思路,为良好的开端奠定了基础。尤其是在实际设计阶段, 老师多次解答了我的问题和疑惑之处,并在资料上给予我最大的帮助,如果没有老师的指导,我想我的设计是不会那么顺利完成的。所以,再一次感谢老师的指导。

此外,我也要感谢那些给予我信心、帮助的老师、同学、朋友,是他们在程序调试中帮我改正错误,提出合理化的建议,增强程序的功能,借阅各种书籍,没有你们我的程序的进展一定十分缓慢,而且有可能会寸步难行。在这里我要衷心的谢谢你们,谢谢你们在毕业设计中对我的帮助和关怀。

32

参 考 文 献

[1] Cay S.Horstmann、Gary Cornell著,陈浩鹏,王浩等译.Java核心技术.机械工业出版社,2008,12

[2] 耿祥义,张跃平著.Java大学实用教程(第2版).电子工业出版社,2008-5. [3] 裴龙,何大可.Java2 Swing组件设计模式分析[J].计算机应用,2001. [4] 吕校春,李玲莉.基于Swing的Java GUI组件开发.机械工程师,2008(5).

[5] 孙卫琴.Java面向对象编程[M].北京:电子工业出版社,2006. [6] 阎宏.Java与模式[M].北京:电子工业出版社,2002.

[7] 李刚编著. 疯狂Java讲义. 电子工业出版社. 2008-10-1. [8] (美)萨维奇著,陈涓,赵振平译.人民邮电出版社。2007-1-1. [9] 张永常编,电子工业出版社。Java程序设计使用教程。2010-1-1. [10] (美)梁著,万波等译. Java语言程序设计基础篇.机械工业出版社. 2008-6-1.

[11] 刘新等编著. Java开发技术大全. 清华大学出版社. 2009-2-1.

[12] (美)埃克尔 著,陈昊鹏 译. Java编程思想(第4版). 机械工业出版社. 2007-6-1.

[13] (美)梁(Liang,Y.D.)著,王镁等译. Java语言程序设计进阶篇(原书第5版).机械工业出版社.2006-8-1.

[14] (Horstmann)霍斯特曼 (美)C.S.(Cornell)科奈尔G. JAVA2核心技术卷II:高级特性。机械工业出版社.2006-3-1

[15] (美)高斯林(Gosling,J.)等编著,陈宗斌,沈金河译. Java编程规范(第三版).中国电力出版社.2005-7-1.

[16] 杨志茹,温沿书编著,Java入门与实战教程。人民邮电出版社,2010-3-1. [17] David M Geary.Graphic Java 2 Mastering the JFC Volume 2:Swing (3rd Edition)[M].Prentice Hall/Pearson,2000.

[18] Joshua Marinacci,Chris Adamson.SWING HACKS[M].Oreilly,2007. [19] James Elliott.Java Swing(Second Edition)[M]. O’Reilly & Associates,2002.[12].

[20] CayHorstmann,GaryCornell.CoreJava2,Volume1:Fundamentals,6/E.Sun Microsystems,2003.

33

本文来源:https://www.bwwdw.com/article/57rg.html

Top