基于Django和MVC架構(gòu)的英語在線視頻教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)
【摘要】 全世界現(xiàn)在有45個國家把英語作為官方語言,35%的人說英語,75%的電視節(jié)目使用英語,75%的網(wǎng)絡(luò)信息使用英語傳播。英語已然成為一種多國、多文化、多功能的國際語言,成為與世界交流的平臺。同時隨著互聯(lián)網(wǎng)的發(fā)展,人們的生活方式也隨之改變。在英語學(xué)習(xí)需求與信息技術(shù)的發(fā)展下,英語在線教學(xué)系統(tǒng)應(yīng)運(yùn)而生。利用互聯(lián)網(wǎng)的在線視頻教學(xué)以其靈活的授課方式以及豐富的教學(xué)內(nèi)容等特點吸引著眾多的用戶。區(qū)別于傳統(tǒng)的教學(xué)方式,利用互聯(lián)網(wǎng)的在線教學(xué)對于教學(xué)時間和教學(xué)地點的限制非常小。學(xué)生可以根據(jù)自身情況選擇學(xué)習(xí)內(nèi)容,是一種以需求為導(dǎo)向的學(xué)習(xí)方式。面對這樣一個龐大的市場,很多教育培訓(xùn)機(jī)構(gòu)開始開發(fā)自己的在線教學(xué)平臺,在整合其教學(xué)資源的同時擴(kuò)大市場份額。該系統(tǒng)使用基于mvc模式的Django框架實現(xiàn),數(shù)據(jù)庫使用基于分布式存儲的MongoDB,后臺管理子系統(tǒng)界面使用j Query EasyUI簡化開發(fā)過程。實現(xiàn)了一套完整的英語在線教學(xué)系統(tǒng)。提供學(xué)生注冊后在線測評,購買課程后能夠預(yù)約課程與教師進(jìn)行視頻學(xué)習(xí)交流,以及學(xué)習(xí)資源下載。教師用戶使用管理員分配的賬戶使用系統(tǒng),進(jìn)行授課管理個人信息。管理員利用系統(tǒng)對所有系統(tǒng)用戶進(jìn)行管理,同時管理課程安排,新聞公告,系統(tǒng)日志以及數(shù)據(jù)分析等功能。
第一章緒論
1.1背景及意義
在當(dāng)今世界5000多種語言中,英語已成為一種多國、多文化、多功能的國際語言。全球有45個國家把英語作為官方語言,35%的人講英語,英語是聯(lián)合國最主要的工作語言,75%的電視節(jié)目使用英語,80%互聯(lián)網(wǎng)信息用英語傳播[1】。英語作為國際交流語言,正在一步步滲透到人們的生活中。無論是學(xué)習(xí)還是工作,在國內(nèi)或是國外,人們需要用到英語的頻率在漸漸增加。因此,各類英語教育機(jī)構(gòu)也應(yīng)運(yùn)而生。比較著名的有新東方教育科技集團(tuán),新航道國際教育集團(tuán),華爾街英語等。這些機(jī)構(gòu)的授課方式一般分為大班或小班教學(xué),以及一對一單獨輔導(dǎo),為學(xué)生提供專業(yè)的英語培訓(xùn)。但是這樣的教學(xué)方式也暴露出了其問題:大班學(xué)習(xí)往往學(xué)生較多,.教室擁擠,授課缺乏針對性;而小班教學(xué)和一對一輔導(dǎo)則,價格昂貴,多數(shù)學(xué)生難以長期負(fù)擔(dān)。因此,借助于互聯(lián)網(wǎng)的教學(xué)方式逐步發(fā)展起來。相較于過去的教學(xué)方式,網(wǎng)絡(luò)教育有其特有的優(yōu)勢。首先,網(wǎng)絡(luò)教學(xué)在教學(xué)時間和教學(xué)地點方面更具靈活性。教學(xué)不需要教室,學(xué)生只需要一臺連接互聯(lián)網(wǎng)的計算機(jī)設(shè)備就能學(xué)習(xí),省去了往返的時間和路費。其次,由于不需要租用場地作為教室,降低了教學(xué)的成本,從而在教學(xué)費用上教育機(jī)構(gòu)有了更多自主權(quán)。第三,由于不受地點的限制,教育機(jī)構(gòu)可以利用更多的外教資源。很多以英語為母語的教師,可以在自己家中給遠(yuǎn)在其它國家的學(xué)生進(jìn)行網(wǎng)上授課。由此可見,在線英語教學(xué)具有良好的發(fā)展前景。
1.2在線英語教學(xué)現(xiàn)狀
目前國內(nèi)外己經(jīng)有了許多類似的在線語言教學(xué)系統(tǒng),規(guī)模較大的有無憂英語網(wǎng)、易格在線英語培訓(xùn)機(jī)構(gòu)、英孕英語教學(xué)網(wǎng)站等。這些網(wǎng)站均擁有大規(guī)模的外教師資力量,并且課程類型也十分完善,包括兒童英語、生活口語、商務(wù)英語等等。在學(xué)生與教師間的交流方式中,多數(shù)線上英語教學(xué)網(wǎng)站是釆用QQ或者Skype進(jìn)行上課,也有如易格這樣的專門制作了一個視頻軟件,學(xué)生需要先下載安裝后才能和老師進(jìn)行交流。而這種使用第三方軟件進(jìn)行授課的方式,既不便于管理也增加了不必要的操作。
第二章相關(guān)技術(shù)概述
本系統(tǒng)使用了如下技術(shù):Django框架,Python語言,MongoDB數(shù)據(jù)庫,jQueryEasyUI以及123FlashChat聊天服務(wù)器軟件,本章將依次介紹。
2.1 Django
Django是用Python語言編寫,遵循MVC模式的開源web開發(fā)框架,其目的是使開發(fā)人員能以最少的代碼創(chuàng)建更好的web應(yīng)用[2]。Django框架的核心組件有:對象關(guān)系映射器:使用Django框架,開發(fā)人員可以免費獲得一套功能豐富的,動態(tài)訪問數(shù)據(jù)庫的API(如果有需要也可以自己編寫SQL語句)。使用的數(shù)據(jù)模型完全在Python中定義。依存于這些API可以大幅度簡化書寫SQL語句的繁雜工作。同時Django支持包括Postgresql,MySql,Sqlite, Oracle在內(nèi)的多種數(shù)據(jù)庫P]。自動化的管理界面:為開發(fā)人員自動創(chuàng)建用戶管理和更新內(nèi)容的接口,這些乏味的工作由Django完成。Django自帶一個admin site,類似于內(nèi)容管理系統(tǒng)。一流的URL分發(fā)設(shè)計:由開發(fā)人員自行設(shè)置URL分發(fā),沒有任何的框架限制。并且URL分發(fā)設(shè)計得簡潔美觀,不會在鏈接中產(chǎn)生一大串雜亂且難以理解的字符。模板系統(tǒng):使用Django強(qiáng)大而可擴(kuò)展的模板語言,可以分隔設(shè)計、內(nèi)容和Python代碼,并且具有可繼承性。緩存系統(tǒng):Django具有自己的Cache (緩存)系統(tǒng),如果需要,也可以根據(jù)開發(fā)者的要求嵌套其他的緩存框架。Django擁有完善的模板機(jī)制、對象關(guān)系映射機(jī)制以及用于動態(tài)創(chuàng)建后臺管理界面的功能,利用Django可以快速設(shè)計和開發(fā)具有MVC層次的web應(yīng)用。Django具有諸多引人注目的特性。使用Django可擴(kuò)展的內(nèi)置模板,可以將模型層、控制層與頁面模板完全獨立開來進(jìn)行編碼。國際化:內(nèi)置國際化系統(tǒng),可以方便的開發(fā)出多種語言的網(wǎng)站[4]。
第三章系統(tǒng)縣分析............................ 8
3.1業(yè)務(wù)需求分析............................ 8
3.2用戶需求分析............................ 9
3.3功能需求分析............................ 11
3.4非功能需求分析............................ 14
3.5本章小結(jié)............................ 15
第四章系統(tǒng)總體設(shè)計............................ 16
4.1系統(tǒng)架構(gòu)設(shè)計............................ 16
4.2 體功能模塊設(shè)計............................ 17
4.3數(shù)據(jù)庫設(shè)計............................ 19
4.4本章小結(jié)............................ 24
第五章系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)............................ 25
5.1棘環(huán)境............................ 25
5.2學(xué)生模塊............................ 27
5.3教師模塊............................34
5.4后臺管理模塊............................ 42
5.5其他共用功能............................ 54
5.6本章小結(jié)............................. 55
第六章系統(tǒng)測試
在開發(fā)大型軟件系統(tǒng)的漫長過程中,面對著及其錯綜復(fù)雜的問題,人的主觀認(rèn)識不可能完全符合客觀現(xiàn)實,與工程密切相關(guān)的各類人員之間的通信和配合也不可能是完美無缺,因此,在軟件生命周期的每個階段都不可避免地會產(chǎn)生差錯。測試的目的就是在軟件投入使用之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤。目前軟件測試仍然是保證軟件質(zhì)量的關(guān)鍵步驟[18]。
6.1瀾試刪
從應(yīng)用系統(tǒng)的角度看,測試一般包括功能測試和性能測試。功能測試是將開發(fā)出的應(yīng)用系統(tǒng)所要求實現(xiàn)的功能逐一進(jìn)行測試;而web應(yīng)用的測試有自己的特點,除了性能測試和功能測試的內(nèi)容有所不同之外,還要從UI和安全性等方面進(jìn)行測試。一般web應(yīng)用測試的內(nèi)容包括:用戶界面、功能、接口、兼容性、強(qiáng)度和安全測試。1.用戶界面測試:簡稱UI測試,測試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁面是否美觀,文字、圖片組合是否完美,操作是否友好等等。2.功能測試:即測試軟件系統(tǒng)的功能是否正確,其依據(jù)是需求文檔,如《需求規(guī)格說明書》。由于正確性是軟件最重要的質(zhì)量因素,所以功能測試必不可少。3.數(shù)據(jù)庫測試:在web應(yīng)用技術(shù)中,筆耕文化傳播,數(shù)據(jù)庫有著重要的作用,數(shù)據(jù)庫為web應(yīng)用系統(tǒng)的管理、運(yùn)行、查詢和實現(xiàn)用戶對數(shù)據(jù)存儲的請求等提供空。在使用了數(shù)據(jù)庫的web應(yīng)用系統(tǒng)中,一般情況下,可能發(fā)生兩種錯誤,分別是數(shù)據(jù)一致性錯誤和輸出錯誤。數(shù)據(jù)一致性錯誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計問題等引起的,針對這兩種情況,可分別進(jìn)行測試。4.安全測試:檢驗系統(tǒng)能否正確、可靠安全地運(yùn)行。主要包括權(quán)限設(shè)置、用戶登錄測試和日志文件。5.健壯性測試:即測試軟件系統(tǒng)在異常情況下能否正常運(yùn)行的能力。健壯性有兩層含義:一是容錯能力,二是恢復(fù)能力。
6.2測試用例
測試用例(TestCase)是將軟件測試的行為活動做一個科學(xué)化的組織歸納,目的是能夠?qū)④浖䴗y試的行為轉(zhuǎn)化成可管理的模式;同時測試用例也是將測試具體量化的方法之一。
第七章總結(jié)與展望
7.1總結(jié)
本文主要介紹了在線英語視頻教學(xué)系統(tǒng)的設(shè)計與實現(xiàn)。首先從項目背景出發(fā),指出了目前定點教學(xué)所面臨的困境,互聯(lián)網(wǎng)的迅速發(fā)展為教學(xué)現(xiàn)代化指明了道路,教育與網(wǎng)絡(luò)的結(jié)合是大勢所趨,進(jìn)而表明了實現(xiàn)該在線英語視頻教學(xué)系統(tǒng)的現(xiàn)實意義和必要性。接著介紹了要實現(xiàn)本系統(tǒng)所要掌握的關(guān)鍵性技術(shù),詳細(xì)地描述了 MVC設(shè)計模式的理論,Python語言的優(yōu)勢,Django框架的便利性,MongoDB數(shù)據(jù)庫的高性能以及jQuery EasyUI在實現(xiàn)后臺管理界面時的高效率。然后在了解了相關(guān)技術(shù)的前提下,論文對該系統(tǒng)進(jìn)行了需求分析,包括業(yè)務(wù)需求分析、用戶需求分析、功能需求分析與非功能分析,并用功能列表、用例圖.二I和業(yè)務(wù)流程圖等加以詳細(xì)說明。 ,在之后的設(shè)計階段,論文從系統(tǒng)框架設(shè)計、總體功能模塊設(shè)計及數(shù)據(jù)庫設(shè)計等方面描述了系統(tǒng)的整體思路與結(jié)構(gòu)。然后從代碼級別詳細(xì)表述了后臺管理子系統(tǒng)13個主要功能,并附有關(guān)鍵代碼以及界面截圖。
7.2展望
本系統(tǒng)雖然初步實現(xiàn)了需求中所要求的功能,但在設(shè)計中還有許多有待完善的地方。目前系統(tǒng)需要進(jìn)一步加強(qiáng)和改進(jìn)的問題有:1.界面的美化問題,雖然現(xiàn)在系統(tǒng)的界面已經(jīng)完整地呈現(xiàn)出客戶要求的所有功能,但是界面的美觀程度還有待提高,jQuery EasyUI提供的UI主題還不夠豐富,可以考慮重繪UI。2.搜索功能,后臺管理子系統(tǒng)主要是對數(shù)據(jù)的管理,在前期數(shù)據(jù)不多的情況下,要查找一項數(shù)據(jù)比較容易,然而到了后期,系統(tǒng)產(chǎn)生大量數(shù)據(jù)的時候,想要手動去查找一項數(shù)據(jù)就會比較困難,搜索功能很有必要實現(xiàn)。3.數(shù)據(jù)挖掘,當(dāng)系統(tǒng)上線數(shù)年后,公司會擁有海量數(shù)據(jù),這個時候,簡單的數(shù)據(jù)分析己經(jīng)遠(yuǎn)遠(yuǎn)達(dá)不到管理層決策要求,對數(shù)據(jù)進(jìn)行深度挖掘,找出有意義的數(shù)據(jù)關(guān)聯(lián)顯的尤為必要。
參考文獻(xiàn):
[1] 湯曉燕. 基于EasyUI框架的Web異步樹實現(xiàn)[J]. 電腦編程技巧與維護(hù). 2012(12)
[2] 李紅娟,溫喆. 基于J2EE與Ajax的Web應(yīng)用架構(gòu)設(shè)計[J]. 制造業(yè)自動化. 2011(09)
[3] 周楊. AJAX應(yīng)用的典型設(shè)計模式[J]. 計算機(jī)系統(tǒng)應(yīng)用. 2011(01)
[4] 尹婷,趙思佳. 基于jQuery框架的AJAX網(wǎng)站設(shè)計模式的研究[J]. 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院學(xué)報. 2010(03)
[5] 孫太群,黃遠(yuǎn)振. 論中國英語與英語教學(xué)本土化途徑[J]. 長沙大學(xué)學(xué)報. 2009(03)
[6] 王冉陽. 基于Django和Python的Web開發(fā)[J]. 電腦編程技巧與維護(hù). 2009(02)
[7] 張偉,梅宏. 一種面向特征的領(lǐng)域模型及其建模過程[J]. 軟件學(xué)報. 2003(08)
[8] 金芝. 基于本體的需求自動獲取[J]. 計算機(jī)學(xué)報. 2000(05)
本文編號:10879
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/10879.html