版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第1章緒論緒論問題的提出隨著社會的發(fā)展以及時代的進步,國家對教育的重視程度越來高,教育是衡量一個國家潛在力量的重要依據(jù)?,F(xiàn)在我們國家的教育方式還是以學校課堂教學為主,我們稱之為傳統(tǒng)教育。傳統(tǒng)教育雖然有利于學科知識的系統(tǒng)傳授,教師和學生可以實時溝通交流各自的想法,但也存在很多弊端。傳統(tǒng)教育以教師、教材為中心,信息容量小,不利于開闊學生視野,特別是當今社會正處于信息大爆炸時代,這一缺點更加明顯,而且,我們國家教育資源分布較為不均衡,一線城市與四五線城市以及農(nóng)村的教育水平存在很大差距,此外,傳統(tǒng)教育對于學習時間和空間限制較大,傳統(tǒng)教育的主戰(zhàn)場在學校課堂,一些學生由于身體等原因無法在規(guī)定時間內(nèi)學習會造成所學知識的不完整,也會影響以后知識學習的連續(xù)性。隨著計算機技術、網(wǎng)絡技術的快速發(fā)展以及云計算、大數(shù)據(jù)、人工智能(AI)的出現(xiàn),社會信息化程度極大提高,計算機及互聯(lián)網(wǎng)技術給社會的各行各業(yè)帶來了極大的便利。網(wǎng)絡教育作為互聯(lián)網(wǎng)在教育方面的重要應用,逐漸被社會所認可,網(wǎng)絡教育彌補了傳統(tǒng)課堂教育在空間、時間以及師資力量不均衡等方面的不足,它是隨著現(xiàn)代化信息技術快速發(fā)展而產(chǎn)生的一種新型教育方式。網(wǎng)絡教育有豐富的課程資源以彌補傳統(tǒng)教育資源不均衡的缺陷,且不受時間和空間的限制,只要有網(wǎng)絡便可以自由地學習,讓教育由原來的以教為主變?yōu)楝F(xiàn)在的以學為主,在現(xiàn)代知識經(jīng)濟時代下,有效幫助人們樹立終生學習觀。為此,我開發(fā)了一款在線教育系統(tǒng)(以下簡稱本系統(tǒng)/該系統(tǒng)/系統(tǒng)/教育系統(tǒng)/智學新知),并給它起了一個名字叫做“智學新知”。智學新知是一款基于主流WEB技術SpringBoot的在線教育平臺,用戶可以在該系統(tǒng)上共享教育資源、主動學習感興趣的知識、討論交流、在線考試等。相對于市面上已經(jīng)存在的軟酷網(wǎng)、VIPKID、好未來等平臺,該系統(tǒng)具有綜合性及開放性的特點,不拘束于某一特定的方向,完全實現(xiàn)用戶共享教育資源,從而彌補傳統(tǒng)教育資源分布不均衡的缺陷。研究的意義在當今互聯(lián)網(wǎng)快速發(fā)展的時代,該系統(tǒng)在教育行業(yè)具有重要的應用價值:教育資源共享:當今社會教育資源分布較為不均衡,三四線城市及農(nóng)村與一線特大城市的師資力量、教學軟硬件設施等教育資源差距較大,而該系統(tǒng)構(gòu)建了一個資源共享、課程共享的平臺,教師可以將自己的精品課程以及教學方法在該系統(tǒng)發(fā)布,學生進行學習以彌補自身知識的不足,教師也可以相互借鑒共同提高,從而達到教育資源的共享,彌補教育資源分布不均衡的缺陷。學習時間空間自由:傳統(tǒng)教育的主戰(zhàn)場在課堂,但是課堂的時間及地點有限,有一些學生不能及時理解課上教師所教授的內(nèi)容或者由于身體等原因?qū)е聼o法在規(guī)定時間內(nèi)學習而造成所學知識不完整。而在線教育系統(tǒng)可以讓學生在空余時間對所學知識進行鞏固和補充。該系統(tǒng)具有多向性及反饋性:學習者在學習過程中會提出許多有價值的問題和要求,這些將有可能產(chǎn)生新的教學思想和方法,可能會影響教學設計與改革。1.3國內(nèi)外研究現(xiàn)狀當今社會已經(jīng)從工業(yè)社會進入了信息社會,教育也正在向信息化現(xiàn)代化方向發(fā)展。我國大多數(shù)學校都已經(jīng)裝備了多媒體設施,學生的成績以及試卷的批閱也都在網(wǎng)上進行,這是計算機及網(wǎng)絡在教育方面的典型應用。在網(wǎng)絡教學平臺方面,也出現(xiàn)有軟酷網(wǎng)、VIPKID、好未來等平臺,但這些平臺有的只是側(cè)重一個方向,有的需要收費,有的是自己招聘的老師進行講解,而綜合性開放性的在線教育平臺目前并不多見,并且由于傳統(tǒng)教學觀念的束縛,在線教育平臺也并沒有得到較好的推廣。隨著互聯(lián)網(wǎng)技術的迅速發(fā)展,近幾年網(wǎng)絡教育發(fā)展較為迅速,比如美國出現(xiàn)了虛擬大學的辦學模式,在該模式下,所有的教學活動和教育管理都是通過互聯(lián)網(wǎng)技術得以實現(xiàn)。在我國政府對網(wǎng)絡教育的倡導下,我國在線教育人數(shù)也有較大增長,目前已經(jīng)超過2億人。1.4本文的組織第1章緒論。本章主要介紹該課題的提出背景,闡述研究該課題的目的及意義,介紹國內(nèi)外對于該課題的研究現(xiàn)狀,說明全文組織結(jié)構(gòu)。第2章需求分析。本章主要分析該系統(tǒng)的總體需求,包括該系統(tǒng)的功能性及非功能性需求分析,以及該系統(tǒng)的數(shù)據(jù)分析和業(yè)務流程分析。第3章系統(tǒng)概要設計。本章主要闡述該系統(tǒng)設計的原則和方法,描述該系統(tǒng)的基本功能以及部分額外功能模塊的設計,并進行數(shù)據(jù)庫的分析與設計。第4章系統(tǒng)詳細設計與實現(xiàn)。本章主要針對在線教育系統(tǒng)(智學新知)的主要功能進行詳細的設計與實現(xiàn)。第5章系統(tǒng)測試。本章主要介紹了軟件測試的基本方法,并且針對在線教育系統(tǒng)(智學新知)設計相應的測試方案,并對該系統(tǒng)的測試結(jié)果進行分析和總結(jié)。結(jié)束語對該課題的研究工作進行分析總結(jié),提出研究結(jié)論及進一步的研究工作。致謝對指導或幫助完成該課題研究的教師、學校、同學以及父母等表示感謝,感謝他們對于自己畢業(yè)(論文)以及上學期間的指導與幫助。參考文獻列出本文以及該課題研究所參考的相關資料信息,表明對他人知識產(chǎn)權及勞動的認可和尊重。第2章需求分析需求分析2.1概述本章采用軟件工程方法對在線教育系統(tǒng)(智學新知)進行了需求分析,需求分析在軟件開發(fā)過程中起到了極其重要的作用,需求的不清晰將導致整個系統(tǒng)開發(fā)失敗。本章將重點闡述該系統(tǒng)的系統(tǒng)目標、業(yè)務流程、功能性及非功能性需求、數(shù)據(jù)需求等。2.2系統(tǒng)目標本次課題主要設計并實現(xiàn)在線教育系統(tǒng)(智學新知),該系統(tǒng)的主要目的在于實現(xiàn)教育資源的共享,可讓用戶隨時隨地學習,而不受時間和空間等因素的限制,幫助教師進行智慧教學。該系統(tǒng)由PCWEB前端和后臺服務器組成,基于MVC模式進行開發(fā)。系統(tǒng)目標包括:
(1)實現(xiàn)在線學習模塊,使用戶可以隨時隨地學習該系統(tǒng)上開放的課程資源,提升自身的知識水平,彌補自身的知識缺陷。實現(xiàn)在線考試模塊,使用戶可以檢測自身所學知識的掌握程度,幫助教師了解學生的學習情況,對成績進行分析處理,讓用戶了解自身知識的欠缺,提高用戶體驗。實現(xiàn)課程管理,教師對自己發(fā)布的課程進行增刪改查,對于私密課程,可以對該課程的學習學生進行管理。實現(xiàn)系統(tǒng)前后端實時數(shù)據(jù)交互,可考慮采用分布式來提高該系統(tǒng)的并發(fā)性與穩(wěn)定性。本系統(tǒng)采用B/S結(jié)構(gòu),方便用戶進行使用,只需要有網(wǎng)絡和瀏覽器的計算機即可訪問本系統(tǒng)。系統(tǒng)界面簡潔美觀易用,符合大多數(shù)人的使用習慣。2.3業(yè)務流程在線教育系統(tǒng)(智學新知)應當包含9大功能模塊,分別為個人中心、課程管理、考試管理、課程學習、在線考試、教師閱卷、成績分析、討論區(qū)、消息通知,下面將分別講解每個模塊重要的業(yè)務流程。2.3.1個人中心個人中心模塊主要包含用戶注冊、登錄、修改密碼等功能,下面將分別介紹它們的業(yè)務流程。用戶注冊新用戶使用該系統(tǒng)時可以注冊成為該系統(tǒng)的用戶,用戶注冊的時序圖如圖2.1所示。圖2.1用戶注冊時序圖用戶登錄本系統(tǒng)用戶可以登錄系統(tǒng)進行相關操作,用戶登錄的時序圖如圖2.2所示。圖2.2用戶登錄時序圖修改密碼本系統(tǒng)用戶可以修改自己的密碼,保證賬號的安全,用戶修改密碼的時序圖如圖2.3所示。圖2.3修改密碼時序圖2.3.2課程管理課程管理主要是面向教師使用,教師可以使用該系統(tǒng)創(chuàng)建課程(創(chuàng)建課時、上傳課時資料、上傳視頻等功能與之類似)、刪除課程、修改課程、管理學習人員(添加或刪除),下面將分別介紹它們的業(yè)務流程。創(chuàng)建課程教師可以使用該系統(tǒng)進行課程的創(chuàng)建,創(chuàng)建課時、上傳課時資料、上傳視頻等功能與之類似,這里不再描述,創(chuàng)建課程的時序圖如圖2.4所示。圖2.4創(chuàng)建課程時序圖刪除課程教師可以刪除自己創(chuàng)建的課程,對課時、課時資料、視頻等的刪除與之類似,這里不再描述,刪除課程的時序圖如圖2.5所示。圖2.5刪除課程時序圖修改課程教師可以修改自己創(chuàng)建的課程,修改課時與之類似,這里不再描述,修改課程的時序圖如圖2.6所示。圖2.6修改課程時序圖管理學習人員教師可以為自己的私有課程添加或刪除學習人員,這里以添加學習人員為例(刪除與之相似)來描述該業(yè)務流程,添加學習人員時序圖如圖2.7所示。圖2.7添加學習人員時序圖2.3.3考試管理考試管理主要是面向教師使用,教師可以使用該系統(tǒng)創(chuàng)建考試(創(chuàng)建選擇題、創(chuàng)建客觀題等功能與之類似)、刪除考試等,下面將分別介紹它們的業(yè)務流程。創(chuàng)建考試教師可以使用該系統(tǒng)進行考試的創(chuàng)建,創(chuàng)建選擇題、創(chuàng)建客觀題等功能與之類似,這里不再描述,創(chuàng)建考試的時序圖如圖2.8所示。圖2.8創(chuàng)建考試時序圖刪除考試教師可以刪除自己所創(chuàng)建的考試,刪除選擇題、刪除客觀題等功能與之類似,這里不再描述,刪除考試的時序圖如圖2.9所示。圖2.9刪除考試時序圖2.3.4課程學習用戶登錄系統(tǒng)后可以選擇課程進行學習,課程學習包括學習課時內(nèi)容、下載課時資料、瀏覽課時視頻等,下面將分別介紹它們的業(yè)務流程。課時內(nèi)容學習用戶登錄系統(tǒng)可以選擇課程并選擇課時進行課時內(nèi)容的瀏覽學習,課時內(nèi)容學習的時序圖如圖2.10所示。圖2.10課時內(nèi)容學習時序圖下載課時資料時序圖用戶登錄系統(tǒng)可以選擇課時資料進行下載學習使用,下載課時資料時序圖如圖2.11所示。圖2.11下載課時資料時序圖瀏覽課時視頻用戶登錄系統(tǒng)后可以選擇瀏覽課時視頻,讓課程內(nèi)容不僅僅停留在文字,使用戶更容易理解課程,瀏覽課時視頻時序圖如圖2.12所示。圖2.12瀏覽課時視頻時序圖2.3.5在線考試用戶登錄系統(tǒng)后,可以對所學課程進行考試,來檢測自身對于該課程的掌握程度,教師也可以了解學生的學習情況以及自身授課情況,可以彌補自身的不足之處,在線考試的時序圖如圖2.13所示。圖2.13在線考試時序圖2.3.6教師閱卷教師登錄系統(tǒng)后可以對自己創(chuàng)建的已完成考試的學生試卷進行批閱,可以讓學生了解自身學習的情況,同時也可以讓自己了解自身教學的不足之處,方便今后進行改善,提升自身的教學水平,教師閱卷的時序圖如圖2.14所示。圖2.14教師閱卷時序圖2.3.7成績分析用戶登錄系統(tǒng)進入個人中心首頁時會顯示個人近期學習情況,了解自身知識的不足之處,進行更有針對性的學習,成績分析的時序圖如圖2.15所示。圖2.15成績分析時序圖2.3.8討論區(qū)用戶登錄系統(tǒng)后可以在討論區(qū)內(nèi)發(fā)布帖子或評論帖子,給他人分享自己的學習經(jīng)驗或感悟等,討論區(qū)可以對自己的帖子進行刪除,其業(yè)務流程與課程管理類似,這里不再多做描述。2.3.9消息通知為了提醒用戶一些學習等信息,本系統(tǒng)具有消息通知的功能。用戶可以登錄系統(tǒng)之后在個人中心-消息通知頁面查看消息,除此之外,系統(tǒng)會自動給用戶郵箱發(fā)送通知信息,方便不常登錄系統(tǒng)的用戶知曉最近的一些信息。在上述幾個功能模塊中有的功能已經(jīng)調(diào)用了消息通知服務來創(chuàng)建消息通知,消息通知的查看等與上述幾個功能模塊相似,這里不再多做描述。本小節(jié)僅對消息發(fā)送至用戶郵箱功能進行描述,其時序圖如圖2.16所示。圖2.16消息發(fā)送至用戶郵箱時序圖2.4功能需求2.4.1涉眾分析本系統(tǒng)為在線教育系統(tǒng),是隨著計算機技術、網(wǎng)絡技術以及云計算、大數(shù)據(jù)、人工智能等技術的快速發(fā)展,科技與傳統(tǒng)教育相結(jié)合的產(chǎn)物。在線教育在教育行業(yè)中扮演著越來越重要的作用,是現(xiàn)代教育的主要方式之一。既然該系統(tǒng)是為教育行業(yè)服務,那么系統(tǒng)的使用者角色應當與傳統(tǒng)教育行業(yè)中的角色一致,即學生和教師。表2.1列出了系統(tǒng)用戶角色及其職責或功能。表2.1用戶角色劃分表角色職責或功能教師系統(tǒng)的主要參與者,可以在該系統(tǒng)平臺內(nèi)發(fā)布課程(公有或私有)、管理課程(課時、課時資料、視頻等)、發(fā)布考試信息、批閱試卷等,同時也可以學習其他教師發(fā)布的課程,提升自己的教學能力。學生系統(tǒng)的主要參與者,可以在該系統(tǒng)平臺內(nèi)學習課程(私有課程需要教師添加)、下載課時資料、瀏覽視頻、在線考試等,同時可以查看自身的學習情況,及時了解自身知識的不足,彌補知識缺陷。2.4.2用例分析本系統(tǒng)是為教育行業(yè)服務,則其參與者為教師和學生。本系統(tǒng)主要實現(xiàn)了在線學習與在線考試兩大功能,通過對其分析,本系統(tǒng)應實現(xiàn)9大功能模塊,分別為:個人中心、課程管理、考試管理、課程學習、在線考試、教師閱卷、成績分析、討論區(qū)、消息通知。個人中心模塊包含:用戶注冊、用戶登錄、修改密碼等功能。課程管理模塊包含:創(chuàng)建課程、修改課程、刪除課程、創(chuàng)建課時、修改課時、刪除課時、上傳課時資料、刪除課時資料、上傳視頻、刪除視頻、添加學習人員(私有課程)、刪除學習人員(私有課程)等功能。考試管理模塊包含:創(chuàng)建考試、刪除考試、創(chuàng)建選擇題、刪除選擇題、創(chuàng)建客觀題、刪除客觀題等功能。課程學習模塊包含:課程學習、課時資料下載、瀏覽視頻等功能。在線考試模塊主要包含在線考試功能。教師閱卷模塊主要包含教師閱卷功能。成績分析模塊包含:成績列表、成績分析等功能。討論區(qū)模塊包含:發(fā)布帖子、刪除帖子、發(fā)表評論、刪除評論等功能。消息通知模塊包含:消息通知查閱、刪除消息通知等功能。對上述功能及參與者進行分析匹配可以得出如下用例圖,其中圖2.17為系統(tǒng)總體用例圖,圖2.18為個人中心模塊用例圖,圖2.19為課程管理模塊用例圖,圖2.20為考試管理模塊用例圖,圖2.21為課程學習模塊用例圖,圖2.22為成績分析模塊用例圖,圖2.23為討論區(qū)模塊用例圖,圖2.24為消息通知模塊用例圖。圖2.17在線教育系統(tǒng)(智學新知)總體用例圖圖2.18個人中心模塊用例圖圖2.19課程管理模塊用例圖圖2.20考試管理模塊用例圖圖2.21課程學習模塊用例圖圖2.22成績分析模塊用例圖圖2.23討論區(qū)模塊用例圖圖2.24消息通知模塊用例圖根據(jù)上述的分析,我們列出了表2.2所示的在線教育系統(tǒng)(智學新知)用例列表。表2.2在線教育系統(tǒng)(智學新知)用例列表ID名稱用例展開C1個人中心C1.1用戶注冊C1.2用戶登錄C1.3修改密碼C2課程管理C2.1創(chuàng)建課程C2.2修改課程C2.3刪除課程C2.4創(chuàng)建課時C2.5修改課時C2.6刪除課時C2.7創(chuàng)建課時資料C2.8刪除課時資料C2.9上傳視頻C2.10刪除視頻C2.11添加學習人員C2.12刪除學習人員C3考試管理C3.1創(chuàng)建考試C3.2刪除考試C3.3創(chuàng)建選擇題C3.4刪除選擇題C3.5創(chuàng)建客觀題C3.6刪除客觀題C4課程學習C4.1課程學習C4.2課時資料下載C4.3瀏覽視頻C5在線考試C5.1在線考試C6教師閱卷C6.1教師閱卷C7成績分析C7.1成績列表C7.2成績分析C8討論區(qū)C8.1發(fā)布帖子C8.2刪除帖子C8.3發(fā)表評論C8.4刪除評論C9消息通知C9.1消息通知查詢C9.2刪除消息通知下面我們分別給出上述用例的用例描述。用戶注冊表2.3用戶注冊用例描述IDC1.1名稱用戶注冊優(yōu)先級高參與者教師、學生觸發(fā)條件參與者點擊注冊按鈕前置條件參與者在該系統(tǒng)內(nèi)沒有賬戶后置條件參與者成為該系統(tǒng)用戶正常流程參與者進入在線教育系統(tǒng)(智學新知)參與者點擊注冊按鈕參與者輸入郵箱及密碼等個人信息參與者點擊確認注冊按鈕系統(tǒng)給用戶發(fā)送郵箱驗證用戶點擊郵箱內(nèi)收到的鏈接系統(tǒng)提示注冊成功擴展流程3-4a.郵箱不符合規(guī)范系統(tǒng)給出相應提示3-4b.兩次密碼輸入不一致系統(tǒng)給出相應提示3-4c.郵箱已被注冊系統(tǒng)給出相應提示6a.鏈接錯誤系統(tǒng)給出相應提示6b.鏈接失效系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求郵箱驗證鏈接要求有時效限制,超時自動失效。用戶登錄表2.4用戶登錄用例描述IDC1.2名稱用戶登錄優(yōu)先級高參與者教師、學生觸發(fā)條件參與者點擊登錄按鈕前置條件參與者為該系統(tǒng)用戶后置條件參與者登錄系統(tǒng)正常流程參與者輸入郵箱及密碼參與者點擊登錄按鈕系統(tǒng)跳轉(zhuǎn)至登錄前頁面擴展流程1-2a.郵箱不存在系統(tǒng)給出相應提示1-2b.密碼錯誤1.系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求無修改密碼表2.5修改密碼用例描述IDC1.3名稱修改密碼優(yōu)先級高參與者教師、學生觸發(fā)條件參與者點擊修改密碼按鈕前置條件參與者為該系統(tǒng)用戶后置條件參與者密碼被修改正常流程參與者點擊修改密碼按鈕系統(tǒng)提示驗證鏈接已發(fā)送至郵箱參與者點擊郵箱內(nèi)鏈接參與者輸入新密碼及重復密碼參與者點擊確認按鈕系統(tǒng)提示修改密碼成功擴展流程3a.鏈接不存在系統(tǒng)給出相應提示頁面5秒后跳轉(zhuǎn)至系統(tǒng)首頁3b.鏈接超時系統(tǒng)給出相應提示頁面5秒后跳轉(zhuǎn)至系統(tǒng)首頁4-5a.兩次密碼不一致系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求修改密碼需向郵箱發(fā)送鏈接確認用戶身份,鏈接要有一定的有效期,超時自動失效。創(chuàng)建課程表2.6創(chuàng)建課程用例描述IDC2.1名稱創(chuàng)建課程優(yōu)先級高參與者教師觸發(fā)條件參與者點擊創(chuàng)建課程按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師后置條件參與者成功創(chuàng)建一門課程正常流程參與者輸入課程相關信息參與者點擊確認按鈕系統(tǒng)跳轉(zhuǎn)至新創(chuàng)建課程詳情頁面擴展流程1-2a.部分字段超出長度限制系統(tǒng)給出相應提示1-2b.必輸項沒有填寫系統(tǒng)給出相應提示1-2c.課程封面圖片超出要求大小系統(tǒng)給出相應提示1-2d.課程封面圖片格式不符合系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求用戶可以選擇創(chuàng)建公有課程或者私有課程修改課程表2.7修改課程用例描述IDC2.2名稱修改課程優(yōu)先級高參與者教師觸發(fā)條件參與者點擊修改課程按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程已被該教師創(chuàng)建后置條件參與者成功修改一門課程正常流程參與者輸入修改課程的相關信息參與者點擊確認按鈕系統(tǒng)跳轉(zhuǎn)到該課程詳細頁面擴展流程1-2a.部分字段超出長度限制系統(tǒng)給出相應提示1-2b.必輸項沒有填寫系統(tǒng)給出相應提示1-2c.課程封面圖片超出要求大小系統(tǒng)給出相應提示1-2d.課程封面圖片格式不符合系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以修改自己創(chuàng)建的課程刪除課程表2.8刪除課程用例描述IDC2.3名稱刪除課程優(yōu)先級高參與者教師觸發(fā)條件參與者點擊刪除課程按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程已被該教師創(chuàng)建后置條件參與者成功刪除一門課程正常流程參與者點擊刪除課程按鈕系統(tǒng)給出是否確認刪除的提示參與者點擊確認系統(tǒng)跳轉(zhuǎn)到系統(tǒng)首頁擴展流程2-3a.參與者點擊取消系統(tǒng)提示彈出框關閉,不做任何修改業(yè)務規(guī)則無特殊需求參與者只可以刪除自己創(chuàng)建的課程創(chuàng)建課時表2.9創(chuàng)建課時用例描述IDC2.4名稱創(chuàng)建課時優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課程,點擊創(chuàng)建課時按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程已被該教師創(chuàng)建后置條件參與者成功為該課程創(chuàng)建一節(jié)課時正常流程參與者點擊創(chuàng)建課時按鈕參與者輸入課時相關信息及課時內(nèi)容參與者點擊確認按鈕系統(tǒng)創(chuàng)建課時并跳轉(zhuǎn)到課時詳情頁面擴展流程2-3a.部分字段超出長度限制系統(tǒng)給出相應提示2-3b.必輸項沒有填寫系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的課程創(chuàng)建課時修改課時表2.10修改課時用例描述IDC2.5名稱修改課時優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課程/課時,點擊修改課時按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程和課時已被該教師創(chuàng)建后置條件參與者成功修改該課時正常流程參與者點擊修改課時按鈕系統(tǒng)跳轉(zhuǎn)至修改課時頁面參與者輸入修改信息參與者點擊確認修改成功,系統(tǒng)跳轉(zhuǎn)至課時詳情頁面擴展流程3-4a.部分字段超出長度限制系統(tǒng)給出相應提示3-4b.必輸項沒有填寫系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以修改自己創(chuàng)建的課時,修改課時頁面要回顯修改之前的課時信息,方便參與者進行修改而不是重新填寫刪除課時表2.11刪除課時用例描述IDC2.6名稱刪除課時優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課程/課時,點擊刪除課時按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程和課時已被該教師創(chuàng)建后置條件參與者成功刪除該課時正常流程參與者點擊刪除課時按鈕系統(tǒng)給出確認是否刪除提示框參與者點擊確認系統(tǒng)成功刪除該課時,并跳轉(zhuǎn)至該課時所在課程詳情頁面擴展流程2-3a.參與者點擊取消系統(tǒng)彈出框關閉,系統(tǒng)不做任何改變業(yè)務規(guī)則無特殊需求參與者只可以刪除自己創(chuàng)建的課時創(chuàng)建課時資料表2.12創(chuàng)建課時資料用例描述IDC2.7名稱創(chuàng)建課時資料優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課時,點擊上傳課時資料按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課時已被該教師創(chuàng)建后置條件參與者成功上傳課時資料正常流程參與者點擊上傳課時資料按鈕系統(tǒng)彈出文件上傳框參與者選擇文件并點擊確認系統(tǒng)給出上傳成功提示擴展流程1a.資料個數(shù)已達上限系統(tǒng)給出相應提示3a.文件超出系統(tǒng)限制系統(tǒng)給出相應提示3b.用戶點擊取消系統(tǒng)關閉文件上傳框,不做任何改變業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的課時上傳課時資料,為防止參與者惡意上傳資料,節(jié)省服務器空間,資料個數(shù)及大小應有所限制刪除課時資料表2.13刪除課時資料用例描述IDC2.8名稱刪除課時資料優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課時,點擊課時資料列表,選擇一個資料點擊刪除課時資料按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課時資料已被該教師上傳后置條件參與者成功刪除課時資料正常流程參與者點擊刪除課時資料按鈕系統(tǒng)給出是否刪除提示參與者點擊確認系統(tǒng)給出刪除成功提示擴展流程2-3a.參與者點擊取消系統(tǒng)關閉確認提示框,不做任何改變業(yè)務規(guī)則無特殊需求參與者只可以刪除自己上傳的課時資料上傳視頻表2.14上傳視頻用例描述IDC2.9名稱上傳視頻優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課時,點擊上傳視頻按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課時已被該教師創(chuàng)建后置條件參與者成功上傳視頻正常流程參與者點擊上傳視頻按鈕系統(tǒng)給出文件選擇框參與者選擇視頻文件并點擊確認系統(tǒng)給出上傳成功提示擴展流程1-2a.視頻個數(shù)超過最大限制系統(tǒng)給出相應提示2-3a.參與者點擊取消系統(tǒng)關閉文件選擇框3a.文件格式不符合要求系統(tǒng)給出相應提示3b.視頻大小超過限制系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的課時上傳視頻,為防止參與者惡意上傳視頻,節(jié)省服務器空間,視頻個數(shù)及大小應有所限制刪除視頻表2.15刪除視頻用例描述IDC2.10名稱刪除視頻優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的課時,點擊進入視頻列表,選擇視頻并點擊刪除視頻按鈕,或者參與者進入自己上傳視頻的詳情頁面,點擊刪除視頻按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該視頻已被該教師上傳后置條件參與者成功刪除視頻正常流程參與者點擊刪除視頻按鈕系統(tǒng)給出確認刪除提示框參與者點擊確認系統(tǒng)跳轉(zhuǎn)至該視頻所屬課時詳情頁面擴展流程2-3a.參與者點擊取消系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求參與者只可以刪除自己上傳的視頻添加學習人員表2.16添加學習人員用例描述IDC2.11名稱添加學習人員優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的私有課程,點擊添加學習人員按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程是私有課程且已被該教師創(chuàng)建后置條件參與者成功添加學習人員正常流程參與者點擊添加學習人員按鈕系統(tǒng)給出添加學習人員信息輸入框參與者輸入要添加人員信息并單擊確認系統(tǒng)提示添加成功擴展流程2-3a,參與者點擊取消系統(tǒng)關閉添加學習人員信息輸入框3a.該人員已存在該課程系統(tǒng)給出相應提示3b.該人員不是該系統(tǒng)用戶系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的課程添加學習人員,且該課程為私有課程刪除學習人員表2.17刪除學習人員用例描述IDC2.12名稱刪除學習人員優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的私有課程,點擊學習人員列表,選擇一名學習人員點擊刪除按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程是私有課程且已被該教師創(chuàng)建,該學習人員已在該課程存在后置條件參與者成功刪除學習人員正常流程參與者點擊刪除按鈕系統(tǒng)給出確認刪除提示框參與者點擊確認系統(tǒng)給出刪除成功提示擴展流程2-3a.參與者點擊取消系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求參與者只可以刪除自己添加的學習人員創(chuàng)建考試表2.18創(chuàng)建考試用例描述IDC3.1名稱創(chuàng)建考試優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的私有課程,點擊添加考試按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該課程已被該教師創(chuàng)建后置條件參與者成功創(chuàng)建一門考試正常流程參與者點擊創(chuàng)建考試按鈕系統(tǒng)進入考試信息輸入頁面參與者輸入考試信息并點擊確認按鈕系統(tǒng)跳轉(zhuǎn)至考試詳情頁面擴展流程3a.部分字段超出長度限制系統(tǒng)給出相應提示3b.部分字段填寫不規(guī)范系統(tǒng)給出相應提示3c.部分必填字段未填寫系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的課程添加考試刪除考試表2.19刪除考試用例描述IDC3.2名稱刪除考試優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的考試,點擊刪除考試,或在考試列表頁面選擇考試點擊刪除按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該考試已被該教師創(chuàng)建后置條件參與者成功刪除一門考試正常流程參與者點擊刪除按鈕系統(tǒng)給出確認刪除提示框參與者點擊確認系統(tǒng)跳轉(zhuǎn)至考試列表頁面擴展流程1-2a.考試已經(jīng)開始系統(tǒng)給出相應提示2-3a.參與者點擊取消系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求參與者只可以刪除自己創(chuàng)建的考試創(chuàng)建選擇題表2.20創(chuàng)建選擇題用例描述IDC3.3名稱創(chuàng)建選擇題優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的考試,點擊創(chuàng)建選擇題按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該考試已被該教師創(chuàng)建后置條件參與者成功創(chuàng)建一道選擇題正常流程參與者點擊創(chuàng)建選擇題按鈕系統(tǒng)彈出選擇題信息填寫框參與者輸入選擇題信息后點擊確認系統(tǒng)跳轉(zhuǎn)至考試詳情頁面擴展流程3a.輸入信息不符合規(guī)范系統(tǒng)給出相應提示3b.必輸項沒有輸入系統(tǒng)給出相應提示業(yè)務規(guī)則無特殊需求參與者只可以為自己創(chuàng)建的考試添加選擇題(19)刪除選擇題表2.21刪除選擇題用例描述IDC3.4名稱刪除選擇題優(yōu)先級高參與者教師觸發(fā)條件參與者進入一門自己創(chuàng)建的考試,選擇一道選擇題,點擊創(chuàng)建按鈕前置條件參與者為該系統(tǒng)用戶,參與者已登錄該系統(tǒng)且參與者身份為教師,該考試已被該教師創(chuàng)建后置條件參與者成功刪除一道選擇題正常流程參與者點擊刪除按鈕系統(tǒng)給出是否刪除提示框參與者點擊確認系統(tǒng)更新考試頁面擴展流程1a.考試已經(jīng)開始系統(tǒng)給出相關提示2-3a.參與者點擊取消按鈕系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求參與者只可以刪除自己創(chuàng)建的選擇題(20)創(chuàng)建客觀題該用例與創(chuàng)建選擇題用例基本一致,這里不再過多描述。刪除客觀題該用例與刪除選擇題用例基本一致,這里不再過多描述。課程學習表2.22課程學習用例描述IDC4.1名稱課程學習優(yōu)先級高參與者教師、學生觸發(fā)條件無前置條件參與者登錄該系統(tǒng)后置條件無正常流程參與者點擊課程(按時間/按學習人數(shù))系統(tǒng)跳轉(zhuǎn)進入課程列表頁面參與者選擇課程點擊開始學習按鈕系統(tǒng)跳轉(zhuǎn)至課程詳情頁面參與者選擇課時信息并點擊進入系統(tǒng)跳轉(zhuǎn)至考試詳細信息頁面擴展流程無業(yè)務規(guī)則無特殊需求該課程為公開課程或該課程為私密課程但被教師加入學習課時資料下載表2.23課時資料下載用例描述IDC4.2名稱課時資料下載優(yōu)先級高參與者教師、學生觸發(fā)條件參與者進入課時頁面,點擊課時資料列表,選擇課時資料,點擊查看按鈕前置條件參與者登錄該系統(tǒng),且參與者有該課程學習權限后置條件課時資料被下載正常流程參與者點擊查看按鈕給出下載提示參與者選擇下載目錄點擊確認系統(tǒng)提示下載成功擴展流程無業(yè)務規(guī)則無特殊需求無瀏覽視頻表2.24瀏覽視頻用例描述IDC4.3名稱瀏覽視頻優(yōu)先級高參與者教師、學生觸發(fā)條件參與者進入課時頁面,點擊視頻列表,選擇視頻,點擊查看按鈕前置條件參與者登錄該系統(tǒng),且參與者有該課程學習權限后置條件參與者瀏覽視頻學習正常流程參與者點擊查看按鈕系統(tǒng)跳轉(zhuǎn)至視頻播放頁面擴展流程無業(yè)務規(guī)則無特殊需求無在線考試表2.25在線考試用例描述IDC5.1名稱在線考試優(yōu)先級高參與者教師、學生觸發(fā)條件參與者進入考試列表頁面,選擇考試,點擊開始考試按鈕前置條件參與者登錄該系統(tǒng),且參與者有該課程學習權限后置條件參與者開始考試正常流程參與者點擊開始考試按鈕系統(tǒng)跳轉(zhuǎn)至考試頁面參與者填寫答案后點擊提交系統(tǒng)跳轉(zhuǎn)至提示考試結(jié)束頁面擴展流程1-2a.考試尚未開始系統(tǒng)給出相應提示1-2b.考試已結(jié)束系統(tǒng)跳轉(zhuǎn)至考試結(jié)束頁面3-4a.考試有時間限制且超時系統(tǒng)自動提交試卷并跳轉(zhuǎn)至提示考試結(jié)束頁面業(yè)務規(guī)則無特殊需求無教師閱卷表2.26教師閱卷用例描述IDC6.1名稱教師閱卷優(yōu)先級高參與者教師觸發(fā)條件參與者進入學生考試列表頁面,選擇點擊批閱按鈕前置條件參與者登錄該系統(tǒng),且該考試是該參與者所創(chuàng)建的后置條件參與者給出學生考試成績正常流程參與者點擊批閱按鈕系統(tǒng)計算選擇題成績后跳轉(zhuǎn)至批閱試卷頁面參與者對每道客觀題進行評分,評分完成后點擊提交系統(tǒng)計算最終成績并跳轉(zhuǎn)至學生考試列表頁面擴展流程1-2a.考試已批閱系統(tǒng)提示考試已經(jīng)批閱并給出考試成績業(yè)務規(guī)則選擇題總成績=正確答案的選擇題成績之和客觀題總成績=參與者給出每道客觀題成績之和總成績=選擇題總成績+客觀題總成績特殊需求無成績列表表2.27成績列表用例描述IDC7.1名稱成績列表優(yōu)先級高參與者教師、學生觸發(fā)條件參與者點擊成績列表按鈕前置條件參與者登錄該系統(tǒng)后置條件列出參與者的考試成績正常流程參與者點擊成績列表按鈕系統(tǒng)跳轉(zhuǎn)至參與者的成績列表頁面擴展流程無業(yè)務規(guī)則無特殊需求無成績分析表2.28成績分析用例描述IDC7.2名稱成績分析優(yōu)先級高參與者教師、學生觸發(fā)條件參與者點擊個人中心按鈕前置條件參與者登錄該系統(tǒng)后置條件分析參與者的考試成績正常流程參與者點擊個人中心按鈕系統(tǒng)分析參與者的考試成績系統(tǒng)跳轉(zhuǎn)至個人中心頁面(頁面內(nèi)含有成績分析內(nèi)容)擴展流程無業(yè)務規(guī)則無特殊需求無發(fā)表帖子該用例與創(chuàng)建課程用例相似,參與者為教師或?qū)W生,這里不再過多描述。刪除帖子該用例與刪除課程用例相似,參與者為教師或?qū)W生,這里不再過多描述。發(fā)表評論表2.29發(fā)表評論用例描述IDC8.3名稱發(fā)表評論優(yōu)先級中參與者教師、學生觸發(fā)條件參與者進入討論帖子,點擊發(fā)表評論按鈕前置條件參與者登錄該系統(tǒng)后置條件參與者發(fā)表評論正常流程參與者點擊發(fā)表評論按鈕系統(tǒng)給出評論輸入框參與者輸入評論內(nèi)容點擊確認系統(tǒng)記錄評論內(nèi)容并刷新頁面擴展流程2-3a.輸入內(nèi)容過長系統(tǒng)給出相關提示2-3b.參與者未輸入任何內(nèi)容系統(tǒng)給出相關提示2-3c.參與者點擊取消按鈕系統(tǒng)關閉評論輸入框業(yè)務規(guī)則無特殊需求無刪除評論表2.30刪除評論用例描述IDC8.4名稱刪除評論優(yōu)先級中參與者教師、學生觸發(fā)條件參與者進入討論帖子,選擇一條自己的評論,點擊刪除按鈕前置條件參與者登錄該系統(tǒng),且已發(fā)布該評論后置條件參與者刪除該評論正常流程參與者點擊刪除按鈕系統(tǒng)彈出確認刪除提示框參與者點擊確認系統(tǒng)刪除評論并刷新當前頁面擴展流程2-3a.參與者點擊取消按鈕系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求參與者只可以刪除自己發(fā)表的評論消息通知查詢表2.31消息通知查詢用例描述IDC9.1名稱消息通知查詢優(yōu)先級中參與者教師、學生觸發(fā)條件參與者點擊消息通知按鈕前置條件參與者登錄該系統(tǒng)后置條件系統(tǒng)列出相關的消息通知正常流程參與者點擊消息通知按鈕系統(tǒng)列出消息通知列表,返回頁面擴展流程無業(yè)務規(guī)則無特殊需求消息通知列表可以根據(jù)已讀未讀進行篩選刪除消息通知表2.32刪除消息通知用例描述IDC9.2名稱刪除消息通知優(yōu)先級中參與者教師、學生觸發(fā)條件參與者進入消息通知列表,選擇消息通知點擊刪除按鈕,或者參與者進入消息通知詳情頁面,點擊刪除按鈕前置條件參與者登錄該系統(tǒng)后置條件系統(tǒng)刪除該消息通知正常流程參與者點擊刪除消息通知按鈕系統(tǒng)彈出確認刪除提示框參與者點擊確認系統(tǒng)刪除該消息通知并跳轉(zhuǎn)至消息通知列表頁面擴展流程2-3a.參與者點擊取消按鈕系統(tǒng)關閉確認刪除提示框業(yè)務規(guī)則無特殊需求無2.5數(shù)據(jù)需求在2.4節(jié)我們對系統(tǒng)的功能性需求進行了分析,可以得出系統(tǒng)有如下幾個基本實體:用戶實體,其屬性有郵箱、密碼、姓名、性別、角色、頭像、創(chuàng)建時間等,圖2.25為該實體的實體屬性圖。圖2.25用戶實體圖消息實體,其屬性有消息ID、郵箱、標題、內(nèi)容、創(chuàng)建時間等,圖2.26為該實體的實體屬性圖。圖2.26消息實體圖課程實體,其屬性有課程ID、名稱、簡介、封面圖片、學習人數(shù)、創(chuàng)建時間、修改時間、用戶郵箱等屬性,圖2.27為該實體的實體屬性圖。圖2.27課程實體圖課時實體,其屬性有課時ID、名稱、內(nèi)容、創(chuàng)建時間、修改時間、課程ID等屬性,圖2.28為該實體的實體屬性圖。圖2.28課時實體圖課時資料實體,其屬性有課時資料ID、名稱、路徑、創(chuàng)建時間、課時ID等屬性,圖2.29為該實體的實體屬性圖。圖2.29課時資料實體圖視頻實體,其屬性有視頻ID、視頻名稱、視頻路徑、創(chuàng)建時間、課時ID等,圖2.30為該實體的實體屬性圖。圖2.30視頻實體圖考試實體,其屬性有考試ID、名稱、考試要求、考試最早開始時間、考試最晚結(jié)束時間、考試時長、創(chuàng)建時間、修改時間、課程ID等屬性,圖2.31為該實體的實體屬性圖。圖2.31考試實體圖(8)選擇題實體,其屬性有選擇題ID、題目、選項A、選項B、選項C、選項D、答案、創(chuàng)建時間、考試ID、分值等,圖2.32為該實體的實體屬性圖。圖2.32選擇題實體圖(9)客觀題實體,其屬性有客觀題ID、題目、創(chuàng)建時間、分值、考試ID等,圖2.33為該實體的實體屬性圖。圖2.33客觀題實體圖(10)討論帖子實體,其屬性有討論帖子ID、名稱、內(nèi)容、創(chuàng)建時間、用戶郵箱等,圖2.34為該實體的實體屬性圖。圖2.34討論帖子實體圖(11)評論實體,其屬性有評論ID、內(nèi)容、創(chuàng)建時間、討論帖子ID、用戶郵箱等,圖2.35為該實體的實體屬性圖。圖2.35評論實體圖對上述實體關系進行分析,得出系統(tǒng)的E-R圖,如圖2.36所示。圖2.36在線教育系統(tǒng)(智學新知)E-R圖2.6非功能需求本文將從系統(tǒng)安全性、可靠性、易用性、可維護性以及性能這五個方面對系統(tǒng)的非功能需求進行描述。2.6.1安全性系統(tǒng)對數(shù)據(jù)訪問進行嚴格的控制,每個用戶只能訪問自己相關的信息(開放性數(shù)據(jù)如公共課程等除外)。系統(tǒng)要對用戶的修改進行驗證,保證用戶賬號安全。2.6.2可靠性系統(tǒng)具有很強的健壯性,能夠處理系統(tǒng)在運行過程中出現(xiàn)的大多數(shù)異常情況,如人為的錯誤輸入,非法數(shù)據(jù)等。因軟件系統(tǒng)的失效造成不能完成系統(tǒng)正常業(yè)務的概率要低于3%。系統(tǒng)應當能夠保證7×24小時運行,系統(tǒng)故障次數(shù)保證在每月1次以內(nèi)。2.6.3易用性70%以上的用戶在初次使用該系統(tǒng)時能夠在1分鐘以內(nèi)進入課程學習。2.6.4可維護性在接到修改請求后,對于普通修改應該在5工作日以內(nèi)完成,對于評估后需要進行大量修改,應該在10工作日以內(nèi)完成。60%的BUG修改不能超過1工作日,95%的BUG修改不能超過2工作日其他不能超過3工作日。2.6.5系統(tǒng)性能響應時間在90%的情況下,系統(tǒng)響應時間不能超過1秒,高峰使用時段不能超過1.5秒。系統(tǒng)容量系統(tǒng)能夠支持10萬用戶,支持GB級數(shù)據(jù),數(shù)據(jù)庫最大容量不能超過1500GB,單臺服務器磁盤空間至少512GB以上。資源使用率在推薦配置下,CPU占用率應小于65%,內(nèi)存占用率應小于70%。2.7運行環(huán)境2.7.1硬件環(huán)境單臺服務器硬件環(huán)境如表2.33所示。表2.33單臺服務器硬件配置項目要求CPU類型IntelSkylakeXeonPlatinum81632.5GHzCPU核心數(shù)4核內(nèi)存128GB硬盤4TB2.7.2軟件環(huán)境系統(tǒng)運行所需軟件環(huán)境如表2.34所示。表2.34系統(tǒng)所需軟件環(huán)境項目要求JDK1.8及以上服務器中間件Tomcat8及以上版本操作系統(tǒng)centos6.4數(shù)據(jù)庫Mysql5.5.282.8將來可能提出的需求系統(tǒng)在穩(wěn)定上線一段時間后根據(jù)使用情況可以加設直播授課功能,可以讓學生感受到課堂學習的氛圍,能夠及時與老師取得互動,當場解決難以理解的知識點。第3章系統(tǒng)概要設計系統(tǒng)概要設計概述系統(tǒng)的概要設計是整個在線教育系統(tǒng)完成過程中的重要環(huán)節(jié)之一,本章的目的在于明確說明在線教育系統(tǒng)各個功能的實現(xiàn)方式,指導開發(fā)人員進行編碼實現(xiàn)。系統(tǒng)設計原則RobertC.Martin提出的SOLID原則指代了面向?qū)ο缶幊毯兔嫦驅(qū)ο笤O計的五個基本原則,它是五個其他縮略詞(SRP、OCP、LSP、ISP、DIP)的組合。SOLID原則作為著名的面向?qū)ο笤O計理念,我們將其應用到本系統(tǒng)當中。單一功能原則(SingleResponsibilityPrinciple)單一功能原則認為對象應該具有一種單一功能的概念,意味著代碼中的一個類只承擔一種類型的責任,該原則可看作高內(nèi)聚低耦合在面向?qū)ο笤瓌t上的擴展或引申。在在線教育系統(tǒng)設計中,應當遵守該原則,不可將多個職責放入一個類中實現(xiàn),否則將很難做到修改一部分功能時不破壞其他功能。開閉原則(OpenClosePrinciple)開閉原則認為類應該對擴展開放但對修改關閉。對擴展開放表明有新的變化或需求時,為了適應新情況,可以對現(xiàn)有代碼進行擴展。對修改封閉表明類一旦完成設計,應當能夠獨立完成其工作,無需對類進行任何的修改。這個原則的兩部分看似對立,但是如果正確的設計就可以實現(xiàn)增加功能而不需要修改已有代碼。里氏替換原則(LiskovSubstitutionPrinciple)里氏替換原則指出設計類時客戶端依賴的父類可以被子類所替代,且客戶端不需要知道這個變化。接口隔離原則(InterfaceSegregationPrinciple)接口隔離原則指出不能強迫用戶依賴他們不使用的接口,即使用多個特定的接口比只使用一個單一的總接口要好。依賴反轉(zhuǎn)原則(DependencyInversionPrinciple)依賴反轉(zhuǎn)原則指出代碼應當取決于抽象概念,而不是其具體實現(xiàn),高層次模塊不可以依賴于低層次模塊。依賴注入是依賴反轉(zhuǎn)原則的一種實現(xiàn)方式,SpringBoot框架很好地使用了該原則。隨著互聯(lián)網(wǎng)的發(fā)展,在互聯(lián)網(wǎng)的系統(tǒng)下也產(chǎn)生了一些原則,如避免單點故障、API優(yōu)先、服務架構(gòu)“去中心化”等原則,我們也將參考并應用到本系統(tǒng)當中。結(jié)構(gòu)設計系統(tǒng)架構(gòu)圖圖3.1展示了在線教育系統(tǒng)的系統(tǒng)架構(gòu)圖。圖3.1在線教育系統(tǒng)架構(gòu)圖系統(tǒng)功能框圖在線教育系統(tǒng)主要進行教育相關業(yè)務,在第2章中我們已經(jīng)進行了大致分析,圖3.2為該系統(tǒng)功能架構(gòu)設計圖。圖3.2在線教育系統(tǒng)功能架構(gòu)設計圖總體對象(類)設計、接口或函數(shù)設計下面給出在線教育系統(tǒng)主要業(yè)務的相關類圖:圖3.3為在線教育系統(tǒng)選擇題相關業(yè)務處理類圖,圖3.4為消息通知相關業(yè)務處理類圖,圖3.5為課程相關業(yè)務處理類圖,圖3.6為考試相關業(yè)務處理類圖,圖3.7為客觀題業(yè)務處理的類圖,圖3.8為課時相關業(yè)務處理類圖,圖3.9為課時資料相關業(yè)務處理類圖,圖3.10為課時視頻相關業(yè)務處理類圖,圖3.11為討論帖子相關業(yè)務處理類圖。圖3.3在線教育系統(tǒng)選擇題相關業(yè)務處理類圖圖3.4在線教育系統(tǒng)消息通知業(yè)務處理類圖圖3.5在線教育系統(tǒng)課程相關業(yè)務處理類圖圖3.6在線教育系統(tǒng)考試相關業(yè)務處理類圖圖3.7在線教育系統(tǒng)客觀題相關業(yè)務處理類圖圖3.8在線教育系統(tǒng)課時相關業(yè)務處理類圖圖3.9在線教育系統(tǒng)課時資料相關業(yè)務處理類圖圖3.10在線教育系統(tǒng)課時視頻相關業(yè)務處理類圖圖3.11在線教育系統(tǒng)討論帖子相關業(yè)務處理類圖數(shù)據(jù)庫設計設計原則本系統(tǒng)的數(shù)據(jù)庫設計遵循如下原則:(1)具有同一主題的數(shù)據(jù)存儲在一張表中(即一表一用);(2)盡量減少冗余,提高訪問速度;(3)數(shù)據(jù)庫設計達到第三范式,基本滿足關系規(guī)范化要求;(4)各個表之間關系只可以為一對一和一對多的關系,對于多對多的關系應轉(zhuǎn)為一對多的關系進行處理;(5)在設計表結(jié)構(gòu)時,應當考慮表結(jié)構(gòu)的動態(tài)適應性。數(shù)據(jù)建模(1)概念模型圖3.12為在線教育系統(tǒng)概念數(shù)據(jù)模型。圖3.12在線教育系統(tǒng)概念數(shù)據(jù)模型(2)邏輯模型圖3.13為在線教育系統(tǒng)邏輯數(shù)據(jù)模型。圖3.13在線教育系統(tǒng)邏輯數(shù)據(jù)模型(3)物理模型在線教育系統(tǒng)所涉及的數(shù)據(jù)庫表如下所示:表中文名稱:用戶信息表物理名稱:user表3.1用戶信息表字段名字段類型字段大小允許為空主鍵/外鍵簡介emailvarchar150否主鍵用戶郵箱passwordchar32否`--密碼namevarchar100否--姓名sexvarchar1否--性別rolevarchar10否--角色head_imagevarchar500否--頭像所在路徑create_timedatetime--否--創(chuàng)建時間is_verificationchar1否--是否驗證表中文名稱:消息通知表物理名稱:message表3.2消息通知表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵消息通知IDemailvarchar150否外鍵用戶郵箱titlevarchar150否--標題contenttext--否--內(nèi)容create_timedatetime--否--創(chuàng)建時間is_sendchar1否--是否發(fā)送is_readchar1否--是否閱讀表中文名稱:課程表物理名稱:course表3.3課程表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵課程IDnamevarchar100否--課程名稱introducationvarchar500否--課程簡介imagevarchar500否--封面路徑study_numberint--否--學習人數(shù)create_timedatetime--否--創(chuàng)建時間modify_timedatetime--否--修改時間user_emailvarchar150否外鍵用戶郵箱is_privatechar1否--是否私有表中文名稱:課時表物理名稱:lesson表3.4課時表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵課時IDnamevarchar100否--課時名稱contentvarchar500否--課時內(nèi)容所在路徑create_timedatetime--否--創(chuàng)建時間modify_timedatetime--否--修改時間course_idchar17否外鍵課程ID表中文名稱:課時資料表物理名稱:lesson_data表3.5課時資料表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵課時資料IDnamevarchar200否--名稱pathvhar500否--路徑create_timedatetime--否--創(chuàng)建時間lesson_idchar17否外鍵課時ID表中文名稱:視頻表物理名稱:video表3.6視頻表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵視頻IDnamevarchar100否--名稱pathvarchar500否--路徑create_timedatetime--否--創(chuàng)建時間lesson_idchar17否外鍵課時ID表中文名稱:用戶學習表物理名稱:user_study表3.7用戶學習表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵用戶學習IDuser_emailvarchar150否外鍵用戶郵箱course_idchar17否外鍵課程IDis_privatechar1否--是否私有create_timedatetime--否--創(chuàng)建時間last_study_timedatetime--否--最近學習時間表中文名稱:考試表物理名稱:exam表3.8考試表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵考試IDnamevarchar100否--名稱requirementvarchar1000否--要求start_timedatetime--是--開始時間end_timedatetime--是--最晚進入時間durationint--否--考試時長create_timedatetime--否--創(chuàng)建時間modify_timedatetime--否--修改時間course_idchar17否外鍵課程ID表中文名稱:選擇題表物理名稱:choice_question表3.9選擇題表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵選擇題IDsubjectvarchar100否--問題option_avarchar1000否--選項Aoption_bvarchar1000否--選項Boption_cvarchar1000否--選項Coption_dvarchar1000否--選項Danswerchar1否--答案create_timedatetime--否--創(chuàng)建時間exam_idchar17否外鍵考試IDscoreint--否--分數(shù)表中文名稱:客觀題表物理名稱:objective_question表3.10客觀題表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵客觀題IDsubjectvarchar1000否--題目create_timedatetime--否--創(chuàng)建時間scoreint--否--成績exam_idchar17否外鍵考試ID表中文名稱:學生考試表物理名稱:student_exam表3.11學生考試表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵學生考試IDexam_idchar17否外鍵考試IDuser_emailvarchar150否外鍵用戶郵箱scoreint--否--成績timevarchar100是--考試剩余時間create_timedatetime--否--創(chuàng)建時間表中文名稱:學生選擇題表物理名稱:student_choice_question表3.12學生選擇題表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵學生選擇題IDstudent_exam_idchar17否外鍵學生考試IDchoice_question_idchar17否外鍵選擇題IDanswerchar1是--答案scoreint--否--成績表中文名稱:學生客觀題表物理名稱:student_objective_question表3.13學生客觀題表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵學生客觀題IDstudent_exam_idchar17否外鍵學生考試IDobjective_question_idchar17否外鍵客觀題IDanswerchar1是--答案scoreint--否--成績表中文名稱:討論帖子表物理名稱:discuss表3.14討論帖子表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵討論帖子IDnamevarchar100否--名稱contentvarchar500否--內(nèi)容路徑create_timedatetime--否--創(chuàng)建時間user_emailvarchar150否外鍵用戶郵箱表中文名稱:評論表物理名稱:comment表3.15評論表字段名字段類型字段大小允許為空主鍵/外鍵簡介idchar17否主鍵評論IDcontentvarchar1000否--內(nèi)容create_timedatetime--否--創(chuàng)建時間user_emailvarchar150否外鍵用戶郵箱discuss_idchar17否外鍵討論帖子ID第4章系統(tǒng)詳細設計與實現(xiàn)系統(tǒng)詳細設計與實現(xiàn)系統(tǒng)的工程結(jié)構(gòu)本系統(tǒng)采用JAVA語言編寫,基于主流框架SpringBoot進行開發(fā),開發(fā)工具為IntellijIDEA2016.1.3,其工程結(jié)構(gòu)如圖4.1所示。圖4.1在線教育系統(tǒng)工程結(jié)構(gòu)部分說明如下:(1)OnlineEducationApplication類為SpringBoot的入口類(即主類);(2)configure包下為系統(tǒng)配置相關類;(3)controller包下為Controller相關類,主要接受用戶請求并給出響應;(4)dao包下為數(shù)據(jù)庫交互相關類;(5)entities包下為實體類;(6)service包下為業(yè)務處理類,為該系統(tǒng)的核心,進行相關業(yè)務的處理;(7)task包下為定時任務類,如定時檢測用戶是否驗證、定時發(fā)送郵件等;(8)utils包下為該系統(tǒng)的工具類,主要對基本操作進行封裝;(9)resources目錄下為系統(tǒng)給的靜態(tài)資源,static目錄下存放系統(tǒng)所需要的css、js以及圖片等靜態(tài)資源,templates目錄下存放thymeleaf模板,用于頁面展現(xiàn)。核心功能程序?qū)崿F(xiàn)課程管理(1)創(chuàng)建課程代碼清單4-1為創(chuàng)建課程功能的核心代碼。代碼清單4-1創(chuàng)建課程publicStringcreateCourse(StringcourseName,StringcourseIntroduction,MultipartFilecourseImage,StringisPrivate,HttpServletRequestrequest){JSONObjectresult=newJSONObject();Stringstatus="false";Stringcontent="創(chuàng)建失敗!";HttpSessionsession=request.getSession();booleanisImage=true;try{if(!FileUtils.isImage(courseImage)){isImage=false;content="課程封面必須是圖片類型哦~";}}catch(Exceptione){isImage=false;content="系統(tǒng)在判斷封面圖片是否為圖片類型時出錯";}if(isImage){StringcourseImageName=courseImage.getOriginalFilename();StringcourseImageType=courseImageName.substring(courseImageName.lastIndexOf(".")+1);//上傳圖片的后綴類型if(!FileUtils.isImageByType(courseImageType)){content="課程封面必須是圖片類型哦~";}elseif(FileUtils.getFileSize(courseImage)>courseImageMaxSize){content="圖片太大啦,不要超過"+courseImageMaxSizeString+"哦~";}else{Timestamptime=newTimestamp(System.currentTimeMillis());StringtimeString=time.toString();Stringid=timeString.split("")[0].split("-")[0]+timeString.split("")[0].split("-")[1]+timeString.split("")[0].split("-")[2]+timeString.split("")[1].split(":")[0]+timeString.split("")[1].split(":")[1]+timeString.split("")[1].split(":")[2].split("\\.")[0]+timeString.split("")[1].split(":")[2].split("\\.")[1];//注意,split是按照正則表達式進行分割,.在正則表達式中為特殊字符,需要轉(zhuǎn)義。while(courseDao.getCountById(id)!=0){longidLong=Long.parseLong(id);Randomrandom=newRandom();idLong+=random.nextInt(100);id=idLong+"";if(id.length()>17){id=id.substring(0,17);}}StringidMd5=Md5.md5(id);StringcourseImageDir=courseResourceDir+idMd5+"/";StringimageName=idMd5+"."+courseImageType;JSONObjectuploadCourseImageResult=FileUtils.uploadFile(courseImage,imageName,courseImageDir);if("true".equals(uploadCourseImageResult.getString("status"))){Coursecourse=newCourse();course.setId(id);course.setName(courseName);course.setIntroduction(courseIntroduction);course.setImage(idMd5+"/"+imageName);course.setStudyNumber(0);course.setCreateTime(time);course.setModifyTime(time);Useruser=(User)session.getAttribute("user");course.setUserEmail(user.getEmail());course.setIsPrivate(isPrivate);booleaninsertSuccess=false;try{if(courseDao.createCourse(course)==0){content="操作數(shù)據(jù)庫失??!";}else{insertSuccess=true;status="true";content=id;}}catch(Exceptione){content="操作數(shù)據(jù)庫失敗!";}if(insertSuccess){StringmessageTitle="您已成功創(chuàng)建課程:"+courseName;StringmessageContent=createCreateCourseSuccessEmailMessage(course);JSONObjectcreateMessageResult=messageService.createMessage(user.getEmail(),messageTitle,messageContent);}else{JSONObjectdeleteCourseImageResult=FileUtils.deleteFile(courseIma;}}else{content="上傳封面圖片失敗,失敗原因"+uploadCourseImageResult.getString("content");}}}result.accumulate("status",status);result.accumulate("content",content);returnresult.toString();}(2)創(chuàng)建課時代碼清單4-2為創(chuàng)建課時的核心代碼。代碼清單4-2創(chuàng)建課時publicStringcreateLesson(StringcourseId,StringlessonName,StringlessonContent,HttpServletRequestrequest){JSONObjectresult=newJSONObject();Stringstatus="false";Stringcontent="創(chuàng)建失敗";HttpSessionsession=request.getSession();Useruser=(User)session.getAttribute("user");Coursecourse=courseDao.getCourseById(courseId);if(course.getUserEmail().equals(user.getEmail())){Timestamptime=newTimestamp(System.currentTimeMillis());StringtimeString=time.toString();Stringid=timeString.split("")[0].split("-")[0]+timeString.split("")[0].split("-")[1]+timeString.split("")[0].split("-")[2]+timeString.split("")[1].split(":")[0]+timeString.split("")[1].split(":")[1]+timeString.split("")[1].split(":")[2].split("\\.")[0]+timeString.split("")[1].split(":")[2].split("\\.")[1];//注意,split是按照正則表達式進行分割,.在正則表達式中為特殊字符,需要轉(zhuǎn)義。while(lessonDao.getCountById(id)!=0){longidLong=Long.parseLong(id);Randomrandom=newRandom();idLong+=random.nextInt(100);id=idLong+"";if(id.length()>17){id=id.substring(0,17);}}StringfilePath=courseResourceDir+Md5.md5(courseId)+"/lesson/";JSONObjectwriteFileResult=FileUtils.writeFile(filePath,Md5.md5(id)+".html",lessonContent);if("true".equals(writeFileResult.getString("status"))){booleaninsertSuccess=false;Lessonlesson=newLesson();lesson.setId(id);lesson.setName(lessonName);lesson.setContent(Md5.md5(courseId)+"/lesson/"+Md5.md5(id)+".html");lesson.setCreateTime(time);lesson.setModifyTime(time);lesson.setCourseId(courseId);try{if(lessonDao.createLesson(lesson)==0){content="創(chuàng)建課時時操作數(shù)據(jù)庫失?。?;}else{status="true";insertSuccess=true;content=id;}}catch(Exceptione){content="創(chuàng)建課時時操作數(shù)據(jù)庫失??!";}if(insertSuccess){course.setModifyTime(time);try{if(courseDao.editCourse(course)==0){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省哈爾濱市六校聯(lián)考2024-2025學年高二上學期1月期末考試語文試題(含解析)
- 考研《教育史(040103)》考前強化練習試題庫(含答案)
- 2025年陜西省職教高考《職測》核心考點必刷必練試題庫(含答案)
- 2025年曲靖醫(yī)學高等專科學校高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 金庸小說知識競賽考試題庫及答案(含各題型)
- 2025高考物理一輪復習第35講拆2.光學.含答案
- 10kV配電站房工程施工中的資源配置與協(xié)調(diào)
- 會議服務外包合同
- 執(zhí)行項目經(jīng)理聘任合同協(xié)議書范本
- 精裝商鋪租賃合同年
- 小學六年級數(shù)學上冊《簡便計算》練習題(310題-附答案)
- 地理標志培訓課件
- 培訓如何上好一堂課
- 高教版2023年中職教科書《語文》(基礎模塊)下冊教案全冊
- 人教版英語七年級上冊閱讀理解專項訓練16篇(含答案)
- 畢業(yè)旅游活動設計與實施方案
- 宜城安達特種水泥有限公司雙寨子礦區(qū)鋁土礦礦產(chǎn)資源開發(fā)利用與生態(tài)復綠方案
- 面向機器人柔順操作的力位精準控制方法
- 七年級下冊英語單詞默寫表直接打印
- 瓦斯防治八招培訓課件
- 《他汀長期治療》課件
評論
0/150
提交評論