学生公寓管理系统的设计与实现

学生公寓管理系统的设计与实现[java毕业论文下载]

学生公寓管理系统的设计与实现

摘  要

学生公寓是每一位在校学生生活、学习、相互交流的主要场所,如何提供一个良好的学生公寓的管理体系,对学校和同学而言至关重要。以往的学生公寓管理基本上还处于人工操作的阶段,随着计算机技术和网络技术的日益广泛应用,采用计算机以及网络来管理学生公寓,有着很好的前景。

学生公寓管理系统基于B/S模式开发,使用ASP动态网页制作技术作为主要的前台开发语言,实现前后台的数据交互;后台选用SQL Server 2000作为数据库服务器。该学生公寓管理系统主要划分了管理员和学生两种权限,实现的功能有学生信息的管理,宿舍信息的管理,宿舍的分配功能,管理员值班记录,留言板功能等。系统具有界面友好,操作简便的特性。

 

关键词公寓管理;B/S模式;SQL Server 2000

 

 

Design and Implementation of Student Apartment Management System

Abstract

Student apartment is the main place where students live, study and communicate. How to provide a good management system of student apartment is very important not only to school but also to every student. In the past ,management of student apartment is still step in hand operation stage, while with the development of computer and network ,using computer and network as the management tools of student apartment will have good prospect.

This management system is based on B/S mode. ASP dynamic web technology is used as its main development language to achieve data interactivity between foreground and background. SQL Server 2000 is used as a database server in background. The student apartment management system has two authorizations--manager and student. The main functions of the system are management of student information, management of dormitory information ,assignment of dormitory ,duty log of dormitory manager and message board. This system has friendly interface and brief operation.

 

Key words: apartment management;B/S mode;SQL Server 2000

 

 

目  录

论文总页数:19页

 

1 引言 1

1.1 选题背景及目的 1

1.2 本课题研究意义 1

1.3 本课题研究思路和方法 1

1.4 本课题预期结果 1

2 开发平台与语言简介 1

2.1 基于B/S结构的开发 1

2.2 ASP简介 2

2.3 JAVASCRIPT简介 2

2.4 HTML简介 2

2.5 Microsoft SQL Server 2000简介 3

3 学生公寓管理系统设计与实现 3

3.1 总体设计 3

3.2 详细设计 4

3.2.1. 学生信息管理功能 4

3.2.2. 宿舍楼信息管理和宿舍分配 6

3.2.3. 值班信息 10

3.2.4. 留言板 11

3.2.5. 宿舍信息浏览模块 11

3.2.6. 登陆,密码修改和退出 12

3.3 数据库设计 12

3.4 主界面设计 15

结    论 16

参考文献 17

致   谢 18

声   明 19

 

 

引言

1.1 选题背景及目的

学生公寓是每一位在校同学生活、学习、相互交流的主要场所,如何提供一个良好的学生公寓的管理体系对学校和同学而言至关重要。以往的学生公寓管理基本上还处于人工操作的阶段,随着计算机技术和网络技术的日益广泛应用,采用计算机以及网络来管理学生公寓似乎也已经不是一件新鲜事了。本毕业设计的目的主要是为了检查学生综合运用以前所学知识的能力,开发一个多功能的学生公寓管理系统。

1.2 本课题研究意义

为了方便公寓管理人员在数据方面的管理,结合当今各学校的宿舍管理,为了能全面、准确、有效地管理学生公寓的各种信息而开发与研制的一个系统。其主要功能是快速适应现代化物管水平和解决工作人员繁重而冗长的工作量。使得他们在学生公寓的各方面都会达到事半功倍的效果,减轻了人力的负担,方便了数据的存储,增加了安全性。本次毕业设计不仅考查了我综合运用以前所学知识的能力,同时也锻炼了我的实际动手能力,对于我以后工作能力的培养具有重要的意义。

1.3 本课题研究思路和方法

本次毕业设计应首先分析学生公寓管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,选择ASP+ SQL Server 2000进行本毕业设计的开发;以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关设计文挡,为毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,为毕业论文的写作准备材料。

1.4 本课题预期结果

本设计的预期成果是完成一个学生公寓管理系统,从而使学生公寓的管理更加方便有效;提供本毕业设计开发的软件和毕业设计论文。

开发平台与语言简介

2.1 基于B/S结构的开发

由于学生公寓管理系统分布的特性,本系统采用B/S结构,即Brower-Server(浏览器-服务器)架构,B/S 结构是目前最流行的数据库应用模式,它解决了各种分布式应用,扩展了业务范围;在B/S结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理等工作集中用服务器,容易部署和管理。

整个系统使用B/S架构,则在客户端使用标准的Web页面浏览器(如Internet Explorer等),不需安装特殊的应用程序,减少了升级和维护的难度,所有的业务数据都保存在服务器(Server)端,确保了业务的安全;在通讯方面,由于使用的是标准的Http协议,使得系统可以轻松的实现移动管理和分布式管理。

2.2 ASP简介

Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境,ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。ASP程序其实是以扩展名为.asp的纯文本形式存在于WEB服务器上的,你可以用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令。你只需将.asp程序放在WEB服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。

2.3 JAVASCRIPT简介

JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择。JavaScript是一种新的描述语言,它可以被嵌入到HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件(如:form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。

2.4 HTML简介

HTML的英语意思是:Hypertext Marked Language,即超文本标记语言,是一种用来制作超文本文档的简单标记语言。超文本传输协议规定了浏览器在运行HTML文档时所遵循的规则和进行的操作.HTTP协议的制定使浏览器在运行超文本时有了统一的规则和标准.用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台,自1990年以来HTML就一直被用作WWW(是World Wide Web的缩写,也可简写WEB、中文叫做万维网)的信息表示语言,使用HTML语言描述的文件,需要通过WEB浏览器显示出效果。HTML是在SGML定义下的一个描述性语言,或可说HTML是SGML的一个应用程式,HTML不是程式语言,如C++和Java之类,它只是标示语言,基本上你只要明白了各种 标记的用法便算学懂了HTML,HTML的格式非常简单,只是由文字及标记组合而成,编辑方面,任何文字编辑器都可以,只要能将文件另存成ASCII纯文字格式即可,当然以专业的网页编辑软件为佳。

2.5 Microsoft SQL Server 2000简介

Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS, Relational Database Management System)。SQL Server 2000是为了支持高容量的事务处理(比如在线订购录入、存货目录、记账或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 2000 Server上——基于Intel处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的机器上。可以使用相同的CD来安装任何一个SQL Server 2000的服务器版本或个人版本。

学生公寓管理系统设计与实现

3.1 

 
 

总体设计

图3-1系统功能体系图

该学生公寓管理系统主要实现了后勤部门对学校宿舍的管理功能。系统分为管理员模块和学生模块两个部分。

管理员模块实现的功能有:

  • 学生信息管理功能:主要是添加系,专业,班级和学生的具体信息,来创建以班级,专业,系等为单位的学生信息。包括添加,删除和修改功能,还有学生的总体查看和个别查询功能。
  • 宿舍楼信息管理功能:分为宿舍楼信息的添加删除和修改功能:添加修改功能具体实现为每栋楼的楼名,层,房间,床位的添加和修改;删除功能执行一次删除整栋楼。
  • 宿舍楼分配功能:可以手动的调整学生到哪个宿舍,也可以实现自动分配的功能。
  • 交流信息功能:管理员发布一些通知帖子;管理员对学生帖子的回复,删除等管理。
  • 值班信息登记:值班员发布值班时间,人,值班情况,备注等。

学生模块实现的功能有:

  • 学生模块分为信息交流模块:方便大家交流。
  • 宿舍信息浏览模块:可以查看各宿舍的信息。

3.2 详细设计

3.2.1. 

 
 

学生信息管理功能

图3-2学生信息管理功能体系图

  • 院系管理模块

管理员登录后,选择点击“院系管理”的添加模块。可以手动添加一个系名称。系统通过insert语句添加到“系”表中。也可以从列表中手动删除一个系的名称。删除功能要慎用,因为是一个不可逆操作。若选择修改功能,从select下拉列表中选择想要修改的系的名称,在更改为的文本框里输入要更改的名称,点击修改按钮后,通过update语句,重新写入“系”表中,完成修改功能。如果没有选择要修改的系,系统会弹出alert框提示:没有选择主分类名;如果选择要修改的系后没有填写修改的名称,系统会弹出alert框提示:请填写修改后的名称。

  • 专业管理模块

专业管理分为添加和修改两个功能。添加功能里可以添加一个专业,也可以删除一个专业。添加专业时。先要选择系统中已经存在的系,然后在系中添加专业,同时添加专业的届别信息。删除专业时,也是要先选择专业所在的系,在从该系所有的专业列表中选择所要删除的专业名称,点击删除按钮进行删除。修改功能,要先选择所要修该的专业,然后在该专业所有系的列表中选择想要修改的专业和届别,然后手动填写改后的系,专业和届别的信息。点击修改按钮后完成修改。

  • 班级信息的添加

班级管理也分为添加和修改两个功能。实现的功能和原理和院系管理,专业管理一样。

  • 学生管理的添加

学生信息管理有学生信息的添加,查看和学生的查找3个功能。

  • 学生信息的添加要求添加学生的基本信息,包括:姓名,密码(管理员统一设定初始密码),学号,性别,所在系,班级,专业,届别,分配的宿舍楼楼号,楼层,房间号,床位号。所有信息不能为空。

其中学号必须唯一标识一个学生:

if (dolookup("学生","ID","xh='"&xh&"'"))&""<>"" the MessageBox("学生号重复")

性别默认为男。

系,班级,专业和届别我们在已经添加的信息中选择。

宿舍的安排,我们默认每个新添加的学生,都初始给安排一个床位。

在宿舍信息管理模块中,我们已经设置每栋楼属于男生宿舍还是女生宿舍,所以学生的性别和宿舍允许入住的学生性别不能冲突:

if dolookup("寝室楼","sex","id="&BuildNo)<>Sex then

MessageBox("该楼不准入住异性")

在添加学生入住的楼层,房间和床位时,要符合系统中宿舍信息的实际,例如一个宿舍床位号为1-4,则不能给学生安排到5床:

if cint(dolookup("寝室楼","ManPerRoom","id="&BuildNo))<cint(BedNo) then

MessageBox("床位号不对")

GoBack()

Quit

end if

已经有人入住的床位,我们不能再次安排学生:

' BuildNo=Request.Form ("BuildNo")

'StepNO=Request. Form ("StepNO")

'RoomNo=Request. Form ("RoomNo")

'BedNo=Request. Form ("BedNo")

if (dolookup("学生","id","BuildNo="&BuildNo&" and StepNO="&StepNO&" and RoomNo="&RoomNo&" and BedNo="&BedNo)&"")<>"" then

MessageBox("床位好像有人住了...")

当以上所有的条件都满足后,我们才可以向数据库中添加信息:

conn.execute"Insert into 学生(Name,xh,ClassNo,Sex,BuildNo,StepNO,RoomNo,BedNo) values ( '"&Name&"', '"&xh&"', '"&ClassNo&"', '"&Sex&"', '"&BuildNo&"', '"&StepNO&"', '"&RoomNo&"', '"&BedNo&"')"

response.write"<SCRIPT language=JavaScript>alert('添加成功!');"

  • 学生信息的查看

读出全部的学生信息。

  • 学生信息的查找功能为了实现快速查找某个人的功能,可以按照姓名查找,也可以按照学号查找。利用select语句实现。

3.2.2. 

 
 

宿舍楼信息管理和宿舍分配

 

图3-3宿舍楼信息管理分配功能体系图

宿舍楼的添加要包括以下信息:宿舍楼名称,层数和每层楼的房间数,以及房间内的床位数。宿舍楼类型:男或者女。我们在填写完层数和每层的房间数后。系统会自动实现排列房间的名称:如我们设置宿舍楼1栋,层数为2,每层房间数为3,房间床位为4,类型为女,那么系统中就建立起一个女生宿舍1栋,里面1层为101,102,103,二层为201,202,203。删除功能实现的是删除整栋宿舍。

宿舍楼的修改可以重置宿舍楼名称,层数和每层楼的房间数,以及房间内的床位数。宿舍楼类型。

宿舍分配功能为分为自动分配和管理员手动分配两种。

自动分配功能减少了管理员大量的劳动。宿舍分配功能本着相同班级的同学分在相邻的寝室。在一个班级分完后,宿舍没有住满,那么相邻班级的同学补满这个房间后,继续往下分。相同专业,相同系分在相邻宿舍。

代码实现为:

conn.execute "Update 学生 set BuildNo=0,StepNO=0,RoomNo=0,BedNo=0"

SelectBuild

'列举所有房间

Sub SelectBuild ( )

Dim sSql1

sSql1="select * from 寝室楼"

Set myRst=server.createobject ("ADODB.Recordset")

myRst.open sSql1, conn, 1, 1

While not myRst.eof

id=myRst ("ID")

StepCount=myRst ("StepCount")

RoomPerStep=myRst ("RoomPerStep")

ManPerRoom=myRst ("ManPerRoom")

Sex=myRst ("Sex")

For iStep =1 to StepCount

'循环楼层

for iRoom=1 to RoomPerStep

'循环楼房

For iBad=1 to ManPerRoom

'循环 床位

SutendClass ID, iStep, iRoom, iBad, sex

Next

Next

Next

myRst.movenext

Wend

myRst.close

End Sub

Sub SutendClass (BuildNo, StepNO, RoomNo, BedNo, sex)

'列举出所有女学生

Dim sSq

sSq="Select * From 学生 where sex="&sex&" order by  ClassNo desc"

'sSq="select * from 学生 where ClassNo="&sID &" order by sex "

'dp sSq

Set rs=server.createobject ("ADODB.Recordset")

Rs.open sSq, conn, 3, 3

While not rs.eof

if dolookup("学生","BuildNo","id="&Rs("id"))="0" then

if(dolookup("学生","id","BuildNo="&BuildNo&"and StepNO="&StepNO&"andRoomNo="&RoomNo&" and BedNo="&BedNo)&"")="" then

Rs ("BuildNo") =BuildNo

Rs ("StepNO") =StepNO

Rs ("RoomNo") =RoomNo

Rs ("BedNo") =BedNo

rs.update

End if

End if

rs.movenext

wend

rs.Close ()

End sub

手动分配功能:

 

ID

学生名 

学号

性别

所在班级 

寝室信息

- 调整寝室 -

- 清除寝室 -

- 删除 -

11

www

12  

计算机科学系-计算机科学-2007届-12

男生寝室一号楼-楼层:1-房间:1-床位:1

[调整寝室] 

[清除寝室] 

[删除] 

 

图3-4学生宿舍手动分配界面图

手动分配功能主要是为了方便个别同学调整寝室的情况。我们选择“调整寝室”功能后,会要求填写要调整到的宿舍的信息,然后提交后实现调整功能。

如果选择“清除寝室”后,那么在寝室信息一栏中,显示的是暂未分配寝室:

if dolookup("寝室楼","name","id="&rs("BuildNo"))&""="" then

echo "暂未分配寝室"

如果选择“删除”,将删除这个同学的整个信息。

分页和页面跳转功能:

page_start= (pagecount-1)*rs.pagesize

If pagecount=1 then page_start=1

page_end=rs.pagesize*pagecount

If pagecount*rs.pagesize=>rs.recordcount then page_end=rs.recordcount end if%>

共有[<font><%=rs.recordcount%></font>]学生以下是[<font><%=page_start%>~<%=page_end%></font>]</font><a href="adduser.asp" target="mainFrame"> </a></td>

<td height="25" colspan="4" ><% response.write"<form name=go2to form method=Post action='edituser.asp? Key="+key+"'>"

Response. write "<font color=ffffff>◆ </font>"

If pagecount=1 then

response.write "<font class=ver>首页 上一页</font> "

else

response.write "<a href=edituser.asp? page=1&key="+key+"><font class=ver>首页</font></a> "

response.write "<a href=edituser.asp? page="+cstr(pagecount-1)+"&key="+key+"><font color='0000BE'>上一页</font></a> "

End if

If rs.PageCount-pagecount<1 then

response.write "<font class=ver>下一页 尾页</font>"

Else

response.write "<a href=edituser.asp? page="+cstr(pagecount+1)+"&key="+key+"><font class=ver>下一页</font></a> "

response.write "<a href=edituser.asp? page="+cstr(rs.PageCount)+"&key="+key+"><font class=ver>尾页</font></a>"

End if

Response. Write"<font class=ver> 

页次:<font class=ver>"&pagecount&"</font>/"&rs.pagecount&"页</font>"

response.write "<font class=ver> 转到第<input type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; color:#00006A; position: relative; height: 18' value="&PageCount&">页</font>    "

response.write "<input class=button1 type='button' value='确 定' onclick=check()%></td>

3.2.3. 值班信息

图3-5值班管理功能体系图

以往学生公寓的宿舍管理员值班信息都是由管理员记录在本子上。麻烦且不方便资料的管理。所以在这个系统中,我们设置了这个模块。这个模块分为两个部分:值班表的查看和删除;宿舍管理员填写值班信息。管理员在填写值班表时要填写值班人的名字和值班情况。在值班表的查看页面中会显示下面的信息:

 

表3-1  管理员值班信息表

值班人

值班期间情况

发布人

提交时间

 

楼管01

一切正常

admin

2007-6-8 下午 08:23:00

删除

楼管02

网络3班A(学号)晚归;原因:病

admin

2007-6-8 下午 08:23:00

删除

其中发布人,提交时间由系统自动获取。

3.2.4. 留言板

图3-6留言模块功能体系图

学生公寓管理系统的设计与实现[点击下载]

评论