基于Apriori算法的課程推薦系統的設計與實現_第1頁
基于Apriori算法的課程推薦系統的設計與實現_第2頁
基于Apriori算法的課程推薦系統的設計與實現_第3頁
基于Apriori算法的課程推薦系統的設計與實現_第4頁
基于Apriori算法的課程推薦系統的設計與實現_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、題 目: 基于 Apriori 算法的課程推薦系統的 設計與實現 姓 名: 學 院: 專 業: 班 級: 學 號: 指導教師: 職稱: 年 月 日 目錄摘要 .關鍵詞 .1 概述 .1.1 選題背景 .1.2 國內外研究狀況 .1.3 選題意義 .2 系統開發工具與技術介紹 .2.1 B/S 體系結構 .2.2 Visual Studio 2010 .2.3 ASP.NET 介紹 .2.4 ADO.NET 訪問數據庫的原理 .3 系統需求分析 .3.1 總體需求概述 .3.2 用戶需求分析 .3.3 系統主要功能用例圖 .3.3.1 登錄注冊 .3.3.2 教室管理 .3.3.3 教師管理 .

2、3.3.4 課程管理 .3.3.5 課程選擇與推薦 .3.3.6 留言板 .3.4 系統主要功能活動圖 .3.4.1 課程創建過程活動圖 .3.4.2 學生選課過程活動圖 .3.5 主要功能時序圖 .4 系統設計 .4.1 系統功能模塊設計 .4.2 數據庫設計 .4.2.1 課程管理 E-R 圖 .4.2.2 成績管理 E-R 圖 .4.3 數據庫表詳細設計 .4.3.1 教師信息表 .4.3.2 學生信息表 .4.3.3 課程信息表 .4.3.4 管理員信息表 .4.3.5 教室信息表 .4.3.6 教學樓信息表 .4.3.7 留言表信息表 .4.3.8 時間信息表 .4.3.9 成績信息

3、表 .4.3.10 考試類型表 .4.4 Apriori 算法實現 .5 系統實現與操作 .5.1 登錄注冊 .5.2 教師及教室管理 .5.3 課程管理 .5.4 課程推薦與選擇 .5.5 成績評定 .5.6 留言板 .6 系統測試 .6.1 測試場景一權限限制 .6.2 測試場景二課程管理 .6.3 測試場景三選課管理 .7 總結不足與展望 .致謝 .參考文獻 .基于 Apriori 算法的課程推薦系統的設計與實現 摘要:針對如今高校課程數量較多,選修課程信息過多,導致學生無法準確而快速的選擇課程的情況,設計了一款課程推薦系統。系統采用 B/S 結構,根據用戶需求進行系統設計,綜合運用了

4、C#和 ASP.NET 技術進行開發。系統可以根據學生的需求、興趣等,通過條件查詢和調用 Apriori 算法計算后,將學生感興趣的課程和適合學生的課程推薦給他們。課程推薦系統彌補了傳統選課系統只能選擇課程不能推薦課程的不足,解決了學生面對課程信息超載而無法選擇課程的難題。關鍵詞: Apriori 算法;B/S 結構;ASP.NET;課程推薦系統The design and implementation of course recommendation system based on Apriori algorithm Abstract:There are too many courses a

5、nd too much information associated with these optional courses in the university in modern society so that studuents cant select courses accurately and fleetly.To solve this problem,this paper puts forward a design of a course recommendation system. The system is based on B/S structure ,designed acc

6、ording to the users demands and comprehensively applies the C# and ASP.NET technology for development.This system is capable of recommending intersting and suitable courses for students according to their demands and intersts by condition query and applying Apriori algorithm.The recommendation syste

7、m offsets the shortage of tradtional selection system that students can only select the courses but not get the recommendatory information.The system basically solves the problem that students have difficulty in selecting courses while facing the overloading information of courses.Key words: Apriori

8、 algorithm; B/S structure; ASP.NET ;Course recommendation system1 概述 1.1 選題背景互聯網的廣泛使用,為人們的生活提供了無限便利,但由于互聯網的廣泛使用,各種信息都大量的在網上進行傳播,信息量過多過雜,以至于很多互聯網用戶反而不知道該如何識別有用信息。各大高校中的學生,面對龐大的各類信息,無法決定自己應該選擇什么樣的課程,這就是典型的信息超載問題。處理信息超載問題一個特別有效果的方法就是推薦系統。推薦系統是通過研究用戶的需求、興趣愛好等,將用戶需要的信息、產品等推薦給用戶,推薦系統其實就是實現個性化信息推薦的系統【1】。和搜

9、索引擎不同的是,推薦系統是研究了用戶的需求和偏好,通過個性化計算,由系統發現用戶的興趣點,從而幫助用戶發現他本身的信息需求【2】。一個好的推薦系統不僅能為用戶提供適合自己的的服務,還能和用戶之間形成密切聯系,讓用戶對推薦系統越來越相信【3】。推薦系統其實已經大量的應用于各種領域,電子商務領域是推薦系統發展最好的領域之一。近年來,學術界對推薦系統的研究關注度也是愈漲愈烈,已經形成了一門單獨的學科。數據挖掘(Data Mining)是集統計學、人工知識、模式識別、并行計算、機器學習、數據庫等技術的一個交叉性的研究領域【4】。Apriori 算法大范圍的被應用于不同的領域,對數據的關聯性進行研究分析

10、和深入挖掘后,被挖掘出的關聯信息常常在做決定的過程中具有極大的參考意義。它的核心是遞推算法。該關聯方法在分類上歸為單維、單層、布爾關聯規則5。本課題將研究如何將 Apriori 算法在課程推薦系統中應用,也就是將傳統的應用在商業中較多的推薦系統應用在學生課程推薦上。借助 Apriori 算法發掘學生本身各種數據之間的關系,此系統將幫助學生個性化的推薦課程。1.2 國內外研究狀況從不同角度不同的側重點切入,國內外的學者們已經對基于數據挖掘的推薦系統,進行了多次的研究與探討。特別是這幾年來,因為全社會對教育問題關注度的不斷提高,各種各樣的新設想新思路不斷涌現。例如,用基于數據挖掘的算法研究學生成績

11、。印度學者 Brijesh Kumar Baradwaj 和 Saurabh Pal 在 2011 年發表的論文Mining Educational Data to Analyze Students Performance中設想過可以研究分析學生考試成績數據,通過數據挖掘,然后來預先猜想學生的實際行為結果。這種方法的第一步是,讓學生考試,從而獲得學生的成績數據,然后創建學校的教育系統的數據挖掘模型,再用 ID3 決策樹為主的機器學習方法對模型中的數據進行分類,最終得出一種對學生在校表現情況猜測的目的【6】。與之相關的數據方法還包括 Pandey 和 Pal提出的Data Mining: A p

12、rediction of performer or underperformer using classification 。這種方法的基礎數據是學生的年級和已修課,方法是貝葉斯網絡,最后也達成了可以預測初學者學習情況的目的。也有人直接研究過如何根據學生的成績,來推薦學習計劃等。例如 Galit 等在論文Examining online learning processes based on log files analysis: a case study 中描述了一種教學輔助系統就是對考試分析結果的再利用。這個系統的基本過程就是,對學生學習情況的數據,進行數據挖掘后,得出一種適合學生學習的計

13、劃,推薦給學生使用,從而幫助他們順利的考過很多測試。其實這些方法都是經典的機器學習方法。首先需要收集學生的各種各樣的信息數據作為算法的計算基礎,利用多種機器學習方法相結合的方法創建數據挖掘模型,再把創建完的分析模型投入到實際的分類和回歸問題中去7。1.3 選題意義各大高校中的學生,面對龐大的各類信息,無法決定自己應該選擇什么樣的課程。這是明顯的信息超載問題。處理信息超載問題一個特別有效的方法就是使用推薦系統。推薦系統可以研究學生的關注點愛好點,進行因人而異的計算,由系統發現學生的選課取向,從而引導學生發現適合個人的課程信息。一個好的課程推薦系統不但能為學生提供人性化的服務,還能和學生之間形成一

14、種密切的關系,讓學生對系統產生信賴,節約學生選擇時間,方便快捷。本課題著重于課程推薦功能,在傳統課程管理系統的功能之上,借助 Apriori 算法,發掘學生選課數據之間的關聯性,再根據學生選擇的課程,向他推薦系統認為的適合他的課程。推薦系統有 3 個主要的模塊:用戶建模模塊、推薦對象建模模塊、推薦算法模塊。推薦系統首先對用戶模型中愛好偏向信息和推薦對象模型中的關鍵信息聯系起來,與此同時利用對應的推薦算法來分析挑選,計算出用戶可能需要的推薦對象,最后推薦給用戶8。系統的核心是 Apriori 算法。與此同時,如何連接數據庫,系統的可視化等,也是不可忽視的研究內容。本課題可以解決課程信息量超載,學

15、生自身無法高效選擇課程的難題,其應用前景是十分可觀的。2 系統開發工具與技術介紹如下圖所示,是系統開發的技術流程圖。系統前臺設計系統與數據庫連接開發后臺調試系統了解數據特點構建數據庫改掉 BUG完善功能 完成前臺后臺設計實現系統功能模塊掌握開發工具BUG結束有無圖 2.1 技術流程圖2.1 B/S 體系結構本系統所適用的人群是普遍的的互聯網用戶。因此,將要采用比較通用的 B/S 三層結構。圖 2.2 B/S 三層結構圖B/S 體系結構與 C/S 體系結構不同,B/S 除了具有 C/S 的所有優點,同時還有 B/S體系結構特有的優勢:(1)開放的標準:B/S 使用的是標準的非廠家定制的開放式平臺

16、,確保了這種結構使用時的跨平臺性。(2)較低的開發和維護成本:B/S 在使用時,成本低,升級和維護都依靠的服務器,客戶端只需要安裝普通的瀏覽器,客戶端本身不需要任何維護,大大的減少了維護成本。(3)用戶操作簡單,界面通俗易懂:B/S 用戶使用的界面都是一致的瀏覽器,瀏覽器操作簡單,界面通俗易懂,而且因為它只是作為一種顯示,本身不進行任何復雜的處理和計算,從而實現的要求極低不易出錯。從以上的優點分析中可以看出,B/S 模式具有 C/S 模式不可比擬的特殊性:它減少了系統的開發和維護成本,極其適用于網上查詢發布消息。所以,本系統使用了 B/S模式的體系結構。2.2 Visual Studio 20

17、10Visual Studio 2010 是經典的 Windows 開發環境的一個版本,它可以自定義開始頁,功能包括:(1)C# 4.0 中的動態類型和動態編程;(2)顯示器支持; (3)使用 Visual Studio 2010 的特性支持 TDD; (4)支持 Office ; (5)Quick Search 特性; (6)C+ 0 x 新特性; (7)IDE 增強; (8)使用 Visual C+ 2010 創建 Ribbon 界面; (9)新增基于.NET 平臺的語言 F#.2.3 ASP.NET 介紹ASP.NET 是用于創建、管理和部署 Web 應用程序的新的理想平臺。它是使用.N

18、ET框架所提供的編程類庫構建而成的9。使 ASP.NET 創建、管理和部署 Web 應用程序變得非常容易。Visual Studio.NET 是一款性能足夠強的、效率極高而且允許擴展的編程環境。它最大程度的體現了應用程序開發的潛力,并貢獻了生成應用程序需要的工具和技術。這些應用程序可以給如今的公司、機構提供有力的支持,并帶動下一代基于 XML Web 服務軟件的發展。在 Visual Studio.NET 中,允許引用的資源有兩種:其中一個是可以工具箱顯示添加到 Form 的組件,另一種是只允許在程序中調用的各種對象鏈接庫。2.4 ADO.NET 訪問數據庫的原理ASP.NET 結合數據庫的設

19、計與之前的很不一樣。ADO.NET 就是 ASP.NET 中結合數據庫的規格,但與之前的 ADO 差別極大。ADO.NET 的一個創新是引入了數據集(Dataset)。Dataset 及 DataView 由數據庫取出記錄后,須放入 DataSet,如果要顯示在控件中,須使用 DataView。由提供程序至顯示,流程如下圖所示。圖 2.3ADO.NET 數據處理流程圖3 系統需求分析3.1 總體需求概述本系統是以推薦課程為特色的課程推薦管理系統,除了對課程相關信息的增刪查改外,還借助 Apriori 算法,根據系統中已有的各類信息,進行數據關聯后,給出個性化的課程推薦,節省了學生為了選課而四處

20、詢問的時間以及精力,更好的幫助學生過濾無效或者有礙信息,幫助學生更優的選擇課程。而且本系統設計的通俗易懂,界面簡單明了,使用本系統的各種角色均可獨立操作,有效的提升了工作效率。3.2 用戶需求分析本系統用戶有管理員,教師,學生。因為用戶身份的不同,所以每種權限下用戶的工作內容和需求不同,所需要的功能也就不盡相同。本系統需要的功能有以下幾個模塊:登陸注冊模塊,教室管理模塊,課程管理模塊(時間地點管理,成績管理,留言板管理) ,教師管理模塊,推薦課程模塊。 管理員可使用的功能模塊有教師管理,教室管理,課程管理。學生權限可使用的功能模塊有課程管理,推薦課程。教師權限可使用的功能模塊只有課程管理。3.

21、3 系統主要功能用例圖3.3.1 登錄注冊如圖 3.1 所示,在本系統中,只有學生能通過自己注冊然后進行登陸。管理員的登陸信息是系統原始設定。管理員登陸后,在教師管理模塊,創建教師時,分配給教師登陸名與密碼。此后教師登陸后可以自己進行個人信息修改。 圖 3.1 登錄注冊用例圖3.3.2 教室管理如圖 3.2 所示,管理員可以使用創建教室,查詢教室還有刪除教室的功能。而教師和學生只能查看教室。另外需注意的是,管理員在刪除教室之前需刪掉這個教室的課程,刪除教學樓之前需要刪掉這個樓的所有教室名。 圖 3.2 教室管理用例圖3.3.3 教師管理如圖 3.3 所示,管理員可以創建老師,分配給他登錄名和密

22、碼, ,可以查詢老師名單,可以刪除老師。但是,只有教師自己登陸后可以修改自己的個人信息。學生可以查詢老師的信息。 圖 3.3 教師管理用例圖 3.3.4 課程管理如圖 3.4 所示,管理員和老師都可以進行課程的創建刪除修改查詢,創建課程時,不僅有課程名稱,考試方式,任課老師,還有上課的時間地點,在修改時,不僅有修改課程信息,還有成績的修改等。學生只能進行查詢。 圖 3.4 課程管理用例圖3.3.5 課程選擇與推薦如圖 3.5 所示,在學生選擇課程時,管理員和教師此時只能查詢課程,包括查詢有多少學生選了此課程。而學生進行的操作有查詢,選擇,退選課程三種。對于推薦課程,是系統自動調用 Aprior

23、i 算法推薦的結果,三種角色均無權限操作,只能在課程里查詢推薦的結果。 圖 3.5 選擇與推薦用例圖3.3.6 留言板如圖 3.6 所示,學生有發布留言的功能,卻無刪除的功能,管理員和老師能查看卻不能發布留言,這樣設計的目的可以讓學生暢所欲言又謹言慎行,讓老師們可以看到學生的留言又盡可能的不被打擾。 圖 3.6 留言板用例圖3.4 系統主要功能活動圖活動圖描述實體未完成某項功能而執行的操作序列,這里展示本系統中倆個重要模塊的活動圖。3.4.1 課程創建過程活動圖管理員與教師都可創建課程,具體活動過程如圖 3.7 所示。 圖 3.7 課程創建活動圖3.4.2 學生選課過程活動圖學生選課時,如果有

24、特定的選修課,選完后,可直接結束選課。如果想要系統推薦課程,可以點擊推薦課程,查看推薦結果。具體流程如圖 3.8 所示。 圖 3.8 選修課程活動圖3.5 主要功能時序圖分析進行到目前階段,具體功能模塊已經劃分完畢,功能具體活動流程已經清晰。接下來需要對每個功能模塊建立時序圖,此處用課程管理模塊的時序圖,來直觀的展示一個功能模塊的運行過程。課程管理模塊時序圖如圖3.9所示。 圖 3.9 課程管理時序圖4 系統設計系統的使用角色設計是三種,管理員,教師,學生。系統的功能模塊有登陸注冊模塊,教室管理模塊,課程管理模塊(時間地點管理,成績管理,留言板管理) ,教師管理模塊,推薦課程模塊。系統具體設計

25、如下。4.1 系統功能模塊設計本系統模塊基本分為以下幾個模塊:登陸注冊模塊,教室管理模塊,課程管理模塊(時間地點管理,成績管理,留言板管理) ,教師管理模塊,推薦課程模塊。系統模塊圖如圖 4.1 所示。 圖 4.1 系統模塊圖而根據用戶身份的不同,每種權限下的所需要涉及的功能模塊不同,從而歸納總結出系統功能結構圖。管理員可使用的功能模塊有教師管理,教室管理,課程管理。學生權限可使用的功能模塊有課程管理,推薦課程。教師權限可使用的功能模塊只有課程管理。系統功能結構圖如圖 4.2 所示。 圖 4.2 系統功能結構圖將系統模塊圖和系統功能圖結合起來分析,可以全面了解本系統的功能設計思路。4.2 數據

26、庫設計4.2.1 課程管理 E-R 圖此模塊中涉及的實體有:教師,學生,管理員,專業,課程,時間,教室等。實體之間的聯系用 E-R 圖表示如圖 4.3 所示。圖 4.3 課程管理 E-R 圖4.2.2 成績管理 E-R 圖此模塊中涉及的實體有:教師,學生,管理員,課程,成績等。實體之間的聯系用 E-R 圖表示如圖 4.4 所示。 圖 4.4 成績管理 E-R 圖4.3 數據庫表詳細設計本系統數據庫一共設計了 10 張表,如圖 4.5 所示。各個表的詳細設計將結合截圖來展示。圖 4.5 數據庫表截圖4.3.1 教師信息表教師信息表(教師編號,教師登錄名,教師姓名,教師密碼,性別,年齡,手機號,郵

27、箱號) ,其中教師編號為主鍵。圖 4.6 教師信息表設計截圖4.3.2 學生信息表學生信息表(學生編號,學生登錄名,密碼,姓名,手機,郵箱,QQ,籍貫,地址,性別,備注,專業) ,其中學生編號為主鍵。圖 4.7 學生信息表設計截圖4.3.3 課程信息表課程信息表(課程編號,課程名,課程類型,課程學分,可修最大人數,任課教師號,考試形式,備注,課程前導課程號,專業) 。圖 4.8 課程信息表設計截圖4.3.4 管理員信息表管理員信息表(管理員編號,登陸名字,密碼) ,其中管理員編號為主鍵。圖 4.9 管理員信息表設計截圖4.3.5 教室信息表教師信息表(教室編號,教學樓編號,教室名稱,教室大小)

28、 。圖 4.10 教室信息表設計截圖4.3.6 教學樓信息表教學樓信息表(教學樓編號,教學樓名稱) 。圖 4.11 教學樓信息表設計截圖4.3.7 留言表信息表留言板信息表(留言編號,課程編號,學生編號,發布時間,標題,內容) ,其中留言編號為主鍵。圖 4.12 留言板信表設計截圖4.3.8 時間信息表時間信息表(課程編號,教室編號,開始周期,結束周期,星期節數) 。圖 4.13 時間信息設計截圖4.3.9 成績信息表成績信息表(課程編號,分數,學生編號) 。圖 4.14 成績信息設計截圖4.3.10 考試類型表考試類型表(考試類型編號,代號,形式) ,其中考試類型編號為主鍵。圖 4.15 考

29、試類型信息設計截圖4.4 Apriori 算法實現本系統將 Apriori 算法應用在課程推薦系統中,也就是將傳統的應用在商業中較多的推薦系統應用在學生課程推薦上。借助 Apriori 算法發掘學生本身各種數據之間的關系,此系統將幫助學生個性化的全面化的最優化的推薦課程。通過 Apriori 算法計算后,實現了課程資源的合理分配,系統更具人性化智能化。解決了信息超載問題,讓學生對推薦產生依賴,節約學生選擇時間,方便快捷。Apriori 算法是一種挖掘關聯規則的頻繁項集算法,其核心思想是通過候選集生成和情節的向下封閉檢測兩個階段來挖掘頻繁項集10。 (1)實現步驟Apriori 使用一種稱作逐層

30、搜索的迭代方法, “K-1 項集”用于搜索“K 項集”11。第一步,計算出頻繁“1 項集”的集合,此集合記作 L1。第二步,通過 L1 計算頻繁“2 項集”的集合 L2,第三步,再通過 L2 計算 L3。如此循壞,直到無法計算出“K項集” 。每次計算每個 Lk 都需要掃描一次數據庫12。(2)算法實現偽代碼輸入:D - 事務數據庫;min_sup - 最小支持度計數閾值輸出:L - D 中的頻繁項集方法: L1=find_frequent_1-itemsets(D); / 找出所有頻繁 1 項集 For(k=2;Lk-1!=null;k+) Ck=apriori_gen(Lk-1); / 產生

31、候選,并剪枝 For each 事務 t in D/ 掃描 D 進行候選計數 Ct =subset(Ck,t); / 得到 t 的子集 For each 候選 c 屬于 Ct c.count+; Lk=c 屬于 Ck | c.count=min_supReturn L=所有的頻繁集; Procedure apriori_gen(Lk-1:frequent(k-1)-itemsets) For each 項集 l1 屬于 Lk-1 For each 項集 l2 屬于 Lk-1 If(l11=l21)&(l12=l22)&(l1k-2=l2k-2)&(l1k-1l2k-1) then c=l1 連

32、接 l2 /連接步:產生候選 if has_infrequent_subset(c,Lk-1) the delete c; /剪枝步:刪除非頻繁候選 else add c to Ck; Return Ck; Procedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets) For each(k-1)-subset s of c If s 不屬于 Lk-1 then Return true; Return false; 5 系統實現與操作5.1 登錄注冊圖 5.1 登陸界面截圖本系統用戶登錄界面如圖 5.1

33、 所示,根據需求分析里的角色設定,登錄身份分為管理員,教師,學生三種,輸入登錄名稱和密碼后,下拉選框選擇身份,點擊登錄按鈕登錄。系統調用 Alogin 類實現登陸功能,通過查詢數據的通用類 DBClass 類,查詢數據庫,判斷用戶名 Tuser,Txuesheng,Teacher 是否存在,用戶名和密碼 pwd 正確的情況下,成功登陸,跳轉到下一界面。需要注意的是,學生身份的用戶是可以自己注冊后登陸系統的,而教師身份不能自己注冊,需要管理員分配賬號和密碼給教師使用,這一部分具體會在后面的教師管理部分介紹。這樣設計的原因是,杜絕不是本學校認可的老師登陸系統,篡改課程和成績等。圖 5.2 系統首頁

34、截圖如圖 5.3 和圖 5.4 所示,不同身份登陸本系統后的首頁界面是不一樣的。第一是頂層顯示部分,顯示的身份不一樣,第二是左側功能列表,三種身份的功能表不盡相同。通過登陸時的 Tuser,Txuesheng,Teacher 來判斷是什么身份,例如當學生身份時,調用 Amain3 類,教師身份,調用 Amain4 類等。這樣的設計是因為,三種身份用到的功能模塊不一致,所以不能統一而論,防止功能的混亂使用。圖 5.3 系統首頁不同身份截圖圖 5.4 系統首頁不同身份功能表截圖三種身份登陸后,都可進行自己的信息管理。管理員可以修改自己的密碼,而學生和教師,不僅可以修改密碼,還可以修改自己的手機號,

35、郵箱信息。這樣設計是因為考慮到實際情況中,可能教師和學生會更改聯系方式,這些信息可以讓他們自行修改,方便聯系。5.2 教師及教室管理教師和教室管理,都是管理員特有的功能。這倆部分,所涉及的方法和操作基本一致,所以這里就一起展示。管理員登陸后,可以選擇創建新教師信息,或者查看已有的教師信息列表,以及刪除老師信息。其中創建新教師,也就涉及了上文提到的,分配給教師登錄名和密碼的部分也在這里。調用通用數據庫類 DBClass,使用 SQL 語句,實現數據的增刪查改。再通過 Load 加載事件,將數據通過 Datagrid 控件顯示到界面。圖 5.5 創建教師界面截圖圖 5.6 教室增加查看以及刪除界面

36、截圖創建教室的時候,需要選擇教學樓。教室的名稱和容納人數可以選擇。5.3 課程管理管理員身份和教師身份都可以進行課程管理。這樣設計的目的是,多人同時管理課程,工作效率更高,質量更好,監督力度也更強。可以對課程信息進行增刪改查等操作,界面簡單易懂。這里的課程信息,在之后的學生查看課程和選擇課程時,都可以查看到。調用的類有 Courseclass,Coursetimeclass,Teacherclass。其他方法的使用基本同上,此處不再重復。圖 5.7 課程增加界面截圖圖 5.8 課程時間地點安排界面截圖5.4 課程推薦與選擇課程選擇與推薦功能,是學生獨有的倆個使用功能。學生登錄本系統后,首先可以

37、查看自己的必修課表,必修課不可選擇,只能查看任課教師信息,課程信息以及上課的時間地點。看過了自己的必修課后,可去繼續查看選修課,選修課可選擇,可退選。調用的類為 Bxcourseclass,Xxcourseclass,AselectCourse 和 AprioriClass,其他方法的使用基本同上,此處不再重復。圖 5.9 選修課界面截圖推薦課程是系統根據學生已經選擇的課程,通過調用 Aprioriclass 類,經過算法計算,自動推薦的課程。學生可以參考,如果喜歡推薦的課程,可以回到選修課程里,查詢后選擇。圖 5.10 推薦課程界面截圖最后,學生可以查看已有課程列表,并在這里做最后的修改,也

38、就是退選某些課程。5.5 成績評定成績評定是管理員和教師的功能。這倆種身份可以對已經選了該課程的同學進行評分,也可以修改成績。而學生只能查看成績。此處調用的類為 SCclass。圖 5.11 修改成績界面截圖5.6 留言板留言板功能是三種身份都可以使用的功能,但考慮到現實情況,三者的功能并不完全相同。學生可以發布和查看留言,但不能刪除留言,這樣做的目的是讓學生謹言慎行。而教師和管理員可以查看留言,也能刪除留言,這是為了可以良好的維護一個美好的留言板氛圍。此處調用的類為Luntanclass。圖 5.12 發布留言界面截圖6 系統測試此部分挑選一些主要的功能測試結果進行展示,結合系統截圖和文字說

39、明,展示測試結果。測試內容主要為下面介紹的幾個測試場景。6.1 測試場景一權限限制在登陸系統時,如果身份權限不符合本系統登陸要求,或者密碼登錄名身份三者不一致,系統應該報錯提示,如圖所示。圖 6.1 登陸界面測試截圖6.2 測試場景二課程管理在課程管理中,創建課程時,課程名稱重復,課程信息輸入不完整都會被報錯提示,如下圖所示。只有全部信息填寫完整且與其他課程上課時間地點不重復,才可以創建課程成功。圖 6.2 課程管理測試截圖 1圖 6.3 課程管理測試截圖 26.3 測試場景三選課管理學生身份在選課時,如果重復某課程,系統會報錯提示,如圖所示。選課時間與其他已選課程有沖突,也將報錯提示。在以上

40、問題不發生的情況下,才可以選課成功。圖 6.4 選課管理測試截圖 1圖 6.5 選課管理測試截圖 27 總結不足與展望本課題將 Apriori 算成功應用于課程管理系統中,將傳統的單一的選課系統創新為選課與推薦結合的推薦課程系統。通過算法計算后,為學生推薦合適的課程,發現學生自己都不知道的隱藏適合課程。在設計和實現這個系統的過程中,我將數據庫理論知識以及 C#語言開發知識轉化為實踐經驗,并借此進一步理解數據庫理論。掌握了數據庫的開發使用、設計方法和編程技巧,熟練使用 SQL 語言,使用 C#編程,學習并熟練使用 ASP.NET 技術。在編程過程中,提高自己的動手能力,以及分析和解決問題的能力,為將來能夠開發出更高效的推薦系統打好了基礎。我努力設計一款實用的課程推薦系統,但是現在實現的此系統并非是完美的,也許在實際使用中還會有未經發現的錯誤出現,這是我現在所不能發現和改善的問題。在設計與實現系統的過程中,不斷發現自己的不足并改正,不斷的學習新的知識,掌握新的技術,整個畢業設計過程,我是收獲匪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論