基于Django和MVC架构的英语在线视频教学系统的设计与实现
【摘要】 全世界现在有45个国家把英语作为官方语言,35%的人说英语,75%的电视节目使用英语,75%的网络信息使用英语传播。英语已然成为一种多国、多文化、多功能的国际语言,成为与世界交流的平台。同时随着互联网的发展,人们的生活方式也随之改变。在英语学习需求与信息技术的发展下,英语在线教学系统应运而生。利用互联网的在线视频教学以其灵活的授课方式以及丰富的教学内容等特点吸引着众多的用户。区别于传统的教学方式,利用互联网的在线教学对于教学时间和教学地点的限制非常小。学生可以根据自身情况选择学习内容,是一种以需求为导向的学习方式。面对这样一个庞大的市场,很多教育培训机构开始开发自己的在线教学平台,在整合其教学资源的同时扩大市场份额。该系统使用基于mvc模式的Django框架实现,数据库使用基于分布式存储的MongoDB,后台管理子系统界面使用j Query EasyUI简化开发过程。实现了一套完整的英语在线教学系统。提供学生注册后在线测评,购买课程后能够预约课程与教师进行视频学习交流,以及学习资源下载。教师用户使用管理员分配的账户使用系统,进行授课管理个人信息。管理员利用系统对所有系统用户进行管理,同时管理课程安排,新闻公告,系统日志以及数据分析等功能。
第一章绪论
1.1背景及意义
在当今世界5000多种语言中,英语已成为一种多国、多文化、多功能的国际语言。全球有45个国家把英语作为官方语言,35%的人讲英语,英语是联合国最主要的工作语言,75%的电视节目使用英语,80%互联网信息用英语传播[1】。英语作为国际交流语言,正在一步步渗透到人们的生活中。无论是学习还是工作,在国内或是国外,人们需要用到英语的频率在渐渐增加。因此,各类英语教育机构也应运而生。比较著名的有新东方教育科技集团,新航道国际教育集团,华尔街英语等。这些机构的授课方式一般分为大班或小班教学,以及一对一单独辅导,为学生提供专业的英语培训。但是这样的教学方式也暴露出了其问题:大班学习往往学生较多,.教室拥挤,授课缺乏针对性;而小班教学和一对一辅导则,价格昂贵,多数学生难以长期负担。因此,借助于互联网的教学方式逐步发展起来。相较于过去的教学方式,网络教育有其特有的优势。首先,网络教学在教学时间和教学地点方面更具灵活性。教学不需要教室,学生只需要一台连接互联网的计算机设备就能学习,省去了往返的时间和路费。其次,由于不需要租用场地作为教室,降低了教学的成本,从而在教学费用上教育机构有了更多自主权。第三,由于不受地点的限制,教育机构可以利用更多的外教资源。很多以英语为母语的教师,可以在自己家中给远在其它国家的学生进行网上授课。由此可见,在线英语教学具有良好的发展前景。
1.2在线英语教学现状
目前国内外己经有了许多类似的在线语言教学系统,规模较大的有无忧英语网、易格在线英语培训机构、英孕英语教学网站等。这些网站均拥有大规模的外教师资力量,并且课程类型也十分完善,包括儿童英语、生活口语、商务英语等等。在学生与教师间的交流方式中,多数线上英语教学网站是釆用QQ或者Skype进行上课,也有如易格这样的专门制作了一个视频软件,学生需要先下载安装后才能和老师进行交流。而这种使用第三方软件进行授课的方式,既不便于管理也增加了不必要的操作。
第二章相关技术概述
本系统使用了如下技术:Django框架,Python语言,MongoDB数据库,jQueryEasyUI以及123FlashChat聊天服务器软件,本章将依次介绍。
2.1 Django
Django是用Python语言编写,遵循MVC模式的开源web开发框架,其目的是使开发人员能以最少的代码创建更好的web应用[2]。Django框架的核心组件有:对象关系映射器:使用Django框架,开发人员可以免费获得一套功能丰富的,动态访问数据库的API(如果有需要也可以自己编写SQL语句)。使用的数据模型完全在Python中定义。依存于这些API可以大幅度简化书写SQL语句的繁杂工作。同时Django支持包括Postgresql,MySql,Sqlite, Oracle在内的多种数据库P]。自动化的管理界面:为开发人员自动创建用户管理和更新内容的接口,这些乏味的工作由Django完成。Django自带一个admin site,类似于内容管理系统。一流的URL分发设计:由开发人员自行设置URL分发,没有任何的框架限制。并且URL分发设计得简洁美观,不会在链接中产生一大串杂乱且难以理解的字符。模板系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码,并且具有可继承性。缓存系统:Django具有自己的Cache (缓存)系统,如果需要,也可以根据开发者的要求嵌套其他的缓存框架。Django拥有完善的模板机制、对象关系映射机制以及用于动态创建后台管理界面的功能,利用Django可以快速设计和开发具有MVC层次的web应用。Django具有诸多引人注目的特性。使用Django可扩展的内置模板,可以将模型层、控制层与页面模板完全独立开来进行编码。国际化:内置国际化系统,可以方便的开发出多种语言的网站[4]。
第三章系统縣分析............................ 8
3.1业务需求分析............................ 8
3.2用户需求分析............................ 9
3.3功能需求分析............................ 11
3.4非功能需求分析............................ 14
3.5本章小结............................ 15
第四章系统总体设计............................ 16
4.1系统架构设计............................ 16
4.2 体功能模块设计............................ 17
4.3数据库设计............................ 19
4.4本章小结............................ 24
第五章系统详细设计与实现............................ 25
5.1棘环境............................ 25
5.2学生模块............................ 27
5.3教师模块............................34
5.4后台管理模块............................ 42
5.5其他共用功能............................ 54
5.6本章小结............................. 55
第六章系统測试
在开发大型软件系统的漫长过程中,面对着及其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能是完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生差错。测试的目的就是在软件投入使用之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤[18]。
6.1澜试删
从应用系统的角度看,测试一般包括功能测试和性能测试。功能测试是将开发出的应用系统所要求实现的功能逐一进行测试;而web应用的测试有自己的特点,除了性能测试和功能测试的内容有所不同之外,还要从UI和安全性等方面进行测试。一般web应用测试的内容包括:用户界面、功能、接口、兼容性、强度和安全测试。1.用户界面测试:简称UI测试,测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字、图片组合是否完美,操作是否友好等等。2.功能测试:即测试软件系统的功能是否正确,其依据是需求文档,如《需求规格说明书》。由于正确性是软件最重要的质量因素,所以功能测试必不可少。3.数据库测试:在web应用技术中,笔耕文化传播,数据库有着重要的作用,数据库为web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空。在使用了数据库的web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。4.安全测试:检验系统能否正确、可靠安全地运行。主要包括权限设置、用户登录测试和日志文件。5.健壮性测试:即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。
6.2测试用例
测试用例(TestCase)是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一。
第七章总结与展望
7.1总结
本文主要介绍了在线英语视频教学系统的设计与实现。首先从项目背景出发,指出了目前定点教学所面临的困境,互联网的迅速发展为教学现代化指明了道路,教育与网络的结合是大势所趋,进而表明了实现该在线英语视频教学系统的现实意义和必要性。接着介绍了要实现本系统所要掌握的关键性技术,详细地描述了 MVC设计模式的理论,Python语言的优势,Django框架的便利性,MongoDB数据库的高性能以及jQuery EasyUI在实现后台管理界面时的高效率。然后在了解了相关技术的前提下,论文对该系统进行了需求分析,包括业务需求分析、用户需求分析、功能需求分析与非功能分析,并用功能列表、用例图.二I和业务流程图等加以详细说明。 ,在之后的设计阶段,论文从系统框架设计、总体功能模块设计及数据库设计等方面描述了系统的整体思路与结构。然后从代码级别详细表述了后台管理子系统13个主要功能,并附有关键代码以及界面截图。
7.2展望
本系统虽然初步实现了需求中所要求的功能,但在设计中还有许多有待完善的地方。目前系统需要进一步加强和改进的问题有:1.界面的美化问题,虽然现在系统的界面已经完整地呈现出客户要求的所有功能,但是界面的美观程度还有待提高,jQuery EasyUI提供的UI主题还不够丰富,可以考虑重绘UI。2.搜索功能,后台管理子系统主要是对数据的管理,在前期数据不多的情况下,要查找一项数据比较容易,然而到了后期,系统产生大量数据的时候,想要手动去查找一项数据就会比较困难,搜索功能很有必要实现。3.数据挖掘,当系统上线数年后,公司会拥有海量数据,这个时候,简单的数据分析己经远远达不到管理层决策要求,对数据进行深度挖掘,找出有意义的数据关联显的尤为必要。
参考文献:
[1] 汤晓燕. 基于EasyUI框架的Web异步树实现[J]. 电脑编程技巧与维护. 2012(12)
[2] 李红娟,温喆. 基于J2EE与Ajax的Web应用架构设计[J]. 制造业自动化. 2011(09)
[3] 周杨. AJAX应用的典型设计模式[J]. 计算机系统应用. 2011(01)
[4] 尹婷,赵思佳. 基于jQuery框架的AJAX网站设计模式的研究[J]. 湖南环境生物职业技术学院学报. 2010(03)
[5] 孙太群,黄远振. 论中国英语与英语教学本土化途径[J]. 长沙大学学报. 2009(03)
[6] 王冉阳. 基于Django和Python的Web开发[J]. 电脑编程技巧与维护. 2009(02)
[7] 张伟,梅宏. 一种面向特征的领域模型及其建模过程[J]. 软件学报. 2003(08)
[8] 金芝. 基于本体的需求自动获取[J]. 计算机学报. 2000(05)
本文编号:10879
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/10879.html