凌道明
(阿坝师范高等专科学校,四川 成都 611741)
ASP.NET MVC技术研究与其在教学质量评价系统中的应用*
凌道明
(阿坝师范高等专科学校,四川 成都 611741)
本文根据ASP.NET MVC框架的模型-视图-控制可分离的优点,分析设计一种可通用、可重用的教学质量评价系统。着重研究ASP.NET MVC相关技术的使用方法、运行模式以及其与ASP.NET的区别,将其部署到.NET框架中并结合ADO.NET技术实现教学质量评价系统,从而提高系统的可用性,增强系统的可扩展性。
ASP.NET MVC;教学质量评价系统;.NET框架;ADO.NET;AJAX
目前大多数信息化系统都是面向Internet开发与部署的,其优点是用户易于操作、不受操作平台限制、不受地域性制约,因此在各行各业得到广泛的应用。而构建这些系统的技术主要有J2EE、.NET,表现技术主要有JSP、ASP.NET、PHP以及AJAX,它们多以表现层、业务层、数据持久层层次结构作为构建思想。J2EE的优点主要表现在开源、安全性高、跨平台性强、可移植性好、跨语言程度高,缺点是配置复杂;.NET的优点主要表现在集成性好、简化应用、支持Web服务、易于学习,缺点是操作平台单一、局限性较强。本文采用.NET框架作为教学质量评价系统的平台支持技术,并使用ASP.NET MVC技术作为系统的主要开发技术;其根据MVC的特点分析教学质量评价系统,将MVC的模型-视图-控制可分离的优点应用到教学质量评价系统中,并用AJAX技术应用到表现层实现页面实时异步交换数据,从而提高系统的可重用性、通用性和可扩展性。
.NET框架主要包括公共语言运行库和.NET框架类库,支持生成和运行下一代应用程序和XML Web Services的内部Windows组件,用于提供应用程序开发的基础设施。而ASP.NET是一种基于Web开发的技术,它支持的语言包括微软所提供的所有语言,其中C#.NET最常用于开发基于Web的应用程序。ASP.NET MVC框架提供用于创建Web应用程序的 ASP.NET Web窗体模式的替代模式;它是一个可测试性非常高的轻型演示框架,并集成了ASP.NET的功能;MVC框架在System.Web.Mvc程序集中定义。 ASP.NET AJAX 是 JavaScript、CSS、DOM、XMLHttpRequest四种技术的集合体,并且AJAX应用程序使用XMLHttpRequest对象绕过浏览器并与Web服务器及任何托管HTTP端点建立直接通信,通过JavaScript实现页面实时异步处理数据;在System.Web.Mvc.Ajax程序集中进行了定义。ADO.NET不是简单地对ADO扩展,它提供了对关系数据、XML和应用程序数据的访问,对Microsoft SQL Server和XML等数据源以及通过OLE DB和XML公开的数据源提供一致的访问;并通过ADO.NET DataSet对象处理和缓存数据。
1.ASP.NET MVC
可以认为ASP.NET MVC是ASP.NET和MVC框架的结合体,且互不包含。
(1)ASP.NET 与 MVC 概述
ASP.NET是一种统一的Web开发模型,可用公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript.NET和 J#;主要提供了页和控件框架、ASP.NET编译器、安全基础结构、状态管理功能、应用程序配置、运行状况监视和性能功能、调试支持、XML Web services框架、可扩展的宿主环境、应用程序生命周期管理和可扩展的设计器环境等功能。其ASP.NET页面周期如图1所示。
MVC包括模型、视图和控制三个组件,其中模型对象是实现应用程序数据域逻辑的应用程序部件,是检索模型状态并将其存储在数据库中;并且在小型应用程序中,模型通常是概念上的分离,而不是实际分离。视图是显示应用程序用户界面(UI)的组件。控制器是处理用户交互、使用模型并最终选择要呈现的视图来显示UI的组件;在 MVC应用程序中,视图仅显示信息;控制器则用于处理和响应用户输入和交互,并广泛支持ASP.NET路由。ASP.NET MVC结构如图2所示。
(2)ASP.NET MVC 功能
主要包括以下功能,处理序列如图3。
①应用程序任务(输入逻辑、业务逻辑和UI逻辑)的分离、可测试性和测试驱动的开发 (TDD)。MVC框架中的所有核心协定都基于接口并且可使用mock对象进行测试,mock对象是模仿应用程序中实际对象行为的模拟对象。
②可扩展和可插入的框架。在开发时,可以插入自己的视图引擎、URL路由策略、操作方法参数序列化以及其他组件;它还支持使用依赖项注入(DI)和控制反转(IOC)容器模型。
③广泛支持ASP.NET路由。ASP.NET路由是一个功能强大的URL映射组件,它允许生成具有易于理解和可搜索的URL的应用程序。URL未必包含文件扩展名,并且旨在支持非常适合搜索引擎优化(SEO)和具象状态传输(REST)寻址的 URL命名模式。
④支持将现有 ASP.NET页面(.aspx文件)、用户控件(.ascx文件)和母版页(.master文件)标记文件中的标记用作视图模板,并支持现有ASP.NET的功能。
(3)ASP.NET 与 ASP.NET MVC
具体比较如表1和图4所示。
表1 ASP.NET与ASP.NETMVC比较
2.ASP.NET AJAX
ASP.NET AJAX统一了编程接口和数据类型,并使用JavaScript Object Notation(JSON)层可确保到达客户端的DTO制作从服务器发出的数据的镜像。在客户端使用ASP.NET AJAX与远程服务进行交互,将实时数据返回到浏览器中,并提供了与服务器端服务同名的JavaScript代理对象和大量静态方法,如Update方法最终会提取JavaScript文档类型定义(DTD)数组并将其传递到最终负责更新用户界面的回调函数中;同时,标记生成器基于文档对象模型(DOM)中一个或多个 HTML模板的引用以及下载的数据返回 HTML字符串,最后回调在页面的DOM中插入该字符串;并通过DOM将DataView控件中的数据呈现在页面。如图5是ASP.NET AJAX缓存和运行机制。在定义客户端主要以浏览器端模板模式(BST)运行,它的核心是JavaScript MarkupBuilder类。
3.ADO.NET
ADO.NET通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET包含用于连接到数据库、执行命令和检索结果的.NET Framework数据提供程序,如图6所示。ADO.NET类在System.Data.dllt中,如使用SQL Server的方法为using System.Data.SqlClient;并且与System.Xml.dll中的 XML类集成;具有断开式数据结构,能够与XML紧密集成,能够组合来自多个不同数据源的数据的通用数据表示形式,以及与数据库交互而优化的功能。ADO.NET实体框架使开发人员可以编写更少的数据访问代码,减少维护,将数据结构抽象化为更易于开展业务的方式,并且有利于数据的持久性;通过EntityClient可与概念层的实体数据模型(EDM)交互,如图7所示。
教学质量评价系统主要以教师-学生(主体-客体)间的“教学用”的角度来分析需求,因此操作群体包括教师和学生,评价基础是教师与学生间的“教学用”的关系。在实现系统之前已经建立了评价教师和学生的指标体系,这两个指标体系是围绕“教学用”展开的。其中教师指标主要从教学效果、教学方法、课堂气氛、备课情况、课堂纪律、知识灵活程度、知识广度、吸引力等角度建立的,学生的指标主要从自觉情况、学习积极性、听课状态、与教师互动频率、学习成绩、技能与比赛、自学能力、遵纪守法、到课率、参与活动的态度等角度建立的。这就形成了教师给学生打分,学生给教师打分,但这与现阶段各学校采用的评课是有区别的,主要表现在:(1)教师与学生的指标是相互制约和联系的;(2)注重主体与客体的关系;(3)强调“教学用”在评价中的作用,从而做到教-学-用链式关系;(4)将评价的结果及时反馈给领导,以便领导有效调整管理策略;(5)提高了领导、教师、学生的督导机制;(6)实现了“教学用”间的跟踪机制。因此,基于ASP.NET MVC评价系统的实现就以两大指标体系为系统主要需求展开分析设计,且采用层次分析法(AHP)计算每一个指标的权重,这样降低了主观因素,实现了科学评价,本系统是通过AHP计算软件先将权重结果代入到系统中,再计算教学质量结果。
1.教学质量评价系统分析设计
用表现层、业务层和数据持久层作为系统的构建思想,并将AJAX和MVC融合到各层中;通过各指标的评分作为教学质量评价的基础,其计算方法为:
针对一个教师有i门课程,若每一门课程有mi个学生打分,每一门课程的权重分wi,分数为Si,则该教师每一门课程和总得分分别计算如下:
针对一个学生选修了j门课程,相应有Teaj个教师为他们打分,每一个教师打的分数为Sj,则该学生平均分Ava为:
教学质量评价功能和流程分别如图8、图9所示。
2.关键代码
(1)创建控制器:
(2)创建视图:
(3)创建模型:
(5)声明AJAX的方法:
文章介绍了与ASP.NET MVC相关的ASP.NET、AJAX、ADO.NET技术,并进行了详细的分析。指出了ASP.NET的页面处理流程,分析了ASP.NET MVC的结构和流程;比较了ASP.NET和ASP.NET MVC各自的优点;分析了AJAX和ADO.NET的运用机制和处理数据的方法。最后基于这些技术设计了教学质量评价系统,给出了实现这些功能的关键代码。
[1]MSDN.In[EB/OL]http://msdn.microsoft.com/zh-cn/library.2010-6-20.
[2]黄胜根,陈蜀宇.基于ASP.NET MVC框架的干教系统的设计与实现[J].计算机技术与发展,2010,20(2):190-193.
[3]林庆,朱翠苗,郑广成等.基于ASP.NET的MVC设计模式的研究[J].计算机工程与设计.2008,29(1):167-168.
[4]龚薇华,王晨光,俞欢军.基于MVC模式和.NET的公司内部管理信息系统设计 [J].计算机工程与设计.2007,28(9):2142-2144.
[5]李朔,李培松.ASP.NET环境下MVC模式的一种实现方法与应用[J].华东交通大学学报,2008,25(3):59-63.
(编辑:金冉)
G40-058.1
A
1673-8454(2010)19-0077-05
四川省教育厅人文社科重点课题(07SA012)和阿坝师专重点基金。