基于ASP.NET的场景教学系统的设计与实现

2019-05-14 10:57陈焜
科技资讯 2019年5期

陈焜

摘 要:该文采用Visual Studio 2008+SQL Server 2008开发环境,结合ASP.NET、ADO.NET、Ajax等多种技术,实现了一个场景教学系统。通过C#语言进行数据库编程,实现了人性化的界面设计与功能设计。软件经过测试,满足场景教学的需求,达到预期的设计效果。

关键词:ASP.NET 场景教学 ADO.NET

中图分类号:TP315 文献标识码:A 文章编号:1672-3791(2019)02(b)-0044-02

在线场景教学系统平台是信息化教育资源建设的关键环节,学生通过网络平台了解专业动态、自助学习课程知识、提出学习过程中遇到的问题,教师通过网络平台与学生形成交互式教学。该系统尝试用ASP.NET在网络上架构一个场景教学系统,为学生提供一个自主学习的平台,弥补了学生课后对学习资源的不足。该场景教学系统采用ASP.NET技术进行开发,选用SQL Server 2008作为后台数据库。

1 系统功能模块

该系统分如下几个模块。

(1)用户管理。

用户包括3种:学生、教师、管理员。管理员可以执行所有操作,教师可以上传视频和题目、批改作业、回复留言,学生能在线看视频、做作业、提交作业和留言。用户管理包括:用户注册、用户登录、用户删除。

(2)学生场景教学管。

学生登录后能在线看所选课程的场景视频,每个课程包含很多场景视频,而每个场景视频包括1~3个子视频,每学完一个子视频必须做完作业并提交作业才能进入下一子视频。在学习过程中可针对场景留言,可以启动外部编程软件进行实操,做完作业后要显示实操说明和错在哪里。

(3)学习报告管理。

学生学习完后可生成学习报告,报告显示各个学生的学习时长、平均正确率、教师对其的点评等。

(4)教师管理。

学生在学习过程中可针对场景留言,教师针对留言进行回复,教师批改作业并对作业进行点评。教师用户经过资质审核后即可拥有构建场景权限。只要遵循场景构建协议,制作好视频课件、题目、答案、实操提示上传,并填写相应参数提交给场景教学系统,即可动态生成场景,经系统管理员审核发布后供学习者学习。

2 关键实现技术

2.1 数据库设计

根据前面的分析,创建数据库QCDB,该数据库至少要包含如下7张表。

(1)用户表:用户名、密码、用户类型。

(2)课程表:课程号、课程名。

(3)场景表:场景号、课程号、场景名、视频数、题目1、题目1答案1、题目1答案2、题目1答案3、题目2、题目2答案1、题目2答案2、题目2答案3、题目3、题目3答案1、题目3答案2、题目3答案3、实操提示1、实操提示2、实操提示3。

(4)学习记录表:用户名、场景号、题目1空数、题目1对数、题目2空数、题目2对数、题目3空数、题目3对数、学习时长。

(5)留言表:留言ID、用户名、场景号、留言内容、时间。

(6)回复表:回复ID、留言ID、回复内容、用户名、时间。

(7)作业表:作业ID、课程号、场景号、用户名、文件名、时间、点评。

以上冒号前是表名,冒号后为字段名,有下划线的字段为关键字。

2.2 主要用户界面设计

该系统网页界面使用DIV+CSS进行布局,最主要的页面就是学生场景教学页面,页面布局设计如图1所示。

2.3 ADO.NET技术

System.Data命名空间提供了不同的ADO.NET类,该类库包含两组重要的类:一组负责处理软件内部的实际数据(DataSet),一组负责与外部数据系统通信(Data Provider),具体包括[1]:Connection对象提供与数据源的连接。Command对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader对象从数据源中提供快速的、只读的数据流。DataAdapter对象提供连接DataSet对象和数据源的桥梁。该系统定义了一个数据库类,使用ADO.NET技术,专门用来实现数据库的增刪改查。为了防止SQL注入式攻击以及方便构建SQL语句[2],该系统在登录及执行insert及update语句时使用参数化查询,例如构建场景的insert语句为insert into场景表(课程号,场景名,视频数,题目1,题目1答案1,题目1答案2,题目1答案3,题目2,题目2答案1,题目2答案2,题目2答案3,题目3,题目3答案1,题目3答案2,题目3答案3,实操提示1,实操提示2,实操提示3)values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18),然后对以上18个参数赋值并执行查询即可。

2.4 Ajax技术

AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求)从服务器获取数据[3]。UpdatePanel可以用来创建丰富的局部更新Web应用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件,其强大之处在于不用编写任何客户端脚本,只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。在场景教学页面的留言区就使用了UpdatePanel,这样在提交留言时就不会影响上面视频的播放了。另外系统中很多页面会弹出消息框,传统的消息框会导致整个页面刷新,效果很不好。该系统使用ASP.NET Ajax扩展控件中的ModalPopup显示模式弹出窗口,整个页面不用刷新,用户体验好,不过在使用扩展控件之前要添加AjaxControlToolkit,并且就不用再添加ScriptManager了。

3 结语

该系统的开发环境为VS2008,以SQL SERVER2008为后台数据库支撑环境,设计出了有实用价值的场景教学系统,该系统与同类系统相比,不仅性能较高、运行较为稳定,而且可维护性和可扩展型都比较出色。

参考文献

[1] 周敏,雷彬,赵正凡,等.基于ASP.NET的易大学服务平台设计与实现[J].电脑编程技巧与维护,2019(1):25.

[2] 林佳一.ADO.NET中数据访问方式的探讨[J].电脑知识与技术,2017(3):13-15.

[3] 郝洁.ASP.NET AJAX框架在Web开发中的应用[J].电子技术与软件工程,2017(17):55.