基于數據挖掘技術的學生成績分析系統參考模板_第1頁
基于數據挖掘技術的學生成績分析系統參考模板_第2頁
基于數據挖掘技術的學生成績分析系統參考模板_第3頁
基于數據挖掘技術的學生成績分析系統參考模板_第4頁
基于數據挖掘技術的學生成績分析系統參考模板_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1 / 49本本 科科 畢畢 業業 設設 計(論文)計(論文) 題目題目: : 基于數據挖掘技術的學生成績分析系統的設計與實現基于數據挖掘技術的學生成績分析系統的設計與實現 姓姓 名名 張宇恒張宇恒 學學 院院 軟件學院軟件學院 專專 業業 軟件工程軟件工程 班班 級級 2010211503 學學 號號 10212099 班內序號班內序號 01 指導教師指導教師 牛琨牛琨 2014 年年 5 月月基于數據挖掘技術的學生成績分析系統的設計與實現基于數據挖掘技術的學生成績分析系統的設計與實現摘摘 要要隨著科技的不斷發展和中國教育制度的日趨完善,各大高校對教務管理工作提出了越來越高的要求。各大高校不

2、再滿足于傳統的成績管理方式,開始運用數據挖掘領域的先進方法對學生成績進行分析和研究。教務工作人員使用關聯規則挖掘算法分析課程間的內在聯系,可為學校的改進教學工作提供依據,并為學生的選課和學業規劃提供指導;對學生進行分類,讓學生能夠對自己在校期間所學課程的成績有一個全面而清晰的了解,方便學生揚長避短選擇選修課程,及時對可能在學習上遇到困難的學生進行預警;運用聚類算法對學生進行聚類,找出具有共同特征的學生,并對不同學生群體分別采取不同的教學方法,初步體現因材施教的教育理念,最終探索出適合中國國情和教育制度的個性化培養模式。本系統采用 Eclipse 作為開發平臺,以 Java 作為開發語言。通過對

3、高校學生成績分析系統的需求分析,本系統設計實現了可以使用關聯規則挖掘算法分析課程間的內在聯系,使用分類算法對學生進行分類,使用聚類算法對學生進行聚類。希望本系統能對今后高校學生成績分析系統的開發提供一定的參考價值。關鍵詞關鍵詞 成績分析 關聯規則 分類 聚類Design and implementation of student achievement analysis system based on data mining technologyABSTRACTWith the continuous development of technology and the Chinese educa

4、tion system maturing, Universities have put higher requirements to their academic administration. Universities are no longer satisfied with traditional performance management, began to apply advanced data mining methods to analyze and study students achievement. Staff of academic affairs use associa

5、tion rule mining algorithm to analysis intrinsic link between courses, which can provide the basis for improving the teaching of the school and guidance for the students enrollment and academic planning. Using classification algorithm to classify the students, so that students can have a clear under

6、standing in their academic performance, and facilitate students in selecting courses. Warning students who probably face difficulties in the academic. Using clustering algorithm to cluster the students to identify students with common characteristics, so that teachers can teach different students in

7、 different way, embodies the concept of individualized education, finally discover a personalized education model, which is suitable for Chinas national conditions and education system.The system was developed in Eclipse, with java as a development language. By analyzing the need of student achievem

8、ent analysis system, this system uses association rule mining algorithm to analysis intrinsic link between courses, uses classification algorithm to classify the students, uses clustering algorithm to cluster the students to identify students. I hope this system can provide some reference value to t

9、he future development of college students achievement analysis system.KEY WORDS achievement analysis association rules classification clustering目錄目錄第一章第一章 引言引言.11.1 選題的背景和意義 .11.2 個性化培養的重要意義 .11.3 國內外個性化培養的現狀 .21.3.1 國外個性化培養現狀 .21.3.2 國內個性化培養現狀 .31.4 成績分析系統的現狀和存在的問題 .31.4.1 成績分析系統開發使用的現狀 .31.4.2 成績分

10、析系統建設存在的問題 .4第二章第二章 相關技術相關技術.42.1 相關數據挖掘知識理論 .42.1.1 數據挖掘 .42.1.2 關聯規則 .52.1.3 分類 .62.1.4 聚類 .62.2 開發工具的選擇 .72.2.1 Eclipse 簡介.72.2.2 Eclipse 的優勢.7第三章第三章 系統分析系統分析.83.1 軟件過程模型 .83.2 需求分析 .93.2.1 用例圖 .93.2.2 需求的結構化描述 .10第四章第四章 系統設計與實現系統設計與實現.144.1 系統概要設計 .144.1.1 系統體系結構 .144.1.2 系統數據結構 .154.2 系統詳細設計 .1

11、64.2.1 文件導入數據 .164.2.2 數據預處理 .164.2.3 關聯規則 .184.2.4 分類 .194.2.5 聚類 .204.2.6 導出文件 .224.3 系統實現 .234.3.1 文件導入數據 .234.3.2 數據預處理 .234.3.3 關聯規則 .234.3.4 分類 .244.3.5 聚類 .244.3.6 導出文件 .254.4 系統應用 .26第五章第五章 結論結論.30參考文獻參考文獻.31致致 謝謝.32第一章第一章 引言引言1.11.1 選題的背景和意義選題的背景和意義進入新世紀以來,我國的高等教育事業正在快速發展,各個領域的重大科研成果不斷涌現,各知

12、名院校的國際排名和知名度也不斷攀升。然而在這些光鮮靚麗的學術成果之下,各大高校對學生的管理工作卻并沒有跟上時代的步伐。其實對于給大高校來說,學生的考試成績是一筆非常寶貴的財富。學生的成績是反映學校教學水平的最直接的第一手資料,這些數據可以為學校改進招生和教學工作提供重要依據。然而,學生成績的管理工作并沒有引起高校足夠的重視,尤其是在對學生成績的分析處理方面,絕大部分高校還停留在較為原始的數據庫管理和查詢階段,沒有對學生的成績進行橫向和縱向的對比研究,也缺乏對各學科之間成績內在聯系的挖掘。學科成績間的內在聯系是廣泛存在于各個專業的各門課程中的,學科成績間內在聯系的分析和研究對對學生和學校都有著十

13、分重要的意義。通過了解學科成績間存在的內在聯系,學生可以清楚地認識到基礎課程、先導課程的重要性,并且在選擇選修課的時候,做到揚長避短,通過更多地選擇與自己優勢課程成績正相關的課程來幫助提高成績。而對于學校來說,分析學科成績間的內在聯系可以為各個專業的課程設置提供重要的參考依據。在教務工作人員進行排課工作時,可參考對往屆學生成績的分析結果來調整課程的排布順序,達到不斷優化課程設置的目的。個性化培養和發展是當今高等教育發展的主流方向,以往填鴨式、工廠式的教學方式已經被先進的教育理念所替代,而中國教育制度中流水線式的培養模式一直是一個被廣泛詬病、急需解決的問題。在這一方面,我們可以借鑒發達國家的先進

14、經驗,結合我國高等教育發展現狀,探索并逐步建立由中國特色的、適合我國國情的個性化培養體系。目前可以通過對學生的成績進行挖掘和分析,對學生進行分群,為具有一定共同特征的學生制定個性化培養方案。基于上述情況,本題目以完善高校培養制度和制定學生個性化培養方案為背景,通過運用數據挖掘及相關專業技術,設計并實現學生成績分析系統。1.21.2 個性化培養的重要意義個性化培養的重要意義個性化培養其實并不是一個新穎的概念,2000多年前,我國著名教育家孔子就提出了因材施教的教育理念,并且身體力行地用因材施教的方法教育自己的弟子。在2000多年后的今天,多元化人才培養是高等教育發展的必然趨勢。個性化培養不僅是實

15、現多元化人才培養最重要的方式,更是我國建立創新型國家戰略對高等教育提出的必然需求。只有摒棄傳統的流水線式培養模式,在高等院校中全面推行個性化培養,我國高等教育才能真正完成人才培養方式的革命。(1)個性化培養是高等教育發展的現實需要個性化教育,是社會對大學生的預期變化的結果。在當今時代,社會要求每個人都能發揮自己獨特而不可替代的作用,教育的使命也悄然轉變為激發每一名學生的內在潛能。在高等院校推行個性化教育是中國高等教育的發展方向,更是世界大多數國家的共識。隨著大學的擴招,原本曲高和寡的高等教育已經走進了普羅大眾的生活。但是大眾化的高等教育不等于流水線式的培養,相反普及高等教育的意義正在于讓更多的

16、人進入大學,按照自己的興趣和自身特點選擇專業進行學習,成為獨特的人才。(2)個性化培養是創新型國家戰略的必然要求2006 年,國家制定了建設創新型國家的重大決策。增強自主創新能力是建設創新型國家戰略中最重要的一環,而作為高端人才培養基地的眾多高等院校毫無疑問成為了自主創新的排頭兵。受制于特殊的國情和幾千年的科舉傳統,我國目前的教育模式仍然是以死記硬背為主要學習手段,以分數作為評價學生優劣的主要甚至是唯一標準。在這種教育模式中培養出來的學生中,相當一部分是與社會脫節的、毫無創新能力可言的“考試機器”。現有的人才培養模式明顯滯后于經濟社會的發展,更是與建設創新型國家戰略相違背的。只有立即轉變人才培

17、養模式,真正實現以人為本的個性化培養,才能使高等院校成為培養創新型人才的土壤。因此,以培養多元化人才為主導的個性化培養模式是我國高等教育發展的必然趨勢。1.31.3 國內外個性化培養的現狀國內外個性化培養的現狀1.3.11.3.1 國外個性化培養現狀國外個性化培養現狀隨著高等教育的不斷發展,在發達國家學生個性化發展的理念已經深入人心。其中高等教育最為發達同時也是中國留學生首選目的地的美國毫無疑問走在了世界的前列。以常青藤聯盟為代表的美國知名大學在新生錄取時并不會給新生確定專業,而是根據學生的意愿將學生分進不同的基礎學院,允許學生在學院內自由地選擇課程。在完成一到兩年的基礎學習后,學生可以根據所

18、學的課程和個人興趣愛好自由選擇自己的專業。這是一種非常人性化的人才培養模式。學生在入學時往往對自己所選擇的專業并不十分了解,有的甚至是一無所知,僅憑一時興起做出了選擇。在這種情況下確定學生的專業顯然不是最合理選擇的。當學生完成了一段時間的學習后,無論是對所學的專業,還是對自身的學術能力和興趣愛好都有了一個更深層次的認識。在這個時候學生對專業的選擇往往會更加理性,這無論對學生還是對學校來說都是大有裨益的。而國際知名的布朗大學更是敢為天下先地取消了必修課制度,學生可以完全根據自己的興趣選擇學校提供的任何課程,修滿學校要求的學分后即可畢業。學校根據學生選擇的課程來給學生頒發不同專業的畢業證書。布朗大

19、學認為:沒有人會告訴學生應該上什么課或怎樣做,只要有興趣,學生可以自由的發展。但是這種教學模式一度受到了美國教育界的廣泛非議。相比布朗大學,其他常青藤盟校顯得保守了許多,或是設置了一些必修課,或是對學生可以選擇的課程做出了一系列規定,總而言之,布朗大學超前的教育理念并沒有被其他大學所廣泛接受。1.3.21.3.2 國內個性化培養現狀國內個性化培養現狀國內的高等院校仍然遵循著傳統的人才培養模式,在當今的時代中已經暴露出了諸如學科專業結構的設置缺乏整體思考、缺少系統設計;課程體系不夠綜合、開設比例不夠合理;考核評價體系知識記憶、輕創新實踐等方面的問題。在高校中探索并發展個性化培養模式已經成為了絕大

20、多數教育界人士的共識。相比較國外已經比較成熟的個性化培養方案而言,國內的個性化培養方案尚處在起步摸索階段,絕大多數國內高校的課程設置都已必修課程為主,輔以少量與專業相關的選修課程供學生選擇,離真正的個性化培養還有比較大的差距。學生的專業也都是在招生是就已經確定了,為學生提供的更改專業的機會也比較少,與高等教育比較發達的國家還有較大差距。1.41.4 成績分析系統的現狀和存在的問題成績分析系統的現狀和存在的問題1.4.11.4.1 成績分析系統開發使用的現狀成績分析系統開發使用的現狀對于高校來說,教務管理是他的核心工作之一,而成績分析能力的高低是衡量教務管理水平的一個關鍵指標。教務管理的水平對高

21、校教學水平的進步和發展有著至關重要的意義。在當今社會,隨著教育改革的逐步深入,和科學技術的發展 社會對高校的成績分析管理提出了許多新的要求, “規范化、信息化、網絡化”是學校教學管理的必然選擇。建立并應用一套優秀的成績分析系統是提升教務管理水平的關鍵所在。目前,各高校普遍建立了教務信息管理系統,其中很多高校還根據自身需求建有成績分析系統。此類系統一般采用關系型數據模型, 數據庫中主要包括學生的姓名、學號、專業、考試成績的個人信息。而每個信息又與其它信息相關聯,形成了龐大的、涵蓋整個教務管理過程的數據信息網。教務管理信息系統實現了教務信息的集中管理、分散操作、信息共享,使傳統的教務管理向數字化、

22、無紙化、智能化、綜合化及多元化的方向發展。借助現代信息技術,不同形式的成績分析系統正在利用網絡優勢實現資源的共享、權限的信息錄入、查詢及修改等,改變了傳統教務管理模式下信息數據層層傳達及存儲的模式,提高了信息的實效性,實現了真正意義上的信息交換與互動。1.4.21.4.2 成績分析系統建設存在的問題成績分析系統建設存在的問題然而需要正視的是,我國高校的學生成績分析系統仍然存在著一定問題,主要表現在:(1) 功能需求不明確,設計不盡完善各所高校間教務管理的流程有所不同,教務管理人員如何根據自身學校的特點建立成績分析系統是一個具有普遍性問題。目前建成的成績分析系統,大多都沒有嚴格遵循軟件項目開發流

23、程,對功能需求的分析做的不夠徹底,設計也不夠完善,難以達到理想的效果。其中一個最主要的原因是使用者和設計者沒能進行充分的溝通,設計人員對教務管理流程并不熟悉,和教學效果體現的理解也不透徹,使得現今的成績分析系統大多不盡如人意。(2) 沒有運用數據挖掘技術對成績進行分析當今大部分高校對學生成績管理的理解還停留在較為原始的數據庫管理和查詢階段,對學生成績的分析多以簡單地求平均分、中位數、計算方差和標準差、統計優秀率及格率等方式進行。對于很多教務工作者來說,數據挖掘技術是一個更多的運用在商業領域的、離教務管理很遙遠的東西。其實在美國等發達國家,數據挖掘技術早已走進了教務工作,成為了教務工作人員對學生

24、成績進行分析的重要手段。有一些名校甚至擁有一支數據挖掘技術方面的專業團隊來對學生成績進行分析。這些專業的分析結果不僅為學校改進教學工作提供了重要的參考依據,也為學生選擇選修課和今后的發展方向提供了極大的便利。第二章第二章 相關技術相關技術2.12.1 相關數據挖掘知識理論相關數據挖掘知識理論2.1.12.1.1 數據挖掘數據挖掘數據挖掘(Data mining),又譯為資料探勘、數據采礦。它是數據庫知識發現(Knowledge-Discovery in Databases, KDD)中的一個步驟。數據挖掘一般是指從大量的數據中通過算法搜索隱藏于其中信息的過程。數據挖掘通常與計算機科學有關,并通

25、過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。數據挖掘是目前人工智能技術和數據庫領域的研究前沿。數據挖掘是指從海量數據中發現出隱含在表象之下的、不為人所知的并有一定價值的信息的過程。數據挖掘的實質是一種決策支持過程,它主要基于人工智能、模式識別、統計學等相關技術,分析規模龐大的數據,從中找出某種規律并做出歸納性的推理,幫助決策者提高決策的準確性。數據準備、尋找規律和規律表示是數據挖掘的三個基本步驟。數據準備是指從數據源中選取相關的數據并生成可用于數據挖掘工作的數據集;尋找規律是指通過一定方法將數據集中所隱含的規律挖掘出來;規律表示是

26、指以用戶容易理解的方式(尤其是那些并不熟悉數據挖掘技術的用戶)將挖掘出的規律呈現給用戶。數據挖掘有填補缺失值,過濾噪聲點、關聯規則挖掘、分類、聚類、異常分析等任務。近年來,“大數據”成為了一個非常流行的詞匯,這意味著數據挖掘技術已經進入了我們生活的方方面面。這其中最為主要的原因是我們身處在信息爆炸的時代,全世界每天產生的信息都以指數級增長,我們每天所接觸的信息甚至超過幾百年前一個人一生所能接觸到的信息的總和。如果不對數據進行處理,如此海量的數據對于人類來說就是電子垃圾。通過數據挖掘技術,人們可以將原本無法處理的海量數據轉變為有用且有限的信息和知識,充分發揮信息的價值。2.1.22.1.2 關聯

27、規則關聯規則關聯規則是指大量數據中項集之間有趣的關聯或相關聯系。如果兩項或多項屬性之間存在關聯,那么其中一項的屬性就可以依據其他屬性值進行預測。關聯規則挖掘在數據挖掘中是一個重要的研究課題,一直是業界的研究熱點。“啤酒與尿布”的故事是對關聯規則挖掘的生動闡釋。世界著名的沃爾瑪超市在一次對原始銷售數據的分析中意外發現:和尿布一起銷售最多的商品竟然是啤酒!按照人們的常規思維,和尿布一起銷售的應該是奶粉奶瓶一類的嬰兒用品,尿布和啤酒可謂風馬牛不相及。但沃爾瑪超市的工作人員在運用數據挖掘技術對銷售信息進行分析后,成功揭示了 “啤酒與尿布”的內在聯系:在美國,很多男士下班之后經常要遵照太太的指示去超市去

28、給孩子購買尿布。而他們其中三到四成的人會在同時為自己購買一些啤酒。若不是借助了數據挖掘技術,很難想象沃爾瑪能夠在海量的銷售信息中發現這一規律。Apriori 算法是一種應用最為廣泛的統計關聯規則頻繁項集的算法,其核心是基于兩階段頻集思想的遞歸算法。在 Apriori 算法中,所有大于最小支持度的集都稱為頻繁項集。該算法的基本思想是:首先找出所有的頻繁項集,然后由頻繁項集產生強關聯規則,而這些規則必須同時滿足最小支持度和最小置信度。由于采用了遞歸的方法,Apriori 算法有兩個主要的缺點:會產生大量的候選集,以及需要對數據進行多次掃描。在數據量大于一定規模時,Apriori 算法的時間復雜度會

29、比較驚人。2.1.32.1.3 分類分類分類是一種重要的數據分析形式,它提取刻畫重要的數據類的模型。這種模型稱為分類器,預測分類的類標號。分類可用于預測,從歷史數據記錄中自動推導出給定數據的推廣描述,從而對未來的數據進行類預測。分類具有廣泛的應用,例如醫療診斷、信用卡系統的信用分級、圖像模式識別等。決策樹算法是一種非常典型的算法。在決策樹算法中,首先要對數據進行處理,生成可讀的規則和決策樹,然后使用決策對其他數據進行分析和判斷。從本質上說,決策樹算法是通過一系列規則對數據進行分類的過程。決策樹算法在 20 世紀 60 年代被首次提出,到了 70 年代末,J Ross Quinlan 提出了 I

30、D3 算法,此算法的目的在于減少樹的深度,但是忽略了葉子數目的研究。C4.5 算法是其改進算法,在缺值處理、剪枝技術和派生規則等方面作了較大改進。使其既適用于分類問題,又適用于回歸問題。構造的決策樹是否精度足夠高、規模足夠小是評價一個決策樹算法是否優秀的關鍵標準。決策樹構造可以分為兩個步驟。首先是由訓練樣本集生成決策樹的過程。在大多數情況下,訓練樣本數據集是根據實際需要有歷史的、有一定綜合程度的,用于數據分析處理的數據集。然后是對決策樹的剪枝,其本質是對決策樹進行檢驗和校正的過程,主要方法是用新數據校驗決策樹生成過程中得出的規則,并將影響準確性的分枝剪除。2.1.42.1.4 聚類聚類將物理或

31、抽象對象的集合分成由類似的對象組成的多個類的過程被稱為聚類。由聚類所生成的簇是一組數據對象的集合,這些對象與同一個簇中的對象彼此相似,與其他簇中的對象相異。“物以類聚,人以群分”,在自然科學和社會科學中,存在著大量的分類問題。聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統計分析方法。聚類分析起源于分類學,但是聚類不等于分類。聚類與分類的不同在于,聚類所要求劃分的類是未知的。聚類分析內容非常豐富,有系統聚類法、有序樣品聚類法、動態聚類法、模糊聚類法、圖論聚類法、聚類預報法等。K-means 算法是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相

32、似度就越大。該算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。k 個初始類聚類中心點的選取對聚類結果具有較大的影響,因為在該算法第一步中是隨機的選取任意 k 個對象作為初始聚類的中心,初始地代表一個簇。該算法在每次迭代中對數據集中剩余的每個對象,根據其與各個簇中心的距離將每個對象重新賦給最近的簇。當考察完所有數據對象后,一次迭代運算完成,新的聚類中心被計算出來。如果在一次迭代前后,J 的值沒有發生變化,說明算法已經收斂。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一個比較有代表

33、性的基于密度的聚類算法。與劃分和層次聚類方法不同,它將簇定義為密度相連的點的最大集合,能夠把具有足夠高密度的區域劃分為簇,并可在噪聲的空間數據庫中發現任意形狀的聚類。DBSCAN 需要二個參數: 掃描半徑和最小包含點數。 任選一個未被訪問的點開始,找出與其距離在最小半徑之內的所有附近點。如果 附近點的數量大于等于最小包含點數,則當前點與其附近點形成一個簇,并且出發點被標記為已訪問。 然后遞歸,以相同的方法處理該簇內所有未被標記為已訪問的點,從而對簇進行擴展。如果 附近點的數量小于最小包含點數,則該點暫時被標記作為噪聲點。如果簇充分地被擴展,即簇內的所有點被標記為已訪問,然后用同樣的算法去處理未

34、被訪問的點。2.22.2 開發工具的選擇開發工具的選擇2.2.12.2.1 Eclipse 簡介簡介Eclipse 是一個開源的、基于 Java 技術的可擴展開發平臺。就 Eclipse 本身而言,它只是一個框架和一組服務,主要用于通過插件組件構建開發環境。Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(JDK)。雖然對于絕大多數用戶來說, Eclipse 只是一個 Java 集成開發環境(IDE),但 Eclipse 的目標卻不僅限于此。Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 E

35、clipse 的軟件開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。這種平等和一致性并不僅限于 Java 開發工具。盡管 Eclipse 是使用 Java 語言開發的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C+、COBOL、PHP 等編程語言的插件已經可用,或預計將會推出。Eclipse 框架還可作為與軟件開發無關的其他應用程序類型的基礎,比如內存管理系統。2.2.22.2.2 Eclipse 的優

36、勢的優勢Eclipse 是開源軟件。這表明 Eclipse 不僅不收取使用者的任何費用,而且使用者還可以通過研究網絡上、尤其是各大編程論壇上公開的源代碼進行學習。對于使用者尤其是初學者來說,世界一流軟件工程師的代碼是一筆非常寶貴的財富,學習他們優秀的編程風格可以幫助初學者迅速提高自己的編程能力。Eclipse 采用插件機制,這意味著 Eclipse 是真正可擴展并可配置的。對于使用者來說 Eclipse 就好象一間倉庫,你可以隨時在倉庫里存放任何東西,也可以很方便地將不再需要的東西從倉庫中取出來。在互聯網上有大量免收費和免費的插件,使用者可以通過合理使用插件極大地簡化編程工作。雖然絕大多數開發

37、者僅僅把 Eclipse 作為一個 Java 開發系統,但實際上 Eclipse 支持多種類的開發語言。從本質上講,Eclipse 只提供了一個能夠擴展系統功能的最小核心,只要安裝相應語言的插件,Eclipse 就可以支持不同的開發語言。目前,Eclipse 已經可以支持 C/C+、 COBOL、PHP、Perl、Python 等多種語言。這顯著降低了多語言程序開發和程序移植的難度。Eclipse 支持多種開發環境,這使得開發者可以選擇自己最熟悉的平臺來進行開發工作。主流的操作系統都得到了支持,如 Windows、MacOS 和 Linux 等。Eclipse 對每個平臺都有不同的圖形工具包,

38、這使得在 Eclipse 上開發的程序可以最大限度地適應不同開發環境的特性。Eclipse 基于業界領先的 OSGi 規范。1999 年,Sun Microsystems、IBM、愛立信等等公司首先推出了 OSGi 規范。其服務涵蓋:服務網關、汽車、移動電話、工業自動化、建筑物自動化、PDA 網格計算、 娛樂、IDE 等眾多領域。OSGi 規范以微內核形式運行,故可以實現熱插拔、動態改變行為等軟件從業者夢寐以求的功能。從 3.1 版本開始,Eclipse 果斷放棄了原本已經獲得業界廣泛認可的框架,采用 OSGi 作為其架構。從 3.2版本開始,Eclipse 提供了基于 OSGi 開發的支持,

39、開發者可以利用其開發基于 OSGi 的系統了。Eclipse 堪稱業界人機的標桿之作。Eclipse 提供了全新的 SWT/JFace API 界面,全面取代了以往 SWT/Swing 單調、沉悶的風格。方便使用者開發基于本地的具有豐富圖形界面的應用程序,備受廣大軟件開發工作者的贊譽。Eclipse 基金會吸收了大量學術研究機構、商業組織,領導 Eclipse 的長遠規劃和發展,其先進理念使得 Eclipse 始終處于業界領先地位。綜合這些原因,我選用了 Eclipse 作為開發工具。第三章第三章 系統系統分析分析3.13.1 軟件過程模型軟件過程模型在選擇軟件過程模型時,首先考慮本系統的需求

40、較為明確且不易發生變更,因此在開發初期選擇了瀑布模型作為過程模型。瀑布模型廣泛應用于軟件項目的開發中,該模型將軟件開發過程劃分成描述、設計、開發有效性驗證等界限分明且獨立的過程階段,適用于需求明確且不易變更的軟件項目。但在開發的過程中,由于本人的需求分析能力有限,對任務書的需求分析工作做得不夠充分,需要經常和導師討論需求,導致需求變更較為頻繁,需求分析階段過分拉長。而且在學院和導師需要經常檢查進度的情況下,瀑布模型顯然是不適當的,因此改用了增量式開發模型。增量式開發的優點是可以很快開發出一個具有部分功能的、可使用的版本,而且適應需求變更的成本也比較低,比較適合本系統的開發工作。結合本系統的任務

41、目標和學校的進度要求,我將本系統的開發工作分為 4 個版本來進行。第一個最初始的版本實現了對數據的預處理和關聯規則的挖掘功能。第二個版本即中期檢查的版本在第一個版本的基礎上實現了分類功能和文件導入數據功能。第三個版本在之前版本的基礎上增加了聚類功能,截止到此版本,主要的功能算法已經實現。第四個版本也就是最終的版本,為系統設計了交互界面。圖 3-1 增量式開發模型圖在系統開發的過程中,描述和開發工作交織在一起。每完成一個模塊或一個版本,都會進行有概要描述開發有效性驗證描述并行活動版本 2版本 3版本 4版本 1效性驗證。通過驗證后才會進入下一個模塊或版本的開發3.23.2 需求分析需求分析3.2

42、.13.2.1 用例圖用例圖圖 3-2 系統用例圖系統的使用者教務管理人員對系統有包括導入文件、數據預處理、關聯規則挖掘、分類、聚類和導出文件在內的六大需求3.2.23.2.2 需求的結構化描述需求的結構化描述使用結構化自然語言來描述需求,保留了自然語言在表達能力和易懂性方面的優勢,讓沒有專業背景的用戶也能比較容易的理解需求;同時也約束了描述的一致性,降低了產生歧義的可能性。表 3-1 文件導入用例用例 1名稱文件導入功能將數據從文件導入系統中以備各算法調用描述將文件中的數據存入系統的數據結構中輸入學生的姓名,各門課程的成績來源數據文件輸出學生的姓名,各門課程的成績目的地系統的所定義的數據結構

43、行動系統為每一個學生初始化一個結構體,分別讀取每個學生的姓名和成績數據,并存儲到結構體中對應的成員里前置條件結構體已被定義,文件內數據的數據類型和順序合法后置條件數據被完整存入結構體中此用例屬于文件導入需求表 3-2 數據預處理用例用例 2名稱數據預處理功能對導入系統的學生數據進行預處理描述將每門課程的最高分和最低分拉平,并對其他成績進行等比例縮放輸入學生各門課程的成績來源結構體輸出學生各門課程的新成績目的地結構體行動系統從數據結構中讀取全體學生各門課程的成績,通過算法找出其中的最高分和最低分。分別將其他每一門課程的最高分和最低分乘以一個比例系數,使之與該最高分和最低分相等,并對該門課程內的其

44、他成績均進行乘以該比例系數的操作。前置條件數據已被成功導入結構體中后置條件輸出新的學生成績到結構體中此用例屬于數據預處理需求表 3-3 判斷相關性用例用例 3名稱相關性功能計算學生成績間的相關性描述將學生各門功課的成績轉化為每兩門課程成績的相關性輸入學生各門課程的成績來源結構體輸出成績相關課程的序號目的地關聯統計數組行動對比學生每兩門課程的成績,按照一定標準判斷成績是否相關。若相關則將這兩門課程的編號輸入到相應的數據結構中存儲起來前置條件數據預處理完畢后置條件生成課程相關性數據此用例屬于關聯規則需求表 3-4 統計頻繁項用例用例 4名稱頻繁項功能找出相關性數據中的頻繁項描述統計相關性數據中各項

45、的重復次數輸入課程相關性數據來源結構體輸出成績相關聯的課程目的地關聯規則數組行動記錄相關性數據中各項的重復次數,用重復次數除以學生數得到每個相關性的置信度,輸出大于最小置信度的數據前置條件課程相關性數據已生成后置條件生成關聯規則并輸出此用例屬于關聯規則需求表 3-5 判斷高風險學生用例用例 5名稱掛科學生功能輸出掛科風險較高的學生描述分析學生現有成績(平均分,是否掛科),輸出掛科風險較高的學生輸入學生的姓名,各門課程的成績來源結構體輸出學生的姓名目的地高風險學生數組行動統計學生是否有過掛科經歷,計算沒有掛科經歷學生的平均分,輸出有掛科經歷和平均分小于一定值的學生前置條件數據已被成功導入結構體中

46、后置條件學生被成功分類并輸出掛科風險較高的學生此用例屬于分類需求表 3-6 判斷高風險課程用例用例 6名稱高風險課程功能輸出掛科風險較高的課程描述分析所有課程的掛科風險,輸出掛科風險較高的課程輸入學生各門課程的成績來源結構體輸出課程名目的地高風險課程數組行動計算所有課程的掛科率,若某課程的掛科率高于一定值,則認定該課程為高風險課程,輸出所有高風險課程前置條件數據已被成功導入結構體中后置條件課程被成功分類并輸出高風險課程此用例屬于分類需求表 3-7 聚類用例用例 7名稱聚類功能對學生進行聚類描述識別出噪聲點,將學生劃入不同的簇,輸出聚類結果輸入學生的姓名,各門課程的成績來源結構體輸出學生各門課程

47、的新成績目的地聚類數組行動系統依次讀取每個學生的信息,通過聚類算法判斷其是否為噪聲點,對不是噪聲點的學生判斷其應該被歸入哪一個簇,直到所有學生都判斷完畢前置條件數據已被成功導入結構體中后置條件學生被成功聚類并輸出聚類結果此用例屬于聚類需求表 3-8 導出文件用例用例 8名稱導出文件功能將挖掘結果導出至文件描述將各數組中存儲的挖掘結果導出至文件輸入文件地址,挖掘結果來源各數組輸出挖掘結果目的地文件行動系統創建文件,依次讀取每個數組內的信息,輸出到文件前置條件挖掘結果成功存入數組內后置條件文件成功生成并寫入數據 此用例屬于導出文件需求第四章第四章 系統設計與實現系統設計與實現4.14.1 系統概要

48、設計系統概要設計4.1.14.1.1 系統體系結構系統體系結構本系統使用容器體系結構。當一個系統需要生成大量數據并持久保存時,一般使用容器體系結構。容器體系結構的優點是各個功能組件是相互獨立的,它們無需知道其他組件的存在,在運行時也不會受到其他組件的影響。一個組件的變更可以傳播到其他所有的組件,所有數據可以得到一致的管理。具體到本系統來說,采用容器體系結構可以使挖掘結果持久保存,可以比較方便的管理學生信息,各組件之間交互性不強,可避免因一個組件發生錯誤影響到其他組件的功能。圖 4-1 學生成績分析系統體系結構圖系統包括導入數據、數據預處理、關聯規則、分類和聚類五個組件,組件間相互平行互不干涉。

49、所有組件共享的學生信息和各組件生成的挖掘結果存放在項目容器中,這提高了數據傳輸的效率。各組件下有若干子功能模塊 4.1.24.1.2 系統數據結構系統數據結構采用結構體數組記錄學生信息,每一個結構體代表一個學生。每個結構體內有用字符串數組存儲的學生姓名,用一維整數數組存儲的學生成績(若學生成績保留小數可改用浮點數數組) ,用整數存儲的平均分。還可根據各學校的具體需求加入性別、學號、學院、專業等信息。采用二維整數數組記錄關聯規則,二維數組的行數和列數與課程數相等,數組中的每個元素代表其行標和列標所對應的兩門課程的關聯。項目容器交互器聚類器分類器關聯規則挖掘器數據預處理器導入文件生成規則分析關聯計

50、算最值縮放數據計算縮放比例學生分類課程分類識別噪聲點生成簇學生信息關聯規則分類結果聚類結果人機交互導出文件采用一維整數數組記錄高風險課程的編號。采用二維字符串數組記錄高風險學生和和聚類結果,每一行對應一名學生。4.24.2 系統系統詳細設計詳細設計4.2.14.2.1 文件導入數據文件導入數據圖 4-2 文件導入數據時序圖首先用戶將導入數據文件的請求和數據文件的地址發送給 openfile,openfile 對系統中已經定義的結構體進行初始化。初始化完成后,openfile 打開文件并開始從文件中讀取數據,并存入結構體中。循環這一過程,直到所有的數據都被存入了結構體中,openfile 關閉文

51、件,并向用戶輸出“成功導入文件”4.2.24.2.2 數據預處理數據預處理本系統所采用的數據為大學生各門課程的考試成績,均為百分制,數據的準確性、完整性、一致性和可信性都比較高,無需涉及填補缺失值和過濾噪聲點等處理,數據預處理的工作較為簡單。考慮到不同課程間難易程度存在區別和閱卷教師存在主觀差異,需對數據做出一定處理。例如全體學生中課程 A 的最高分為 95 分,最低分為 55 分,課程 B 的最高分為 85 分,最低分為 35 分,應對課程 A 和課程 B 的成績進行一定處理,使得 A 和 B 的最高分處在同一成績區間,最低分也處在同一成績區間。按照一些教育領域中用百分比(即排名)替代分數來

52、表述成績是一個可行的辦法,但這種方法有其一定的局限性。對于選拔性考試來說,這種辦法是非常合理的,因為選拔性考試只按照成績高低排序擇優錄取,而無需考慮這些成績之間差距的大小。但對于本系統涉及到的算法來說,成績間的差值顯然是不能忽略的。若采用排名的方式代替分數表述成績,在一些特定情況下會對產生較大誤差。如某一門課程中,有 5 名學生得分 82 分,10 名學生得分 81 分,1 名學生得分 80 分。則得到 82 分的學生和得到 80 分的學生之間的相差 15 個名次,顯然遠大于兩者之間 2 分的分數差。故對成績的預處理采用的方法為選取一門課程的最高分和最低分為標準,將其他課程所有學生的成績等比例

53、放大或縮小,使得所有課程的最高分與最低分一致,消除課程難度的客觀因素和閱卷教師的主觀因素對成績的影響。一些國外大學用 ABCD 的方式取代百分制對學生進行評價,當學生成績中存在不同評價標準的成績時,應對成績進行處理,統一標準。考慮到絕大部分國內大學所有課程均采用百分制對學生進行評價,故本系統不再進行成績轉換功能的開發。圖 4-3 數據預處理時序圖用戶向 pretreatment 發出數據預處理請求,pretreatment 從結構體中讀取學生成績信息并進行預處理,預處理結束后將新的成績再存入結構體中4.2.34.2.3 關聯規則關聯規則關聯規則功能模塊的關鍵點有兩個,一是用什么樣的標準判斷兩門

54、課程是否存在關聯,二是如何挖掘各門課程的關聯規則。對于如何判斷兩門課程存在關聯的問題,從現有的數據來看,用兩門課程成績的接近程度來判斷是否存在關聯是一個比較合理的方式。判斷兩門課程的成績是否接近有等寬和等深兩種方式。等寬的方式為將所有學生各門課程的成績按照一定的寬度分為若干個區間(根據大多數高校的計分制度,本系統按照每 10 分一個區間將成績分為10 個區間),處在一個成績區間內的課程即認為成績足夠接近存在關聯。但這種判斷標準有一定缺陷,在一些特定情況下會產生較大的誤差。例如某學生課程 A 的成績為91 分,課程 B 的成績為 89 分,課程 C 的成績為 81 分。按照等寬的判斷標準,課程

55、B和課程 C 存在關聯,課程 A 與課程 B 和 C 均無關聯。但是按照我們的常識來講,毫無疑問課程 A 和課程 B 的成績更為接近,二者僅相差 2 分,應該認定為存在關聯。導致這種現象的原因是衡量兩門課程是否接近應該依據兩門課程成績的差值,無需考慮成績的絕對值。而采用等寬方式判斷成績是否接近的方法無疑會受到成績絕對值的影響。之后我嘗試采用等深的方式判斷課程關聯,在一定程度上避免絕對值影響判斷的問題,但是又帶來了新的問題,即如何劃定深度。由于各高校在計算考試成績時無需考慮成績差值,所以在這方面無經驗和先例可循。若采用動態劃定深度的方式(即根據每個學生最高分和最低分之間的差值劃定不同的深度)可在

56、一定程度上得到比較合理的結果,但此種方法缺乏教育學理論的支持,僅作為參考。綜上所述,本系統采取應用較為廣泛、能為大多數人所接受的等寬的方式判斷兩門課程的成績是否接近。本系統采用 Apriori 算法挖掘各門課程的關聯規則。Apriori 算法是應用最為廣泛的挖掘布爾關聯規則頻繁項集的算法。Apriori 算法也有一定的缺陷,主要表現在可能產生大量的候選集,以及可能需要重復掃描數據庫。但是對于應用于普通高校的學生成績分析系統來說,其課程數和學生數都是很有限的,現代高性能計算機可以迅速完成上述工作。因此對于本系統來說,Apriori 算法的一些固有缺陷是完全可以接受的。圖 4-4 關聯規則挖掘時序

57、圖用戶向 associationrules 發出挖掘關聯規則請求,associationrules 從結構體中讀取學生成績信息并進行分析關聯,處理完成后將關聯數據存入關聯數組,然后統計關聯數組中的頻繁項,生成關聯規則并存入關聯規則數組4.2.44.2.4 分類分類本系統采用決策樹算法來實現分類預測功能,主要預測全體在校學生是否有掛科風險,以及掛科風險比較高的課程。在現有數據條件下,決策樹選取該學生已經完成學習的課程中是否有掛科和所有已經完成學習的課程的平均成績是否低于一個特定值來作為測試屬性。如果某學生有過掛科經歷,說明該學生在學習態度、學習方法或學習能力方面存在一定問題,那么他在今后學習其他

58、課程的過程中會比其他學生掛科的可能性更大,這種因果聯系符合一般人的認知,因此選擇是否有掛科經歷作為一個測試屬性。若某學生各門課程的成績較低(平均分低于某一特定值),他顯然比其他成績更好的學生要承擔更多的掛科風險,因此選擇平均成績是否低于一個特定值來作為另一個測試屬性。本算法將某一課程以畢業學生的掛科率作為衡量該課程是否為高風險課程的測試屬性,將掛科率高于某一特定值的課程作為高風險課程,此參數可由教務工作人員根據本專業的課程難度和生源水平等實際情況進行調整。圖 4-5 分類時序圖用戶向 classify 發出分類請求,classify 從結構體中讀取學生成績信息并進行分析處理,將高風險學生的姓名

59、存入高風險學生數組中并輸出給用戶。學生分類完成后,classify 對課程進行分析,將高風險課程的名字存入高風險課程數組中并輸出給用戶4.2.54.2.5 聚類聚類本系統使用聚類算法對學生進行聚類,根據聚類結果分析學生在校表現和成績之間的關聯性。K-means 算法是數據挖掘領域應用最為廣泛的聚類算法,采用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。該算法認為簇是由距離靠近的對象組成的,因此把得到緊湊且獨立的簇作為最終目標。從這些方面來看,K-means 算法是比較符合本系統對于聚類算法的要求的。但 K-means 算法同樣有一些固有缺點。首先是 K-means 算法需

60、要不斷地進行樣本分類調整,不斷地計算調整后的新的聚類中心,因此當數據量非常大時,算法的時間開銷是非常大的。不過出于和采用 Apriori 算法同樣的理由,時間復雜度高的缺點可以忽略。其次,在 K-means 算法中 K 是事先給定的,這個 K 值的選定是非常難以估計的。很多時候,事先并不知道給定的數據集應該分成多少個類別才最合適。在本系統中,被聚類的對象是學生,即使對于同一所高校甚至是同一專業的學生來說,學生間的個體差異也是很大的,因此無法事先估算出 K 值。而且在使用 K-means 算法時,首先需要根據初始聚類中心來確定一個初始劃分,然后對初始劃分進行優化,且初始聚類中心的選擇對聚類結果的

溫馨提示

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

評論

0/150

提交評論