开放实验室预约系统

更新时间:2024-04-29 21:35:01 阅读量: 综合文库 文档下载

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

西安培华学院

本科毕业论文(设计)

题目 基于.net开放实验室预约系统设计

姓 名 李裕龙 院 系 电气信息工程学院 专 业 计算机科学与技术 学 号 4B071102 指导教师 李宝敏

I

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

摘 要

《基于.net开放实验室预约系统设计》是采用ASP.NET开发的一个开放实验室预约系统。本系统是针对目前实验室手工管理效率低下,缺乏安全性、可控性等缺点,以校园网为依托,采用科学、高效的教学管理方式,使学校的教学资源得到充分的利用。本系统主要实现了教师根据实际教学情况预约实验室、查看预约结果,学生查询实验室教学安排,实验室管理员对实验室的管理、用户信息的管理和系统消息发布等功能,同时系统提供了简单友好的用户界面,并通过身份验证机制实现了系统的安全性。考虑到可能出现的教师同时预约实验室的情况,本系统采用了预约时避免冲突、受理时解决冲突的方法,尽最大努力实现实验室资源的优化配置。系统具有网络化、界面友好、操作简单、功能强大、管理方便等优点,能够完全按照用户的需要,稳定、安全快速地运行于校园局域网之上。该系统操作简单、界面良好、具有很好的使用价值。

关键词:开放实验室;预约和查询;信息管理;冲突避免;资源共享;消息发布

II

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

Abstract

Exoteric of Laboratory Booking System Based on .NET Structure is an opened lab booking system that developed by ASP.NET. This system aims at these problems such as the inefficiency of laboratory manual management, the lacking of security, control and other shortcomings, it takes the campus net as a backing and adopts a scientific and efficient way of teaching management, so it enable the teaching resources of the school to obtain the full use. This system mainly realizes that teachers can appoint laboratory according to their actual situations and they can also see the appointment results, students can inquire the arrangement of the laboratory, laboratory managers can take the laboratory management which includes user information management and system news issue, simultaneously the system provides a simple and friendly user interface and it realizes the system security through the mechanism of identification authentication. Considering possibly that teachers simultaneously make an appointment for the laboratory, this system uses conflicts avoid when teachers are appointing, conflicts solve when laboratory managers are accepting. It completely greatly optimizes disposition of the laboratory resources. The system works through the network in a friendly interface, takes a simple, powerful and easy management, it can fully work in accordance with the needs of users and it moves above the campus local area network stably, safely and fast. Finally, this thesis summarizes this system's deficiency and further development.

Key words: open laboratory; appointment and inquiry; information management; conflict avoid;resource sharance;information insurance

III

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

目 录

第一章 系统概述 ........................ 错误!未定义书签。

1.1 引言 .......................................................1 1.2 开发背景 ...................................................1 1.3 开发目标 ...................................................2 1.4 功能介绍 ...................................................2 1.5 系统特点 ...................................................2 1.6 预约过程 ...................................................2

第二章 系统设计 ........................................ 4

2.1 系统实现基础 ...............................................4

2.1.1 概述 ..................................................4 2.1.2 Microsoft SQL Server 2000 简介 ........................5 2.1.3 ASP.NET 2003 简介 .....................................5 2.1.4 ADO.NET简介 ..........................................6 2.2 系统功能设计 ...............................................6 2.3 功能模块划分 ...............................................7

2.3.1 基本模块划分 ..........................................7 2.3.2 超级管理员模块 ........................................7 2.3.3 管理员模块 ............................................7 2.3.4 教师模块 ..............................................8 2.3.5 学生模块 ..............................................9 2.4 数据库结构设计 .............................................9

2.4.1 数据库设计概述 ........................................9 2.4.2 数据库组成 ...........................................10 2.4.3 数据库建表 ...........................................10 2.5 系统安全性设计 ............................................13 2.6 系统界面初步设计 ..........................................13 2.7 预约冲突处理初步设计 ......................................14

第三章 系统详细设计与实现..................... 错误!未定义书签。

3.1 系统首页的窗体设计与实现 ..................................15

3.1.1 功能描述 .............................................15 3.1.2 界面实现 .............................................15 3.2 预约实验室的窗体设计与实现 ................................15

IV

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

3.2.1 功能描述 .............................................19 3.2.2 界面实现 .............................................19 3.3 申请结果查询的窗体设计与实现 ..............................26

3.3.1 功能描述 .............................................26 3.3.2 界面实现 .............................................27 3.4 实验室预约查询的窗体设计与实现 ............................27

3.4.1 功能描述 .............................................27 3.4.2 界面实现 .............................................28 3.5 基本信息管理的窗体设计与实现 ..............................37

3.5.1 功能描述 .............................................37 3.5.2 界面实现 .............................................37 3.6 申请受理的窗体设计与实现 ..................................20

3.6.1 功能描述 .............................................20 3.6.2 界面实现 .............................................21

第四章 系统测试 ....................................... 22

4.1 测试环境 ..................................................22 4.2 功能模块测试 ..............................................22 4.3 安全性测试 ................................................22 4.4 冲突处理测试 ..............................................22

结 论 ............................................. 49 致 谢 ............................................. 50 参考文献 ............................................. 51

0

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

第一章 系统概述

1.1 引言

信息技术的迅猛发展带来了教育方式和管理方式的变革,随着高校规模的不断扩大和教学管理需求的不断提高,引进先进的信息化手段,实现教学管理方式的网络化和智能化成为教学改革的必然趋势。目前高等学校实验教学改革正在不断地深入,逐渐由封闭型向开放型过渡。现在实验室管理人员的工作负担越来越重,为了减轻实验室管理人员的工作负担,同时针对目前实验室预约越来越庞杂的管理局面,开发一套实验室网上预约的管理系统势在必行。

基于.NET结构的开放实验室预约系统针对原有手工管理效率低下,缺乏安全性、可控性等缺点,以校园网为依托,采用科学、高效的教学管理方式,使教师预约实验室比原来更加方便、快捷。

开放实验室预约系统将具有良好的开放性、扩展性、完善的系统功能,能全面满足对实验室大量信息进行管理等需求。整个系统既为学生、教师提供了一个简单易用的浏览界面,也为管理员提供了一个通用的、友好的、易扩展的管理界面,并对以后进一步扩大管理系统的规模提供了良好的建设平台,具有很好的灵活性。

1.2 开发背景

实验室是高等院校实施素质教育、培养学生创新精神与实践能力的重要基地。实验室对教师和学生开放,为教师和学生提供实践教学条件是实现教学改革的重要内容。

目前,传统的实验室管理方式为:教师通过电话或到实验室进行实验室预约的申请,管理员用手工记录实验室预约情况,管理员根据教师申请的具体条件和时间进行实验室分配,电话通知教师实验室预约成功或失败。传统的操作方式比较繁琐,工作量大,操作也不规范。

为了提高实践教学水平,规范实验室开放管理,迫切需要一套能够替代传统管理方式的实验室预约系统。因此,决定开发本系统,运用信息技术和计算机管理技术,建立实验室预约平台,在网上公布实验室开放状态,容纳人数等信息,并采用网上预约的形式,方便教师通过网络实时查看实验室开放情况,也方便学生通过网络了解实验课程状况。

1

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

1.3 开发目标

本次开发,将实现实践教学的动态、开放性管理,达到提高实践教学的工作效率,优化资源配置,提高实验管理水平的目的。主要开发目标如下: (1) 基于校园网,方便教师远程进行操作。 (2) 基于校园网,方便学生远程进行操作。 (3) 基于校园网,方便管理员远程进行操作。 (4) 便捷的管理和查询功能。

1.4 功能介绍

本系统是基于.NET开放实验室预约系统设计,由于我们在完成了本学期学院理论课程的选课后,在已确定选中的课程中,部分课程含有实验教学部分(包含独立的实验课程)。因此,负责实验教学的指导教师将进行实验室的预约以方便教学。实验室管理员发布学院所开放的实验室基本情况(包括实验教室、实验项目、容纳人数、管理员等信息),指导教师可以根据实际的教学安排,通过学校校园网自主地对实验室进行预约(实验教室和实验时间)。

1.5 系统特点

系统共设有用户注册/身份验证、实验室预约、预约情况查询、管理员管理等四个主要的功能模块,满足了教师进行实验室预约、实验室管理员进行管理、学生进行实验室预约情况的查询等各个方面的需求。它具有网络化、智能化、高性能、低维护、界面友好、操作简单、功能强大、管理方便、平台优秀等一系列的优点,能够完全按照用户的需求,稳定、安全、快速地运行于校园局域网之上,实现了校园网内的任意计算机都能进行实验室预约信息的查询,进行实验室预约操作,访问相关信息。从而充分利用了学校现有的资源,促进了教学管理系统的网络化,智能化,顺应了教学管理的发展趋势。

1.6 预约过程

整个预约过程分两个阶段: 初步预约阶段

指导教师根据实验教室、实验时间及学生人数等实际情况,按照“先来后到”选中原则进行实验室的预约。

确认预约阶段

2

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

为了充分利用学院教学资源,部分教师的实验室预约申请因学生人数少或与其他教师的预约相冲突,而被管理员取消,所以指导教师在预约的实验室使用前三天,务必在预约系统中查询确认所选的实验室是否选中,详情请查询“系统消息”或实验室预约情况。

预约过程如图1-1所示:

图1-1 预约过程

3

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

第二章 系统设计

2.1 系统实现基础

2.1.1 概述

本系统工作在.NET模式下,实际上是一种3层模型,包括前台用户窗口、后台数据库和中间应用程序。用户窗口围绕主页展开,主页设计采取自顶向下的规则,逐级分解各功能链接点的子功能。

系统开发平台:

Microsoft Windows 2000 server + IIS 5.0 + IE 6.0; Microsoft SQL Server 2000 Enterprise Edition ; Microsoft .NET Framework SDK 1.1 + MDAC 2.7。 系统开发工具:

Macromedia Dreamweaver8;

Microsoft SQL Server 2000 Enterprise Edition; Microsoft Visual Studio.NET 2003。

系统要求服务器端运行于安装了IIS服务器组件的Windows 2000 Server及以上版本的Windows平台。为了提供对.NET应用和ASP.NET数据库通信的支持,系统还必须下载安装Microsoft .NET Framework(.NET框架)和Microsoft Data Access Components (MDAC)2.7。同时还应当安装7.0版本以上的Microsoft SQL Server数据库系统提供后台的数据库服务

系统对客户端基本没有要求,凡是安装有Web浏览器并能对校园网进行访问的计算机都可以作为客户端使用。

系统体系结构图如图2-1所示。

4

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

图2-1系统体系结构图

2.1.2 Microsoft SQL Server 2000 简介

SQL Server 2000是由Microsoft开发推广的关系型数据库管理系统。它是基于客户端/服务器模式的数据库系统,图形化界面使用户能够更加快捷方便地对数据库进行管理,同时提供了丰富的编程接口,为程序的开发提供了更多的便利。SQL Server 2000数据库管理系统既可以对Web应用支持也可对数据仓储支持:

SQL Server 2000对Web应用支持主要表现在对XML的支持,对数据的Web访问支持,对分布式分区视图的支持,对Web和应用程序宿主的支持,安全性的支持,与.NET Enterprise Server Microsoft BizTalk 和Microsoft Commerce Server的集成。

SQL Server 2000对数据仓储的支持主要表现在:可伸缩性,数据转换服务,索引视图,数据挖掘,综合性分析服务,联机分析处理, OLAP灵活性,可支持Web的分析,元数据服务。

本次设计将SQL Server 2000作为系统的后台数据库。 2.1.3 ASP.NET 2003 简介

.NET是一个理想化的未来互联网环境。.NET被定位为可以作为平台支持下一代互联网的可编程结构。.NET的最终目的是让用户随时都能访问所需要的信息、文件和程序。

ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。ASP.NET是一个基于.NET框架的编译环境,可以用任何.NET兼容的语言创建应用程序。另外,整个.NET框架可用于任何ASP.NET应用程序。包括管理的公共语言运行库环境、类型安全、继承等。与以前的Web开发模型相比,ASP.NET具有以

5

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

下优点:增强的性能、世界级的工具支持、威力和灵活性、简易性、可管理性、可缩放性、可用性、自定义性和扩展性。

本次设计将采用ASP.NET 2003作为前台开发工具。 2.1.4 ADO.NET简介

Microsoft通过ADO.NET为编程人员提供了功能强大的数据访问能力。在ADO.NET中通过Managed Provider所提供的应用程序编程接口(API),可轻松地访问各种数据源的数据包括OLEDB所支持的和ODBC支持的数据库。ADO.NET的优点主要表现在这几个方面:互操作性、可维护性、可编程性以及可扩展性。

ASP.NET作为Web应用程序的开发工具,可以用来开发前台应用程序界面,但对后台数据库的操作就有些力不从心了,而ADO.NET则是专门针对数据库进行操作,而且专门为SQL Server数据库定义了一系列的操作规范以及操作函数、方法、对象。在应用程序的创建过程中,将它们结合在一起,可以使软件功能更加完美,并是它们充分发挥各自的优点。

2.2 系统功能设计

通过对用户需求调研并分析,确定本系统应该具备的功能,包括:用户注册/身份验证、实验室管理、实验室预约和预约情况查询。各模块的具体功能设计如下:

用户注册/身份验证功能

提供给用户注册和登录接口,实现教师、学生、管理员三者身份的用户注册、修改、添加、删除管理等。

实验室管理功能

提供接口为管理员管理实验室服务,使管理员能够添加、修改、删除实验教室及相关信息,能够对学生、教师的基本信息进行管理,对公共信息的发布管理以及对实验室预约进行受理等。

预约实验室功能

提供接口为教师预约服务,功能有:实验室状况列表,已经预约的情况,通知服务等。 预约情况查询功能

提供接口为用户(教师、学生和管理员)查询服务,如实验室的使用情况查询、教师的预约情况查询、其他查询服务等。

6

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

2.3 功能模块划分

2.3.1 基本模块划分

按不同用户的权限划分,本系统主要包括以下几个模块,如图2-2所示:

开放实验室预约系统 超级管理员 管理员 教师 学生

图2-2 基本模块划分

2.3.2 超级管理员模块

超级管理员模块划分如图2-3所示:

超级管理员模块 管理员管理 实验室申请管图2-3 超级管理员模块

公共信息管

超级管理员模块具体功能如表2-1所示:

表2-1 超级管理员操作模块

管理员管理 实验室申请管理 公共信息管理 对管理员进行添加、修改、删除等 对实验室申请进行删除等 对系统信息进行删除等 2.3.3 管理员模块

管理员模块划分如图2-4所示:

7

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

管理员模块 基本信息管理 学生信息管理 教师信息管理 实验室信息管理 实验室预约管理 公共信息管理 图2-4管理员模块

管理员模块具体功能如表2-2所示:

表2-2 管理员操作模块

基本信息管理 学生信息管理 教师信息管理 实验室信息管理 实验室预约管理 公共信息管理 修改基本信息、修改密码等 学生信息的添加、删除、修改等 教师信息的添加、删除、修改等 实验室信息、名称、地点等的管理 对教师预约实验室进行管理 对公共信息进行发布、修改、删除等 2.3.4 教师模块

教师模块划分如图2-5所示:

教师模块 基本信息管理 实验室预预约查

图2-5 教师模块

教师模块具体功能如表2-3所示:

表2-3 教师操作模块

基本信息管理 8 修改基本信息、修改密码等 西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

实验室预约 实验室预约查询 进行实验室的预约申请 查询实验室预约情况 2.3.5 学生模块

学生模块划分如图2-6所示:

学生模块 基本信息管理 实验室预约查

图2-6学生模块

学生模块具体功能如表2-4所示:

表2-4 学生操作模块

基本信息管理 实验室预约查询 修改基本信息、修改密码等 查询实验室预约情况 2.4 数据库结构设计

2.4.1 数据库设计概述

本系统是一套基于网络平台的系统,它要求系统具备对大批数据的操作能力并含有大量与数据库交互的事件,因此在后台数据库的选择和设计方面具有较高的标准。鉴于以上考虑,系统选择了SQL Server 2000作为系统的后台数据库。

SQL Server 2000与ASP.NET同为.NET战略的重要组成部分,它们的组合是基于微软Windows平台下Web站点的完美数据库解决方案。SQL Server 2000作为微软企业级的数据库产品,在可靠性、易用性、可伸缩性、业务职能功能等方面都具有非常优秀的表现,是大规模联机事务处理(OLTP),数据仓库和电子商务等应用的优秀数据库平台。ASP.NET作为.NET平台的Web解决方案,通过ADO.NET提供的OLEDB(对象链接和嵌入数据库)技术实现了对广泛数据源的访问能力。而且对于同门的SQL Server 2000,.NET框架特别提供了一个专门的SQL Server.NET数据提供者对其进行支持,并对其进行了专门的性能优化,可使.NET应用程序在访问SQL Server 数据库时性能大大提升。

数据库数据的初始化输入,本系统采用了自动生成数据库条目的方式。管理教师只需在页面上点选、输入少量必要的数据,后台程序将自动对条件进行组合,然后写入数据库

9

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

中,减轻了教师的输入工作量;另外,系统将大量数据库操作都要用到的数据库连接字写入ASP.NET提供的Web.config配置文件中进行统一的调用管理。当数据库的路径名称等发生改变时,无需进入每个页面进行相应字段的代码更改,只需对Web.config中的连接字设置进行修改,即可完成全部页面相应数据的修改,从而减少了系统变更的代码编写量。

2.4.2 数据库组成 数据库名称:LabBooking

数据库文件:LabBooking_Data.MDF 事务日志文件:LabBooking_Log.LDF 2.4.3 数据库建表

根据本系统各个功能模块的需要,在数据中建立了若干张表,下面列出各主要表的相关信息:

教师信息表 TeacherInfo,如表2-5所示

表2-5 TeacherInfo(教师信息)表结构

列名 cTeacherID vTeacherName cTeacherPwd cTeacherTel vTeacherEmail 中文名称 教师工作证号 教师姓名 教师密码 教师电话 教师邮箱 类型 char varchar char char varchar

宽度 10 20 20 15 40 是否为空 NOT NULL NOT NULL NOT NULL NULL NULL 备注 PK 学生信息表 StudentInfo,如表2-6所示

表2-6 StudentInfo(学生信息)表结构

列名 cStudentID vStudentName cStudentPwd 中文名称 学生学号 学生姓名 学生密码 类型 char varchar char 10

宽度 10 20 20 是否为空 NOT NULL NOT NULL NOT NULL 备注 PK

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

管理员信息表 AdminIn,如表2-7所示

表2-7 AdminInfo(管理员信息)表结构

列名 cAdminID vAdminName cAdminPwd cAdminTel 中文名称 管理员ID 管理员姓名 管理员密码 管理员电话 类型 char varchar char char

宽度 10 20 20 15 是否为空 NOT NULL NOT NULL NOT NULL NULL 备注 PK 实验室信息表,LabInfo,如表2-8所示

表2-8 LabInfo(实验室信息)表结构

列名 cLabID cLabStyle vLabAmount vLabState vLabDescription cAdminID 中文名称 实验室房间号 实验室类型 实验室容纳人数 实验室开放状态 实验室简介 管理员ID 类型 char char varchar varchar varchar char

宽度 6 20 4 10 250 10 是否为空 NOT NULL NULL NULL NOT NULL NULL NULL 备注 PK 预约情况表,BookingDetail,如表2-9所示

表9 BookingDetail(预约情况)表结构

列名 siBookingID cLabID 中文名称 预约ID 实验室房间号 类型 smallint char 11

宽度 2 6 是否为空 NOT NULL NOT NULL 备注 PK 自动编号 西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

cWeek cDay cLesson cTeacherID cAdminID vBookingteaState vBookingstuState vBookingadmState 周次 日次 节次 教师工作证号 管理员ID 审核状态(教师) 审核状态(学生) 审核状态(管理员) char char char char char varchar varchar varchar 10 6 6 10 10 20 20 20 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL

周次时,WeekTime,如表2-10所示

表2-10 WeekTime(周次时间)表结构

列名 cWeekID cWeek 中文名称 周次ID 周次 类型 char char 宽度 2 10 是否为空 NOT NULL NOT NULL 备注 PK

日次时——DayTime,如表2-11所示

表2-11 DayTime(日次时间)表结构

列名 cDayID cDay 中文名称 日次ID 日次 类型 char char

宽度 2 6 是否为空 NOT NULL NOT NULL 备注 PK 节次时间表,LessonTi,如表2-12所示

表2-12 LessonTime(节次时间)表结构

列名 cLessonID 中文名称 节次ID 类型 char 12

宽度 2 是否为空 NOT NULL 备注 PK 西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

cLesson 节次 char 6 NOT NULL

通知服务表,NoteServi,如表2-13所示

表2-13 NoteService(通知服务)表结构

列名 siNoteID vNoteTitle vNoteContent dNoteTime cNoteWho 中文名称 消息ID 消息题目 消息内容 发布时间 发布对象 类型 smallint varchar varchar datetime char 宽度 2 30 250 20 是否为空 NOT NULL NOT NULL NOT NULL NULL NULL 备注 PK自动编号 当前时间 2.5 系统安全性设计

本系统是一个基于Web网络的开放式系统,它可以被校园网中的任何一台计算机访问,同时它又包含了一些比较敏感的数据,不允许随意地被更改或删除,因此维护站点的安全性就显得尤为重要。

ASP.NET提供了多种强大的身份验证机制,考虑到系统运行的实际情况,本系统采用了基于表单的身份验证方式。它建立在cookie的基础上,当用户登录到ASP.NET应用程序上时,ASP.NET会发出一个用于身份验证的cookie,在以后的Web请求中,该cookie会在服务器和客户机之间来回传送,用于验证用户请求的合法性。

实验室预约系统放置于系统根目录下的LabBooking文件夹中。通过在该文件夹中放置一个名为Web.config的XML文件,就可以实现对文件夹中的所有页面的保护。

当客户端请求该文件夹中的页面时,Web.config文件会对收到的请求进行验证,如果请求中包含所需的cookie文件,则可顺利提供响应;如果请求中不含有所需的验证信息,则ASP.NET会强行将页面定位到login.aspx文件要求用户进行验证,通过后在客户端系统的临时文件夹中生成LabBooking的cookie供以后的请求使用。当客户端退出系统或关闭对应的浏览器窗口时,该cookie将从客户机系统中自动删除,以保护系统的安全。

2.6 系统界面初步设计

本系统的设计和开发都力求做到在后台为用户处理大量的事务并提供简单、明晰的操

13

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

作界面,努力使用户承担最少的工作量,从而使用户对系统的操作成为一件轻松简单而又愉快的事情。

本系统提供实验室的预约,指导教师可以根据自己实际的教学情况自行选择实验室进行预约。但是,由于实验室有限,实验项目、实验周次、实验课时都有可能会出现人数约满的情况。在这个问题的解决上,系统采用了四组下拉列表,可轻松地完成预约的任务。下拉列表的采用使用户无需进行键盘输入,减少了操作量,同时也避免了可能发生的输入错误。

由于页面中有很多表项,很容易导致用户的误操作,因此系统页面在设计时,使鼠标停留的表项进行反转显示,这样使用户在选择的时候不容易发生错误。若要删除一条表项时,会弹出消息框,确认是否删除,以避免用户在操作中的误删除带来的不便。

2.7 预约冲突处理初步设计

在指导教师使用本系统进行实验室预约时,可能会发生冲突的情况:几个教师在同一时刻预约同一个实验室。本系统在教师提交预约申请时,将尽最大努力避免这种冲突,在冲突发生后,会及时解决冲突。

避免冲突的实现:在指导教师申请预约实验室时,若此时实验室为开放状态且空闲,将成功提交此次申请,并提示“预约成功”;若此时实验室已有教师预约,将提示“已有教师在申请中,但此次申请依然有效”,预约成功;若此时实验室已有教师预约成功且已通过实验室管理员受理,则提示“预约失败”,此时预约申请无效。

解决冲突的方法:为了解决指导教师由于同时申请预约实验室而产生的冲突,本系统采用实验室管理员手工处理的方式来解决。手工处理比起自动处理将具有更加人性化和更加合理化的特点。而本系统也会使用十分友好的、易操作的界面将由手工处理带来的繁琐降到最低程度。若有两个教师同时预约一个实验室,实验室管理员需要进行实验室预约受理,当选中一条预约申请时,系统会提示管理员此时有另外一个教师也预约了这个实验室,这样管理员将视具体情况来决定是否受理申请。

14

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

第三章 系统详细设计与实现

3.1 系统首页的窗体设计与实现

3.1.1 功能描述

这个窗体主要用来实现用户的登录。用户需要输入用户名和密码,并通过单击单选按钮来选择相应的用户身份。学生的用户名为学号,教师和管理员的用户名则为工作证号。当单击“登录”按钮时,系统将根据用户名、密码和用户身份等信息进行用户身份验证,如果在用户数据库中找到相应表项时,系统将允许用户登录。学生将登录到学生首页,教师将登录到教师首页,管理员将登录到管理员首页。当登录信息不符合时,系统将拒绝用户登录,并提示“用户名或密码错,请重新输入”的信息。超级管理员可以直接输入特定的用户名和密码,登录到超级管理员的首页。

当单击注“注册”按钮时,将进入用户注册页面。 3.1.2 界面实现

系统首页的窗体实现如图3-1所示

图3-1系统首页的窗体实现

页面逻辑处理部分代码如下:

<%@ Page language=\ Codebehind=\ AutoEventWireup=\ Inherits=\ %>

15

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

实验室预约系统首页

BODY { BACKGROUND-IMAGE: url(images/back.jpg) } .all { FONT-SIZE: 14px }

.button { BORDER-RIGHT: #666699 1px solid; BORDER-TOP: #666699 1px solid; FONT-SIZE: 14px; BORDER-LEFT: .textbox { BORDER-RIGHT: #669900 1px solid; BORDER-TOP: #669900 1px solid; BORDER-LEFT: #669900 1px

#666699 1px solid; WIDTH: 50px; BORDER-BOTTOM: #666699 1px solid; HEIGHT: 22px; BACKGROUND-COLOR: #d3e59e }

solid; WIDTH: 150px; COLOR: #000000; BORDER-BOTTOM: #669900 1px solid; HEIGHT: 20px; BACKGROUND-COLOR: #ffffff }

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

学院计算机科学与技术专业 All

Rights Reserved

3.2 预约实验室的窗体设计与实现

3.2.1 功能描述

这个窗体主要用来实现指导教师对实验室的预约提出申请,包括实验教室和实验时间等条件。单击实验室下拉列表中的实验室房间号,则在下面的列表部分会显示此时处于开放状态的实验室。单击周次、日次和节次等时间信息的下拉列表,则在下面的列表部分会显示可以预约的实验时间。单击“提交申请”按钮可以对此次申预约实验室进行申请操作,若此次预约的实验教室和实验时间已经被其他指导教师成功预约并通过实验室管理员的受理,则此次预约失败,提示“实验室此时已经被申请”的信息;若此时实验教室空闲或有其他指导教师申请预约但未被实验室管理员受理,则此次预约成功,提示“申请成功”的信息,即可将新的数据保存到数据库中。

在单击实验室下拉列表,选择要预约的实验室时,在下拉列表后会动态的显示当前选择的实验室的主要信息,包括实验室类型和容纳人数,点击更多能查看到当前选择的实验室的详细信息。

3.2.2 界面实现

预约实验室的窗体实现如图3-2所示

19

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

图3-2 预约实验室的窗体实现

预约实验室的主代码:

<%@ Page language=\ Codebehind=\ AutoEventWireup=\ Inherits=\ %>

实验室信息管理

@import url( ../css/left.css );

20

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

width=\td>

height=\ src=\ width=\IMG height=\ src=\ width=\IMG height=\ src=\ width=\td>

cellSpacing=\

cellPadding=\ width=\ border=\

src=\ width=\ height=\td>

height=\ src=\ width=\td>

href=\基本信息管理

src=\ width=\td>

学生信息管理

src=\ width=\td>

background=\A href=\教师信息管理

src=\ width=\td>

21

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

实验室信息管理

src=\ width=\ height=\td>

href=\通知服务管理

width=\td>

href=\申请受理

height=\td>

width=\td>

22

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

CssClass=\asp:TextBox>

CssClass=\ Text=\查询-\asp:Button>

 

Text=\添加-\ CausesValidation=\asp:Button>

AllowSorting=\ AllowPaging=\ AutoGenerateColumns=\

CellPadding=\ BackColor=\ BorderWidth=\

BorderStyle=\ BorderColor=\

ForeColor=\ BackColor=\SelectedItemStyle>

ForeColor=\ItemStyle>

ForeColor=\ BackColor=\HeaderStyle>

BackColor=\FooterStyle>

DataTextField=\

DataNavigateUrlField=\ DataNavigateUrlFormatString=\

SortExpression=\ HeaderText=\实验室\

HeaderText=\实验室类型\

SortExpression=\ HeaderText=\容纳人数\

HeaderText=\开放状态\

DataNavigateUrlField=\ DataNavigateUrlFormatString=\

23

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

DataTextField=\ HeaderText=\管理

员\

HeaderText=\修改\

DataNavigateUrlField=\ DataNavigateUrlFormatString=\

CommandName=\

Mode=\PagerStyle>

ForeColor=\ BackColor=\

Visible=\

ForeColor=\Label

CssClass=\asp:TextBox>

ErrorMessage=\ ControlToValidate=\asp:RequiredFieldValidator>

24

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

CssClass=\asp:TextBox>

CssClass=\asp:TextBox>

CssClass=\ Width=\

TextMode=\asp:TextBox>

runat=\asp:DropDownList>

CssClass=\ Text=\添加-\asp:Button> 

25

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

CssClass=\ Text=\返回-\ CausesValidation=\asp:Button>

width=\IMG height=\ src=\ width=\IMG height=\

src=\ width=\IMG height=\ src=\ width=\td>

Reserved

计算机科学与技术专业All Rights

3.3 申请结果查询的窗体设计与实现

3.3.1 功能描述

这个窗体主要用来实现指导教师对实验室预约申请结果的查询,共包括预约申请中、预约已通过、预约未通过三种状态。若预约已通过或未通过时,会显示受理或不受理此次预约申请的管理员。单击实验教室可以查看实验室详细信息(包括实验室房间号、实验室类型、容纳人数、开放状态、简介等信息),单击管理员可以查看管理员的详细信息(包括管理员的联系方式等信息)。单击“退选”按钮可以对此次预约申请进行退选操作,系统将提示“是否进行此次退选”,若选确定,即可将数据从数据库中删除。

在上面的列表部分,单击实验室下拉列表,会显示此时处于开放状态的实验室;单击周次、日次等时间信息的下拉列表,会显示可以预约的实验时间。选择好搜索条件后,单击“搜索”按钮可以对实验室申请结果进行精确的查询操作,若有满足查询条件的实验室申请结果,则会显示在下面的表格中;若没有满足查询条件的实验室申请结果,则在下面

26

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

的表格中没有任何显示。

点击表格页眉部分的实验室和周次列,则能对表格相应的列内容进行排序。第一次点击为升序,第二次点击为降序,再次点击又为升序,依此规律不断循环。

3.3.2 界面实现

申请结果查询的窗体实现如图3-3所示

图3-3 申请结果查询的窗体实现

3.4 实验室预约查询的窗体设计与实现

3.4.1 功能描述

这个窗体主要用来实现学生、指导教师对实验室预约结果的查询,包括已预约、预约中(学生无权查看此状态)两种状态。若实验室处于预约中的状态时,会显示此次申请预约的指导教师;若实验室处于已预约的状态时,会显示此次申请预约的指导教师和受理此次申请预约的管理员。单击实验教室可以查看实验室详细信息(包括实验室房间号、实验室类型、容纳人数、开放状态、简介等信息),单击管理员可以查看管理员的详细信息(包括管理员的联系方式等信息),单击申请教师可以查看申请教师的详细信息(包括申请教师的联系方式等信息)。

在上面的列表部分,单击实验室下拉列表,会显示此时处于开放状态的实验室;单击周次、日次等时间信息的下拉列表,会显示可以预约的实验时间。选择好搜索条件后,单

27

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

击“搜索”按钮可以对实验室申请结果进行精确的查询操作,若有满足查询条件的实验室申请结果,则会显示在下面的表格中;若没有满足查询条件的实验室申请结果,则在下面的表格中没有任何显示。

点击表格页眉部分的实验室、周次、日次和节次列,则能对表格相应的列内容进行排序。第一次点击为升序,第二次点击为降序,再次点击又为升序,依此规律不断循环。

3.4.2 界面实现

实验室预约查询的窗体实现如图3-4所示

图3-4 实验室预约查询的窗体实现

实验室预约查询的部分代码:

private void Page_Load(object sender, System.EventArgs e)

{

this.lbMessage.Visible = false; if(!this.IsPostBack) {

SqlConnection con = DB.creatConnection(); con.Open();

SqlCommand cmd = new SqlCommand(\SqlDataReader sdr = cmd.ExecuteReader();

28

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

this.ddlLab.DataSource = sdr;

this.ddlLab.DataTextField = \this.ddlLab.DataValueField = \this.ddlLab.DataBind(); sdr.Close();

cmd.CommandText = \sdr = cmd.ExecuteReader(); this.ddlWeek.DataSource = sdr; this.ddlWeek.DataTextField = \this.ddlWeek.DataValueField = \this.ddlWeek.DataBind(); sdr.Close();

}

}

cmd.CommandText = \sdr = cmd.ExecuteReader(); this.ddlDay.DataSource = sdr; this.ddlDay.DataTextField = \this.ddlDay.DataValueField = \this.ddlDay.DataBind(); sdr.Close(); con.Close();

this.BindToDataGrid();

find();

// 在此处放置用户代码以初始化页面

29

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

private void BindToDataGrid() {

SqlConnection con = DB.creatConnection(); SqlDataAdapter sda = new SqlDataAdapter();

sda.SelectCommand = new SqlCommand(\* from BookingDetail AS a JOIN

TeacherInfo AS b ON a.cTeacherID=b.cTeacherID order by siBookingID desc\

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e) { }

private void InitializeComponent() {

this.btSelect.Click += new System.EventHandler(this.btSelect_Click); this.DataGrid2.PageIndexChanged

+=

new

InitializeComponent(); base.OnInit(e);

DataSet ds = new DataSet(); sda.Fill(ds,\

this.DataGrid2.DataKeyField = \this.DataGrid2.DataSource = ds.Tables[\this.DataGrid2.Columns[7].Visible = false; this.DataGrid2.DataBind();

System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid2_PageIndexChanged);

this.DataGrid2.SortCommand

+=

new

System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid2_SortCommand);

this.DataGrid2.ItemDataBound

+=

new

System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid2_ItemDataBound);

30

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

}

this.btYes.Click += new System.EventHandler(this.btYes_Click); this.btNo.Click += new System.EventHandler(this.btNo_Click); this.Load += new System.EventHandler(this.Page_Load);

#endregion

private void btSelect_Click(object sender, System.EventArgs e) { } Private

void

DataGrid2_SortCommand(object

source,

string condition = \

condition = \

condition += \condition += \DataView dv = new DataView(BookOperate.selectAllBook()); dv.RowFilter = condition; this.DataGrid2.DataSource = dv; this.DataGrid2.DataBind();

System.Web.UI.WebControls.DataGridSortCommandEventArgs e)

{

if(ViewState[\{ } else {

if(ViewState[\{ }

31

ViewState[\

ViewState[\

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

}

else { }

ViewState[\

SqlConnection con = DB.creatConnection(); SqlDataAdapter sda = new SqlDataAdapter();

sda.SelectCommand = new SqlCommand(\* from BookingDetail AS a JOIN

TeacherInfo AS b ON a.cTeacherID=b.cTeacherID\

DataSet ds = new DataSet(); sda.Fill(ds,\

ds.Tables[\

=

e.SortExpression+\

\

} private

void

DataGrid2_ItemDataBound(object

sender,

this.DataGrid2.DataKeyField = \

this.DataGrid2.DataSource = ds.Tables[\this.DataGrid2.Columns[7].Visible = false; this.DataGrid2.DataBind();

System.Web.UI.WebControls.DataGridItemEventArgs e)

{

if(e.Item.ItemType

==

ListItemType.Item||e.Item.ItemType

==

ListItemType.AlternatingItem)

{

e.Item.Attributes.Add(\

undColor='#99cc33'\

}

32

}

e.Item.Attributes.Add(\

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

private void DataGrid2_PageIndexChanged(object source,

System.Web.UI.WebControls.DataGridPageChangedEventArgs e)

private void btYes_Click(object sender, System.EventArgs e) {

foreach(System.Web.UI.WebControls.DataGridItem dl in this.DataGrid2.Items) {

CheckBox chk = (CheckBox)dl.FindControl(\if(chk.Checked) {

Book b = new Book();

b.labID = dl.Cells[0].Text.Trim(); b.week = dl.Cells[1].Text.Trim(); b.day = dl.Cells[2].Text.Trim(); b.lesson = dl.Cells[3].Text.Trim(); b.teaID = dl.Cells[7].Text.Trim(); b.admID = Session[\b.bookTeaState = \已通过\b.bookStuState = \已预约\b.bookAdmState = \已受理\if(BookOperate.chooseOperate(b)) {

Note n = new Note(); n.title = \预约成功\

n.text = b.labID+\您的预约

33

{ }

this.DataGrid2.CurrentPageIndex = e.NewPageIndex; this.BindToDataGrid();

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

已经成功\

n.who = b.teaID;

if(NoteOperate.insertOperate(n)) {

this.lbMessage.Text = \受理成功\this.lbMessage.Visible = true;

Response.Write(\lanauage='javascript'>alert('受理成功

')\

private void btNo_Click(object sender, System.EventArgs e) {

foreach(System.Web.UI.WebControls.DataGridItem dl in this.DataGrid2.Items) {

CheckBox chk = (CheckBox)dl.FindControl(\if(chk.Checked) {

Book b = new Book();

b.labID = dl.Cells[0].Text.Trim();

34

}

}

}

}

}

else { }

this.lbMessage.Text = \受理失败\this.lbMessage.Visible = true;

this.BindToDataGrid();

西安培华学院本科毕业论文 基于.net开放实验室预约系统设计与实现

思,您的预约失败\

功')\

}

b.week = dl.Cells[1].Text.Trim(); b.day = dl.Cells[2].Text.Trim(); b.lesson = dl.Cells[3].Text.Trim(); b.teaID = dl.Cells[7].Text.Trim(); b.admID = Session[\b.bookTeaState = \未通过\b.bookStuState = \预约失败\b.bookAdmState = \未受理\if(BookOperate.chooseOperate(b)) { Note n = new Note(); n.title = \预约失败\

n.text = b.labID+\不好意

n.who = b.teaID;

if(NoteOperate.insertOperate(n)) { this.lbMessage.Text = \不受理成功\ this.lbMessage.Visible = true;

Response.Write(\lanauage='javascript'>alert('不受理成

}

}

else { this.lbMessage.Text = \不受理失败\ this.lbMessage.Visible = true;

}

35

本文来源:https://www.bwwdw.com/article/1ekg.html

Top