高校宿舍管理系统1.docx

上传人:b****7 文档编号:16281643 上传时间:2023-07-12 格式:DOCX 页数:19 大小:66.86KB
下载 相关 举报
高校宿舍管理系统1.docx_第1页
第1页 / 共19页
高校宿舍管理系统1.docx_第2页
第2页 / 共19页
高校宿舍管理系统1.docx_第3页
第3页 / 共19页
高校宿舍管理系统1.docx_第4页
第4页 / 共19页
高校宿舍管理系统1.docx_第5页
第5页 / 共19页
高校宿舍管理系统1.docx_第6页
第6页 / 共19页
高校宿舍管理系统1.docx_第7页
第7页 / 共19页
高校宿舍管理系统1.docx_第8页
第8页 / 共19页
高校宿舍管理系统1.docx_第9页
第9页 / 共19页
高校宿舍管理系统1.docx_第10页
第10页 / 共19页
高校宿舍管理系统1.docx_第11页
第11页 / 共19页
高校宿舍管理系统1.docx_第12页
第12页 / 共19页
高校宿舍管理系统1.docx_第13页
第13页 / 共19页
高校宿舍管理系统1.docx_第14页
第14页 / 共19页
高校宿舍管理系统1.docx_第15页
第15页 / 共19页
高校宿舍管理系统1.docx_第16页
第16页 / 共19页
高校宿舍管理系统1.docx_第17页
第17页 / 共19页
高校宿舍管理系统1.docx_第18页
第18页 / 共19页
高校宿舍管理系统1.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

高校宿舍管理系统1.docx

《高校宿舍管理系统1.docx》由会员分享,可在线阅读,更多相关《高校宿舍管理系统1.docx(19页珍藏版)》请在冰点文库上搜索。

高校宿舍管理系统1.docx

高校宿舍管理系统1

目录

1.1系统开发背景1

1.2国内外发展现状1

1.3本文主要的研究工作2

2系统分析3

2.1业务流程图3

2.2需求分析4

2.3数据库开发技术分析4

2.3.1数据库5

2.3.2数据库管理系统6

2.3.3创建数据库6

3系统总体设计8

3.1设计目标8

3.2模块功能设计8

4系统数据库设计9

4.1数据库设计9

4.2连接数据库13

参考文献16

 

1引言

1.1系统开发背景

在信息化发展的今天,无论是一个公司、企业还是个人,都有庞大数据需要管理。

纯手工管理记录这些纷繁复杂数据的方式已经无法适应社会的发展,实现数据规范化、自动化的信息化管理,是当今企事业单位的必然要求。

学生宿舍管理系统对于一个学校来说是必不可少的组成部分。

目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。

而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。

当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,信息化管理正是适应时代的产物。

21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。

我们针对如此,设计了一套学生宿舍管理系统。

学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。

由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。

这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。

本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。

1.2国内外发展现状

信息管理系统已经逐步成为一个独立的学科分支,它继承了其他众多学科的理论、方法与应用技术,它与信息科学、系统科学、控制理论、运筹学、会计学、统计学、经济学、管理科学、计算机科学有着十分密切的联系。

同时,管理信息系统作为一种应用工具,又广泛地应用于工业、农业、交通、运输、文化、教育、卫生、体育以及各种社会经济活动的信息管理之中,并起着日益重要的作用,显示出强大的生命力。

计算机技术在学校管理中也得到了快速的发展,可是就学校后勤管理来说,计算机的应用就相对的比较单一了。

而在国外,很多学校后勤都有自己独特的技术应用。

由于传统的基于客户机/服务器(C/S)模式的信息管理系统存在着诸多缺点,因此把传统的基于C/S模式管理系统和基于浏览器/服务器(B/S)的优点有机结合,构造一个基于B/S模式的高校宿舍管理系统。

而J2EE应用程序可以是基于WEB方式的,也可以是基于传统方式的[1]。

基于J2EE技术的信息管理系统广泛的应用于各大领域,为当今的信息化管理提供了有力的支持,于是开发一个基于J2EE的高校宿舍管理系统适应了当前的形势。

高校宿舍管理系统的设计是为了提高管理人员的办事效率,为学校的科学发展提供准确及时的数据资料。

1.3本文主要的研究工作

本系统主要采用J2EE技术和SQLServer2000数据库共同实现。

它采用B/S模式开发宿舍管理系统,主要实现对学生信息管理、宿舍设施管理、收费管理以及报表打印等功能。

该系统提供了友好的人机交互界面,用户只需输入一些简单信息,即可完成对整个学生宿舍的信息进行管理。

 

2系统分析

2.1业务流程图

对系统可划分为两层流程图:

第一层流程图:

流程图如图4-1所示:

核对用户名、密码

验证员工用户名、密码

验证管理员用户名、密码

图4-1登录流程图

第二层流程:

3种不同权限的用户进入特定的界面进行各自操作。

以学生用户权限登录,操作流程如图4-2所示:

查询

登录

修改

提交

图4-2学生操作流程图

 

以员工权限登录,操作流程如图4-3所示:

查询

登录

管理

图4-3员工操作流程图

 

以最高管理员权限登录,操作流程如图4-4所示:

查询

登录设置

打印

图4-4管理员操作流程图

2.2需求分析

通过调查,要求系统需要有以下功能;

1、对学生基本情况管理。

2、对学生住宿分配管理。

3、对学生入住管理。

4、对后勤财务管理,例如水电费,并实现打印功能。

5、对后勤员工进行管理。

6、提供学生、员工、管理员的登录管理功能。

2.3数据库开发技术分析

在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。

数据库应用系统开发的目标是建立一个满足用户长期需求的产品。

开发的主要过程为:

理解用户的需求,然后,把它们转变为有效的数据库设计。

把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。

数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。

并且,近年来,随着WorldWideWeb(WWW)的猛增及Internet技术的迅速发展,使得数据库技术成为最热门技术之一。

SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。

SQL语言的主要功能就是同各种数据库建立联系,进行沟通。

按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。

目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer2000,等都采用了SQL语言标准[10]。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。

他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。

它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

SQL同时也是数据库文件格式的扩展名。

SQL语言包含4个部分:

数据定义(DDL)语言(如CREATE,DROP,ALTER等语句),数据操纵(DML)语言(INSERT,UPDATE,DELETE语句),数据查询语言(SELECT语句),数据控制语言(如GRANT,REVOKE,COMMIT,ROLLBACK等语句)。

2.3.1数据库

数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。

它主要包括四个要素:

用户数据、元数据、索引和应用元数据。

用户数据:

目前,大多数主流数据库管理系统把用户数据表示为关系。

现在把关系看作数据表。

表的列包含域或属性,表的行包含对应业务环境中的实体的记录。

并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。

元数据:

数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据[11]。

因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。

这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。

在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。

本文介绍的SQL语言可以同时用于元数据和用户数据。

应用元数据:

存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查索引。

第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。

索引可以用来排序和快速访问数据。

查询和其他形式的查询组件。

并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用源数据存储在数据库中。

然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。

一般来说,数据库开发人员和用户都不直接访问应用源数据,相反,他们通过DBMS中的工具来处理这些数据。

2.3.2数据库管理系统

数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。

DBMS是数据库系统的核心组成部分。

对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。

DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。

根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。

DBMS的特点和功能可以分为三个子系统:

设计工具子系统、运行子系统和DBMS引擎[12]。

设计子系统有一个方便数据库及其应用创建的工具集。

它典型地包含产生表、窗体、查询和报表的工具。

DBMS产品还提供编程语言和对编程语言的接口,运行子系统处理用设计子系统开发的应用组件。

它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等,DBMS引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。

DBMS引擎还涉及事务管理、锁、备份和恢复。

2.3.3创建数据库

数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。

数据库设计时需要根据数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。

数据库中的关系表是二维的,它有如下四个性质[13]:

l在表中的任意一列上,数据项应属于同一个属性,每一列都存放着不同记录的同一属性数据。

2表中所有行都是不相同的,不允许有重复组项出现,每一行都是一个不同的记录。

3在表中,行的顺序无关紧要,每行存的都是记录,先放哪一个都没关系。

4在表中,列的顺序无关紧要,但不能重复。

为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。

3系统总体设计

3.1设计目标

本系统采用JAVA平台,运用JSP、Servlet、JavaBean等J2EE技术组件来开发该系统,为高校后勤工作人员提高更方便有效的管理模式。

具体地讲,就是通过对学生信息、入住情况、收费情况、设施管理等的查询,修改等操作来提高工作效率。

预期达到的目标:

1、后勤人员对学生个人信息的增删查改宿舍的分配等各种操作

2、管理员对后勤人员管理以及各权限的设置

3、对宿舍的财务统计和宿舍设施的管理

4、对系统的维护以及信息安全管理的设置

5、系统最大限度地实现了易安装性、易维护性和易操作性。

6、系统运行稳定、安全可靠。

3.2模块功能设计

高校宿舍管理系统是一个根据高校后勤管理模式来开发的。

主要功能模块包括以下:

学生住宿分配管理模块:

该模块主要功能是实现手工分配学生宿舍的功能。

学生基本情况管理模块:

该模块主要功能是入住的学生基本信息的增删查改等功能。

财务管理模块:

该模块主要功能是实现收费、物品管理和各项报表的编制、打印功能。

后勤管理模块:

该模块主要功能是实现后勤工作人员的管理,对后勤人员设置权限,添加管理员等。

4系统数据库设计

4.1数据库设计

本系统采用SQLServer2000数据库,系统数据库名为高校学生宿舍管理系统,数据库系统中包括8个数据表[15]。

有学生基本信息表、员工基本信息表、楼栋房间表、物品报修登记表、角色表、权限表、收费信息表、来访登记表。

关于数据库中的主要数据表如下:

1、学生基本信息表

学生基本信息表主要用于查看学生信息,其中包括学生学号,用于给学生赋予唯一的编号,便于查找,设为主键,不能重复[16]。

还有姓名、年龄、性别、专业等。

表6-1学生信息表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

学号

varchar

30

外键

姓名

varchar

30

Notnull

性别

int

30

Notnull

籍贯

varchar

30

Notnull

出生年月

datetime

8

Notnull

专业

varchar

30

Notnull

学院

varchar

30

Notnull

联系方式

varchar

30

Notnull

备注

varchar

30

Notnull

2、员工信息表

员工信息表主要用于方便管理员工,其中包括员工编号,,便于查找,设为主键,不能重复。

还有姓名、年龄、性别等。

表6-2员工信息表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

编号

varchar

30

外键

姓名

varchar

30

Notnull

性别

int

30

Notnull

出生年月

datetime

8

Notnull

联系方式

varchar

30

Notnull

3、楼栋房间表

楼栋房间表主要用于方便查询楼栋房间信息,其中包括楼栋号,便于查找,设为主键,不能重复。

还有楼栋号,入住人数等。

表6-3楼栋房间表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

楼栋号

varchar

30

外键

入住人数

varchar

30

Notnull

住宿标准

varchar

30

Notnull

水表底数

varchar

30

Notnull

电表底数

varchar

30

Notnull

电话号码

varchar

30

Notnull

备注

varchar

30

Notnull

4、物品报修登记表

物品报修登记表主要用于登记学生保修情况,对需要维修的宿舍进行及时处理,其中主要包括楼栋号、报修物品,日期,原因等。

表6-4物品保修登记表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

楼栋号

varchar

30

外键

报修物品

varchar

30

Notnull

报修时间

datetime

8

Notnull

保修原因

varchar

30

Notnull

备注

varchar

30

Notnull

5来访登记表

来访登记表主要是登记来访宾客,为管理宿舍的安全工作提供方便。

它主要包括楼栋号、访问人姓名、证件类别、证件号码、来访时间、值班人等。

表6-5来访登记表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

楼栋号

varchar

30

外键

访问人姓名

varchar

30

Notnull

被访人姓名

varchar

30

Notnull

证件类别

varchar

30

Notnull

证件号码

varchar

30

Notnull

来访时间

dadetime

30

Notnull

值班人

varchar

30

Notnull

6角色表

角色表主要是系统分配的3种权限的用户,包括学生用户、员工、管理员。

 

表6-6角色表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID

学生

varchar

30

Notnull

员工

varchar

30

Notnull

管理员

varchar

30

Notnull

权限

int

15

外键

7、权限表

权限表主要设置用户权限,用户类别,它主要包括用户名、密码、权限等

表6-7权限表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID

权限

int

15

Key

用户名

varchar

30

Notnull

密码

varchar

30

Notnull

8、收费信息表

收费信息表主要是对学生入住之后的水电维修等费用进行管理,它主要包括收费标准、收费类别、收费日期等。

表6-8收费信息表

字段名

数据类型

长度

是否主键

描述

ID

int

15

ID号

收费标准

varchar

30

Notnull

收费类别

varchar

30

外键

收费日期

datetime

8

Notnull

缴费状态

int

20

Notnull

4.2连接数据库

JDBC建立Java程序连接到数据库的结构,它看起来很像ODBC,但ODBC是以C语言撰写的,不能直接在Java程序中应用。

JDBC中包含一个JDBC/ODBC的桥接器(bridge),通过该桥接器就可以在Java程序中调用合乎ODBC规格的数据库。

连接过程如图6-5所示:

 

图6-5JDBC连接数据库流程图

连接代码如下:

try

{

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

}

catch(ClassNotFoundExceptionce)

{

System.out.println(“SQLCXCEption:

”+ce.getMessage());

}

try{

Connectioncon=DriverManager.getConnection(“jdbc:

odbc:

houqin”);

}

catch(SQLExceptione)

{

System.out.println(“SQLException:

”+e.getMessage();)

class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

}

载入JDBC/ODBC桥接驱动程序到程序中。

Connectioncon=DriverManagor.getConnection(“jdbc:

odbc:

houqin”);

连接到Microsoft的SQLServer数据库,数据来源名称为houqin的数据库houqin。

Class类别的ferName()方法负责将指定的JDBC/ODBC桥接驱动程序载入到Java程序中,DriverManager类别的getConnection()方法负责与指定的数据来源houqin连接。

取得数据表属性

当使用C送出SQL的select语句后,将会取得一个ResultSet对象rs,通过rs可建立一个ResultSetMetaData对象md,通过md对象可取得md对象中的数据成员或调用md对象中的方法成员:

md.getColumnCount()取得指定数据表的域数

md.getColumnLabel(i)取得第i域名称

md.getColumnDisplaySize(i)取得第i域显示的域数

md.getColumnTypeName(i)取得第i域的类型名称

程序MySqlUtil.java中的printMetaData()方法显示该连接表的一些静态数据,例如每一行共有几域(colCount)、每域名称(colLabel)、每域以几个域(column)表示(colDisplaySize)、每一域的数据类型(colTypeName)等等。

PrintResultSet()方法显示该连接表的一些动态数据,每一域的域名以及该域的内含值。

其代码如下:

packagezc.face;

importjava.io.*;

importjava.sql.*;

classMySqlUnit{

publicstaticStringprintMetaData(ResultSetrs)throwsSQLException

{

ResultSetMetaDatamd=rs.getMetaData();

intcolCount=md.getColumnCount();

StringcolLabel[]=newString[colCount+1];

intcolDisplaySize[]=newint[colCount+1];

StringcolTypeName[]=newString[colCount+1];

System.out.println("databasecolCount="+colCount);

StringBuffersb=newStringBuffer();

for(inti=1;i<=colCount;i++){

colLabel[i]=md.getColumnLabel(i);

colDisplaySize[i]=md.getColumnDisplaySize(i);

colTypeName[i]=md.getColumnTypeName(i);

sb.append("Label:

"+colLabel[i]+"DisplaySize:

"+colDisplaySize[i]+"TypeName:

"+colTypeName[i]+"");

}

returnsb.toString();

}

publicstaticStringprintResultSet(ResultSetrs)throwsIOException,SQLException

{

ResultSetMetaDatamd=rs.getMetaData();

intcolCount=md.getColumnCount();

StringcolLabel[]=newString[colCount+1];

for(inti=1;i<=colCount;i++)

colLabel[i]=md.getColumnLabel(i);

StringBuffersb=newStringBuffer();

while(rs.next()){

for(inti=1;i<=colCount;i++)

sb.append(colLabel[i]+":

"+rs.getObject(i)+"");

sb.append("\r\n

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2