基于web在线作业提交批改系统第1页(共30页)引言在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及。但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少。通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统。但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷。例如:查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式。系统就荒废了。本文阐述了如何运用ASP.NET技术构建一个网上作业提交和批改系统的过程,描述了B/S模式的概念及特点,ASP.NET的优越性及对通用作业批改系统的分析,该系统主要完成了作业的上传,教师对作业的批改,系统得稳定性高,操作简单。基于web在线作业提交批改系统第2页(共30页)基于web在线作业提交批改系统学生:王禹,工程学院指导老师:李文华,计算机科学学院1选题背景近些年来互联网迅速发展,使得不同地点的人们在任何时间都可以轻松获取自己需要的信息,同时互联网的出现极大地推动了教育事业的发展,特别是ASP.NET技术,以其交互性、动态性的特点,大大扩展了互联网的应用范围,互联网的广泛应用也深刻的影响了教育教学领域。但是现在的作业提交和批改还都处于过去的老样子,教师布置下作业,学生做在作业本上,然后再交给教师,教师改过以后发还给学生,步骤繁琐,效率低。我们要运用ASP.NET技术构建一个网上作业提交批改系统,以其改变过去传统的学生递交作业的方式,教师批改作业的方式,让学生递交作业更加灵活。这个系统在学校中可以被广泛应用的基于WEB的学生电子作业提交系统,虽然它的系统规模不是很庞大,但功能完善后可以大大减轻教师的工作量和学生的学习任务,极大的提高了教师的工作效率和学生的学习效率。网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。基于web在线作业提交批改系统第3页(共30页)2课题的相关理论和技术2.1ASP.NET技术概述ASP.NET是统一的Web应用程序平台,它提供了为建立和部署企业级Web应用程序所必需的服务。ASP.NET为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。ASP.NET是Microsoft.NETFramework的一部分,是一种可以在高度分布的Internet环境中简化应用程序开发的计算环境。.NETFramework包含公共语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含.NETFramework类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。ASP.NET提供了下面的优点:可管理性:ASP.NET使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和Web应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。安全:ASP.NET为Web应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。增强的性能:ASP.NET是运行在服务器上的已编译代码。与传统的ActiveServerPages(ASP)不同,ASP.NET能利用早期绑定、实时(JIT)编译、本机优化和全新的缓存服务来提高性能。灵活的输出缓存:根据应用程序的需要,ASP.NET可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。基于web在线作业提交批改系统第4页(共30页)国际化:ASP.NET在内部使用Unicode以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。移动设备支持:ASP.NET支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。扩展性和可用性:ASP.NET被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet信息服务(IIS)和ASP.NET运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。跟踪和调试:ASP.NET提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET支持使用.NETFramework调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。与.NETFramework集成:因为ASP.NET是.NETFramework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET类库以及消息和数据访问解决方案。ASP.NET是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于COM开发的现有投资。与现有ASP应用程序的兼容性:ASP和ASP.NET可并行运行在IISWeb服务器上而互不冲突;不会发生因安装ASP.NET而导致现有ASP应用程序崩溃的可能。ASP.NET仅处理具有.aspx文件扩展名的文件。具有.asp文件扩展名的文件继续由ASP引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在ASP和ASP.NET页面之间共享。2.2B/S体系结构B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的页(共30页)浏览器技术,结合浏览器的多种Script语言(VBScript、javascript、…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机成为瘦客户机,而服务器端则集中了几乎所有的应用逻辑,开发、维护等工作也都集中在服务器端。同时,对应用软件进行升级时,只需要更新服务器端的软件就行了,所有的客户端只有浏览器,根本不需要做任何维护升级的工作量。所有的操作系统只需要针对服务器进行,从而减轻了系统维护与升级的成本与工作量,使用户的总体拥有成不(TCO)大大降低。a)传统的三层应用体系传统的三层体系结构,克服了二层体系结构的一些限制,这个三层体系结构将用户界面层与业务层分开,用户界面放在客户端,而将业务逻辑层和数据存储放在中间的应用服务器上。三层体系结构有了一些改进。中间层服务器通过重用那些跨越多个客户的昂贵资源来改进可伸缩性,可伸缩性的改进带来了性能的改进,这个体系结构也改进了安全和应用管理。虽然三层体系结构消除了二层体系结构的一些缺陷,但是它也有不足之处:复杂性、应用缺乏可移植性、提供商的不兼容性及与WEB的不兼容性。b)WEB的三层体系结构随着因特网的高速发展,的广泛应用,传统的三层应用体系结构的局限越来越明显,这时基于Web的三层体系结构[[32](如图3.3所示)得到了广泛的应用。要组成三层应用体系结构少不了要求采用中间件。中间件可以说是开发服务程序和管理这些服务程序运行的工具,是三层体系结构中一个非常重要的部分,它直接关系到整个应用系统的好坏,甚至成功与失败。基于WEB的三层应用体系结构显示以下优点:①优化了系统结构:将系统分为三层(或多层),业务逻辑放在应用服务层,软件的维护集中在应用服务层,客户端的维护就相对简单多了,有利于软件维护及系统管理。②提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权限直接访基于web在线作业提交批改系统第6页(共30页)问数据库,有利于安全管理,可有效防止恶意攻击。还可以利用中间件的安全管理特性进一步加强权限控制管理。③便于业务(事务)级权限管理:三层结构应用中可划分出业务(事务)级权限,一种业务一个服务程序(Service),利用中间件的安全管理对其进行访问控制。数据库的权限只分为对表(或表中的列)的插入(Insert),删除(Delete)、修改(Update)、查询(select)权限,它属于数据库表级的权限,而实际应用中往往以业务(事务)为主线,也就要求对业务(事务)实现权限控制,三层结构应用可以方便地对客户端实现事务权限管理控制。业务(事务)级权限控制的引入丰富和方便了权限控制与管理,实际上两层应用体系结构中可通过存储过程类似地实现业务(事务)级权限控制,但采用三层应用体系结构实现业务(事务)级权限控制更加灵活、方便、实效。④减少网络数据流量和提高数据库响应速度:基于Web三层应用体系结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有效地解决客户机访问服务层瓶颈。应用服务器与数据库服务器(物理距离很近)可方便地采用宽带网连接,不会产生与数据库服务层网络瓶颈。⑤提高系统性能:基于web三层应用体系结构能更好地调整应用体系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。总的来说,三层应用体系结构使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。图1B/S结构示意图2.3关系数据库管理系统关系数据库所使用关系语言班的特点是高度非过程化,即用户只需说明做什么而不必说明怎么做。用户不必请求数据库管理员为其建立特殊的存取路径,存取路基于web在线作业提交批改系统第7页(共30页)径的选择是由DBMS(数据库管理系统)自动完成的。这也是关系数据库的主要优点之一。早期关系操作有两种表示方式:关系代数与关系演算。理论上,关系代数和关系演算被证明是完全等价的。关系代数通过对关系的运算来表达查询,其操作对象是关系,操作结果亦为关系。全关系系统十二准则:一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库;关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示;依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项;全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值;数据库的描述在逻辑级上和普通数据采用同样的表述方式;一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则;所有理论上可更新的视图也应该允许由系统更新;系统应该对各种操作进行查询优化;无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性;当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性;关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的;关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变;如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。考虑到性能和可靠性方面的因素,一般应用程序都使用带有客户/服务器数据库引擎的关系数据库管理系统〔如MicrosoftSQLServes,Oracle等),MicrosoftSQLServer2000能提供超大型系统所需的数据库服务,可在多个用户之间有效地分配可用资源