(2)系统具有相应的安全检查机制,通过相关的权限设置、密码和验证码的输入,使系统具有很强的安全和保密性,非法用户不能使用。同时具有方便简洁的平台以便管理员管理基本信息,也使教师预约实验室学生查询实验室教学安排更方便。
(3)系统还应具有较高的可靠性和容错能力,在出现预约冲突时给出相关的提示信息或帮助信息使教师根据需求重新选择可用实验室,管理员根据预约时间手动解决冲突。
3.2功能模块设计
系统要实现以上功能,对各项功能进行集中、分块,按照结构化程序设计的要求,得到系统总体功能模块图如图1所示。
图1 系统功能结构图
其中各个模块应该具备以下功能:
(1)用户注册/身份验证功能
提供给用户注册和登录接口,实现教师、学生、管理员三者身份的用户注册、修改、添加、删除管理等。
(2)管理员的管理功能
提供接口为管理员管理实验室服务,使管理员能够添加、修改、删除实验教室、对教师预约实验室进行审批等。
(3)预约实验室功能
提供接口为教师预约服务,功能有:实验室状况列表,已经预约的情况等。
(4)预约情况查询功能
提供接口为用户(教师、学生和管理员)查询服务,如实验室的使用情况查询、教师的预约情况查询、其他查询服务等。
3.3数据库设计
3.3.1概念结构设计
概念结构独立于数据库的逻辑结构,也独立于所使用的具体的数据库管理系统。概念模型的组成元素有:实体、属性、联系,E-R模型用E-R图表示。本系统主要涉及教师、管理员、实验室三个实体,其关系E-R图如图2所示。
图2 E-R图
3.3.2逻辑结构设计
实验室预约系统有一个数据库,包含有多张数据表,以下列出主要数据表的数据结构。
(1) 教师表,包含四个属性:教师编号、用户名、密码、所属部门,其中教师编号为主键。
关系模式:教师(教师编号、用户名、密码、所属部门)。
(2) 管理员表,包含三个属性:管理员编号、管理员姓名、密码,其中管理员编号设为主键。
关系模式:管理员(管理员编号、管理员姓名、密码)。
(3) 实验室表,包含四个属性:实验室编号、实验室名称、可容纳人数、管理员编号,其中实验室编号设为主键。管理员编号设置为外键。
关系模式:实验室(实验室编号、实验室名称、可容纳人数、管理员编号)。
(4) 实验室预约信息表,包括几个属性:实验室编号、预约时间、预约状态、教师编号、管理员编号,其中编号是主键,实验室编号、教师编号、管理员编号设置为外键。
关系模式:实验室预约信息(编号、实验室编号、预约时间、预约状态、教师编号、管理员编号)。
4.系统的实现
4.1登录/注册模块
用户根据相应身份输入用户名和密码,单击“登录”按钮,系统会从数据库表中查询对应数据,并判断用户名和密码是否正确;还需输入随机产生的验证码,如果输入错误或没有输入,窗体会显示相应提示。
当单击“注册”按钮时,将进入用户注册页面。
4.2 后台管理模块
此模块主要实现管理员对学生、教师、班级、院系、实验室信息的添加、修改和删除等功能。现在以管理员对教师管理模块为例,简要概述该管理模块的功能实现。
后台管理模块实现:主要是利用导航控件TreeView实现的,通过编辑节点来新建根节点以及子节点来实现的,这个控件方便实现导航页面的跳转。 ASP.net开放实验室预约系统的设计与实现(3):http://www.751com.cn/jisuanji/lunwen_4567.html