1、 基于 B/S 的开放式实验室教学管理系统 ( XX 计算机与信息工程学院 ) 摘 要 :随着高校管理变革的逐步推进,实验室建设进一步规范化、复杂化,高校实验室管理工作也变得更加繁重和复杂。为了便利管理工作的展开,提高工作效率,利用计算机来进行辅助管理,以简化我们的工作,成为需要。本系统正是基于此而进行开发设计。系统采用 .NET框架和三层结构,完全 B/S 模式,纯面向对象思想( OOP),利用 SQL Server 2000作为数据库管理工具,模块复用率高、系统维护代价小,方便、灵活、高效。 关键词 : ASP.NET; B/S; OOP; SQL;管理系统 1 绪论 1.1 开发背景 实
2、验教学的核心目的是培养和提高学生的实践能力和创新能力。传统的实验教学模式仅是完成教学大纲规定的实验内容,且验证性实验较多,不利于学生创新精神与实践能力的培养。在以素质教育和创新教育为核心的新的高等教育形势下,这种培养方式远不能满足学生能力发展的需求。为解决这一矛盾,实验室实行开放教学已势在必行 1。而实验室的开放,使实验室管理出现了新情况、新问题。实验设备维护、实验教师工作量、实验安排等问题使得开放实验室建设受到极大的阻碍。为实现开放实 验室建设得以顺利开展,开放实验室管理得以高效、有步骤地进行, 更新实验教学体制,实施开放式管理是实行开放式实验教学的保证。结合开放式实验室建设,利用 Inte
3、rnet 建立开放实验室管理系统是急需解决的问题。它改革了旧的教学模式,建立了新的体系,大大提高了实验室的利用率和学生学习的积极性,并把管理人员从繁重的管理工作中解脱出来。为此我针对以上情况,设计和实现了此系统。 1.2 系统功能 通过设计开发,本系统可以为学生提供实验选课的网上平台,学生只要在任何一台上网的计算机上就可以浏览所要了解的实验信息,并通过用户验 证登录后,找到自己感兴趣的实验进行预约、查询等。促进学生学习的积极性。本系统为教师提供在线查看学生的实验报告、批改实验报告、查看学生做实验的记录等。系统管理员可在线进行系统信息更新和维护。开放式实验室教学管理系统把教师从繁重的实验管理工作
4、中解脱出来,投入到实验教学方法和内容的研究上来,从而提高实验管理水平。 1.3 开发工具 1.3.1 Visual studio.NET 2005 Visual studio.NET 2005 包含了一系列高效的、智能的开发工具,不论是为开发初学者,还是为经验丰富的企业开发团 队都提供了四个全新的、强大的功能: (1)全方位的工具平台 不论是编程初学者还是富有经验的企业开发团队的一员,都将为其提供高效的开发工具。 (2)减少开发的复杂度 确保能更加轻松发布基于 Framework 的解决方案,包括 Windows、 Web、移动和基于 Office 的应用。 (3)第三方的生态系统 允许利用来
5、自 Visual Studio 行业合作伙伴的参与研发的产品,并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署 2。 (4)改善团队的沟通 提供高效 智能的生命周期工具,通过使用 Visual Studio 2005 Team System,来增强 IT 周期参与者之间的交流与协作 2。 1.3.2 SQL Server 2000 SQL Server 2000 是一个关系数据库管理系统。它最初是由 Microsoft Sybase 和Ashton-Tate 三家公司共同开发的,于 1988 年推出了第一个 OS/2 版本。在 Windows NT 推出后, Mi
6、crosoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了。 Microsoft 将 SQL Server 移植到 Windows NT 系统上,专注于开发推广 SQL Server 的 Windows NT 版本。Sybase 则较专注于 SQL Server 在 UNIX 操作系统上的应用 3。 SQL Server 2000 是 Microsoft 公司推出的 SQL Server 数据库管理系统的新版本。该版本继承了 SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行 Mi
7、crosoft Windows 98 的膝上型电 脑,到运行 Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用 4。 1.4 开发语言 A、 C#,脚本语言: Jscript/V。 1.5 开发思想 基于 .NET 框架,系统架构采用三层结构(用户表示层、业务逻辑层、数据访问层),B/S 模式,完全面向对象。 ASP.NET 可以使用 .NET 平台快速方便的部署三层架构。 ASP.NET 革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用 C#,VB,J#作为后台代码的语言。 .NET 中可以方便的实现组件的装配,后台代码通过命
8、名控件可以方便的使用自己定义的组件。显示层放在 ASP.NET 页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。 2 需求分析 2.1 系统的功能结构图 图 1 系统功能结构图 2.2 系统的性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能开放式实验室教学管理系统 前台 后台 浏览实验信息 管理学生实验报告 学生登录 教师登录 管理员登录 批改实验报告 预约实验 个人资料管理 学生信息管理 教师信息管理 实验信息管理 管理员管理 系统设置 查询实验成绩 需求: ( 1)系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能
9、。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看,学生信息查询、实验信息查询、预约结果查询、实验成绩查询及预约实验、撤消预约,其准确性很大程度上决定了系统的成败。因此,在系统开发过程中,系统采用优化的 SQL 语句及安全扩展存储过程来保证系统的准确性和及时性。 ( 2)系统的开放性和系统的可扩充性 系统在开发过程中,应该充分考虑以后的可扩充性。例如实验信息属性添加、 修改,用户查询的需求及管理工作的分级管理,信息输出打印报表等模块也会不断的更新和
10、完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 ( 3)系统的易用性和易维护性 系统是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使 用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 系统中涉及到的数据是高校实验室相当重要的信息,因此系
11、统为不同角色的用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了数据备份,日常安全管理, 防止 系统意外崩溃等功能。 ( 4)系统的响应速度 系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影 响工作效率。 2.3 系统的数据需求 系统的数据需求包括如下几点: ( 1)数据录入和处理的准确性和实时性 数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。因此,本系统设计时对数据输入进行
12、了合法性较验,确保数据的准确性。在系统中,数据的输入及处理往往是大量的,因此系统拥有批处理能力,以保证迅速的处理数据。 ( 2)数据的一致性与完整性 由于系统的数据是共享和关联的,所以如何保证这些数据的一致性,是系统必须解决的问题。为解决这一问题,系统创建了表间关系,并定 义了触发器、完整性约束,严格约束数据的更新与删除,减少数据冗余,增强数据一致性及完整性。 ( 3)数据的共享与独立性 整个系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的健壮性 5。 2
13、.4 系统的运行要求 系统 的硬件和软件的配置如下: 系统软件: Windows 2003 Server 、 IIS 6.0 、 .NET Framework 2.0 数据库管理系统: SQL Server 2000 硬件要求: Pentium III 450 以上、 512M RAM、硬盘 80G、 100M 网卡 3 总体设计 在前一阶段 ,通过需求分析,我们对系统的定义及功能模块有了整体描述 。在下面的数据库设计中实现系统各实体定义,实体间的关系及数据信息流在关系数据库中的映射结果和数据信息的物理存储问题。在以下的详细设计中将对在本阶段中对系统所做的所有详细设计进行说明。 在本阶段中,确
14、定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在需求 分析中所描述的数据、功能、运行、性能需求和系统所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),以及下面的几个问题: ( 1)有效实现三类角色(学生、教师、管理员)的业务逻辑。 ( 2)判断信息的正误并采取相应的校验处理步骤。 ( 3)进行数据库的查询、修改工作。 ( 4)接受并判断错误,输出相应的出错消息。 本系统主要由三部分 组 成:学生系统模块、教师系统模块、系统管
15、理员模块。下面 将详细介绍各模块的业务逻辑。 ( 1) 学生系统模块总体业务逻辑 学生想进入系统进行开放实验预约,必须先注册,否则学生是不能进入系统进行预约的。系统在此处利用存储过程封装了此处理过程,安全性高,防止非法用户进行 SQL 注入。 浏览实验信息 学生在线浏览实验信息,查看系统为实验信息设置的上限人数, 当 上限人数未满 时 ,该实验 才 可进行预约,否则不能进行预约。并且浏览的实验信息中全部为当前时间点后进行的实验。 预约实验 凡进行某实验预约的学生,不可再重复进行该实验预约。若实验信息中上限人数不足,就可预约,直至预约人数达到上限人数或者时间超出实验信息规定的 实验时间。否则不能
16、进行预约。 提交实验报告 凡是进行预约实验的学生必须在预约实验完成后三天之内将实验报告提交,否则系统自动设置为不可提交。 预约实验结果查询 学生可按给定的关键字进行预约实验结果查询,查看自己预约的实验是否通过系统审核。若通过,则必须按时到实验地点参加开放实验,否则系统会记录该生一次未参加实验,超过三次,系统自动将该生信息冻结,以后不能进行预约实验。若未通过系统审核,系统会给出不通过的原因。 实验报告成绩查询 学生若按时提交实验报告,辅导教师会在规定的时间为学生批改实验报告,并给出评定级别, 每一级别在系统中都对应一定的分数权值。学生可按指定的关键字进行成绩查询。 编辑个人信息 学生在进入个人资
17、料管理界面后,可进行个人信息编辑,包括已注册的全部信息和提交的实验报告,预约的实验等。 撤消实验预约 若出现特殊情况,学生不能按时参加实验,学生也可进行撤消实验预约。但必须是在实验开 始 前,否则系统不会显示该实验信息,也就不能进行撤消操作。 查看个人实验记录 ( 2)教师系统模块总体业务逻辑 浏览学生的实验报告 教师在进行批改学生实验报告前,可浏览学生的实验报告,为批改提供内容依据。 进行实验报告批改,登录成 绩。 教师可在线进行批量学生实验报告批改,为每一个学生选择评定级别,点击提交按钮,可进行批量成绩级别录入。 ( 3)系统管理员模块总体业务逻辑 学生信息管理 管理员可管理已注册的学生信
18、息。 教师信息管理 管理员可管理教师信息,并对新入职教师进行信息入库。 实验信息管理 管理员可对实验信息进行管理,并可添加新的预约实验信息。 管理员信息管理 系统超级管理员可进行权限授权给一般 管理员, 一般 管理员也可进入授权操作。这样分级权限管理,方便管理操作,减轻系统维护工作量。 系统设置 系统管理员可对系统信息及网站参 数进行预定设置。 4 详细设计 4.1 数据库设计 数据库是管理信息系统的核心,一个良好的数据库结构既具有数据冗余少、操作处理过程简单等特点,同时也应具有信息查找比较容易、系统开销低等特点 6。 本系统在进行数据库设计时,先根据在需求分析中得到的业务数据流,进行高度抽象
19、得出系统实体,构造 E-R 图,然后再将 E-R 图转换生成特定的 DBMS 支持下的关系模式,再对确定的关系数据模式进行优化,最后确定数据的物理存储。 4.1.1 概念结构设计 概念结构设计的重点在于信息结构的设计,它是整个数据库系统设计的关键。它独 立于逻辑结构设计和 DBMS。 现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象类型的组成成分可以抽象为实体的属性。为此本系统从业务逻辑数据流中抽象出各个实体:学生、教师、管理员、实验课程、实验报告等。并根据系统实际确定各实体之间的关系。 基于以上对系统数据信息流的分析和抽象,我们可以设计出本系统的 E-R 图(实体 -联系
20、图)如下: 教 师 实验课程 实验报告 预约 学 生 填写 批改 指导 教授 学号 姓名 性别 报告号 题目 内容 实验号 实验名 预约人数 教师号 教师名 电话 m m n m m m n m n m 1 m n m 1 m 图 2 学生 E-R 图 教 师 实验课程 实验报告 学 生 学号 姓名 性别 报告号 题目 内容 实验号 实验名 预约人数 教师号 教师名 电话 管理员 管理 管理 管理 管理 m m n m m m n m m m n m m m n m 图 3 管 理员 E-R 图 4.1.2 逻辑结构设计 设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合
21、适的 DBMS。设计逻 辑结构时要将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换,对数据模型进行优化,最后再设计外模式。由此,我们将概念结构得出的结果( E-R图)向特定 DBMS 支持下的数据模型转换得出如下表: 表 1 Student(学生) 字段 数据类型 长度 描述 Sid nchar 10 学号(主键) Sname char 8 姓名 Sex varchar 2 性别 Pwd varchar 20 密码 Grade varchar 50 年级 Major varchar 50 专业 Class varchar 50
22、班级 Phone varchar 50 电话 Email varchar 50 邮箱 Abstract text 16 备注 表 2 Major(专业) 字段 数据类型 长度 描述 Mid varchar 50 专业编号(主键) Major char 8 专业名称 表 3 Grade(班级) 字段 数据类型 长度 描述 Mid varchar 50 专业编号(主键) Gid int 4 班级编号(主键) Grade varchar 50 班级名称 表 4 Lib_Info(实验信息) 字段 数据类型 长度 描述 Cid nchar 10 实验编号(主键) Cname varchar 50 实验
23、名称 Ccontent text 16 实验内容 Wanted int 4 预约限制人数 Real int 4 实际预约人数 Date datetime 8 时间 Address varchar 50 地点 Score int 4 实验学分 Teacher varchar 8 辅导教师 Worker text 8 工作 人员 表 5 Lib_Book(预约实验) 字段 数据类型 长度 描述 Cid nchar 10 实验编号(主键) Sid nchar 10 学生编号(主键) Check int 4 是否审核 表 6 Lib_Report(实验报告) 字段 数据类型 长度 描述 Cid nch
24、ar 10 实验编号(主键) Sid nchar 10 学号(主键) Tid int 4 教师编号 Title char 10 实验题目 Content char 10 实际内容 Abstract text 16 备 注 Score int 4 实验学分 表 7 Lib_Public(实验发布) 字段 数据类型 长度 描述 ID int 4 实验报告编号(主键) Title varchar 50 报告题目 Content text 16 报告内容 Time datetime 8 添加时间 表 8 Teacher(教师) 字段 数据类型 长度 描述 TID int 4 教师编号(主键) Tnam
25、e char 10 教师姓名 Tsex char 2 教师性别 Tpwd varchar 50 密码 Tphone varchar 50 电话 在对系统进行数据库设计时,为了对关系模式进一步优化和完善,系统通过设置实体唯一主健、数据类型及长度约束来保证系统实体的完整性,数据正确的域完整性。系统还设置了表间约束关系来维护表与表之间数据一致性的参照完整性。表间约束关系如 图 4: 图 4 表间的约束关系 前面我们根据用户需求设计了局部应用视图,这种局部应用视图只是概念模型,用 E-R图表示。在我们将概念模型转换为逻辑模型后,即生成了整个应用系统的模式后,还应该根据局部应用需求,结合具体 DBMS
26、的特点,设计用户的外 模式。目前关系数据库管理系统一般都提供了视图概念,支持用户的虚拟视图。我们可以利用这一功能设计更符合局部用户需要的用户外模式。定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是独立的,因此我们在定义用户外模式时应该更注重考虑用户的习惯与方便。为此,系统 为不同角色的用户定义了符合自己需求的视图 7。 以下定义的视图是为学生查询预约实验返回查询结果而设计的特定视图。 图 5 下面是定义视图的相关代码: CREATE VIEW dbo.View_lib_book_result AS SELECT dbo.Student.Sid AS 学号
27、 , dbo.Lib_Info.Cid AS 实验号 , dbo.Student.Sname AS 姓名 , dbo.Lib_Info.Cname AS 实验名 , dbo.Lib_Book.Check AS 审核 , dbo.Lib_Info.Date AS 时间 , dbo.Lib_Info.Address AS 地点 FROM dbo.Lib_Info INNER JOIN dbo.Lib_Book ON dbo.Lib_Info.Cid = dbo.Lib_Book.Cid INNER JOIN dbo.Student ON dbo.Lib_Book.Sid = dbo.Student.Sid 4.2 关键模块设计 4.2.1 学生功能模块 1、学生登录 学生登录界面如图 6: