摘 要:讨论了Web环境下上机作业管理系统的体系结构、系统功能、数据库设计以及系统的实现技术。
关键词:上机作业管理系统; 数据库; 数据完整性
上机类作业是计算机教育中培养学生实践能力的重要环节,其显著特征是将实践知识与理论知识有机地联系在一起,并借助于一定的实验手段来培养学生的技术应用能力和工程观念。传统的上机课程一般需要教师在课堂上完成安排实验任务、评阅文件、收集和批改实验报告等工作,无法在课余时间控制学生上机作业的完成质量,这种情况已经越来越不能适应现代教学的需求。在国内,从计算机类上机课程作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及。但能够合理使用硬件资源、有条理地管理好学生作业信息的计算机管理系统却少之又少。
本文阐述了运用ASP.NET技术构建一个计算机类作业管理系统的过程,描述了B/S模式的概念及特点、ASP.NET的优越性及对作业管理系统的分析,该系统主要完成了作业的上传、教师对作业的批改,系统的稳定性高,操作简单。
1 系统的体系结构
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起、对C/S结构的一种改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器实现了原来需要复杂专用软件才能实现的强大功能,节约了开发成本,是一种全新的软件系统构造技术[4]。
B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确,后者则具有节省投资、跨地域广的优点,需视企业规模和地理分布确定采用哪种方式。企业内部通过防火墙接入Internet,在整个网络采用TCP/IP协议。网络结构如图1所示。
2 系统的功能需求
2.1 用户的登录功能设计
登录功能要求3种用户能在同一界面登录,学生、老师、管理员以用户名与密码进行登录。如果用户名错误或不存在、密码错误,应当给予提示。
2.2 学生子系统功能设计
本子系统面向的用户为学生用户,主要有3个功能:
(1)上传作业
要求先找到上传的对象(老师),然后浏览本地计算机目录,找到要提交的文件,并提交到对应的老师目录下,系统会自动记录该作业提交的信息,完成提交过程,返回成功信息。
(2)管理作业
要求学生用户能查询所有作业的成绩,并按科目类别排列显示;可以对作业进行查看、删除。
(3)修改个人信息
要求输入密码时,密码以隐藏模式显示;输入新密码时,要对密码进行二次检验和长度检验;修改成功后提示成功。可修改除账户以外的所有信息。
2.3 老师子系统功能设计
本子系统面向的用户为老师,主要有3个功能:
(1)修改个人资料
要求输入密码时,密码以隐藏模式显示;输入新密码时,要对密码进行二次检验和长度检验;修改成功后提示成功。可修改除账户以外的所有信息。
(2)发布公告
要求可以发布新的公告,并可以对公告进行管理。
(3)作业管理
要求可以发布作业、设定作业提交期限,并可以管理其发布的公告、按作业的题目查询要批改的作业、对作业进行批改与管理。
2.4 管理员子系统功能设计
本系统面向管理员用户,主要有3个功能需求:
(1)修改密码
修改管理员密码,要求账户不能修改。
(2)角色管理
增加老师,正确录入老师信息(姓名、密码等),录入值不能为空。管理教师,删除数据库中所有该老师关联信息。认证管理学生,对学生信息进行认证,否则学生即使注册也无法登录;对学生信息进行删除。
(3)课程管理
根据老师的姓名,对课程进行增加和删除管理。
3 系统的数据库设计
概念模型是对现实世界的抽象和概括,它真实、充分地反映了现实世界中的事物和事物之间的联系,它独立于计算机的数据模型和特定的数据库管理系统。描述概念模型的有力工具是E-R 图,本系统的E-R图如图2所示。
逻辑结构设计的任务就是把概念结构设计阶段设计好的E-R图转换为与所选用的DBMS产品所支持的数据模型相符合的逻辑结构。E-R图向关系模型的转化要解决的问题是:如何将实体间的联系转换为关系模式以及确定这些关系模式的属性和码。系统的全局E-R图转换成的关系模型为:
教师(教师名、角色名称、密码、系别、性别、职称、任教班级数、通讯地址)
班级(班级名、系别、人数)
任课(课程名称、教师名、班级名)
作业(作业名、作业序号、作业内容、作业人数)
作业分配(作业名、班级名、作业类型、机构数量、作业期限)
学生(学生名、班级名、学号、角色名称、密码、通讯地址)
作业权限(学生名、作业名、学号、作业类型)
角色(角色名称、人员名称、系别、通讯地址)
图文档(文档名称、作业名、学生名、班级名、作业文件类型、完成状态、评价状态、评价内容)
机构(机构名、作业名、班级名、学生名)
教师注册表(系别、教师名集合、职称)
学生注册表(班级名、学生名集合)
本系统的DBMS采用的是MS SQL Server 2000。
4 系统的实现技术
4.1 ASP.NET技术
ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,同时也提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开发周期。ASP.NET与Windows 2000 Server/Advanced Server的完美组合,为中小型乃至企业级的Web商业模型提供了一个更为稳定、高效、安全的运行环境。
ASP.NET是ASP的最新版本,建立于公共语言运行环境基础上,具有强大的语言支持(例如 C# 、VB.NET)、更高的执行效率和开发效率等优点。
在ASP.NET中,使用ADO.NET连接数据库,ADO.NET使用XML实现程序和网页之间的数据交换。用XML格式的数据集传送信息,使得开发者能够轻易地把处理数据的部分和用户界面的部分分别放在不同的服务器上。因此,它能够极大地提高性能以及增强支持多用户系统的可维护性。
4.2 数据完整性的维护技术
数据完整性是指数据的正确性和一致性,它有2方面的含义:(1)数据取值的正确性,即字段列值必须符合数据的取值范围、类型和精度的规定;(2)相关数据的一致性,即相关表的联系字段的列值匹配。
在SQL Server数据库应用系统中,实施数据完整性维护的方法主要有以下3种,其策略为:
(1)对于通过窗口操作输入的数据,一般采用前端应用程序来确保数据的完整性。这样,一方面可把非法数据在提交到数据库之前就拒之门外,另一方面可让用户及时得到操作反馈信息,使系统更加友好。
(2)数据一致性的维护,适合于由后端数据库的触发器或表定义的约束来实现。这样可降低前端应用程序的开发量,提高应用系统的运行效率和可维护性。
(3)对于数据完整性和安全性要求较高的系统,则需要采用多层保护屏障来确保数据的完整性和安全性。如在前端应用系统程序检查输入数据的有效性,同时在后端数据库建立表约束、规则、缺省和触发器等措施进行数据完整性约束,提高系统数据的可靠性和安全性。
本系统主要采用了后端数据库的保护措施。后端数据库服务器保护又可分为定义create table完整性约束保护和定义规则、缺省、索引和触发器保护。其定义为:
(1)定义create table完整性约束
该方法是在创建数据库表的命令语句中,加入字段的数据完整性约束语句来实施数据的完整性保护。例如在建表语句中可加入非空(not null)约束、缺省(default)约束、唯一码(unique)约束、主键码(primary key)约束等。它的主要特点是定义简单、安全可靠、维护方便。在创建本系统的物理模型时,就采用了这些完整性约束。
(2)定义规则、缺省、索引和触发器
在数据库表的创建命令语句中定义约束的方法,虽然具有简单、方便、安全等特点,但它只对特定的表有效,不能应用到其他表,并且只能使用alter table命令进行修改或删除,缺乏一定的灵活性。在数据库中创建与表相对独立的规则、索引和触发器对象,也能实现数据完整性保护,而且能实施更复杂、更完善的数据完整性约束。它的主要特点是功能强、效率高、维护方便。
类似于表定义中的参照完整性约束,触发器可用来保证相关数据的一致性。它还能完成一些表定义的参照完整性约束不能完成的任务:(1)对数据库相关表中的更新进行级联;(2)通过引用其他列或数据库对象来实现复杂的限制;(3)执行“若……则……”分析。例如,若当删除教师表的主键码行时,也要求删除任课表(teach)的外键码相关行。
5 系统运行示例
本节给出了系统运行的界面,管理员和教师借助于页面就可以对作业信息进行管理。图3~图6分别为学生上传作业界面、教师发布作业界面、作业批改界面和管理员管理课程信息界面。
参考文献
[1] 王辉,黄红超.ASP.NET实用教程[M].北京:清华大学出版社, 2005.
[2] BASINRA R, CONWAY R. ASP.NET安全性高级编程[M]. 王 晓娜,黄开枝,译.北京:清华大学出版社,2003.
[3] OTEY M, CONTE P. SQL Server 2000开发指南[M]. 陈思义, 吴强,刘红波,译.北京:清华大学出版社,2002.
[4] 甘仞初.信息系统分析与设计[M].北京:高等教育出版社, 2003.
[5] 胡海璐.网络系统开发实例精粹(ASP.NET版)[M].北京:电子工业出版社,2006.