1、学生公寓管理系统的设计与实现本资料来源于 http:/ 毕业设计论文资料网摘 要学生公寓是每一位在校学生生活、学习、相互交流的主要场所,如何提供一个良好的学生公寓的管理体系,对学校和同学而言至关重要。以往的学生公寓管理基本上还处于人工操作的阶段,随着计算机技术和网络技术的日益广泛应用,采用计算机以及网络来管理学生公寓,有着很好的前景。学生公寓管理系统基于 B/S 模式开发,使用 ASP 动态网页制作技术作为主要的前台开发语言,实现前后台的数据交互;后台选用 SQL Server 2000 作为数据库服务器。该学生公寓管理系统主要划分了管理员和学生两种权限,实现的功能有学生信息的管理,宿舍信息的
2、管理,宿舍的分配功能,管理员值班记录,留言板功能等。系统具有界面友好,操作简便的特性。关键词:公寓管理;B/S 模式;SQL Server 2000Design and Implementation of Student Apartment Management SystemAbstractStudent apartment is the main place where students live, study and communicate. How to provide a good management system of student apartment is very impor
3、tant 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
4、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 stu
5、dent. 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
6、目 录论文总页数:19 页1 引言 .11.1 选题背景及目的 .11.2 本课题研究意义 .11.3 本课题研究思路和方法 .11.4 本课题预期结果 .12 开发平台与语言简介 .12.1 基于 B/S结构的开发 .12.2 ASP简介 22.3 JAVASCRIPT简介 .22.4 HTML简介 .22.5 MICROSOFT SQL SERVER 2000简介 .33 学生公寓管理系统设计与实现 .33.1 总体设计 .33.2 详细设计 .43.2.1. 学生信息管理功能 .43.2.2. 宿舍楼信息管理和宿舍分配 .63.2.3. 值班信息 103.2.4. 留言板 113.2.5
7、. 宿舍信息浏览模块 113.2.6. 登陆,密码修改和退出 123.3 数据库设计 123.4 主界面设计 15结 论 16参考文献 17致 谢 .18声 明 .191 引言1.1 选题背景及目的学生公寓是每一位在校同学生活、学习、相互交流的主要场所,如何提供一个良好的学生公寓的管理体系对学校和同学而言至关重要。以往的学生公寓管理基本上还处于人工操作的阶段,随着计算机技术和网络技术的日益广泛应用,采用计算机以及网络来管理学生公寓似乎也已经不是一件新鲜事了。本毕业设计的目的主要是为了检查学生综合运用以前所学知识的能力,开发一个多功能的学生公寓管理系统。1.2 本课题研究意义为了方便公寓管理人员
8、在数据方面的管理,结合当今各学校的宿舍管理,为了能全面、准确、有效地管理学生公寓的各种信息而开发与研制的一个系统。其主要功能是快速适应现代化物管水平和解决工作人员繁重而冗长的工作量。使得他们在学生公寓的各方面都会达到事半功倍的效果,减轻了人力的负担,方便了数据的存储,增加了安全性。本次毕业设计不仅考查了我综合运用以前所学知识的能力,同时也锻炼了我的实际动手能力,对于我以后工作能力的培养具有重要的意义。1.3 本课题研究思路和方法本次毕业设计应首先分析学生公寓管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,选择 ASP+ SQL Server 200
9、0进行本毕业设计的开发;以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关设计文挡,为毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,为毕业论文的写作准备材料。1.4 本课题预期结果本设计的预期成果是完成一个学生公寓管理系统,从而使学生公寓的管理更加方便有效;提供本毕业设计开发的软件和毕业设计论文。2 开发平台与语言简介2.1 基于 B/S结构的开发由于学生公寓管理系统分布的特性,本系统采用 B/S 结构,即 Brower-Server(浏览器- 服务器)架构,B/S 结构是目前最流行的数据库应用
10、模式,它解决了各种分布式应用,扩展了业务范围;在 B/S 结构下,整个系统的管理、资源分配、数据库操作、业务逻辑部件的管理等工作集中用服务器,容易部署和管理。整个系统使用 B/S 架构,则在客户端使用标准的 Web 页面浏览器(如Internet Explorer 等) ,不需安装特殊的应用程序,减少了升级和维护的难度,所有的业务数据都保存在服务器(Server)端,确保了业务的安全;在通讯方面,由于使用的是标准的 Http 协议,使得系统可以轻松的实现移动管理和分布式管理。2.2 ASP简介Microsoft Active Server Pages 即我们所称的 ASP,其实是一套微软开发的
11、服务器端脚本环境,ASP 内含于 IIS3.0和 4.0之中,通过 ASP我们可以结合 HTML网页、ASP 指令和 ActiveX元件建立动态、交互且高效的 WEB服务器应用程序。有了 ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML页面中的脚本程序得以运行的环境。ASP 程序其实是以扩展名为.asp 的纯文本形式存在于 WEB服务器上
12、的,你可以用任何文本编辑器打开它,ASP 程序中可以包含纯文本、HTML 标记以及脚本命令。你只需将.asp 程序放在 WEB服务器的虚拟目录下(该目录必须要有可执行权限) ,就可以通过 WWW的方式访问 ASP程序了。2.3 JAVASCRIPT简介JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与 HTML超文本标记语言、Java 脚本语言(Java 小程序)一起实现在一个 Web页面中链接多个对象,与 Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的 HTML语言中实现的。它的出现
13、弥补了 HTML语言的缺陷,它是 Java与 HTML折衷的选择。JavaScript是一种新的描述语言,它可以被嵌入到 HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件(如:form 的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。2.4 HTML简介HTML的英语意思是:Hypertext Marked Language,即超文本标记语言,是一种用来制作超文本文档的简单标记语言。超文本传输协议规定了浏览器在运行 HTML文档时所遵循的
14、规则和进行的操作.HTTP 协议的制定使浏览器在运行超文本时有了统一的规则和标准.用 HTML编写的超文本文档称为 HTML文档,它能独立于各种操作系统平台,自 1990年以来 HTML就一直被用作(是World Wide Web的缩写,也可简写 WEB、中文叫做万维网)的信息表示语言,使用 HTML语言描述的文件,需要通过 WEB浏览器显示出效果。HTML 是在 SGML定义下的一个描述性语言,或可说 HTML是 SGML的一个应用程式,HTML 不是程式语言,如 C+和 Java之类,它只是标示语言,基本上你只要明白了各种 标记的用法便算学懂了 HTML,HTML 的格式非常简单,只是由文
15、字及标记组合而成,编辑方面,任何文字编辑器都可以,只要能将文件另存成 ASCII纯文字格式即可,当然以专业的网页编辑软件为佳。本资料来源于 http:/ 毕业设计论文资料网2.5 Microsoft SQL Server 2000简介Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS, Relational Database Management System) 。SQL Server 2000是为了支持高容量的事务处理(比如在线订购录入、存货目录、记账或制造)以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在 Mi
16、crosoft 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 学生公寓管理系统设计与实现3.1 总体设计图 3-1 系统功能体系图该学生公寓管理系统主要实现了后勤部门
17、对学校宿舍的管理功能。系统分为管理员模块和学生模块两个部分。管理员模块实现的功能有:1) 学生信息管理功能:主要是添加系,专业,班级和学生的具体信息,来创建以班级,专业,系等为单位的学生信息。包括添加,删除和修改功能,还有学生的总体查看和个别查询功能。2) 宿舍楼信息管理功能:分为宿舍楼信息的添加删除和修改功能:添加修改功能具体实现为每栋楼的楼名,层,房间,床位的添加和修改;删除功能执行一次删除整栋楼。3) 宿舍楼分配功能:可以手动的调整学生到哪个宿舍,也可以实现自动分配的功能。4) 交流信息功能:管理员发布一些通知帖子;管理员对学生帖子的回复,删除等管理。5) 值班信息登记:值班员发布值班时
18、间,人,值班情况,备注等。学生模块实现的功能有:1) 学生模块分为信息交流模块:方便大家交流。2) 宿舍信息浏览模块:可以查看各宿舍的信息。3.2 详细设计3.2.1.学生信息管理功能图 3-2 学生信息管理功能体系图1. 院系管理模块管理员登录后,选择点击“院系管理”的添加模块。可以手动添加一个系名称。系统通过 insert 语句添加到“系”表中。也可以从列表中手动删除一个系的名称。删除功能要慎用,因为是一个不可逆操作。若选择修改功能,从select 下拉列表中选择想要修改的系的名称,在更改为的文本框里输入要更改的名称,点击修改按钮后,通过 update 语句,重新写入“系”表中,完成修改功
19、能。如果没有选择要修改的系,系统会弹出 alert 框提示:没有选择主分类名;如果选择要修改的系后没有填写修改的名称,系统会弹出 alert 框提示:请填写修改后的名称。本资料来源于 http:/ 毕业设计论文资料网2. 专业管理模块专业管理分为添加和修改两个功能。添加功能里可以添加一个专业,也可以删除一个专业。添加专业时。先要选择系统中已经存在的系,然后在系中添加专业,同时添加专业的届别信息。删除专业时,也是要先选择专业所在的系,在从该系所有的专业列表中选择所要删除的专业名称,点击删除按钮进行删除。修改功能,要先选择所要修该的专业,然后在该专业所有系的列表中选择想要修改的专业和届别,然后手动
20、填写改后的系,专业和届别的信息。点击修改按钮后完成修改。3. 班级信息的添加班级管理也分为添加和修改两个功能。实现的功能和原理和院系管理,专业管理一样。4. 学生管理的添加学生信息管理有学生信息的添加,查看和学生的查找 3 个功能。1) 学生信息的添加要求添加学生的基本信息,包括:姓名,密码(管理员统一设定初始密码) ,学号,性别,所在系,班级,专业,届别,分配的宿舍楼楼号,楼层,房间号,床位号。所有信息不能为空。其中学号必须唯一标识一个学生:if (dolookup(“学生“,“ID“,“xh=“2) 学生信息的查看读出全部的学生信息。3) 学生信息的查找功能为了实现快速查找某个人的功能,可
21、以按照姓名查找,也可以按照学号查找。利用 select 语句实现。3.2.2.宿舍楼信息管理和宿舍分配图 3-3宿舍楼信息管理分配功能体系图宿舍楼的添加要包括以下信息:宿舍楼名称,层数和每层楼的房间数,以及房间内的床位数。宿舍楼类型:男或者女。我们在填写完层数和每层的房间数后。系统会自动实现排列房间的名称:如我们设置宿舍楼 1栋,层数为 2,每层房间数为 3,房间床位为 4,类型为女,那么系统中就建立起一个女生宿舍1栋,里面 1层为 101,102,103,二层为 201,202,203。删除功能实现的是删除整栋宿舍。宿舍楼的修改可以重置宿舍楼名称,层数和每层楼的房间数,以及房间内的床位数。宿
22、舍楼类型。宿舍分配功能为分为自动分配和管理员手动分配两种。自动分配功能减少了管理员大量的劳动。宿舍分配功能本着相同班级的同学分在相邻的寝室。在一个班级分完后,宿舍没有住满,那么相邻班级的同学补满这个房间后,继续往下分。相同专业,相同系分在相邻宿舍。代码实现为:conn.execute “Update 学生 set BuildNo=0,StepNO=0,RoomNo=0,BedNo=0“SelectBuild列举所有房间Sub SelectBuild ( )Dim sSql1sSql1=“select * from 寝室楼“Set myRst=server.createobject (“ADOD
23、B.Recordset“)myRst.open sSql1, conn, 1, 1While not myRst.eofid=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, iRo
24、om, iBad, sexNextNextNextmyRst.movenextWendmyRst.close End SubSub SutendClass (BuildNo, StepNO, RoomNo, BedNo, sex)列举出所有女学生Dim sSqsSq=“Select * From 学生 where sex=“If pagecount=1 thenresponse.write “首页 上一页“elseresponse.write “首页“response.write “上一页“End ifIf rs.PageCount-pagecount下一页 尾页“Elseresponse.w
25、rite “下一页“response.write “尾页“End ifResponse. Write“页次:“response.write “3.2.3.值班信息值班表查看页面查看详细信息删除信息填写页面填写信息图 3-5值班管理功能体系图以往学生公寓的宿舍管理员值班信息都是由管理员记录在本子上。麻烦且不方便资料的管理。所以在这个系统中,我们设置了这个模块。这个模块分为两个部分:值班表的查看和删除;宿舍管理员填写值班信息。管理员在填写值班表时要填写值班人的名字和值班情况。在值班表的查看页面中会显示下面的信息:表 3-1 管理员值班信息表值班人 值班期间情况 发布人 提交时间楼管 01 一切正常
26、 admin 2007-6-8 下午 08:23:00 删除楼管 02 网络 3班 A(学号)晚归;原因:病 admin 2007-6-8 下午 08:23:00 删除其中发布人,提交时间由系统自动获取。3.2.4.留言板留言板管理员登录 学生登录浏览留言发表留言回复留言修改留言删除留言浏览留言发表留言回复留言图 3-6 留言模块功能体系图留言有学生权限和管理员权限两种登录方式。这个模块设置的目的是为了管理员能够发布一些通知等。同时也方便了学生和学校,后勤间的交流。学生权限登录后,主界面是发表留言按钮和按照发表时间顺序显示帖子的标题,发表时间,发表人等。点开标题,可以查看帖子的详细信息或者回复
27、。管理员权限登录后,主界面可以发表留言,按照时间显示留言的标题,发表人,发表时间,也可以修改留言和删除留言。3.2.5.宿舍信息浏览模块 这个页面不需要以任何身份登录就可以浏览。实现方式是以表格方式显示学生住宿情况信息。进入这个页面,首先显示的是每栋宿舍楼的信息,如:名称:女生寝室一号楼-楼层数 2-每层房间数 5-房间床位:4-性别类型:女点击链接进去后以表格形式显示每个宿舍楼的房间号和房间入住人数:表 3-2 宿舍楼信息显示表名称:女生寝室一号楼 -楼层数 2-每层房间数 5-房间床位:4-性别类型:女楼层 1寝室: 人数10141024103410521064楼层 2寝室: 人数2014
28、2024203420512060点击人数的链接,进入每个宿舍入住的学生的详细信息(以 205为例):表 3-3 宿舍房间信息显示表学号 姓名 系 专业 届别 班级01 aa 网络 网络 2003 33.2.6.登陆,密码修改和退出管理员和用户两种角色,我们都要求设置账号和密码。所以在进入系统中,要选择相应的权限登陆,才有相应的操作权限。我们给每种权限设置了初始密码。为了安全保证,相应的设置了密码修改页面。在以自己的权限登陆后,可以修改自己的密码。同时,建议在关闭系统前,要先登出。3.3 数据库设计根据系统需要,我们在数据库中建立了 9 张表,分别是管理员账号表(adminuser) ,系信息表
29、(系) ,专业信息表(专业) ,班级信息表(班级) ,学生信息表(学生) ,宿舍楼信息表(寝室楼) ,值班登记信息表(message) ,论坛信息表(mybbs) ,宿舍入住人员信息表(qryclass) 。以下是各个表的详细信息:表 3-4 adminuser属性名 类型 说明username Nvarchar(50) 管理员帐号password Nvarchar(50) 管理员密码管理员账号表(administers)主要是用来存放管理员的账号和密码的。在管理员值班信息发布和管理员权限对留言板的操作中,我们也会用到,系统自动从该表中读取管理员的 ID,作为发布人的身份显示。表 3-5 系属
30、性名 类型 说明name Nvarchar(50) 系名系信息表数据较少,存储系的名字。考虑到系统中系信息的处理情况,没有设置 ID 号。初始数据来自宿舍楼管理中添加功能;修改和删除功能可以改动表中数据。系中的数据被专业管理,班级管理多次使用。当我们在添加,删除一个班级或者专业的时候,必须先选择这个专业所属的系,从系中选择这个专业,才能进行添加或者删除工作。在学生信息管理中,我们也必须明确填写该生所在系别。在宿舍信息管理中,自动分配宿舍按照班级专业系顺次读取的方式分配宿舍。手动分配宿舍也要调用系表中的数据。表 3-6 专业属性名 类型 说明xino Nvarchar(50) 专业编号name
31、Nvarchar(50) 专业名ibname Nvarchar(50) 届名因为很多时候,我们以届为单位对学生操作,所以在专业信息表中,我们定义一个届名(jbname)这样的字段。在已经存在的系中,我们向里面添加专业;专业的信息构造完整后,我们再向专业里面添加班级。按照学校的实际情况来设计的。初始数据来自宿舍楼管理中添加功能;修改和删除功能可以改动表中数据。不管是是对学生,班级,还是宿舍的操作,我们都要用到专业表中的数据。表 3-7 班级属性名 类型 说明zyno Nvarchar(50) 专业号name Nvarchar(50) 班级名称班级表初始数据来自宿舍楼管理中添加功能;修改和删除功能
32、可以改动表中数据,班级表的设置和实现的功能和专业表类似。在这里不做详细说明。表 3-8 学生属性名 类型 说明name Nvarchar(50) 学生名字psw Nvarchar(50) 密码xh Nvarchar(50) 学号classno Int(4) 班级sex Int(4) 性别buildno Int(4) 宿舍楼号stempno Int(4) 宿舍层号roomno Int(4) 宿舍房间号bedno Int(4) 床位号学生信息表初始数据来自宿舍楼管理中添加功能;修改和删除功能可以改动表中数据。其中密码(psw)为系统给学生设置的初始密码,学生登陆后可以重新修改;学生信息表被学生管理
33、中的查看,查找功能调用;被宿舍管理中的自动分配和手动分配功能调用;被宿舍浏览功能中调用;在留言板学生登陆中自动读取帖子发表人的身份为登陆者 ID。表 3-9 寝室楼属性名 类型 说明Name Nvarchar(50) 宿舍楼名称Stepcount Int(4) 宿舍楼层Roomperstep Int(4) 宿舍楼房间号manperroom Int(4) 每个房间床位数sex Int(4) 性别寝室楼信息表初始数据来自宿舍楼管理中添加功能;修改和删除功能可以改动表中数据。宿舍楼信息表在自动分配和手动分配功能中也可以改变宿舍楼的信息。在查看和宿舍楼信息浏览中我们要用到该表信息。表 3-10 mes
34、sage属性名 类型 说明subject Nvarchar(50) 楼管姓名message Nvarchar(50) 值班情况记录idate Nvarchar(50) 值班时间senduser Nvarchar(50) 发布者帐号身份Message表中存储管理员值班情况记录数据。楼管姓名,值班情况记录来自管理员值班登记的填写内容,值班时间来自提交值班记录时自动获取的时间,发布者账号身份来自楼管登陆时使用的 ID号。表中的数据被管理员值班表功能中,查看管理员值班表的时候调用。表 3-11 mybbs属性名 类型 说明title Int(255) 帖子名content Ntext(16) 内容re
35、playid Int(4) 回复的顺序数date datetime 时间tuser Nvarchar(50) 姓名Mybbs表记录留言板帖子的帖子名,内容,回复的顺序数,时间,姓名。该表数据被学生模块的留言板功能模块和管理员权限的留言管理两个模块调用。表中的属性 tuser来自登陆者的 id。可以是学生也可是管理员。表 3-12 qryclass属性名 类型 说明classno Int(255) 班级 idclassname Ntext(16) 班级名称buildno Int(4) 宿舍楼名称stepno datetime 楼层名称roomno Nvarchar(50) 房间名称bedno N
36、varchar(50) 床位号name Nvarchar(50) 学生姓名sex Nvarchar(50) 性别该表存贮宿舍楼中入住入住人员信息。3.4 主界面设计图3-7 主界面图主界面采用html中的frame设计:其中leftframe ,以表格的形式显示控制面板。点击控制面板中的按钮,相应的功能页面会在mainframe框架中显示。例如我们点击 “院系管理”中的添加功能,则调用关联文件“xi_add.asp“,在mainframe中显示这个文件的内容。代码实现如下:添加 | 修改使用Frames结构设计的 HTML文件,能够将整个窗口分成几个独立的小窗口,每一个窗口可分别载入不同的文件
37、,好处是每个窗口是可以相互沟通的。有时用得恰到好处,感觉很棒。结 论本次毕业设计对系统进行了详细的需求分析,对开发所需要的主要技术做了阐述。同时设计并实现了一个简单的学生公寓管理系统。该系统基于 B/S模式开发,使用 ASP实现前后台的数据交互,后台选用 SQL Sever 2000作为数据库服务器。该系统分为管理员权限和学生权限两个模块,主要实现了院系,专业,班级的信息的添加,修改和删除等功能;按照学号或者姓名查找学生信息的功能;宿舍信息的创建,修改和删除等功能;宿舍分配功能,包括个别宿舍手动调整,和大量宿舍的自动分配功能。另外还实现了管理员值班登记功能和简易留言板功能。系统经过调试和试运行
38、,能够正常运行。但是因为初次开发,系统中难免会存在各种问题,有待进一步完善。学生公寓是每一位在校同学学习、生活和交流的地方,良好的管理体系对学校和同学都至关重要。该系统的研发,使后勤和管理人员脱离了人工操作阶段,适应了现代化物管的需要,减轻了工作人员繁重而冗长的工作量。同时也方便了数据的存储,增加了安全性。本毕业设计也锻炼了我综合运用以前所学知识的能力和实际动手能力。参考文献1 瀚文工作室.Java/JavaScript 网页设计活学活用 300问M.北京:机械工业出版社,2005。本资料来源于 http:/ 毕业设计论文资料网2 风火轮小组.Asp 建站编程高手指南M.北京:大恒电子出版社,2002。3 石志国,王志良.ASP 精解案例教程M.北京:清华大学出版社/北方交通大学出版社,2004。4 方睿,刁仁宏.网络数据库原理及应用M.成都:四川大学出版社,2005。5 黄明,梁旭.Asp 信息系统设计与开发实例M.北京:机械工业出版社,2005。6 丁贵广.Asp 编程基础与实例M.北京:机械工业出版社,2002。7 高怡新.Asp 应用程序设计M.北京:人民邮电出版社,2005。