实验室预约系统的设计毕业论文.docx
《实验室预约系统的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《实验室预约系统的设计毕业论文.docx(26页珍藏版)》请在冰豆网上搜索。
实验室预约系统的设计毕业论文
实验室预约系统的设计
摘要
目前各大学的实验项目日益繁多,如何合理预约实验室,已经成为当今各个大学实验室课程预约的难题。
因此,这个实验室预约系统就是研究实验室预约的相关问题。
实验室预约系统的设计主要是基于B/S模型,在Windows系统下,运用平台和SQLServer2000数据库实现实验室预约功能。
该设计主要实现了实验室的预约和管理功能。
预约功能包括老师对实验室信息、实验项目和实验预约情况的查询以及对实验室的预约;学生对老师预约情况和实验项目预约情况的查询以及学生对实验的预约。
管理功能包括教师、学生、管理员三者的登录、注册、个人资料管理,管理员对实验室的管理与对学生和教师预约信息的删除功能。
最后通过调试、完善该系统,基本实现了高校实验室预约、管理功能,为各大学的实验室预约系统提供有用的模版参考。
关键词:
实验室预约;B/S;SQLServer2000数据库;。
TheDesignofLaboratoryReservationSystem
Abstract
Atpresent,thelaboratorycoursesofeveryuniversityaregrowingdaybyday.HowtoarrangethelaboratorycoursesreasonablyhasbecometheseriousproblemoftheCourseSchedulingoflaboratoriesinuniversity.Therefore,thelaboratoryreservationsystemshoulddosomerelatedstudyabouttheappointmentaboutlaboratorycourses.TheB/SmodelisusedbythesystembasedonWindows,andthesystemimplementsthefunctionsoflaboratoryappointmentandtheinquiriesthroughandSQLServer2000.ThefunctionsofLab'sreservationandadministrationhavebeenrealizedinthisdesign.ThefunctionsofLab'sreservationincludelab’sinformation,experimentitemsandinformationoflaboratoryreservationwhichcanbequeriedandrequestedbyteachers,andtheteacherbookinginformationandexperimentprojectbookinginformationwhichcanbequeriedbystudents.Therearefourfunctionsinadministrationmodule.Theyarelogging,registering,datamanagementanddeletinginformationaboutlibraryandteacher’squerying.Finally,thissystemistestedanddebugged,andthereisnoproblemsexisted.ThebasicfunctionsofLab'sreservationandadministrationarerealized.Thedesignisveryusefulaboutthemodelofeveryuniversitysimilarsystemdesigned.
Keywords:
Laboratoryreservation;B/S;SQLServer2000database;.
论文总页数:
21页
1引言
1.1课题背景
现在B/S模式的设计与研发在网上十分流行,大学学校的资源也都通过这种形式展现出来,实验室预约系统就是各种B/S模式之中最明显的一个例子。
实验室预约系统是通过服务器和客户端浏览器来实现数据的传输,它通过客户端实现管理、申请、提交用户信息,来完成实验项目的预约、查询、资料管理等各种功能。
随着计算机应用水平和Internet网的迅速发展,各种资源实现网络化,已经成为必然趋势。
实验室预约系统利用这个优势,来完成繁琐的人工操作,从而既改变了过去实验室传统的管理模式又提高办事的效率。
现在网上已经有这方面的材料,但具体问题要具体分析,不同的学校有不同的环境。
1.2课题研究的目的
(1)掌握B/S模式的结构和框架,了解B/S模式存在的优势和必然原因。
(2)熟悉编程语言及平台的应用。
(3)熟悉一种或几种图画制作工具,并且把它运用在实际当中。
(4)进一步熟悉SQLserver2000数据库的功能,合理利用数据库。
(5)认真培养自学和独立能力,从大量资料中能够选取所需资料。
1.3本课题研究的意义
实验课已经是各个高等学校不可缺少的一部分,如何充分利用学校现有的实验室资源是一个排课难题,也是本课题研究的主题。
实验室预约系统的设计主要是通过学生和老师对实验资源的网上预约,实现实验室资源的合理利用,在有限的资源里充分发挥各个学校现有实验室资源的优势。
1.4本课题的研究方法
实验室预约系统的设计采用的是B/S结构。
基于Windows平台下,采用技术+SQLServer2000数据库完成的设计。
首先本文先从分析实验室预约系统实现的功能入手,简单地描述出实验室预约系统准备实现的各种功能。
其次是对开发环境和工具的介绍、了解、熟悉及掌握使用它们的方法,再次运用以往学过的知识和现在准备的知识进行对数据库的逻辑设计和物理结构的设计。
最后,在平台下,选择熟悉的语言进行实验室预约系统的详细设计,对本课题进行系统的测试,找出问题,总结经验。
记录所有的这一切过程,为毕业论文的规划和书写打下坚实的基础。
1.5研究内容
运用以往学到的知识,开发一个实验室预约系统。
它主要实现老师和学生对实验室的预约、查询等服务。
研究的内容简要概括如下:
(1)各个级别的人实现对自己的内容的管理和修改,侧重数据库的合理利用。
(2)学生和老师对实验的时间预约,主要从简单明了入手。
(3)在系统设计开发中,学生和老师在系统中的查询是重点之一。
(4)学生、管理员、教师对资料的管理和管理员对实验室的管理和预约情况的管理。
2功能描述
本课题主要研究对象有三个:
学生、教师、管理员。
2.1学生功能
学生主要是四个功能。
注册功能、查询功能、预约功能、学生资料管理功能。
(1)注册功能。
学生进入登录界面后,如果没有注册,要先注册。
注册的用户名是学生的学号。
注册后才可以登录,学生在此功能里还能够修改、删除个人资料。
(2)查询功能。
学生在进入主界面后,能够对想预约的课程查询或教师查询。
由于老师可能教多个课程,所以有个二级选择目录。
(3)预约功能。
当学生查询好信息后,就要对想要预约的实验开始预约。
(4)学生资料管理功能。
学生在注册后,可以通过登录,修改自己的个人信息。
2.2教师功能
教师也有四个功能。
注册功能、查询功能、预约功能,教师的资料管理功能。
只是教师和学生所使用功能的方式不一样。
(1)注册功能。
老师进入登录界面后,如果没有账号,也要先注册账号,同时可以对自己的资料进行修改、删除、填加。
(2)查询功能。
教师的查询功能主要是对实验室类别、项目、预约情况的查询。
类别查询主要是查询实验室房间的信息;项目查询主要是查看能实验该项目的房间信息;预约查询主要是对实验室预约状况的查询,以便预约。
(3)预约功能。
当老师查询好预约信息后,就可以开始实验室预约了。
(4)教师的资料管理。
管理教师自己的个人资料。
2.3管理员功能
管理员的功能有三个,资料管理功能、房间信息管理功能、实验预约信息管理功能。
(1)资料管理功能。
管理员不需要注册,资料管理功能就是对管理员自己的资料管理。
(2)房间信息管理功能。
管理员通过页面对房间的信息进行添加,修改,从而实现对房间的管理。
(3)预约信息管理功能。
管理员对已经预约的信息进行管理,包括单个房间、多个房间、教师、学生预约情况的管理。
2.4实验室预约系统的流程图
实验室预约系统主要是学生和老师通过网络对实验资源的管理,主要功能流程图如图1。
在首页开始里有两部分,注册、登录。
注册分教师和学生两类;登录分学生、教师、管理员三类。
当登录成功后将进入相应的界面进行属于自己权限范围内的应用范畴。
学生主要是对个人资料的管理、实验信息的查询及预约功能。
教师也是资料管理、实验信息查询、实验时间的预约,和学生的类似,只不过侧重点不同。
管理员主要是管理实验室的各种各样资料。
图1实验室预约系统流程图
3开发环境和工具
3.1环境要求
本课题的开发主要是基于.NET2003平台,运用和语言实现功能的主体开发。
本系统由于是在服务器上运行的,所以服务器上的软件环境是和SQLServer2000,对硬件的要求不高,但CPU的处理速度要快,来增加访问速度。
3.2开发工具简介
3.2.1.NET平台简介
.NET是Microsoft研发的,用于创建XMLWeb服务的平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。
借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。
.NET是一个全面的产品家族,它建立在行业标准和Internet标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及XMLWeb服务体验(丰富的用户体验)。
.NET将成为您今天正在使用的Microsoft应用程序、工具和服务器的一部分,同时,新产品不断扩展XMLWeb的服务能力以满足您的所有业务需求。
3.2.2SQLSerser2000简介
SQLServer是一个关系数据库管理系统。
它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。
Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNIX操作系统上的应用。
SQLServer2000,是Microsoft公司推出的SQLServer数据库管理系统的新版本。
该版本继承了SQLServer版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。
可跨越从运行MicrosoftWindows98的膝上型电脑,到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
3.3非开发性要求
本系统有较好的可维护性、可靠性、可理解性、效率。
易于用户理解和操作。
可维护性包括可读性、可修改性、可测试性等含义。
可靠性通常包括正确性和健壮性。
开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制条件下(时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
4数据库详细设计
4.1逻辑设计
根据系统需求分析定义系统实体,本系统主要涉及到的用户角色有学生、教师、管理员。
系统涉及的实体有实验、班级、教室。
4.2物理结构设计
根据要求设计预约系统需求的数据表
(1)学生注册数据库表:
存储学生的注册信息,有学号、注册姓名(本人真实姓名)、注册密码、注册邮箱、联系电话、系别班级、籍贯7列。
学生的学号是主键,注册邮箱、联系电话、籍贯三者允许为空,详细信息如表1。
表1学生信息表(Student_information)
列名
类型
长度
是否为空
主键
是否外键
备注
S_ID
char
10
Y
学生学号
S_name
varchar
6
注册姓名
S_pwd
varchar
15
注册密码
S_mail
varchar
15
Y
注册邮箱
S_phone
char
10
Y
联系电话
S_class
char
15
系别班级
S_native
varchar
5
Y
籍贯
(2)教师注册数据库表:
存储教师的个人信息,有教师ID、注册昵称、真实姓名、注册密码、注册邮箱、联系电话6列。
其中教师ID是主键,并且由系统自动生成的,注册邮箱和联系电话两者允许为空,详细信息如表2。
表2教师信息表(Teacher_information)
列名
数据类型
长度
可否为空
是否主键
是否外键
备注
T_ID
int
4
Y
教师ID
T_name
varchar
10
注册昵称
True_name
varchar
15
真实姓名
T_pwd
varchar
15
注册密码
T_mail
varchar
15
Y
注册邮箱
T_phone
char
10
Y
联系电话
(3)管理员信息数据库表:
由于管理员只是少数几个教师,所以可以不需要注册,设计几个固定的用户名,供管理员使用。
在该数据库表里有管理员ID、管理员的注册姓名、管理员的注册密码、管理员的注册邮箱和管理员的联系电话5列。
管理员的ID也是系统自动生成的,它被设成主键。
同上,管理员的注册邮箱和联系电话允许为空,详细信息如表3。
表3管理员信息表(Administrator_information)
列名
数据类型
长度
可否为空
是否主键
是否外键
备注
A_ID
int
4
Y
ID
A_name
char
10
注册姓名
A_pwd
varchar
15
注册密码
A_mail
char
15
Y
注册邮箱
A_phone
char
10
Y
联系电话
(4)实验室房间信息数据库表格:
存储实验室的基本情况和最新更新的情况,包括实验室的房间号(如6304)、实验室类别(如网络实验室)、可用设备数目、允许的实验项目、容纳的人数、备注6列。
房间号是主键。
并且在查询过程中,可用设备数要小于总人数,备注可以为空,详细信息如表4。
表4实验室信息表(Lab_information)
列名
数据类型
长度
可否为空
是否主键
是否外键
备注
L_ID
char
15
Y
房间号
L_class
char
20
实验室类别
L_equip
char
10
可用设
备台数
L_exper
varchar
800
实验项目
L_number
char
10
总人数
L_mem
varchar
150
Y
备注
(5)教师预约数据库信息表格:
该表里包括房间号、预约课程的星期、课节信息、预约的实验项目、预约实验的教师姓名、完成的周次、授课的班级和预约的时间。
其中房间号,星期和课节信息为组合主键,同时房间号是外键。
完成周次是实验项目结束的时间,详细如表5。
表5教师预约信息表(Tbooking_information)
列名
数据类型
长度
可否为空
是否主键
是否外键
备注
L_ID
char
4
Y
Y
房间号
L_week
char
10
Y
星期
L_lesson
char
10
Y
课节信息
L_exper
Varchar
30
实验项目
True_name
Varchar
15
预约教师
L_achtime
char
10
完成周次
S_class
char
30
班级
B_date
datatime
8
预约时间
(6)学生预约数据库表格:
该表格包括课程名、教师姓名、房间号、学生学号、预约时间5列。
课程名和教师名为组合主键,详细信息如表6。
表6学生预约表(Sbooking_information)
列名
数据类型
长度
可否为空
是否主键
是否外键
备注
L_exper
char
30
Y
课程名
True_name
varchar
30
Y
教师名
L_ID
char
15
房间号
S_ID
char
10
学生学号
B_date
datetime
8
预约时间
5预约系统详细设计
5.1登录页面设计
5.1.1登录页面
该页面是一个简单的登录界面,如图2。
图2登录界面
当用户来到开始页面,输入用户名和密码,并且要在底下选择相应的登录身份,教师、学生还是管理员,然后点击登录。
就开始执行登录检测代码,当代码在数据库搜索到信息时,就返回消息,登录成功,进入相应的界面,如果未搜索到消息,也返回一个信息。
该页面通过简单的查询比较语句实现学生、教师、管理员三者的登录功能。
在页面的右边有一个注册链接。
当用户(教师,学生)进入登录界面时,如果没有账号,要先注册账号。
首先选择注册身份,点击“注册”按钮,进入相应的注册界面。
实现登录主要代码是通过一个IF语句实现三者身份的判断。
部分代码如下:
DimconnAsNewSqlConnection
DimcmdAsNewSqlCommand
DimobjReaderAs="DataSource=localhost;InitialCatalog=Booking;IntegratedSecurity=SSPI;PacketSize=4096;UserID=sa;Password=''"
()
=conn
………………
以上代码段是打开数据库代码,在以下的程序中经常用到。
DimnameAsString=
DimpwdAsString=
If(0).Selected=TrueThen
="Select*fromTeacher_information"
objReader=()
DoWhile()
DimsqlnameAsString=
(1).Trim()
DimsqlpwdAsString=(3).Trim()
Ifsqlname=nameAndsqlpwd=pwdThen
Session("names")=
Session("pwds")=
("")
ExitDo
EndIf
Loop
("")
………………
以上这段是查询数据库里的数据进行比较,并且用一个Session控件记录用户名和密码,上面的代码是实现教师登录的代码段。
实现学生、教师、管理员三者登录的选择要用到一个IF语句。
当判断正确后,转到相关的页面。
5.1.2注册页面
教师的注册代码和学生的注册代码及页面都相类似,主要都是实现数据信息的插入到数据库表格里。
不同之处在于学生的用户名是学生的学号,这是一个唯一标识,不需要再自己起名字,并且他有一定的长度限制6-12之间,在这个长度区间内的值才是有效的,要是想输入固定长度值,可以修改代码信息来完成。
用户名、密码、真实姓名,都是学生和老师必填字段,而学生还有一个必填字段,就是系别班级,它是教师授课预约里的一个字段。
由于老师可能有重名的时候,所以老师的用户名是自己起的。
在填写老师用户名后,可以检查是否已经被人用过,如果没用过可以继续使用,填写其他信息,如果用户名已存在数据库里就会弹出个提示,要重新输入用户名。
当填写好信息后,点击提交就可以注册账号了,如果不小心填错一些信息,可以点击“重填”按钮,重新填写资料。
把注册信息数据插入到数据库表格里的代码如下:
If<5Or>13Or<1Or<1Or<1Then
=True
Else
="InsertintoStudent_informationvalues(@S_ID,@S_name,@S_pwd,@S_mail,@S_phone,@S_class,@S_native)"
SqlParameter("@S_ID",,10))
SqlParameter("@S_name",,6))
SqlParameter("@S_pwd",,15))
SqlParameter("@S_mail",,15))
SqlParameter("@S_phone",,10))
SqlParameter("@S_class",,15))
SqlParameter("@S_native",,5))
("@S_ID").Value=Request("S_ID")
("@S_name").Value=Request("S_name")
("@S_pwd").Value=Request("S_pwd")
("@S_mail").Value=Request("S_mail")
("@S_phone").Value=Request("S_phone")
("@S_class").Value=Request("S_class")
("@S_native").Value=Request("S_native")
()
()
="你已经注册成功"
=True
EndIf
注册界面如图3。
图3注册界面
5.2管理页面设计
5.2.1教师管理主页面
该页面如图4。
图4老师主页面
页面最上面一排显示用户的用户类别、用户名。
下面是老师能够操作的各种功能,主要是各种查询功能。
老师有三种信息查询功能:
一是实验室信息查询。
该查询主要是查询实验室房间信息,有什么设备、可以做什么样的实验项目、能容纳多少人、可用设备的台数等信息,为老师预约房间提供参考;二是实验项目查询,该查询就是查找某个实验项目能在哪些实验室里做实验,即显示能做某个项目的房间个别信息;三是实验室预约查询,就是当老师查到某个实验室时,想了解该房间已经预约的具体情况的操作,该房间里哪些课节已经预约了,哪些课节空闲。
三个功能的实现代码都类似,都是通过SQL语句来查找数据库里的相关信息,然后把查到的信息通过绑定控件显示到页面上,供查询者了解信息。
同