毕业设计-基于Web在线作业提交批改系统

引 言

在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及。但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少。

通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统。但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷。例如:查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式。系统就荒废了。

本文阐述了如何运用ASP.NET 技术构建一个网上作业提交和批改系统的过程, 描述了B/S模式的概念及特点,ASP.NET 的优越性及对通用作业批改系统的分析,该系统主要完成了作业的上传,教师对作业的批改,系统得稳定性高,操作简单。

基于web 在线作业提交批改系统

学 生:王 禹,工程学院

指导老师:李文华,计算机科学学院

1 选题背景

近些年来互联网迅速发展,使得不同地点的人们在任何时间都可以轻松获取自己需要的信息,同时互联网的出现极大地推动了教育事业的发展,特别是ASP.NET 技术,以其交互性、动态性的特点,大大扩展了互联网的应用范围,互联网的广泛应用也深刻的影响了教育教学领域。但是现在的作业提交和批改还都处于过去的老样子,教师布置下作业,学生做在作业本上,然后再交给教师,教师改过以后发还给学生,步骤繁琐,效率低。我们要运用ASP.NET 技术构建一个网上作业提交批改系统,以其改变过去传统的学生递交作业的方式,教师批改作业的方式,让学生递交作业更加灵活。这个系统在学校中可以被广泛应用的基于WEB 的学生电子作业提交系统,虽然它的系统规模不是很庞大,但功能完善后可以大大减轻教师的工作量和学生的学习任务,极大的提高了教师的工作效率和学生的学习效率。网络化教育代表了教育改革的一个发展方向, 已经成为现代教育的一个特征, 并对教育的发展形成新的推动力。通过

Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。

2课题的相关理论和技术

2.1 ASP.NET技术概述

ASP.NET 是统一的Web 应用程序平台,它提供了为建立和部署企业级 Web 应用程序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。

ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含 .NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。

ASP.NET 提供了下面的优点:

可管理性:ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。

安全:ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。

易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。

增强的性能:ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。

灵活的输出缓存:根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。

国际化:ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计

算机、每个目录和每页配置国际化设置。

移动设备支持:ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。

扩展性和可用性:ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。

跟踪和调试:ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。

与 .NET Framework 集成:因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

与现有 ASP 应用程序的兼容性:ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。

2.2 B/S体系结构

B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet 技术的兴起,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的WWW 浏览器技术,结合浏览器的多种Script 语言(VBScript 、javascript 、…)和ActiveX

技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机成为瘦客户机,而服务器端则集中了几乎所有的应用逻辑,开发、维护等工作也都集中在服务器端。同时,对应用软件进行升级时,只需要更新服务器端的软件就行了,所有的客户端只有浏览器,根本不需要做任何维护升级的工作量。所有的操作系统只需要针对服务器进行,从而减轻了系统维护与升级的成本与工作量,使用户的总体拥有成不(TCO )大大降低。

a )传统的三层应用体系

传统的三层体系结构,克服了二层体系结构的一些限制,这个三层体系结构将用户界面层与业务层分开,用户界面放在客户端,而将业务逻辑层和数据存储放在中间的应用服务器上。

三层体系结构有了一些改进。中间层服务器通过重用那些跨越多个客户的昂贵资源来改进可伸缩性,可伸缩性的改进带来了性能的改进,这个体系结构也改进了安全和应用管理。

虽然三层体系结构消除了二层体系结构的一些缺陷,但是它也有不足之处:复杂性、应用缺乏可移植性、提供商的不兼容性及与WEB 的不兼容性。

b )WEB 的三层体系结构

随着因特网的高速发展,www 的广泛应用,传统的三层应用体系结构的局限越来越明显,这时基于Web 的三层体系结构[[32](如图3.3所示) 得到了广泛的应用。要组成三层应用体系结构少不了要求采用中间件。中间件可以说是开发服务程序和管理这些服务程序运行的工具,是三层体系结构中一个非常重要的部分,它直接关系到整个应用系统的好坏,甚至成功与失败。

基于WEB 的三层应用体系结构显示以下优点:

①优化了系统结构:将系统分为三层(或多层) ,业务逻辑放在应用服务层,软件的维护集中在应用服务层,客户端的维护就相对简单多了,有利于软件维护及系统管理。

②提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权限直接访问数据库,有利于安全管理,可有效防止恶意攻击。还可以利用中间件的安全管理特

性进一步加强权限控制管理。

③便于业务(事务) 级权限管理:三层结构应用中可划分出业务(事务) 级权限,一种业务一个服务程序(Service),利用中间件的安全管理对其进行访问控制。数据库的权限只分为对表(或表中的列) 的插入(Insert) , 删除(Delete)、修改(Update)、查询(select)权限,它属于数据库表级的权限,而实际应用中往往以业务(事务) 为主线,也就要求对业务(事务) 实现权限控制,三层结构应用可以方便地对客户端实现事务权限管理控制。业务(事务) 级权限控制的引入丰富和方便了权限控制与管理,实际上两层应用体系结构中可通过存储过程类似地实现业务(事务) 级权限控制,但采用三层应用体系结构实现业务(事务) 级权限控制更加灵活、方便、实效。

④减少网络数据流量和提高数据库响应速度:基于Web 三层应用体系结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有效地解决客户机访问服务层瓶颈。应用服务器与数据库服务器(物理距离很近) 可方便地采用宽带网连接,不会产生与数据库服务层网络瓶颈。

⑤提高系统性能:基于web 三层应用体系结构能更好地调整应用体系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。

总的来说,三层应用体系结构使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。

图1 B/S结构示意图

2.3 关系数据库管理系统

关系数据库所使用关系语言班的特点是高度非过程化,即用户只需说明" 做什么" 而不必说明" 怎么做" 。用户不必请求数据库管理员为其建立特殊的存取路径,存取路径的选择是由DBMS (数据库管理系统)自动完成的。这也是关系数据库的主要优点

之一。

早期关系操作有两种表示方式:关系代数与关系演算。理论上,关系代数和关系演算被证明是完全等价的。

关系代数通过对关系的运算来表达查询,其操作对象是关系,操作结果亦为关系。 全关系系统十二准则:一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库;关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示;依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项;全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值;数据库的描述在逻辑级上和普通数据采用同样的表述方式;一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则;所有理论上可更新的视图也应该允许由系统更新;系统应该对各种操作进行查询优化;无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性;当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性;关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的;关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变;如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。

考虑到性能和可靠性方面的因素,一般应用程序都使用带有" 客户/服务器数据库引擎" 的关系数据库管理系统〔如Microsoft SQL Serves ,Oracle 等),Microsoft SQL Server 2000能提供超大型系统所需的数据库服务,可在多个用户之间有效地分配可用资源,它不仅是一个巨大的数据容器,更是一个非常强大的数据处理工具而且可以很好地与ASP.NET 合作,因此是本系统数据库服务器的理想选择。

在线作业提交批改系统在基于B/S的三层模式基础之上利用ASP.NET 和ADD 数据访问对象技术进行开发。学生只需在客户机上安装浏览器并连上Internet 就可使用本系统中的上传下载作业系统。

3 需求分析

系统包括:管理员、学生、教师管理等几个主要模块

①管理员管理:完成对教师,学生的管理

②教师管理:教师需要用户名和口令登录;在学生提交作业前,需要教师定义课程:一个教师可以定义多门课程,一门课可能要提交多次作业,这些信息由教师定义,并输入每门课的学生基本信息(序号、学号、姓名);教师可以布置作业,

作业提交以WORD 文档提交,对于每次作业教师可以指定最后提交期限,超过期限不能再提交,在期限前可以多次提交,但覆盖前次提交;

教师可以浏览提交的作业,并可以给出成绩或修改成绩,每次作业记一次成绩,系统可以自动计算总成绩和平均成绩;可以按学号或成绩排序后导出到Excel 表;

每门课提交的作业,存放在一个文件夹下,以课程名命名,如:“数据库原理及应用” ,每个作业的命名为:“专业班级_序号_姓名_次数.doc ” ,如:计本10601_12_张三_01.doc” ,而且支持教师将文件下载到本地,便于刻录光盘。

③学生管理:学生进入网站后,选择用户名和输入口令后登录,学生登录后可以浏览和下载作业内容。

4系统设计

4.1 系统模块结构图

系统结构模块主要分三大模块,分别是管理员模块、教师模块和学生模块,其结构如图2所示。

图2 系统功能图

4.2 系统设计的基本原则

本系统的目标是在Internet/Intranet上来实现网上作业提交,可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。

系统采用了模块化的设计方法:选择了面向对象的、易于扩展的ASP.NET 编程语言环境使用MSSQL Server2000做为数据库平台。本系统整体上可划分为若干个功能模块。

系统安全可靠也是一个重要的设计原则。本系统的配置是采用Windows XP作为网络操作系统,MSSQL Server2000作为数据库服务器。所以操作系统Windows XP的安全防护机制及数据库MSSQL Server的安全机制是本系统采用的安全防护方式。

4.3 功能模块设计

在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序和管理员管理程序,教师管理程序部分主要实现学生信息的添加、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。管理员具有系统的完全权限; 管理员具有添加和删除教师的权限。

系统主要功能模块具体描述如下:

4.3.1教师模块

主要包括查看课程模块,查看学生模块,添加课程模块,添加或删除学生到指定的课程模块,查看作业模块,查看成绩模块。

查看课程模块,主要功能:查看教师自己所定义的课程。

查看学生模块,主要功能:查看教师添加的所有学生的详细信息,还可以修改学生信息,删除学生信息。

添加课程模块,主要功能:添加新的课程,并在服务器端添加相应的文件夹。 添加或删除学生到指定的课程模块,主要功能:可以将学生任意的添加到指定的课程,或从指定的课程删除学生。

查看作业模块,主要功能:查看学生所提交的作业,并可以下载到本地电脑,便于刻录光盘。

查看成绩模块,主要功能:查看系统经过教师给出的成绩,自动计算的总成绩、平均成绩,并能够导出到Excel 表。

4.3.2管理员模块

主要包括教师管理,主要功能:增加,修改,删除教师用户。

4.3.3学生模块

主要包括学生管理,主要功能:查看教师布置的作业,并下载作业,完成作业后提交到服务器。

4.4 数据库设计

利用SQL Server2000建立一个数据库data ,包含有8个表。

(1) 管理员信息表 AdminList ,目的用于验证管理员的身份,其字段如表1。

1 AdminList

(2) 教师信息表 TeacherList ,用来存放教师信息,其字段如表2。

2 TeacherList

(3) 学生信息表 StudentList ,用来存放学生信息,其字段如表3。

3 StudentList

(4) 课程信息表 CourseList ,用来存放课程信息,其字段如表4。

4 CourseList

(5)作业次数表 BusyworkTimeList ,用来存储作业次数信息,其字段如表5。

5 BusyworkTimeList

(6)作业成绩表 GradeList ,用来存储作业成绩信息,其字段如表6。

表6 GradeList

(7) 教师课程对应表 TMCList ,存储教师和对应的课程信息,其字段如表7。

7 TMCList

(8) 学生课程对应表 SMCList ,存储学生和对应的课程信息,其字段如表8。

8 SMCList

5系统实现

整个系统的结构如图3所示。

图3 系统的目录图

5.1用户登录

用户登录分为三种选择:教师用户登录、学生用户登录和管理员用户登录。登录后分别进入不同的页面,其实现界面如图4所示。

图4 登录页面

主要代码:

//教师用户登陆方法

public void TeacherLogin(string username, string userpwd) {

string sql = @"select TeacherID from TeacherList where UserName ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

string sqlReturnName = "select TeacherName from TeacherList where TeacherID = '"+ id +"'" ;

SqlDataAccess access = new SqlDataAccess (); string Name = access.RunSql(sqlReturnName);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("TeacherID" , id)); HttpContext .Current.Request.Cookies["TeacherID" ].Expires = DateTime .Now.AddHours(1);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("TeacherName" , Name)); HttpContext .Current.Request.Cookies["TeacherName" ].Expires = DateTime .Now.AddHours(1);

HttpContext .Current.Response.Redirect("ViewCourse.aspx" ); }

} //管理员登陆方法

public void AdminLogin(string username, string userpwd) {

string sql = @"select AdminID from AdminList where UserName ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("AdminID" , id));

HttpContext .Current.Request.Cookies["AdminID" ].Expires = DateTime .Now.AddHours(1); HttpContext .Current.Response.Redirect("Admin.aspx" ); } }

//学生用户登陆方法

public void StudentLogin(string username, string userpwd) {

string sql = @"select StudentID from StudentList where Number ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

string sqlReturnName = "select Name from StudentList where StudentID = '" + id + "'" ; SqlDataAccess access = new SqlDataAccess (); string Name = access.RunSql(sqlReturnName);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("StudentID" , id)); HttpContext .Current.Request.Cookies["StudentID" ].Expires =

引 言

在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及。但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少。

通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统。但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷。例如:查询不全面、容易导致系统不稳定,数据库缺乏管理,数据缺乏更新,而且容易丢失。由于这些缺点造成用户对系统不信任,于是又回到传统的“拷贝、粘贴”方式。系统就荒废了。

本文阐述了如何运用ASP.NET 技术构建一个网上作业提交和批改系统的过程, 描述了B/S模式的概念及特点,ASP.NET 的优越性及对通用作业批改系统的分析,该系统主要完成了作业的上传,教师对作业的批改,系统得稳定性高,操作简单。

基于web 在线作业提交批改系统

学 生:王 禹,工程学院

指导老师:李文华,计算机科学学院

1 选题背景

近些年来互联网迅速发展,使得不同地点的人们在任何时间都可以轻松获取自己需要的信息,同时互联网的出现极大地推动了教育事业的发展,特别是ASP.NET 技术,以其交互性、动态性的特点,大大扩展了互联网的应用范围,互联网的广泛应用也深刻的影响了教育教学领域。但是现在的作业提交和批改还都处于过去的老样子,教师布置下作业,学生做在作业本上,然后再交给教师,教师改过以后发还给学生,步骤繁琐,效率低。我们要运用ASP.NET 技术构建一个网上作业提交批改系统,以其改变过去传统的学生递交作业的方式,教师批改作业的方式,让学生递交作业更加灵活。这个系统在学校中可以被广泛应用的基于WEB 的学生电子作业提交系统,虽然它的系统规模不是很庞大,但功能完善后可以大大减轻教师的工作量和学生的学习任务,极大的提高了教师的工作效率和学生的学习效率。网络化教育代表了教育改革的一个发展方向, 已经成为现代教育的一个特征, 并对教育的发展形成新的推动力。通过

Internet/Intranet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务。

2课题的相关理论和技术

2.1 ASP.NET技术概述

ASP.NET 是统一的Web 应用程序平台,它提供了为建立和部署企业级 Web 应用程序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。

ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含 .NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。

ASP.NET 提供了下面的优点:

可管理性:ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。

安全:ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。

易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。

增强的性能:ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。

灵活的输出缓存:根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。

国际化:ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计

算机、每个目录和每页配置国际化设置。

移动设备支持:ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。

扩展性和可用性:ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。

跟踪和调试:ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。

与 .NET Framework 集成:因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

与现有 ASP 应用程序的兼容性:ASP 和 ASP.NET 可并行运行在 IIS Web 服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。

2.2 B/S体系结构

B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet 技术的兴起,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的WWW 浏览器技术,结合浏览器的多种Script 语言(VBScript 、javascript 、…)和ActiveX

技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机成为瘦客户机,而服务器端则集中了几乎所有的应用逻辑,开发、维护等工作也都集中在服务器端。同时,对应用软件进行升级时,只需要更新服务器端的软件就行了,所有的客户端只有浏览器,根本不需要做任何维护升级的工作量。所有的操作系统只需要针对服务器进行,从而减轻了系统维护与升级的成本与工作量,使用户的总体拥有成不(TCO )大大降低。

a )传统的三层应用体系

传统的三层体系结构,克服了二层体系结构的一些限制,这个三层体系结构将用户界面层与业务层分开,用户界面放在客户端,而将业务逻辑层和数据存储放在中间的应用服务器上。

三层体系结构有了一些改进。中间层服务器通过重用那些跨越多个客户的昂贵资源来改进可伸缩性,可伸缩性的改进带来了性能的改进,这个体系结构也改进了安全和应用管理。

虽然三层体系结构消除了二层体系结构的一些缺陷,但是它也有不足之处:复杂性、应用缺乏可移植性、提供商的不兼容性及与WEB 的不兼容性。

b )WEB 的三层体系结构

随着因特网的高速发展,www 的广泛应用,传统的三层应用体系结构的局限越来越明显,这时基于Web 的三层体系结构[[32](如图3.3所示) 得到了广泛的应用。要组成三层应用体系结构少不了要求采用中间件。中间件可以说是开发服务程序和管理这些服务程序运行的工具,是三层体系结构中一个非常重要的部分,它直接关系到整个应用系统的好坏,甚至成功与失败。

基于WEB 的三层应用体系结构显示以下优点:

①优化了系统结构:将系统分为三层(或多层) ,业务逻辑放在应用服务层,软件的维护集中在应用服务层,客户端的维护就相对简单多了,有利于软件维护及系统管理。

②提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权限直接访问数据库,有利于安全管理,可有效防止恶意攻击。还可以利用中间件的安全管理特

性进一步加强权限控制管理。

③便于业务(事务) 级权限管理:三层结构应用中可划分出业务(事务) 级权限,一种业务一个服务程序(Service),利用中间件的安全管理对其进行访问控制。数据库的权限只分为对表(或表中的列) 的插入(Insert) , 删除(Delete)、修改(Update)、查询(select)权限,它属于数据库表级的权限,而实际应用中往往以业务(事务) 为主线,也就要求对业务(事务) 实现权限控制,三层结构应用可以方便地对客户端实现事务权限管理控制。业务(事务) 级权限控制的引入丰富和方便了权限控制与管理,实际上两层应用体系结构中可通过存储过程类似地实现业务(事务) 级权限控制,但采用三层应用体系结构实现业务(事务) 级权限控制更加灵活、方便、实效。

④减少网络数据流量和提高数据库响应速度:基于Web 三层应用体系结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有效地解决客户机访问服务层瓶颈。应用服务器与数据库服务器(物理距离很近) 可方便地采用宽带网连接,不会产生与数据库服务层网络瓶颈。

⑤提高系统性能:基于web 三层应用体系结构能更好地调整应用体系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。

总的来说,三层应用体系结构使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。

图1 B/S结构示意图

2.3 关系数据库管理系统

关系数据库所使用关系语言班的特点是高度非过程化,即用户只需说明" 做什么" 而不必说明" 怎么做" 。用户不必请求数据库管理员为其建立特殊的存取路径,存取路径的选择是由DBMS (数据库管理系统)自动完成的。这也是关系数据库的主要优点

之一。

早期关系操作有两种表示方式:关系代数与关系演算。理论上,关系代数和关系演算被证明是完全等价的。

关系代数通过对关系的运算来表达查询,其操作对象是关系,操作结果亦为关系。 全关系系统十二准则:一个关系形的关系数据库系统必须能完全通过它的关系能力来管理数据库;关系数据库系统的所有信息都应该在逻辑一级上用表中的值这一种方法显式的表示;依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项;全关系的关系数据库系统支持空值的概念,并用系统化的方法处理空值;数据库的描述在逻辑级上和普通数据采用同样的表述方式;一个关系数据库系统可以具有几种语言和多种终端访问方式,但必须有一种语言,它的语句可以表示为严格语法规定的字符串,并能全面的支持各种规则;所有理论上可更新的视图也应该允许由系统更新;系统应该对各种操作进行查询优化;无论数据库的数据在存储表示或存取方法上作任何变化,应用程序和终端活动都保持逻辑上的不变性;当对基本关系进行理论上信息不受损害的任何改变时,应用程序和终端活动都保持逻辑上的不变性;关系数据库的完整性约束条件必须是用数据库语言定义并存储在数据字典中的;关系数据库系统在引入分布数据或数据重新分布时保持逻辑不变;如果一个关系数据库系统具有一个低级语言,那么这个低级语言不能违背或绕过完整性准则。

考虑到性能和可靠性方面的因素,一般应用程序都使用带有" 客户/服务器数据库引擎" 的关系数据库管理系统〔如Microsoft SQL Serves ,Oracle 等),Microsoft SQL Server 2000能提供超大型系统所需的数据库服务,可在多个用户之间有效地分配可用资源,它不仅是一个巨大的数据容器,更是一个非常强大的数据处理工具而且可以很好地与ASP.NET 合作,因此是本系统数据库服务器的理想选择。

在线作业提交批改系统在基于B/S的三层模式基础之上利用ASP.NET 和ADD 数据访问对象技术进行开发。学生只需在客户机上安装浏览器并连上Internet 就可使用本系统中的上传下载作业系统。

3 需求分析

系统包括:管理员、学生、教师管理等几个主要模块

①管理员管理:完成对教师,学生的管理

②教师管理:教师需要用户名和口令登录;在学生提交作业前,需要教师定义课程:一个教师可以定义多门课程,一门课可能要提交多次作业,这些信息由教师定义,并输入每门课的学生基本信息(序号、学号、姓名);教师可以布置作业,

作业提交以WORD 文档提交,对于每次作业教师可以指定最后提交期限,超过期限不能再提交,在期限前可以多次提交,但覆盖前次提交;

教师可以浏览提交的作业,并可以给出成绩或修改成绩,每次作业记一次成绩,系统可以自动计算总成绩和平均成绩;可以按学号或成绩排序后导出到Excel 表;

每门课提交的作业,存放在一个文件夹下,以课程名命名,如:“数据库原理及应用” ,每个作业的命名为:“专业班级_序号_姓名_次数.doc ” ,如:计本10601_12_张三_01.doc” ,而且支持教师将文件下载到本地,便于刻录光盘。

③学生管理:学生进入网站后,选择用户名和输入口令后登录,学生登录后可以浏览和下载作业内容。

4系统设计

4.1 系统模块结构图

系统结构模块主要分三大模块,分别是管理员模块、教师模块和学生模块,其结构如图2所示。

图2 系统功能图

4.2 系统设计的基本原则

本系统的目标是在Internet/Intranet上来实现网上作业提交,可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。

系统采用了模块化的设计方法:选择了面向对象的、易于扩展的ASP.NET 编程语言环境使用MSSQL Server2000做为数据库平台。本系统整体上可划分为若干个功能模块。

系统安全可靠也是一个重要的设计原则。本系统的配置是采用Windows XP作为网络操作系统,MSSQL Server2000作为数据库服务器。所以操作系统Windows XP的安全防护机制及数据库MSSQL Server的安全机制是本系统采用的安全防护方式。

4.3 功能模块设计

在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序和管理员管理程序,教师管理程序部分主要实现学生信息的添加、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。管理员具有系统的完全权限; 管理员具有添加和删除教师的权限。

系统主要功能模块具体描述如下:

4.3.1教师模块

主要包括查看课程模块,查看学生模块,添加课程模块,添加或删除学生到指定的课程模块,查看作业模块,查看成绩模块。

查看课程模块,主要功能:查看教师自己所定义的课程。

查看学生模块,主要功能:查看教师添加的所有学生的详细信息,还可以修改学生信息,删除学生信息。

添加课程模块,主要功能:添加新的课程,并在服务器端添加相应的文件夹。 添加或删除学生到指定的课程模块,主要功能:可以将学生任意的添加到指定的课程,或从指定的课程删除学生。

查看作业模块,主要功能:查看学生所提交的作业,并可以下载到本地电脑,便于刻录光盘。

查看成绩模块,主要功能:查看系统经过教师给出的成绩,自动计算的总成绩、平均成绩,并能够导出到Excel 表。

4.3.2管理员模块

主要包括教师管理,主要功能:增加,修改,删除教师用户。

4.3.3学生模块

主要包括学生管理,主要功能:查看教师布置的作业,并下载作业,完成作业后提交到服务器。

4.4 数据库设计

利用SQL Server2000建立一个数据库data ,包含有8个表。

(1) 管理员信息表 AdminList ,目的用于验证管理员的身份,其字段如表1。

1 AdminList

(2) 教师信息表 TeacherList ,用来存放教师信息,其字段如表2。

2 TeacherList

(3) 学生信息表 StudentList ,用来存放学生信息,其字段如表3。

3 StudentList

(4) 课程信息表 CourseList ,用来存放课程信息,其字段如表4。

4 CourseList

(5)作业次数表 BusyworkTimeList ,用来存储作业次数信息,其字段如表5。

5 BusyworkTimeList

(6)作业成绩表 GradeList ,用来存储作业成绩信息,其字段如表6。

表6 GradeList

(7) 教师课程对应表 TMCList ,存储教师和对应的课程信息,其字段如表7。

7 TMCList

(8) 学生课程对应表 SMCList ,存储学生和对应的课程信息,其字段如表8。

8 SMCList

5系统实现

整个系统的结构如图3所示。

图3 系统的目录图

5.1用户登录

用户登录分为三种选择:教师用户登录、学生用户登录和管理员用户登录。登录后分别进入不同的页面,其实现界面如图4所示。

图4 登录页面

主要代码:

//教师用户登陆方法

public void TeacherLogin(string username, string userpwd) {

string sql = @"select TeacherID from TeacherList where UserName ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

string sqlReturnName = "select TeacherName from TeacherList where TeacherID = '"+ id +"'" ;

SqlDataAccess access = new SqlDataAccess (); string Name = access.RunSql(sqlReturnName);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("TeacherID" , id)); HttpContext .Current.Request.Cookies["TeacherID" ].Expires = DateTime .Now.AddHours(1);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("TeacherName" , Name)); HttpContext .Current.Request.Cookies["TeacherName" ].Expires = DateTime .Now.AddHours(1);

HttpContext .Current.Response.Redirect("ViewCourse.aspx" ); }

} //管理员登陆方法

public void AdminLogin(string username, string userpwd) {

string sql = @"select AdminID from AdminList where UserName ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("AdminID" , id));

HttpContext .Current.Request.Cookies["AdminID" ].Expires = DateTime .Now.AddHours(1); HttpContext .Current.Response.Redirect("Admin.aspx" ); } }

//学生用户登陆方法

public void StudentLogin(string username, string userpwd) {

string sql = @"select StudentID from StudentList where Number ='" + username + "'and Password ='" + userpwd + "'" ;

SqlDataAccess DataAccess = new SqlDataAccess (); string id = DataAccess.RunSql(sql); if (Equals(id, "" )) {

string alert = " 用户名或密码不正确!" ;

HttpContext .Current.Response.Write(""); } else {

string sqlReturnName = "select Name from StudentList where StudentID = '" + id + "'" ; SqlDataAccess access = new SqlDataAccess (); string Name = access.RunSql(sqlReturnName);

HttpContext .Current.Response.Cookies.Add(new HttpCookie ("StudentID" , id)); HttpContext .Current.Request.Cookies["StudentID" ].Expires =


相关内容

  • 在线作业管理系统的设计与实现_田洪云
  • 建设软件开发<中国教育信息化>编辑部:m is@moe. edu. cn 在线作业管理系统的设计与实现 田洪云 (临沂师范学院信息学院,山东临沂276005) 随着网络教学的广泛应用,越来越多的教师选择让学生提交电子作业,但是对于电子作业的批改摘要: 和成绩统计需要花费很多的时间,为了减 ...

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 中小学电子书包应用系统建设规范
  • ICS 03.180 A 18 DB51 四川省地方标准 DB 51/T 1778-2014 中小学电子书包应用系统建设规范 (报批稿) 2014–5–16 发布 2014–6–1 实施 四川省质量技术监督局发布 DB51/T 1778-2014 目 次 前言 ................... ...

  • 网络课程学习效果的监督与评价研究
  • 第18卷 现代教育技术 Vol. 18 2008年第10期 Modern Educational Technology No.10 2008 网络课程学习效果的监督与评价研究* 乜 勇1 赵晓声2 (1.陕西师范大学,陕西西安 710062:2.陕西省电化教育馆,陕西西安 710003) [摘要]随 ...

  • 信息技术课程专题学习网站的设计
  • 摘 要:根据专题学习网站的自身特点,从信息技术课程教学资源整合的角度出发,分析讨论了系统的功能需求.角色需求和安全需求,详细设计了专题学习网站的内容结构和主要功能.经测试,该系统具有完善的知识体系结构,便于实现教学资源共享,能很好地协助学生自主学习. 关键词:专题学习网站 信息技术课程 设计 目前, ...

  • 软件技术专业毕业设计指导书
  • 软件技术专业毕业设计指导书 一.毕业设计目的和任务 1.目的 毕业设计是整个软件技术专业教学计划中的一个有机组成部分,是专业教学计划中的最后一个完成教学任务.培养合格人才的一个重要实践性教学环节.通过毕业设计,可以培养学生的开发和设计能力,提高综合运用所学知识和技能去分析.解决实际问题的能力,检验学 ...

  • 教学管理系统需求分析
  • 教学管理系统需求分析 教学管理系统(TMS)是大学内部学院使用的教学辅助管理系统,系统主要功能包括学生作业.教学课件的管理. 1. 教学管理系统的功能要求 教学管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的.易扩充的.易维护的. ...

  • 物流运输系统毕业论文
  • 第一章 绪论----------------------------.-4 1.1 前言 -----------------------------..4 1.2 国内外有物流管理发展研究状况--------------.----.4 1.3 搭建物流信息平台的必要性和难度------------- ...

  • 毕业论文正文格式模板
  • <计算机网络>教学网站的设计与实现 安徽绿海商务职业学院信息技术系2010届毕业生 ××× 摘 要:本文描述了一个计算机网络教学网站的前台实现过程,概述了HTML.ASP.数据库的相关技术,使用WINDOWS+ASP+ACCESS平台.目标是实现一个B/S体系结构的教学网站,提高老师和学 ...