基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)_第1頁(yè)
基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)_第2頁(yè)
基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)_第3頁(yè)
基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)_第4頁(yè)
基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)本科畢業(yè)設(shè)計(jì)(論文)題目:基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓名張宇恒學(xué)院軟件學(xué)院專業(yè)軟件工程班級(jí)2010211503學(xué)號(hào)10212099班內(nèi)序號(hào)01指導(dǎo)教師牛琨2014年5月基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著科技的不斷發(fā)展和中國(guó)教育制度的日趨完善,各大高校對(duì)教務(wù)管理工作提出了越來(lái)越高的要求.各大高校不再滿足于傳統(tǒng)的成績(jī)管理方式,開(kāi)始運(yùn)用數(shù)據(jù)挖掘領(lǐng)域的先進(jìn)方法對(duì)學(xué)生成績(jī)進(jìn)行分析和研究。教務(wù)工作人員使用關(guān)聯(lián)規(guī)則挖掘算法分析課程間的內(nèi)在聯(lián)系,可為學(xué)校的改進(jìn)教學(xué)工作提供依據(jù),并為學(xué)生的選課和學(xué)業(yè)規(guī)劃提供指導(dǎo);對(duì)學(xué)生進(jìn)行分類,讓學(xué)生能夠?qū)ψ约涸谛F陂g所學(xué)課程的成績(jī)有一個(gè)全面而清晰的了解,方便學(xué)生揚(yáng)長(zhǎng)避短選擇選修課程,及時(shí)對(duì)可能在學(xué)習(xí)上遇到困難的學(xué)生進(jìn)行預(yù)警;運(yùn)用聚類算法對(duì)學(xué)生進(jìn)行聚類,找出具有共同特征的學(xué)生,并對(duì)不同學(xué)生群體分別采取不同的教學(xué)方法,初步體現(xiàn)因材施教的教育理念,最終探索出適合中國(guó)國(guó)情和教育制度的個(gè)性化培養(yǎng)模式。本系統(tǒng)采用Eclipse作為開(kāi)發(fā)平臺(tái),以Java作為開(kāi)發(fā)語(yǔ)言。通過(guò)對(duì)高校學(xué)生成績(jī)分析系統(tǒng)的需求分析,本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了可以使用關(guān)聯(lián)規(guī)則挖掘算法分析課程間的內(nèi)在聯(lián)系,使用分類算法對(duì)學(xué)生進(jìn)行分類,使用聚類算法對(duì)學(xué)生進(jìn)行聚類.希望本系統(tǒng)能對(duì)今后高校學(xué)生成績(jī)分析系統(tǒng)的開(kāi)發(fā)提供一定的參考價(jià)值.關(guān)鍵詞成績(jī)分析關(guān)聯(lián)規(guī)則分類聚類DesignandimplementationofstudentachievementanalysissystembasedondataminingtechnologyABSTRACTWiththecontinuousdevelopmentoftechnologyandtheChineseeducationsystemmat(yī)uring,Universitieshaveputhigherrequirementstotheiracademicadministration.Universitiesarenolongersatisfiedwithtraditionalperformancemanagement,begantoapplyadvanceddat(yī)aminingmethodstoanalyzeandstudystudents’achievement。Staffofacademicaffairsuseassociat(yī)ionruleminingalgorithmtoanalysisintrinsiclinkbetweencourses,whichcanprovidethebasisforimprovingtheteachingoftheschoolandguidanceforthestudent'senrollmentandacademicplanning.Usingclassificationalgorithmtoclassifythestudents,sothatstudentscanhaveaclearunderstandingintheiracademicperformance,andfacilitat(yī)estudentsinselectingcourses.Warningstudentswhoprobablyfacedifficultiesintheacademic.Usingclusteringalgorithmtoclusterthestudentstoidentifystudentswithcommoncharacteristics,sothatteacherscanteachdifferentstudentsindifferentway,embodiestheconceptofindividualizededucation,finallydiscoverapersonalizededucationmodel,whichissuitableforChina’snationalconditionsandeducationsystem。ThesystemwasdevelopedinEclipse,withjavaasadevelopmentlanguage。Byanalyzingtheneedofstudentachievementanalysissystem,thissystemusesassociationruleminingalgorithmtoanalysisintrinsiclinkbetwee(cuò)ncourses,usesclassificat(yī)ionalgorithmtoclassifythestudents,usesclusteringalgorithmtoclusterthestudentstoidentifystudents.Ihopethissystemcanprovidesomereferencevaluetothefuturedevelopmentofcollegestudents’achievementanalysissystem。KEYWORDSachievementanalysisassociationrulesclassificationclustering目錄TOC\o"1—3"\h\z\uHYPERLINK\l"_Toc388282754”第一章引言PAGEREF_Toc388282754\h1HYPERLINK\l"_Toc388282755"1.1選題的背景和意義PAGEREF_Toc388282755\h1HYPERLINK\l"_Toc388282756"1。2個(gè)性化培養(yǎng)的重要意義PAGEREF_Toc388282756\h11.3國(guó)內(nèi)外個(gè)性化培養(yǎng)的現(xiàn)狀2HYPERLINK\l"_Toc388282758"1.3.1國(guó)外個(gè)性化培養(yǎng)現(xiàn)狀PAGEREF_Toc388282758\h21.3.2國(guó)內(nèi)個(gè)性化培養(yǎng)現(xiàn)狀PAGEREF_Toc388282759\h3HYPERLINK\l"_Toc388282760"1.4成績(jī)分析系統(tǒng)的現(xiàn)狀和存在的問(wèn)題PAGEREF_Toc388282760\h3第二章相關(guān)技術(shù)PAGEREF_Toc388282763\h4HYPERLINK\l"_Toc388282764”2.1相關(guān)數(shù)據(jù)挖掘知識(shí)理論P(yáng)AGEREF_Toc388282764\h4HYPERLINK\l”_Toc388282765"2。1.1數(shù)據(jù)挖掘PAGEREF_Toc388282765\h42。1.2關(guān)聯(lián)規(guī)則PAGEREF_Toc388282766\h5HYPERLINK\l"_Toc388282767”2.1.3分類PAGEREF_Toc388282767\h62.1.4聚類PAGEREF_Toc388282768\h6HYPERLINK\l"_Toc388282769"2.2開(kāi)發(fā)工具的選擇PAGEREF_Toc388282769\h7HYPERLINK\l”_Toc388282770"2。2.1Eclipse簡(jiǎn)介PAGEREF_Toc388282770\h72。2.2Eclipse的優(yōu)勢(shì)PAGEREF_Toc388282771\h7HYPERLINK\l"_Toc388282772"第三章系統(tǒng)分析PAGEREF_Toc388282772\h8HYPERLINK\l"_Toc388282773"3.1軟件過(guò)程模型PAGEREF_Toc388282773\h8HYPERLINK\l"_Toc388282774"3。2需求分析PAGEREF_Toc388282774\h9HYPERLINK\l"_Toc388282775"3.2.1用例圖PAGEREF_Toc388282775\h93.2.2需求的結(jié)構(gòu)化描述PAGEREF_Toc388282776\h10HYPERLINK\l”_Toc388282777"第四章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)PAGEREF_Toc388282777\h144.1系統(tǒng)概要設(shè)計(jì)PAGEREF_Toc388282778\h144.2.4分類PAGEREF_Toc388282785\h194.2。5聚類388282786\h204。2。6導(dǎo)出文件PAGEREF_Toc388282787\h224。3系統(tǒng)實(shí)現(xiàn)PAGEREF_Toc388282788\h234。3。1文件導(dǎo)入數(shù)據(jù)PAGEREF_Toc388282789\h234.3.2數(shù)據(jù)預(yù)處理PAGEREF_Toc388282790\h234.3。3關(guān)聯(lián)規(guī)則PAGEREF_Toc388282791\h234.3。4分類PAGEREF_Toc388282792\h244.3。5聚類PAGEREF_Toc388282793\h244。3.6導(dǎo)出文件PAGEREF_Toc388282794\h254.4系統(tǒng)應(yīng)用PAGEREF_Toc388282795\h26第五章結(jié)論PAGEREF_Toc388282796\h30參考文獻(xiàn)388282797\h31HYPERLINK\l"_Toc388282798”致謝PAGEREF_Toc388282798\h32第一章引言1.1選題的背景和意義進(jìn)入新世紀(jì)以來(lái),我國(guó)的高等教育事業(yè)正在快速發(fā)展,各個(gè)領(lǐng)域的重大科研成果不斷涌現(xiàn),各知名院校的國(guó)際排名和知名度也不斷攀升.然而在這些光鮮靚麗的學(xué)術(shù)成果之下,各大高校對(duì)學(xué)生的管理工作卻并沒(méi)有跟上時(shí)代的步伐。其實(shí)對(duì)于給大高校來(lái)說(shuō),學(xué)生的考試成績(jī)是一筆非常寶貴的財(cái)富。學(xué)生的成績(jī)是反映學(xué)校教學(xué)水平的最直接的第一手資料,這些數(shù)據(jù)可以為學(xué)校改進(jìn)招生和教學(xué)工作提供重要依據(jù)。然而,學(xué)生成績(jī)的管理工作并沒(méi)有引起高校足夠的重視,尤其是在對(duì)學(xué)生成績(jī)的分析處理方面,絕大部分高校還停留在較為原始的數(shù)據(jù)庫(kù)管理和查詢階段,沒(méi)有對(duì)學(xué)生的成績(jī)進(jìn)行橫向和縱向的對(duì)比研究,也缺乏對(duì)各學(xué)科之間成績(jī)內(nèi)在聯(lián)系的挖掘。學(xué)科成績(jī)間的內(nèi)在聯(lián)系是廣泛存在于各個(gè)專業(yè)的各門(mén)課程中的,學(xué)科成績(jī)間內(nèi)在聯(lián)系的分析和研究對(duì)對(duì)學(xué)生和學(xué)校都有著十分重要的意義。通過(guò)了解學(xué)科成績(jī)間存在的內(nèi)在聯(lián)系,學(xué)生可以清楚地認(rèn)識(shí)到基礎(chǔ)課程、先導(dǎo)課程的重要性,并且在選擇選修課的時(shí)候,做到揚(yáng)長(zhǎng)避短,通過(guò)更多地選擇與自己優(yōu)勢(shì)課程成績(jī)正相關(guān)的課程來(lái)幫助提高成績(jī).而對(duì)于學(xué)校來(lái)說(shuō),分析學(xué)科成績(jī)間的內(nèi)在聯(lián)系可以為各個(gè)專業(yè)的課程設(shè)置提供重要的參考依據(jù).在教務(wù)工作人員進(jìn)行排課工作時(shí),可參考對(duì)往屆學(xué)生成績(jī)的分析結(jié)果來(lái)調(diào)整課程的排布順序,達(dá)到不斷優(yōu)化課程設(shè)置的目的.個(gè)性化培養(yǎng)和發(fā)展是當(dāng)今高等教育發(fā)展的主流方向,以往填鴨式、工廠式的教學(xué)方式已經(jīng)被先進(jìn)的教育理念所替代,而中國(guó)教育制度中流水線式的培養(yǎng)模式一直是一個(gè)被廣泛詬病、急需解決的問(wèn)題.在這一方面,我們可以借鑒發(fā)達(dá)國(guó)家的先進(jìn)經(jīng)驗(yàn),結(jié)合我國(guó)高等教育發(fā)展現(xiàn)狀,探索并逐步建立由中國(guó)特色的、適合我國(guó)國(guó)情的個(gè)性化培養(yǎng)體系。目前可以通過(guò)對(duì)學(xué)生的成績(jī)進(jìn)行挖掘和分析,對(duì)學(xué)生進(jìn)行分群,為具有一定共同特征的學(xué)生制定個(gè)性化培養(yǎng)方案?;谏鲜銮闆r,本題目以完善高校培養(yǎng)制度和制定學(xué)生個(gè)性化培養(yǎng)方案為背景,通過(guò)運(yùn)用數(shù)據(jù)挖掘及相關(guān)專業(yè)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)學(xué)生成績(jī)分析系統(tǒng).1.2個(gè)性化培養(yǎng)的重要意義個(gè)性化培養(yǎng)其實(shí)并不是一個(gè)新穎的概念,2000多年前,我國(guó)著名教育家孔子就提出了因材施教的教育理念,并且身體力行地用因材施教的方法教育自己的弟子.在2000多年后的今天,多元化人才培養(yǎng)是高等教育發(fā)展的必然趨勢(shì).個(gè)性化培養(yǎng)不僅是實(shí)現(xiàn)多元化人才培養(yǎng)最重要的方式,更是我國(guó)建立創(chuàng)新型國(guó)家戰(zhàn)略對(duì)高等教育提出的必然需求。只有摒棄傳統(tǒng)的流水線式培養(yǎng)模式,在高等院校中全面推行個(gè)性化培養(yǎng),我國(guó)高等教育才能真正完成人才培養(yǎng)方式的革命。(1)個(gè)性化培養(yǎng)是高等教育發(fā)展的現(xiàn)實(shí)需要個(gè)性化教育,是社會(huì)對(duì)大學(xué)生的預(yù)期變化的結(jié)果.在當(dāng)今時(shí)代,社會(huì)要求每個(gè)人都能發(fā)揮自己獨(dú)特而不可替代的作用,教育的使命也悄然轉(zhuǎn)變?yōu)榧ぐl(fā)每一名學(xué)生的內(nèi)在潛能。在高等院校推行個(gè)性化教育是中國(guó)高等教育的發(fā)展方向,更是世界大多數(shù)國(guó)家的共識(shí)。隨著大學(xué)的擴(kuò)招,原本曲高和寡的高等教育已經(jīng)走進(jìn)了普羅大眾的生活。但是大眾化的高等教育不等于流水線式的培養(yǎng),相反普及高等教育的意義正在于讓更多的人進(jìn)入大學(xué),按照自己的興趣和自身特點(diǎn)選擇專業(yè)進(jìn)行學(xué)習(xí),成為獨(dú)特的人才.(2)個(gè)性化培養(yǎng)是創(chuàng)新型國(guó)家戰(zhàn)略的必然要求2006年,國(guó)家制定了建設(shè)創(chuàng)新型國(guó)家的重大決策。增強(qiáng)自主創(chuàng)新能力是建設(shè)創(chuàng)新型國(guó)家戰(zhàn)略中最重要的一環(huán),而作為高端人才培養(yǎng)基地的眾多高等院校毫無(wú)疑問(wèn)成為了自主創(chuàng)新的排頭兵.受制于特殊的國(guó)情和幾千年的科舉傳統(tǒng),我國(guó)目前的教育模式仍然是以死記硬背為主要學(xué)習(xí)手段,以分?jǐn)?shù)作為評(píng)價(jià)學(xué)生優(yōu)劣的主要甚至是唯一標(biāo)準(zhǔn).在這種教育模式中培養(yǎng)出來(lái)的學(xué)生中,相當(dāng)一部分是與社會(huì)脫節(jié)的、毫無(wú)創(chuàng)新能力可言的“考試機(jī)器”?,F(xiàn)有的人才培養(yǎng)模式明顯滯后于經(jīng)濟(jì)社會(huì)的發(fā)展,更是與建設(shè)創(chuàng)新型國(guó)家戰(zhàn)略相違背的。只有立即轉(zhuǎn)變?nèi)瞬排囵B(yǎng)模式,真正實(shí)現(xiàn)以人為本的個(gè)性化培養(yǎng),才能使高等院校成為培養(yǎng)創(chuàng)新型人才的土壤.因此,以培養(yǎng)多元化人才為主導(dǎo)的個(gè)性化培養(yǎng)模式是我國(guó)高等教育發(fā)展的必然趨勢(shì).1.3國(guó)內(nèi)外個(gè)性化培養(yǎng)的現(xiàn)狀1.3.1國(guó)外個(gè)性化培養(yǎng)現(xiàn)狀隨著高等教育的不斷發(fā)展,在發(fā)達(dá)國(guó)家學(xué)生個(gè)性化發(fā)展的理念已經(jīng)深入人心。其中高等教育最為發(fā)達(dá)同時(shí)也是中國(guó)留學(xué)生首選目的地的美國(guó)毫無(wú)疑問(wèn)走在了世界的前列。以常青藤聯(lián)盟為代表的美國(guó)知名大學(xué)在新生錄取時(shí)并不會(huì)給新生確定專業(yè),而是根據(jù)學(xué)生的意愿將學(xué)生分進(jìn)不同的基礎(chǔ)學(xué)院,允許學(xué)生在學(xué)院內(nèi)自由地選擇課程。在完成一到兩年的基礎(chǔ)學(xué)習(xí)后,學(xué)生可以根據(jù)所學(xué)的課程和個(gè)人興趣愛(ài)好自由選擇自己的專業(yè).這是一種非常人性化的人才培養(yǎng)模式。學(xué)生在入學(xué)時(shí)往往對(duì)自己所選擇的專業(yè)并不十分了解,有的甚至是一無(wú)所知,僅憑一時(shí)興起做出了選擇。在這種情況下確定學(xué)生的專業(yè)顯然不是最合理選擇的。當(dāng)學(xué)生完成了一段時(shí)間的學(xué)習(xí)后,無(wú)論是對(duì)所學(xué)的專業(yè),還是對(duì)自身的學(xué)術(shù)能力和興趣愛(ài)好都有了一個(gè)更深層次的認(rèn)識(shí)。在這個(gè)時(shí)候?qū)W生對(duì)專業(yè)的選擇往往會(huì)更加理性,這無(wú)論對(duì)學(xué)生還是對(duì)學(xué)校來(lái)說(shuō)都是大有裨益的。而國(guó)際知名的布朗大學(xué)更是敢為天下先地取消了必修課制度,學(xué)生可以完全根據(jù)自己的興趣選擇學(xué)校提供的任何課程,修滿學(xué)校要求的學(xué)分后即可畢業(yè)。學(xué)校根據(jù)學(xué)生選擇的課程來(lái)給學(xué)生頒發(fā)不同專業(yè)的畢業(yè)證書(shū)。布朗大學(xué)認(rèn)為:沒(méi)有人會(huì)告訴學(xué)生應(yīng)該上什么課或怎樣做,只要有興趣,學(xué)生可以自由的發(fā)展。但是這種教學(xué)模式一度受到了美國(guó)教育界的廣泛非議。相比布朗大學(xué),其他常青藤盟校顯得保守了許多,或是設(shè)置了一些必修課,或是對(duì)學(xué)生可以選擇的課程做出了一系列規(guī)定,總而言之,布朗大學(xué)超前的教育理念并沒(méi)有被其他大學(xué)所廣泛接受.1.3。2國(guó)內(nèi)個(gè)性化培養(yǎng)現(xiàn)狀國(guó)內(nèi)的高等院校仍然遵循著傳統(tǒng)的人才培養(yǎng)模式,在當(dāng)今的時(shí)代中已經(jīng)暴露出了諸如學(xué)科專業(yè)結(jié)構(gòu)的設(shè)置缺乏整體思考、缺少系統(tǒng)設(shè)計(jì);課程體系不夠綜合、開(kāi)設(shè)比例不夠合理;考核評(píng)價(jià)體系知識(shí)記憶、輕創(chuàng)新實(shí)踐等方面的問(wèn)題。在高校中探索并發(fā)展個(gè)性化培養(yǎng)模式已經(jīng)成為了絕大多數(shù)教育界人士的共識(shí)。相比較國(guó)外已經(jīng)比較成熟的個(gè)性化培養(yǎng)方案而言,國(guó)內(nèi)的個(gè)性化培養(yǎng)方案尚處在起步摸索階段,絕大多數(shù)國(guó)內(nèi)高校的課程設(shè)置都已必修課程為主,輔以少量與專業(yè)相關(guān)的選修課程供學(xué)生選擇,離真正的個(gè)性化培養(yǎng)還有比較大的差距。學(xué)生的專業(yè)也都是在招生是就已經(jīng)確定了,為學(xué)生提供的更改專業(yè)的機(jī)會(huì)也比較少,與高等教育比較發(fā)達(dá)的國(guó)家還有較大差距。1.4成績(jī)分析系統(tǒng)的現(xiàn)狀和存在的問(wèn)題1.4.1成績(jī)分析系統(tǒng)開(kāi)發(fā)使用的現(xiàn)狀對(duì)于高校來(lái)說(shuō),教務(wù)管理是他的核心工作之一,而成績(jī)分析能力的高低是衡量教務(wù)管理水平的一個(gè)關(guān)鍵指標(biāo)。教務(wù)管理的水平對(duì)高校教學(xué)水平的進(jìn)步和發(fā)展有著至關(guān)重要的意義。在當(dāng)今社會(huì),隨著教育改革的逐步深入,和科學(xué)技術(shù)的發(fā)展社會(huì)對(duì)高校的成績(jī)分析管理提出了許多新的要求,“規(guī)范化、信息化、網(wǎng)絡(luò)化”是學(xué)校教學(xué)管理的必然選擇.建立并應(yīng)用一套優(yōu)秀的成績(jī)分析系統(tǒng)是提升教務(wù)管理水平的關(guān)鍵所在。目前,各高校普遍建立了教務(wù)信息管理系統(tǒng),其中很多高校還根據(jù)自身需求建有成績(jī)分析系統(tǒng)。此類系統(tǒng)一般采用關(guān)系型數(shù)據(jù)模型,數(shù)據(jù)庫(kù)中主要包括學(xué)生的姓名、學(xué)號(hào)、專業(yè)、考試成績(jī)的個(gè)人信息。而每個(gè)信息又與其它信息相關(guān)聯(lián),形成了龐大的、涵蓋整個(gè)教務(wù)管理過(guò)程的數(shù)據(jù)信息網(wǎng)。教務(wù)管理信息系統(tǒng)實(shí)現(xiàn)了教務(wù)信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教務(wù)管理向數(shù)字化、無(wú)紙化、智能化、綜合化及多元化的方向發(fā)展。借助現(xiàn)代信息技術(shù),不同形式的成績(jī)分析系統(tǒng)正在利用網(wǎng)絡(luò)優(yōu)勢(shì)實(shí)現(xiàn)資源的共享、權(quán)限的信息錄入、查詢及修改等,改變了傳統(tǒng)教務(wù)管理模式下信息數(shù)據(jù)層層傳達(dá)及存儲(chǔ)的模式,提高了信息的實(shí)效性,實(shí)現(xiàn)了真正意義上的信息交換與互動(dòng)。1.4。2成績(jī)分析系統(tǒng)建設(shè)存在的問(wèn)題然而需要正視的是,我國(guó)高校的學(xué)生成績(jī)分析系統(tǒng)仍然存在著一定問(wèn)題,主要表現(xiàn)在:功能需求不明確,設(shè)計(jì)不盡完善各所高校間教務(wù)管理的流程有所不同,教務(wù)管理人員如何根據(jù)自身學(xué)校的特點(diǎn)建立成績(jī)分析系統(tǒng)是一個(gè)具有普遍性問(wèn)題。目前建成的成績(jī)分析系統(tǒng),大多都沒(méi)有嚴(yán)格遵循軟件項(xiàng)目開(kāi)發(fā)流程,對(duì)功能需求的分析做的不夠徹底,設(shè)計(jì)也不夠完善,難以達(dá)到理想的效果.其中一個(gè)最主要的原因是使用者和設(shè)計(jì)者沒(méi)能進(jìn)行充分的溝通,設(shè)計(jì)人員對(duì)教務(wù)管理流程并不熟悉,和教學(xué)效果體現(xiàn)的理解也不透徹,使得現(xiàn)今的成績(jī)分析系統(tǒng)大多不盡如人意。沒(méi)有運(yùn)用數(shù)據(jù)挖掘技術(shù)對(duì)成績(jī)進(jìn)行分析當(dāng)今大部分高校對(duì)學(xué)生成績(jī)管理的理解還停留在較為原始的數(shù)據(jù)庫(kù)管理和查詢階段,對(duì)學(xué)生成績(jī)的分析多以簡(jiǎn)單地求平均分、中位數(shù)、計(jì)算方差和標(biāo)準(zhǔn)差、統(tǒng)計(jì)優(yōu)秀率及格率等方式進(jìn)行.對(duì)于很多教務(wù)工作者來(lái)說(shuō),數(shù)據(jù)挖掘技術(shù)是一個(gè)更多的運(yùn)用在商業(yè)領(lǐng)域的、離教務(wù)管理很遙遠(yuǎn)的東西。其實(shí)在美國(guó)等發(fā)達(dá)國(guó)家,數(shù)據(jù)挖掘技術(shù)早已走進(jìn)了教務(wù)工作,成為了教務(wù)工作人員對(duì)學(xué)生成績(jī)進(jìn)行分析的重要手段。有一些名校甚至擁有一支數(shù)據(jù)挖掘技術(shù)方面的專業(yè)團(tuán)隊(duì)來(lái)對(duì)學(xué)生成績(jī)進(jìn)行分析。這些專業(yè)的分析結(jié)果不僅為學(xué)校改進(jìn)教學(xué)工作提供了重要的參考依據(jù),也為學(xué)生選擇選修課和今后的發(fā)展方向提供了極大的便利。第二章相關(guān)技術(shù)2.1相關(guān)數(shù)據(jù)挖掘知識(shí)理論2.1.1數(shù)據(jù)挖掘數(shù)據(jù)挖掘(Datamining),又譯為資料探勘、數(shù)據(jù)采礦。它是數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn)(Knowledge-DiscoveryinDatabases,KDD)中的一個(gè)步驟.數(shù)據(jù)挖掘一般是指從大量的數(shù)據(jù)中通過(guò)算法搜索隱藏于其中信息的過(guò)程。數(shù)據(jù)挖掘通常與計(jì)算機(jī)科學(xué)有關(guān),并通過(guò)統(tǒng)計(jì)、在線分析處理、情報(bào)檢索、機(jī)器學(xué)習(xí)、專家系統(tǒng)(依靠過(guò)去的經(jīng)驗(yàn)法則)和模式識(shí)別等諸多方法來(lái)實(shí)現(xiàn)上述目標(biāo)。數(shù)據(jù)挖掘是目前人工智能技術(shù)和數(shù)據(jù)庫(kù)領(lǐng)域的研究前沿.數(shù)據(jù)挖掘是指從海量數(shù)據(jù)中發(fā)現(xiàn)出隱含在表象之下的、不為人所知的并有一定價(jià)值的信息的過(guò)程。數(shù)據(jù)挖掘的實(shí)質(zhì)是一種決策支持過(guò)程,它主要基于人工智能、模式識(shí)別、統(tǒng)計(jì)學(xué)等相關(guān)技術(shù),分析規(guī)模龐大的數(shù)據(jù),從中找出某種規(guī)律并做出歸納性的推理,幫助決策者提高決策的準(zhǔn)確性。數(shù)據(jù)準(zhǔn)備、尋找規(guī)律和規(guī)律表示是數(shù)據(jù)挖掘的三個(gè)基本步驟。數(shù)據(jù)準(zhǔn)備是指從數(shù)據(jù)源中選取相關(guān)的數(shù)據(jù)并生成可用于數(shù)據(jù)挖掘工作的數(shù)據(jù)集;尋找規(guī)律是指通過(guò)一定方法將數(shù)據(jù)集中所隱含的規(guī)律挖掘出來(lái);規(guī)律表示是指以用戶容易理解的方式(尤其是那些并不熟悉數(shù)據(jù)挖掘技術(shù)的用戶)將挖掘出的規(guī)律呈現(xiàn)給用戶.數(shù)據(jù)挖掘有填補(bǔ)缺失值,過(guò)濾噪聲點(diǎn)、關(guān)聯(lián)規(guī)則挖掘、分類、聚類、異常分析等任務(wù).近年來(lái),“大數(shù)據(jù)”成為了一個(gè)非常流行的詞匯,這意味著數(shù)據(jù)挖掘技術(shù)已經(jīng)進(jìn)入了我們生活的方方面面。這其中最為主要的原因是我們身處在信息爆炸的時(shí)代,全世界每天產(chǎn)生的信息都以指數(shù)級(jí)增長(zhǎng),我們每天所接觸的信息甚至超過(guò)幾百年前一個(gè)人一生所能接觸到的信息的總和.如果不對(duì)數(shù)據(jù)進(jìn)行處理,如此海量的數(shù)據(jù)對(duì)于人類來(lái)說(shuō)就是電子垃圾。通過(guò)數(shù)據(jù)挖掘技術(shù),人們可以將原本無(wú)法處理的海量數(shù)據(jù)轉(zhuǎn)變?yōu)橛杏们矣邢薜男畔⒑椭R(shí),充分發(fā)揮信息的價(jià)值。2.1.2關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則是指大量數(shù)據(jù)中項(xiàng)集之間有趣的關(guān)聯(lián)或相關(guān)聯(lián)系。如果兩項(xiàng)或多項(xiàng)屬性之間存在關(guān)聯(lián),那么其中一項(xiàng)的屬性就可以依據(jù)其他屬性值進(jìn)行預(yù)測(cè)。關(guān)聯(lián)規(guī)則挖掘在數(shù)據(jù)挖掘中是一個(gè)重要的研究課題,一直是業(yè)界的研究熱點(diǎn)?!捌【婆c尿布”的故事是對(duì)關(guān)聯(lián)規(guī)則挖掘的生動(dòng)闡釋。世界著名的沃爾瑪超市在一次對(duì)原始銷售數(shù)據(jù)的分析中意外發(fā)現(xiàn):和尿布一起銷售最多的商品竟然是啤酒!按照人們的常規(guī)思維,和尿布一起銷售的應(yīng)該是奶粉奶瓶一類的嬰兒用品,尿布和啤酒可謂風(fēng)馬牛不相及。但沃爾瑪超市的工作人員在運(yùn)用數(shù)據(jù)挖掘技術(shù)對(duì)銷售信息進(jìn)行分析后,成功揭示了“啤酒與尿布”的內(nèi)在聯(lián)系:在美國(guó),很多男士下班之后經(jīng)常要遵照太太的指示去超市去給孩子購(gòu)買(mǎi)尿布。而他們其中三到四成的人會(huì)在同時(shí)為自己購(gòu)買(mǎi)一些啤酒。若不是借助了數(shù)據(jù)挖掘技術(shù),很難想象沃爾瑪能夠在海量的銷售信息中發(fā)現(xiàn)這一規(guī)律。Apriori算法是一種應(yīng)用最為廣泛的統(tǒng)計(jì)關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法,其核心是基于兩階段頻集思想的遞歸算法。在Apriori算法中,所有大于最小支持度的集都稱為頻繁項(xiàng)集。該算法的基本思想是:首先找出所有的頻繁項(xiàng)集,然后由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則,而這些規(guī)則必須同時(shí)滿足最小支持度和最小置信度.由于采用了遞歸的方法,Apriori算法有兩個(gè)主要的缺點(diǎn):會(huì)產(chǎn)生大量的候選集,以及需要對(duì)數(shù)據(jù)進(jìn)行多次掃描.在數(shù)據(jù)量大于一定規(guī)模時(shí),Apriori算法的時(shí)間復(fù)雜度會(huì)比較驚人。2。1.3分類分類是一種重要的數(shù)據(jù)分析形式,它提取刻畫(huà)重要的數(shù)據(jù)類的模型。這種模型稱為分類器,預(yù)測(cè)分類的類標(biāo)號(hào)。分類可用于預(yù)測(cè),從歷史數(shù)據(jù)記錄中自動(dòng)推導(dǎo)出給定數(shù)據(jù)的推廣描述,從而對(duì)未來(lái)的數(shù)據(jù)進(jìn)行類預(yù)測(cè).分類具有廣泛的應(yīng)用,例如醫(yī)療診斷、信用卡系統(tǒng)的信用分級(jí)、圖像模式識(shí)別等。決策樹(shù)算法是一種非常典型的算法。在決策樹(shù)算法中,首先要對(duì)數(shù)據(jù)進(jìn)行處理,生成可讀的規(guī)則和決策樹(shù),然后使用決策對(duì)其他數(shù)據(jù)進(jìn)行分析和判斷。從本質(zhì)上說(shuō),決策樹(shù)算法是通過(guò)一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過(guò)程。決策樹(shù)算法在20世紀(jì)60年代被首次提出,到了70年代末,JRossQuinlan提出了ID3算法,此算法的目的在于減少樹(shù)的深度,但是忽略了葉子數(shù)目的研究。C4.5算法是其改進(jìn)算法,在缺值處理、剪枝技術(shù)和派生規(guī)則等方面作了較大改進(jìn)。使其既適用于分類問(wèn)題,又適用于回歸問(wèn)題。構(gòu)造的決策樹(shù)是否精度足夠高、規(guī)模足夠小是評(píng)價(jià)一個(gè)決策樹(shù)算法是否優(yōu)秀的關(guān)鍵標(biāo)準(zhǔn)。決策樹(shù)構(gòu)造可以分為兩個(gè)步驟.首先是由訓(xùn)練樣本集生成決策樹(shù)的過(guò)程。在大多數(shù)情況下,訓(xùn)練樣本數(shù)據(jù)集是根據(jù)實(shí)際需要有歷史的、有一定綜合程度的,用于數(shù)據(jù)分析處理的數(shù)據(jù)集。然后是對(duì)決策樹(shù)的剪枝,其本質(zhì)是對(duì)決策樹(shù)進(jìn)行檢驗(yàn)和校正的過(guò)程,主要方法是用新數(shù)據(jù)校驗(yàn)決策樹(shù)生成過(guò)程中得出的規(guī)則,并將影響準(zhǔn)確性的分枝剪除.2.1。4聚類將物理或抽象對(duì)象的集合分成由類似的對(duì)象組成的多個(gè)類的過(guò)程被稱為聚類。由聚類所生成的簇是一組數(shù)據(jù)對(duì)象的集合,這些對(duì)象與同一個(gè)簇中的對(duì)象彼此相似,與其他簇中的對(duì)象相異.“物以類聚,人以群分”,在自然科學(xué)和社會(huì)科學(xué)中,存在著大量的分類問(wèn)題.聚類分析又稱群分析,它是研究(樣品或指標(biāo))分類問(wèn)題的一種統(tǒng)計(jì)分析方法。聚類分析起源于分類學(xué),但是聚類不等于分類。聚類與分類的不同在于,聚類所要求劃分的類是未知的。聚類分析內(nèi)容非常豐富,有系統(tǒng)聚類法、有序樣品聚類法、動(dòng)態(tài)聚類法、模糊聚類法、圖論聚類法、聚類預(yù)報(bào)法等。K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。該算法認(rèn)為簇是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo).k個(gè)初始類聚類中心點(diǎn)的選取對(duì)聚類結(jié)果具有較大的影響,因?yàn)樵谠撍惴ǖ谝徊街惺请S機(jī)的選取任意k個(gè)對(duì)象作為初始聚類的中心,初始地代表一個(gè)簇。該算法在每次迭代中對(duì)數(shù)據(jù)集中剩余的每個(gè)對(duì)象,根據(jù)其與各個(gè)簇中心的距離將每個(gè)對(duì)象重新賦給最近的簇。當(dāng)考察完所有數(shù)據(jù)對(duì)象后,一次迭代運(yùn)算完成,新的聚類中心被計(jì)算出來(lái)。如果在一次迭代前后,J的值沒(méi)有發(fā)生變化,說(shuō)明算法已經(jīng)收斂。DBSCAN(Density-BasedSpat(yī)ialClusteringofApplicationswithNoise)是一個(gè)比較有代表性的基于密度的聚類算法。與劃分和層次聚類方法不同,它將簇定義為密度相連的點(diǎn)的最大集合,能夠把具有足夠高密度的區(qū)域劃分為簇,并可在噪聲的空間數(shù)據(jù)庫(kù)中發(fā)現(xiàn)任意形狀的聚類.DBSCAN需要二個(gè)參數(shù):掃描半徑和最小包含點(diǎn)數(shù)。任選一個(gè)未被訪問(wèn)的點(diǎn)開(kāi)始,找出與其距離在最小半徑之內(nèi)的所有附近點(diǎn)。如果附近點(diǎn)的數(shù)量大于等于最小包含點(diǎn)數(shù),則當(dāng)前點(diǎn)與其附近點(diǎn)形成一個(gè)簇,并且出發(fā)點(diǎn)被標(biāo)記為已訪問(wèn).然后遞歸,以相同的方法處理該簇內(nèi)所有未被標(biāo)記為已訪問(wèn)的點(diǎn),從而對(duì)簇進(jìn)行擴(kuò)展。如果附近點(diǎn)的數(shù)量小于最小包含點(diǎn)數(shù),則該點(diǎn)暫時(shí)被標(biāo)記作為噪聲點(diǎn)。如果簇充分地被擴(kuò)展,即簇內(nèi)的所有點(diǎn)被標(biāo)記為已訪問(wèn),然后用同樣的算法去處理未被訪問(wèn)的點(diǎn)。2.2開(kāi)發(fā)工具的選擇2。2.1Eclipse簡(jiǎn)介Eclipse是一個(gè)開(kāi)源的、基于Java技術(shù)的可擴(kuò)展開(kāi)發(fā)平臺(tái).就Eclipse本身而言,它只是一個(gè)框架和一組服務(wù),主要用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(JDK)。雖然對(duì)于絕大多數(shù)用戶來(lái)說(shuō),Eclipse只是一個(gè)Java集成開(kāi)發(fā)環(huán)境(IDE),但Eclipse的目標(biāo)卻不僅限于此。Eclipse還包括插件開(kāi)發(fā)環(huán)境(Plug—inDevelopmentEnvironment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于Java開(kāi)發(fā)工具.盡管Eclipse是使用Java語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于Java語(yǔ)言;例如,支持諸如C/C++、COBOL、PHP等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出.Eclipse框架還可作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)存管理系統(tǒng)。2.2。2Eclipse的優(yōu)勢(shì)Eclipse是開(kāi)源軟件。這表明Eclipse不僅不收取使用者的任何費(fèi)用,而且使用者還可以通過(guò)研究網(wǎng)絡(luò)上、尤其是各大編程論壇上公開(kāi)的源代碼進(jìn)行學(xué)習(xí)。對(duì)于使用者尤其是初學(xué)者來(lái)說(shuō),世界一流軟件工程師的代碼是一筆非常寶貴的財(cái)富,學(xué)習(xí)他們優(yōu)秀的編程風(fēng)格可以幫助初學(xué)者迅速提高自己的編程能力.Eclipse采用插件機(jī)制,這意味著Eclipse是真正可擴(kuò)展并可配置的。對(duì)于使用者來(lái)說(shuō)Eclipse就好象一間倉(cāng)庫(kù),你可以隨時(shí)在倉(cāng)庫(kù)里存放任何東西,也可以很方便地將不再需要的東西從倉(cāng)庫(kù)中取出來(lái)。在互聯(lián)網(wǎng)上有大量免收費(fèi)和免費(fèi)的插件,使用者可以通過(guò)合理使用插件極大地簡(jiǎn)化編程工作.雖然絕大多數(shù)開(kāi)發(fā)者僅僅把Eclipse作為一個(gè)Java開(kāi)發(fā)系統(tǒng),但實(shí)際上Eclipse支持多種類的開(kāi)發(fā)語(yǔ)言。從本質(zhì)上講,Eclipse只提供了一個(gè)能夠擴(kuò)展系統(tǒng)功能的最小核心,只要安裝相應(yīng)語(yǔ)言的插件,Eclipse就可以支持不同的開(kāi)發(fā)語(yǔ)言。目前,Eclipse已經(jīng)可以支持C/C++、COBOL、PHP、Perl、Python等多種語(yǔ)言.這顯著降低了多語(yǔ)言程序開(kāi)發(fā)和程序移植的難度.Eclipse支持多種開(kāi)發(fā)環(huán)境,這使得開(kāi)發(fā)者可以選擇自己最熟悉的平臺(tái)來(lái)進(jìn)行開(kāi)發(fā)工作。主流的操作系統(tǒng)都得到了支持,如Windows、MacOS和Linux等.Eclipse對(duì)每個(gè)平臺(tái)都有不同的圖形工具包,這使得在Eclipse上開(kāi)發(fā)的程序可以最大限度地適應(yīng)不同開(kāi)發(fā)環(huán)境的特性。Eclipse基于業(yè)界領(lǐng)先的OSGi規(guī)范.1999年,SunMicrosystems、IBM、愛(ài)立信等等公司首先推出了OSGi規(guī)范。其服務(wù)涵蓋:服務(wù)網(wǎng)關(guān)、汽車、移動(dòng)電話、工業(yè)自動(dòng)化、建筑物自動(dòng)化、PDA網(wǎng)格計(jì)算、娛樂(lè)、IDE等眾多領(lǐng)域。OSGi規(guī)范以微內(nèi)核形式運(yùn)行,故可以實(shí)現(xiàn)熱插拔、動(dòng)態(tài)改變行為等軟件從業(yè)者夢(mèng)寐以求的功能。從3。1版本開(kāi)始,Eclipse果斷放棄了原本已經(jīng)獲得業(yè)界廣泛認(rèn)可的框架,采用OSGi作為其架構(gòu).從3.2版本開(kāi)始,Eclipse提供了基于OSGi開(kāi)發(fā)的支持,開(kāi)發(fā)者可以利用其開(kāi)發(fā)基于OSGi的系統(tǒng)了。Eclipse堪稱業(yè)界人機(jī)的標(biāo)桿之作.Eclipse提供了全新的SWT/JFaceAPI界面,全面取代了以往SWT/Swing單調(diào)、沉悶的風(fēng)格.方便使用者開(kāi)發(fā)基于本地的具有豐富圖形界面的應(yīng)用程序,備受廣大軟件開(kāi)發(fā)工作者的贊譽(yù)。.Eclipse基金會(huì)吸收了大量學(xué)術(shù)研究機(jī)構(gòu)、商業(yè)組織,領(lǐng)導(dǎo)Eclipse的長(zhǎng)遠(yuǎn)規(guī)劃和發(fā)展,其先進(jìn)理念使得Eclipse始終處于業(yè)界領(lǐng)先地位.綜合這些原因,我選用了Eclipse作為開(kāi)發(fā)工具。第三章系統(tǒng)分析3。1軟件過(guò)程模型在選擇軟件過(guò)程模型時(shí),首先考慮本系統(tǒng)的需求較為明確且不易發(fā)生變更,因此在開(kāi)發(fā)初期選擇了瀑布模型作為過(guò)程模型。瀑布模型廣泛應(yīng)用于軟件項(xiàng)目的開(kāi)發(fā)中,該模型將軟件開(kāi)發(fā)過(guò)程劃分成描述、設(shè)計(jì)、開(kāi)發(fā)有效性驗(yàn)證等界限分明且獨(dú)立的過(guò)程階段,適用于需求明確且不易變更的軟件項(xiàng)目。但在開(kāi)發(fā)的過(guò)程中,由于本人的需求分析能力有限,對(duì)任務(wù)書(shū)的需求分析工作做得不夠充分,需要經(jīng)常和導(dǎo)師討論需求,導(dǎo)致需求變更較為頻繁,需求分析階段過(guò)分拉長(zhǎng)。而且在學(xué)院和導(dǎo)師需要經(jīng)常檢查進(jìn)度的情況下,瀑布模型顯然是不適當(dāng)?shù)?因此改用了增量式開(kāi)發(fā)模型。增量式開(kāi)發(fā)的優(yōu)點(diǎn)是可以很快開(kāi)發(fā)出一個(gè)具有部分功能的、可使用的版本,而且適應(yīng)需求變更的成本也比較低,比較適合本系統(tǒng)的開(kāi)發(fā)工作。結(jié)合本系統(tǒng)的任務(wù)目標(biāo)和學(xué)校的進(jìn)度要求,我將本系統(tǒng)的開(kāi)發(fā)工作分為4個(gè)版本來(lái)進(jìn)行。第一個(gè)最初始的版本實(shí)現(xiàn)了對(duì)數(shù)據(jù)的預(yù)處理和關(guān)聯(lián)規(guī)則的挖掘功能.第二個(gè)版本即中期檢查的版本在第一個(gè)版本的基礎(chǔ)上實(shí)現(xiàn)了分類功能和文件導(dǎo)入數(shù)據(jù)功能。第三個(gè)版本在之前版本的基礎(chǔ)上增加了聚類功能,截止到此版本,主要的功能算法已經(jīng)實(shí)現(xiàn).第四個(gè)版本也就是最終的版本,為系統(tǒng)設(shè)計(jì)了交互界面。版本1并行活動(dòng)版本1并行活動(dòng)描述描述版本2版本2開(kāi)發(fā)版本開(kāi)發(fā)版本3概要描述概要描述有效性驗(yàn)證有效性驗(yàn)證版本4版本4圖3-1增量式開(kāi)發(fā)模型圖在系統(tǒng)開(kāi)發(fā)的過(guò)程中,描述和開(kāi)發(fā)工作交織在一起.每完成一個(gè)模塊或一個(gè)版本,都會(huì)進(jìn)行有效性驗(yàn)證。通過(guò)驗(yàn)證后才會(huì)進(jìn)入下一個(gè)模塊或版本的開(kāi)發(fā)3。2需求分析3.2。1用例圖圖3—2系統(tǒng)用例圖系統(tǒng)的使用者—-教務(wù)管理人員對(duì)系統(tǒng)有包括導(dǎo)入文件、數(shù)據(jù)預(yù)處理、關(guān)聯(lián)規(guī)則挖掘、分類、聚類和導(dǎo)出文件在內(nèi)的六大需求3.2.2需求的結(jié)構(gòu)化描述使用結(jié)構(gòu)化自然語(yǔ)言來(lái)描述需求,保留了自然語(yǔ)言在表達(dá)能力和易懂性方面的優(yōu)勢(shì),讓沒(méi)有專業(yè)背景的用戶也能比較容易的理解需求;同時(shí)也約束了描述的一致性,降低了產(chǎn)生歧義的可能性.表3—1文件導(dǎo)入用例用例1名稱文件導(dǎo)入功能將數(shù)據(jù)從文件導(dǎo)入系統(tǒng)中以備各算法調(diào)用描述將文件中的數(shù)據(jù)存入系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中輸入學(xué)生的姓名,各門(mén)課程的成績(jī)來(lái)源數(shù)據(jù)文件輸出學(xué)生的姓名,各門(mén)課程的成績(jī)目的地系統(tǒng)的所定義的數(shù)據(jù)結(jié)構(gòu)行動(dòng)系統(tǒng)為每一個(gè)學(xué)生初始化一個(gè)結(jié)構(gòu)體,分別讀取每個(gè)學(xué)生的姓名和成績(jī)數(shù)據(jù),并存儲(chǔ)到結(jié)構(gòu)體中對(duì)應(yīng)的成員里前置條件結(jié)構(gòu)體已被定義,文件內(nèi)數(shù)據(jù)的數(shù)據(jù)類型和順序合法后置條件數(shù)據(jù)被完整存入結(jié)構(gòu)體中此用例屬于文件導(dǎo)入需求表3-2數(shù)據(jù)預(yù)處理用例用例2名稱數(shù)據(jù)預(yù)處理功能對(duì)導(dǎo)入系統(tǒng)的學(xué)生數(shù)據(jù)進(jìn)行預(yù)處理描述將每門(mén)課程的最高分和最低分拉平,并對(duì)其他成績(jī)進(jìn)行等比例縮放輸入學(xué)生各門(mén)課程的成績(jī)來(lái)源結(jié)構(gòu)體輸出學(xué)生各門(mén)課程的新成績(jī)目的地結(jié)構(gòu)體行動(dòng)系統(tǒng)從數(shù)據(jù)結(jié)構(gòu)中讀取全體學(xué)生各門(mén)課程的成績(jī),通過(guò)算法找出其中的最高分和最低分。分別將其他每一門(mén)課程的最高分和最低分乘以一個(gè)比例系數(shù),使之與該最高分和最低分相等,并對(duì)該門(mén)課程內(nèi)的其他成績(jī)均進(jìn)行乘以該比例系數(shù)的操作。前置條件數(shù)據(jù)已被成功導(dǎo)入結(jié)構(gòu)體中后置條件輸出新的學(xué)生成績(jī)到結(jié)構(gòu)體中此用例屬于數(shù)據(jù)預(yù)處理需求表3-3判斷相關(guān)性用例用例3名稱相關(guān)性功能計(jì)算學(xué)生成績(jī)間的相關(guān)性描述將學(xué)生各門(mén)功課的成績(jī)轉(zhuǎn)化為每?jī)砷T(mén)課程成績(jī)的相關(guān)性輸入學(xué)生各門(mén)課程的成績(jī)來(lái)源結(jié)構(gòu)體輸出成績(jī)相關(guān)課程的序號(hào)目的地關(guān)聯(lián)統(tǒng)計(jì)數(shù)組行動(dòng)對(duì)比學(xué)生每?jī)砷T(mén)課程的成績(jī),按照一定標(biāo)準(zhǔn)判斷成績(jī)是否相關(guān)。若相關(guān)則將這兩門(mén)課程的編號(hào)輸入到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)起來(lái)前置條件數(shù)據(jù)預(yù)處理完畢后置條件生成課程相關(guān)性數(shù)據(jù)此用例屬于關(guān)聯(lián)規(guī)則需求表3-4統(tǒng)計(jì)頻繁項(xiàng)用例用例4名稱頻繁項(xiàng)功能找出相關(guān)性數(shù)據(jù)中的頻繁項(xiàng)描述統(tǒng)計(jì)相關(guān)性數(shù)據(jù)中各項(xiàng)的重復(fù)次數(shù)輸入課程相關(guān)性數(shù)據(jù)來(lái)源結(jié)構(gòu)體輸出成績(jī)相關(guān)聯(lián)的課程目的地關(guān)聯(lián)規(guī)則數(shù)組行動(dòng)記錄相關(guān)性數(shù)據(jù)中各項(xiàng)的重復(fù)次數(shù),用重復(fù)次數(shù)除以學(xué)生數(shù)得到每個(gè)相關(guān)性的置信度,輸出大于最小置信度的數(shù)據(jù)前置條件課程相關(guān)性數(shù)據(jù)已生成后置條件生成關(guān)聯(lián)規(guī)則并輸出此用例屬于關(guān)聯(lián)規(guī)則需求表3-5判斷高風(fēng)險(xiǎn)學(xué)生用例用例5名稱掛科學(xué)生功能輸出掛科風(fēng)險(xiǎn)較高的學(xué)生描述分析學(xué)生現(xiàn)有成績(jī)(平均分,是否掛科),輸出掛科風(fēng)險(xiǎn)較高的學(xué)生輸入學(xué)生的姓名,各門(mén)課程的成績(jī)來(lái)源結(jié)構(gòu)體輸出學(xué)生的姓名目的地高風(fēng)險(xiǎn)學(xué)生數(shù)組行動(dòng)統(tǒng)計(jì)學(xué)生是否有過(guò)掛科經(jīng)歷,計(jì)算沒(méi)有掛科經(jīng)歷學(xué)生的平均分,輸出有掛科經(jīng)歷和平均分小于一定值的學(xué)生前置條件數(shù)據(jù)已被成功導(dǎo)入結(jié)構(gòu)體中后置條件學(xué)生被成功分類并輸出掛科風(fēng)險(xiǎn)較高的學(xué)生此用例屬于分類需求表3-6判斷高風(fēng)險(xiǎn)課程用例用例6名稱高風(fēng)險(xiǎn)課程功能輸出掛科風(fēng)險(xiǎn)較高的課程描述分析所有課程的掛科風(fēng)險(xiǎn),輸出掛科風(fēng)險(xiǎn)較高的課程輸入學(xué)生各門(mén)課程的成績(jī)來(lái)源結(jié)構(gòu)體輸出課程名目的地高風(fēng)險(xiǎn)課程數(shù)組行動(dòng)計(jì)算所有課程的掛科率,若某課程的掛科率高于一定值,則認(rèn)定該課程為高風(fēng)險(xiǎn)課程,輸出所有高風(fēng)險(xiǎn)課程前置條件數(shù)據(jù)已被成功導(dǎo)入結(jié)構(gòu)體中后置條件課程被成功分類并輸出高風(fēng)險(xiǎn)課程此用例屬于分類需求表3-7聚類用例用例7名稱聚類功能對(duì)學(xué)生進(jìn)行聚類描述識(shí)別出噪聲點(diǎn),將學(xué)生劃入不同的簇,輸出聚類結(jié)果輸入學(xué)生的姓名,各門(mén)課程的成績(jī)來(lái)源結(jié)構(gòu)體輸出學(xué)生各門(mén)課程的新成績(jī)目的地聚類數(shù)組行動(dòng)系統(tǒng)依次讀取每個(gè)學(xué)生的信息,通過(guò)聚類算法判斷其是否為噪聲點(diǎn),對(duì)不是噪聲點(diǎn)的學(xué)生判斷其應(yīng)該被歸入哪一個(gè)簇,直到所有學(xué)生都判斷完畢前置條件數(shù)據(jù)已被成功導(dǎo)入結(jié)構(gòu)體中后置條件學(xué)生被成功聚類并輸出聚類結(jié)果此用例屬于聚類需求表3-8導(dǎo)出文件用例用例8名稱導(dǎo)出文件功能將挖掘結(jié)果導(dǎo)出至文件描述將各數(shù)組中存儲(chǔ)的挖掘結(jié)果導(dǎo)出至文件輸入文件地址,挖掘結(jié)果來(lái)源各數(shù)組輸出挖掘結(jié)果目的地文件行動(dòng)系統(tǒng)創(chuàng)建文件,依次讀取每個(gè)數(shù)組內(nèi)的信息,輸出到文件前置條件挖掘結(jié)果成功存入數(shù)組內(nèi)后置條件文件成功生成并寫(xiě)入數(shù)據(jù)此用例屬于導(dǎo)出文件需求第四章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)概要設(shè)計(jì)4.1。1系統(tǒng)體系結(jié)構(gòu)本系統(tǒng)使用容器體系結(jié)構(gòu)。當(dāng)一個(gè)系統(tǒng)需要生成大量數(shù)據(jù)并持久保存時(shí),一般使用容器體系結(jié)構(gòu)。容器體系結(jié)構(gòu)的優(yōu)點(diǎn)是各個(gè)功能組件是相互獨(dú)立的,它們無(wú)需知道其他組件的存在,在運(yùn)行時(shí)也不會(huì)受到其他組件的影響。一個(gè)組件的變更可以傳播到其他所有的組件,所有數(shù)據(jù)可以得到一致的管理。具體到本系統(tǒng)來(lái)說(shuō),采用容器體系結(jié)構(gòu)可以使挖掘結(jié)果持久保存,可以比較方便的管理學(xué)生信息,各組件之間交互性不強(qiáng),可避免因一個(gè)組件發(fā)生錯(cuò)誤影響到其他組件的功能.交互器交互器人機(jī)交互導(dǎo)入文件人機(jī)交互導(dǎo)入文件導(dǎo)出文件導(dǎo)出文件數(shù)據(jù)預(yù)處理器聚類數(shù)據(jù)預(yù)處理器聚類器項(xiàng)目容器關(guān)聯(lián)規(guī)則計(jì)算縮放比例生成簇分類結(jié)果識(shí)別噪聲點(diǎn)學(xué)生信息縮放數(shù)據(jù)計(jì)算最值關(guān)聯(lián)規(guī)則計(jì)算縮放比例生成簇分類結(jié)果識(shí)別噪聲點(diǎn)學(xué)生信息縮放數(shù)據(jù)計(jì)算最值聚類結(jié)果聚類結(jié)果分類器分類器關(guān)聯(lián)規(guī)則挖掘器課程分類學(xué)生分類課程分類學(xué)生分類生成規(guī)則分析關(guān)聯(lián)生成規(guī)則分析關(guān)聯(lián)圖4—1學(xué)生成績(jī)分析系統(tǒng)體系結(jié)構(gòu)圖系統(tǒng)包括導(dǎo)入數(shù)據(jù)、數(shù)據(jù)預(yù)處理、關(guān)聯(lián)規(guī)則、分類和聚類五個(gè)組件,組件間相互平行互不干涉.所有組件共享的學(xué)生信息和各組件生成的挖掘結(jié)果存放在項(xiàng)目容器中,這提高了數(shù)據(jù)傳輸?shù)男?各組件下有若干子功能模塊4.1.2系統(tǒng)數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組記錄學(xué)生信息,每一個(gè)結(jié)構(gòu)體代表一個(gè)學(xué)生。每個(gè)結(jié)構(gòu)體內(nèi)有用字符串?dāng)?shù)組存儲(chǔ)的學(xué)生姓名,用一維整數(shù)數(shù)組存儲(chǔ)的學(xué)生成績(jī)(若學(xué)生成績(jī)保留小數(shù)可改用浮點(diǎn)數(shù)數(shù)組),用整數(shù)存儲(chǔ)的平均分。還可根據(jù)各學(xué)校的具體需求加入性別、學(xué)號(hào)、學(xué)院、專業(yè)等信息.采用二維整數(shù)數(shù)組記錄關(guān)聯(lián)規(guī)則,二維數(shù)組的行數(shù)和列數(shù)與課程數(shù)相等,數(shù)組中的每個(gè)元素代表其行標(biāo)和列標(biāo)所對(duì)應(yīng)的兩門(mén)課程的關(guān)聯(lián)。采用一維整數(shù)數(shù)組記錄高風(fēng)險(xiǎn)課程的編號(hào)。采用二維字符串?dāng)?shù)組記錄高風(fēng)險(xiǎn)學(xué)生和和聚類結(jié)果,每一行對(duì)應(yīng)一名學(xué)生。4.2系統(tǒng)詳細(xì)設(shè)計(jì)4.2。1文件導(dǎo)入數(shù)據(jù)圖4-2文件導(dǎo)入數(shù)據(jù)時(shí)序圖首先用戶將導(dǎo)入數(shù)據(jù)文件的請(qǐng)求和數(shù)據(jù)文件的地址發(fā)送給openfile,openfile對(duì)系統(tǒng)中已經(jīng)定義的結(jié)構(gòu)體進(jìn)行初始化。初始化完成后,openfile打開(kāi)文件并開(kāi)始從文件中讀取數(shù)據(jù),并存入結(jié)構(gòu)體中.循環(huán)這一過(guò)程,直到所有的數(shù)據(jù)都被存入了結(jié)構(gòu)體中,openfile關(guān)閉文件,并向用戶輸出“成功導(dǎo)入文件”4。2.2數(shù)據(jù)預(yù)處理本系統(tǒng)所采用的數(shù)據(jù)為大學(xué)生各門(mén)課程的考試成績(jī),均為百分制,數(shù)據(jù)的準(zhǔn)確性、完整性、一致性和可信性都比較高,無(wú)需涉及填補(bǔ)缺失值和過(guò)濾噪聲點(diǎn)等處理,數(shù)據(jù)預(yù)處理的工作較為簡(jiǎn)單??紤]到不同課程間難易程度存在區(qū)別和閱卷教師存在主觀差異,需對(duì)數(shù)據(jù)做出一定處理。例如全體學(xué)生中課程A的最高分為95分,最低分為55分,課程B的最高分為85分,最低分為35分,應(yīng)對(duì)課程A和課程B的成績(jī)進(jìn)行一定處理,使得A和B的最高分處在同一成績(jī)區(qū)間,最低分也處在同一成績(jī)區(qū)間。按照一些教育領(lǐng)域中用百分比(即排名)替代分?jǐn)?shù)來(lái)表述成績(jī)是一個(gè)可行的辦法,但這種方法有其一定的局限性。對(duì)于選拔性考試來(lái)說(shuō),這種辦法是非常合理的,因?yàn)檫x拔性考試只按照成績(jī)高低排序擇優(yōu)錄取,而無(wú)需考慮這些成績(jī)之間差距的大小。但對(duì)于本系統(tǒng)涉及到的算法來(lái)說(shuō),成績(jī)間的差值顯然是不能忽略的.若采用排名的方式代替分?jǐn)?shù)表述成績(jī),在一些特定情況下會(huì)對(duì)產(chǎn)生較大誤差.如某一門(mén)課程中,有5名學(xué)生得分82分,10名學(xué)生得分81分,1名學(xué)生得分80分。則得到82分的學(xué)生和得到80分的學(xué)生之間的相差15個(gè)名次,顯然遠(yuǎn)大于兩者之間2分的分?jǐn)?shù)差。故對(duì)成績(jī)的預(yù)處理采用的方法為選取一門(mén)課程的最高分和最低分為標(biāo)準(zhǔn),將其他課程所有學(xué)生的成績(jī)等比例放大或縮小,使得所有課程的最高分與最低分一致,消除課程難度的客觀因素和閱卷教師的主觀因素對(duì)成績(jī)的影響.一些國(guó)外大學(xué)用ABCD的方式取代百分制對(duì)學(xué)生進(jìn)行評(píng)價(jià),當(dāng)學(xué)生成績(jī)中存在不同評(píng)價(jià)標(biāo)準(zhǔn)的成績(jī)時(shí),應(yīng)對(duì)成績(jī)進(jìn)行處理,統(tǒng)一標(biāo)準(zhǔn)??紤]到絕大部分國(guó)內(nèi)大學(xué)所有課程均采用百分制對(duì)學(xué)生進(jìn)行評(píng)價(jià),故本系統(tǒng)不再進(jìn)行成績(jī)轉(zhuǎn)換功能的開(kāi)發(fā)。圖4—3數(shù)據(jù)預(yù)處理時(shí)序圖用戶向pretreatment發(fā)出數(shù)據(jù)預(yù)處理請(qǐng)求,pretreat(yī)ment從結(jié)構(gòu)體中讀取學(xué)生成績(jī)信息并進(jìn)行預(yù)處理,預(yù)處理結(jié)束后將新的成績(jī)?cè)俅嫒虢Y(jié)構(gòu)體中4。2.3關(guān)聯(lián)規(guī)則關(guān)聯(lián)規(guī)則功能模塊的關(guān)鍵點(diǎn)有兩個(gè),一是用什么樣的標(biāo)準(zhǔn)判斷兩門(mén)課程是否存在關(guān)聯(lián),二是如何挖掘各門(mén)課程的關(guān)聯(lián)規(guī)則。對(duì)于如何判斷兩門(mén)課程存在關(guān)聯(lián)的問(wèn)題,從現(xiàn)有的數(shù)據(jù)來(lái)看,用兩門(mén)課程成績(jī)的接近程度來(lái)判斷是否存在關(guān)聯(lián)是一個(gè)比較合理的方式.判斷兩門(mén)課程的成績(jī)是否接近有等寬和等深兩種方式.等寬的方式為將所有學(xué)生各門(mén)課程的成績(jī)按照一定的寬度分為若干個(gè)區(qū)間(根據(jù)大多數(shù)高校的計(jì)分制度,本系統(tǒng)按照每10分一個(gè)區(qū)間將成績(jī)分為10個(gè)區(qū)間),處在一個(gè)成績(jī)區(qū)間內(nèi)的課程即認(rèn)為成績(jī)足夠接近存在關(guān)聯(lián)。但這種判斷標(biāo)準(zhǔn)有一定缺陷,在一些特定情況下會(huì)產(chǎn)生較大的誤差。例如某學(xué)生課程A的成績(jī)?yōu)?1分,課程B的成績(jī)?yōu)?9分,課程C的成績(jī)?yōu)椋福狈?。按照等寬的判斷?biāo)準(zhǔn),課程B和課程C存在關(guān)聯(lián),課程A與課程B和C均無(wú)關(guān)聯(lián)。但是按照我們的常識(shí)來(lái)講,毫無(wú)疑問(wèn)課程A和課程B的成績(jī)更為接近,二者僅相差2分,應(yīng)該認(rèn)定為存在關(guān)聯(lián)。導(dǎo)致這種現(xiàn)象的原因是衡量?jī)砷T(mén)課程是否接近應(yīng)該依據(jù)兩門(mén)課程成績(jī)的差值,無(wú)需考慮成績(jī)的絕對(duì)值.而采用等寬方式判斷成績(jī)是否接近的方法無(wú)疑會(huì)受到成績(jī)絕對(duì)值的影響.之后我嘗試采用等深的方式判斷課程關(guān)聯(lián),在一定程度上避免絕對(duì)值影響判斷的問(wèn)題,但是又帶來(lái)了新的問(wèn)題,即如何劃定深度。由于各高校在計(jì)算考試成績(jī)時(shí)無(wú)需考慮成績(jī)差值,所以在這方面無(wú)經(jīng)驗(yàn)和先例可循.若采用動(dòng)態(tài)劃定深度的方式(即根據(jù)每個(gè)學(xué)生最高分和最低分之間的差值劃定不同的深度)可在一定程度上得到比較合理的結(jié)果,但此種方法缺乏教育學(xué)理論的支持,僅作為參考。綜上所述,本系統(tǒng)采取應(yīng)用較為廣泛、能為大多數(shù)人所接受的等寬的方式判斷兩門(mén)課程的成績(jī)是否接近。本系統(tǒng)采用Apriori算法挖掘各門(mén)課程的關(guān)聯(lián)規(guī)則。Apriori算法是應(yīng)用最為廣泛的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法。Apriori算法也有一定的缺陷,主要表現(xiàn)在可能產(chǎn)生大量的候選集,以及可能需要重復(fù)掃描數(shù)據(jù)庫(kù)。但是對(duì)于應(yīng)用于普通高校的學(xué)生成績(jī)分析系統(tǒng)來(lái)說(shuō),其課程數(shù)和學(xué)生數(shù)都是很有限的,現(xiàn)代高性能計(jì)算機(jī)可以迅速完成上述工作。因此對(duì)于本系統(tǒng)來(lái)說(shuō),Apriori算法的一些固有缺陷是完全可以接受的。圖4—4關(guān)聯(lián)規(guī)則挖掘時(shí)序圖用戶向associationrules發(fā)出挖掘關(guān)聯(lián)規(guī)則請(qǐng)求,associationrules從結(jié)構(gòu)體中讀取學(xué)生成績(jī)信息并進(jìn)行分析關(guān)聯(lián),處理完成后將關(guān)聯(lián)數(shù)據(jù)存入關(guān)聯(lián)數(shù)組,然后統(tǒng)計(jì)關(guān)聯(lián)數(shù)組中的頻繁項(xiàng),生成關(guān)聯(lián)規(guī)則并存入關(guān)聯(lián)規(guī)則數(shù)組4.2.4分類本系統(tǒng)采用決策樹(shù)算法來(lái)實(shí)現(xiàn)分類預(yù)測(cè)功能,主要預(yù)測(cè)全體在校學(xué)生是否有掛科風(fēng)險(xiǎn),以及掛科風(fēng)險(xiǎn)比較高的課程.在現(xiàn)有數(shù)據(jù)條件下,決策樹(shù)選取該學(xué)生已經(jīng)完成學(xué)習(xí)的課程中是否有掛科和所有已經(jīng)完成學(xué)習(xí)的課程的平均成績(jī)是否低于一個(gè)特定值來(lái)作為測(cè)試屬性。如果某學(xué)生有過(guò)掛科經(jīng)歷,說(shuō)明該學(xué)生在學(xué)習(xí)態(tài)度、學(xué)習(xí)方法或?qū)W習(xí)能力方面存在一定問(wèn)題,那么他在今后學(xué)習(xí)其他課程的過(guò)程中會(huì)比其他學(xué)生掛科的可能性更大,這種因果聯(lián)系符合一般人的認(rèn)知,因此選擇是否有掛科經(jīng)歷作為一個(gè)測(cè)試屬性。若某學(xué)生各門(mén)課程的成績(jī)較低(平均分低于某一特定值),他顯然比其他成績(jī)更好的學(xué)生要承擔(dān)更多的掛科風(fēng)險(xiǎn),因此選擇平均成績(jī)是否低于一個(gè)特定值來(lái)作為另一個(gè)測(cè)試屬性。本算法將某一課程以畢業(yè)學(xué)生的掛科率作為衡量該課程是否為高風(fēng)險(xiǎn)課程的測(cè)試屬性,將掛科率高于某一特定值的課程作為高風(fēng)險(xiǎn)課程,此參數(shù)可由教務(wù)工作人員根據(jù)本專業(yè)的課程難度和生源水平等實(shí)際情況進(jìn)行調(diào)整。圖4-5分類時(shí)序圖用戶向classify發(fā)出分類請(qǐng)求,classify從結(jié)構(gòu)體中讀取學(xué)生成績(jī)信息并進(jìn)行分析處理,將高風(fēng)險(xiǎn)學(xué)生的姓名存入高風(fēng)險(xiǎn)學(xué)生數(shù)組中并輸出給用戶。學(xué)生分類完成后,classify對(duì)課程進(jìn)行分析,將高風(fēng)險(xiǎn)課程的名字存入高風(fēng)險(xiǎn)課程數(shù)組中并輸出給用戶4.2.5聚類本系統(tǒng)使用聚類算法對(duì)學(xué)生進(jìn)行聚類,根據(jù)聚類結(jié)果分析學(xué)生在校表現(xiàn)和成績(jī)之間的關(guān)聯(lián)性。K-means算法是數(shù)據(jù)挖掘領(lǐng)域應(yīng)用最為廣泛的聚類算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。該算法認(rèn)為簇是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo).從這些方面來(lái)看,K-means算法是比較符合本系統(tǒng)對(duì)于聚類算法的要求的。但K—means算法同樣有一些固有缺點(diǎn).首先是K-means算法需要不斷地進(jìn)行樣本分類調(diào)整,不斷地計(jì)算調(diào)整后的新的聚類中心,因此當(dāng)數(shù)據(jù)量非常大時(shí),算法的時(shí)間開(kāi)銷是非常大的.不過(guò)出于和采用Apriori算法同樣的理由,時(shí)間復(fù)雜度高的缺點(diǎn)可以忽略。其次,在K-means算法中K是事先給定的,這個(gè)K值的選定是非常難以估計(jì)的.很多時(shí)候,事先并不知道給定的數(shù)據(jù)集應(yīng)該分成多少個(gè)類別才最合適。在本系統(tǒng)中,被聚類的對(duì)象是學(xué)生,即使對(duì)于同一所高校甚至是同一專業(yè)的學(xué)生來(lái)說(shuō),學(xué)生間的個(gè)體差異也是很大的,因此無(wú)法事先估算出K值。而且在使用K—means算法時(shí),首先需要根據(jù)初始聚類中心來(lái)確定一個(gè)初始劃分,然后對(duì)初始劃分進(jìn)行優(yōu)化,且初始聚類中心的選擇對(duì)聚類結(jié)果的影響非常大。基于和無(wú)法事先估算K值相同的理由,聚類中心也很難在事先做出選擇.因此,K—means算法并不適用于本系統(tǒng)。DBSCAN算法也是一種應(yīng)用比較廣泛的聚類算法。與K—means算法相比,DBSCAN算法不需要事先知道要形成的簇類的數(shù)量,而且DBSCAN算法可以發(fā)現(xiàn)任意形狀,顯然更加適合本系統(tǒng)的需求。圖4-6聚類時(shí)序圖用戶向clustering發(fā)出聚類請(qǐng)求,clustering從結(jié)構(gòu)體中讀取學(xué)生成績(jī)信息并進(jìn)行分析處理,聚類完成后,將聚類結(jié)果存入聚類數(shù)組中并輸出給用戶4。2.6導(dǎo)出文件圖4—7導(dǎo)出文件時(shí)序圖首先用戶將導(dǎo)出數(shù)據(jù)至文件的請(qǐng)求和創(chuàng)建文件的地址發(fā)送給creatfile,creatfile在指定地址創(chuàng)建文件.創(chuàng)建文件完成后,creat(yī)file依次從存放關(guān)聯(lián)規(guī)則、分類結(jié)果和聚類結(jié)果的數(shù)組中讀取數(shù)據(jù),依次存入文件中。循環(huán)這一過(guò)程,直到所有的數(shù)據(jù)都被存入了文件中,向用戶輸出“成功導(dǎo)出數(shù)據(jù)至文件"4.3系統(tǒng)實(shí)現(xiàn)4。3.1文件導(dǎo)入數(shù)據(jù)圖4—8文件導(dǎo)入數(shù)據(jù)類圖將文件內(nèi)的數(shù)據(jù)存入系統(tǒng)已定義的結(jié)構(gòu)體中,每一個(gè)學(xué)生對(duì)應(yīng)一個(gè)結(jié)構(gòu)體4.3。2數(shù)據(jù)預(yù)處理圖4—9數(shù)據(jù)預(yù)處理類圖通過(guò)計(jì)算全體學(xué)生成績(jī)的最大值和最小值以及各課程成績(jī)的最大值和最小值確定對(duì)各課程成績(jī)的縮放比例,并更新成績(jī)數(shù)據(jù)4.3.3關(guān)聯(lián)規(guī)則圖4-10關(guān)聯(lián)規(guī)則挖掘類圖創(chuàng)建2個(gè)二維數(shù)組,1個(gè)用來(lái)統(tǒng)計(jì)課程關(guān)聯(lián)數(shù),1個(gè)用來(lái)記錄關(guān)聯(lián)規(guī)則。判斷學(xué)生成績(jī)是否關(guān)聯(lián),若某一名學(xué)生的第i門(mén)課程和第j門(mén)課程的成績(jī)相關(guān),則使課程關(guān)聯(lián)數(shù)數(shù)組的第『i—1』『j-1』項(xiàng)加1.在全體學(xué)生的所有成績(jī)都分析完成后,判斷課程關(guān)聯(lián)數(shù)數(shù)組各項(xiàng)的值是否大于最小支持度。若第『i—1』『j—1』項(xiàng)的值大于最小支持度,則令關(guān)聯(lián)規(guī)則數(shù)組第『i-1』『j—1』項(xiàng)的值為14。3.4分類圖4-11分類類圖創(chuàng)建來(lái)兩個(gè)數(shù)組,一個(gè)用來(lái)統(tǒng)計(jì)有掛科風(fēng)險(xiǎn)的學(xué)生,一個(gè)用來(lái)統(tǒng)計(jì)高風(fēng)險(xiǎn)課程。計(jì)算每個(gè)學(xué)生的平均分并存入結(jié)構(gòu)體中,分析學(xué)生的掛科風(fēng)險(xiǎn),若學(xué)生有掛科經(jīng)歷或平均分低于某一特定值,則將其放入數(shù)組中。計(jì)算每門(mén)課程的掛科率,若掛科率大于某一特定值,則將其放入數(shù)組中4。3.5聚類圖4-12聚類類圖任選一個(gè)未被訪問(wèn)過(guò)的點(diǎn)開(kāi)始,找出與其距離某特定值內(nèi)的所有附近點(diǎn),如果附近點(diǎn)的數(shù)量大于某一特定值,則當(dāng)前點(diǎn)與其附近點(diǎn)形成一個(gè)簇,并且出發(fā)點(diǎn)被標(biāo)記為已訪問(wèn).然后遞歸,以相同的方法處理該簇內(nèi)所有未被標(biāo)記為已訪問(wèn)的點(diǎn),從而對(duì)簇進(jìn)行擴(kuò)展.如果附近點(diǎn)的數(shù)量小于某一特定值,則該點(diǎn)暫時(shí)被標(biāo)記作為噪聲點(diǎn).如果簇充分地被擴(kuò)展,即簇內(nèi)的所有點(diǎn)被標(biāo)記為已訪問(wèn),然后用同樣的算法去處理未被訪問(wèn)的點(diǎn)。直到所有點(diǎn)都在簇中或被標(biāo)記為噪聲點(diǎn),將聚類結(jié)果輸出到數(shù)組中4。3.6導(dǎo)出文件圖4-13導(dǎo)出文件類圖將關(guān)聯(lián)規(guī)則、分類結(jié)果和聚類結(jié)果導(dǎo)出到文件4.4系統(tǒng)應(yīng)用圖4-14歡迎界面可根據(jù)用戶具體需求設(shè)置不同歡迎文字或登錄功能圖4-15主界面本系統(tǒng)為學(xué)校內(nèi)部所使用的辦公軟件,所以并不追求華麗的界面。主界面以簡(jiǎn)潔為主要訴求,方便用戶上手的同時(shí)也可加快軟件運(yùn)行速度圖4-16導(dǎo)入文件單擊導(dǎo)入文件按鈕后彈出窗口讓用戶搜索文件圖4-17導(dǎo)入文件成功圖4—18數(shù)據(jù)預(yù)處理圖4-19輸出關(guān)聯(lián)規(guī)則在文本框內(nèi)輸出關(guān)聯(lián)課程,并使用坐標(biāo)系較為直觀地展示課程關(guān)聯(lián)性.XY軸分別為兩門(mén)課程的成績(jī),每個(gè)點(diǎn)代表一個(gè)學(xué)生圖4-20輸出分類結(jié)果圖4—21輸出聚類結(jié)果第五章結(jié)論本文主要圍繞基于數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)管理系統(tǒng),系統(tǒng)地闡述了系統(tǒng)所涉及的技術(shù)知識(shí)、領(lǐng)域知識(shí)。運(yùn)用Windows7作為開(kāi)發(fā)環(huán)境,Eclipse作為開(kāi)發(fā)平臺(tái),Java作為開(kāi)發(fā)語(yǔ)言.從學(xué)生成績(jī)管理系統(tǒng)的實(shí)際需求出發(fā),運(yùn)用關(guān)聯(lián)規(guī)則挖掘技術(shù)、分類技術(shù)、聚類技術(shù)和相關(guān)編程技術(shù)完成了數(shù)據(jù)挖掘技術(shù)的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)。本系統(tǒng)擁有簡(jiǎn)潔直觀的界面,可用從文件導(dǎo)入數(shù)據(jù),將挖掘結(jié)果導(dǎo)出至文件,實(shí)現(xiàn)了關(guān)聯(lián)規(guī)則挖掘功能,學(xué)生分類功能,課程分類功能,學(xué)生聚類功能,并且在一定程度上以可視化的方式將挖掘結(jié)果直觀地呈現(xiàn)給用戶。市面上有很多功能強(qiáng)大的的數(shù)據(jù)挖掘軟件都能實(shí)現(xiàn)這些功能,甚至還能提供多種算法供用戶選擇.但對(duì)于教務(wù)管理工作來(lái)說(shuō),這些專業(yè)軟件的功能大大超出了管理和分析學(xué)生成績(jī)的需求,這使得軟件的大部分功能都成為了冗余功能,是軟件的運(yùn)行速度大打折扣,復(fù)雜的界面對(duì)于沒(méi)有數(shù)據(jù)挖掘背景的教務(wù)工作者來(lái)說(shuō)也增加了軟件的上手難度.本系統(tǒng)從學(xué)生成績(jī)分析系統(tǒng)的實(shí)際需求出發(fā),意圖用最簡(jiǎn)潔的界面和最簡(jiǎn)單的功能滿足學(xué)生成績(jī)管理工作的需求.由于本人的算法設(shè)計(jì)能力和編程能力有限,本系統(tǒng)還有許多可以繼續(xù)完善的地方.首先,系統(tǒng)的界面雖然簡(jiǎn)潔直觀,但是還不夠美觀,且人機(jī)工程方面也有改進(jìn)的空間.其次,可視化功能也不夠強(qiáng)大,大部分挖掘結(jié)果仍然通過(guò)文字的方式呈現(xiàn)給用戶.算法的合理性也沒(méi)有得到充分的驗(yàn)證。由于數(shù)據(jù)真實(shí)度有限,目前對(duì)挖掘的結(jié)果的分析工作做得還不夠,無(wú)法對(duì)算法的合理性作出明確的判斷。主要是無(wú)法根據(jù)挖掘結(jié)果對(duì)算法中的各種參數(shù)進(jìn)行調(diào)整。未來(lái)通過(guò)分析真實(shí)數(shù)據(jù)的挖掘結(jié)果,可對(duì)算法的合理性進(jìn)行深入分析,通過(guò)調(diào)整各種參數(shù)來(lái)進(jìn)一步調(diào)整各挖掘算法,使挖掘結(jié)果更加合理。此外,還可根據(jù)各學(xué)院的實(shí)際需求加入身份驗(yàn)證、成績(jī)轉(zhuǎn)換等功能,使本系統(tǒng)能適應(yīng)更多學(xué)院的實(shí)際情況。我會(huì)在今后的學(xué)習(xí)中進(jìn)一步學(xué)習(xí)數(shù)據(jù)挖掘知識(shí)和編程技術(shù),持續(xù)改進(jìn)本系統(tǒng)。參考文獻(xiàn)HanJiawei,KamberMicheline.《數(shù)據(jù)挖掘:概念與技術(shù)》.機(jī)械工業(yè)出版社.2012毛國(guó)軍,段立娟.《數(shù)據(jù)挖掘原理與算法》。清華大學(xué)出版社.2007韋斯,馮舜璽。《數(shù)據(jù)結(jié)構(gòu)與算法》.機(jī)械工業(yè)出版社.2009朱慶生,古平?!禞ava程序設(shè)計(jì)》。清華大學(xué)出版社。2011趙真.《Eclipse開(kāi)發(fā)技術(shù)詳解》.化學(xué)工業(yè)出版社.2010姚昀.《以個(gè)性化教育為導(dǎo)向大學(xué)多元化人才培養(yǎng)探析》.中南林業(yè)科技大學(xué)學(xué)報(bào).2012年03期鮑俊男?!秾W(xué)生成績(jī)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》.北京工業(yè)大學(xué).2012曾澤林,段明秀.《基于密度的聚類算法DBSCAN的研究與實(shí)現(xiàn)》.吉林大學(xué)。2012趙松.《Apriori算法的改進(jìn)及應(yīng)用》.哈爾濱理工大學(xué)。2006尹暉。《決策樹(shù)算法的研究與應(yīng)用》.蘭州大學(xué).2009致謝首先,我要特別感謝我的畢業(yè)論文導(dǎo)師牛琨老師。牛琨老師不僅在數(shù)據(jù)挖掘的技術(shù)上給予我很多指導(dǎo),更用專業(yè)嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)態(tài)度深深影響了我.其次,我要感謝中期審查組的牛琨老師、王樅老師和李朝暉老師。三位老師對(duì)我的中期檢查情況提出了寶貴的意見(jiàn)和建議,這為我后續(xù)的工作提供了指導(dǎo)。此外,我還要感謝給予我無(wú)私幫助的常笑同學(xué)、劉茂銘同學(xué)和賈曉陽(yáng)同學(xué).最后,我要感謝所有在畢業(yè)設(shè)計(jì)上幫助過(guò)我的人.學(xué)生成績(jī)管理系統(tǒng)目錄TOC\o"1-3”\h\z\u設(shè)計(jì)內(nèi)容PAGEREF_Toc248762130\h2HYPERLINK\l"_Toc248762131”設(shè)計(jì)目的PAGEREF_Toc248762131\h2設(shè)計(jì)要求48762132\h2設(shè)計(jì)分析PAGEREF_Toc248762133\h2HYPERLINK\l"_Toc248762134"子程序分析PAGEREF_Toc248762134\h7操作說(shuō)明PAGEREF_Toc248762135\h10HYPERLINK\l"_Toc248762136"程序代碼PAGEREF_Toc248762136\h11HYPERLINK\l"_Toc248762137”總結(jié)PAGEREF_Toc248762137\h30參考文獻(xiàn)PAGEREF_Toc248762138\h30設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理程序,要求能實(shí)現(xiàn)以下功能:各科成績(jī)的錄入,修改和刪除。按姓名查詢每個(gè)學(xué)生各門(mén)課的成績(jī)。顯示查詢結(jié)果。統(tǒng)計(jì)個(gè)分?jǐn)?shù)段的人數(shù)。5)打印學(xué)生成績(jī)。設(shè)計(jì)目的用匯編數(shù)據(jù)的錄入、修改和刪除操作。設(shè)計(jì)要求學(xué)習(xí)如何用匯編語(yǔ)言進(jìn)行數(shù)據(jù)處理.設(shè)計(jì)分析1??傮w結(jié)構(gòu)整個(gè)程序采用主程序調(diào)用子程序的方法.主程序完成菜單的顯示,子程序完成一個(gè)獨(dú)立功能方法的實(shí)現(xiàn).各子程序的實(shí)現(xiàn)方法簡(jiǎn)要描述如下:1)設(shè)計(jì)INSERT(錄入)子程序,先打開(kāi)文件SCORE。TXT,并置文件指針到文件尾,然后調(diào)用GET_REC子程序接受用戶的輸入,再把用戶的輸入寫(xiě)入文件,最后關(guān)閉文件返回主程序.2)設(shè)計(jì)Delete(刪除)子程序,先打開(kāi)文件,再調(diào)用宏GETIN得到要?jiǎng)h除的學(xué)生的姓名,然后讀文件中的記錄,直到其記錄的名字與所輸入的名字相同為止,把文件指針后退8個(gè)字符(即4門(mén)課成績(jī)所占的空間),寫(xiě)入8個(gè)“0”3)設(shè)計(jì)List(瀏覽)子程序時(shí),先打開(kāi)文件,然后讀一個(gè)記錄,并通過(guò)調(diào)用宏SHOW_ITEM將其顯示到屏幕上,入文件指針沒(méi)有到達(dá)文件尾,則繼續(xù)讀記錄并顯示,當(dāng)指針到達(dá)文件尾時(shí),則關(guān)閉文件返回主程序.4)設(shè)計(jì)Modify(修改)子程序時(shí),先打開(kāi)文件SCORE。TXT,通用GER_REC得到要修改的記錄,然后讀文件中的記錄,并與用戶輸入的記錄做比較(只比較記錄中的名字部分),若不同則噸下一條記錄,若相同則將文件指針后退23個(gè)字符(一個(gè)記錄為23個(gè)字符的長(zhǎng)度),然后把用戶輸入的記錄寫(xiě)入文件,最后關(guān)閉文件返回主程序。5)設(shè)計(jì)Count(統(tǒng)計(jì))子程序時(shí),先打開(kāi)文件,然后讀記錄,比較記錄的第16個(gè)字符,數(shù)學(xué)成績(jī)的高位),并統(tǒng)計(jì),直到文件指針到達(dá)文件尾,最后關(guān)閉文件調(diào)用宏SHOW_ITEM顯示統(tǒng)計(jì)結(jié)果,返會(huì)主程序。6)設(shè)計(jì)Query(查詢)子程序時(shí),先打開(kāi)文件,通過(guò)調(diào)用宏GETIN得到要查找學(xué)生的姓名,然后讀文件記錄,并同要查找的學(xué)生姓名比較,若相同則輸出,若不同繼續(xù)讀文件記錄,最后顯示查詢結(jié)果,關(guān)閉文件返回程序.另外還有打印的分?jǐn)?shù)段人數(shù)統(tǒng)計(jì),這些結(jié)合后面的子程序功能分析做詳細(xì)介紹。圖1是本設(shè)計(jì)顯示記錄的界面圖1學(xué)生成績(jī)管理系統(tǒng)界面程序流程圖如圖2所示入口入口入口入口打開(kāi)文件打開(kāi)文件打開(kāi)文件打開(kāi)文件置指針到文件尾讀一個(gè)記錄置指針到文件尾讀一個(gè)記錄從終端接收用戶輸入的記錄讀錯(cuò)?Y從終端接收用戶輸入的記錄讀錯(cuò)?記錄寫(xiě)入文件顯示錯(cuò)誤信息N記錄寫(xiě)入文件顯示錯(cuò)誤信息文件尾?Y文件尾?關(guān)閉文件關(guān)閉文件關(guān)閉文件N關(guān)閉文件顯示記錄顯示記錄返回返回返回返回A)List流程圖B)Insert流程圖打開(kāi)文件返回返回文件刪除記錄姓名相同?讀一條記錄接收被刪除記錄的學(xué)生姓名入口返回關(guān)閉文件顯示統(tǒng)計(jì)結(jié)果指針到達(dá)文件尾對(duì)數(shù)學(xué)成績(jī)分段并統(tǒng)計(jì)打開(kāi)文件讀一個(gè)記錄入口入口打開(kāi)文件讀一個(gè)記錄是否為要修改的記錄返回關(guān)閉文件顯示記錄返回寫(xiě)入修改記錄并關(guān)閉文件文件指針后退一個(gè)記錄是否為所尋找的記錄讀一個(gè)記錄打開(kāi)文件入口打開(kāi)文件返回返回文件刪除記錄姓名相同?讀一條記錄接收被刪除記錄的學(xué)生姓名入口返回關(guān)閉文件顯示統(tǒng)計(jì)結(jié)果指針到達(dá)文件尾對(duì)數(shù)學(xué)成績(jī)分段并統(tǒng)計(jì)打開(kāi)文件讀一個(gè)記錄入口入口打開(kāi)文件讀一個(gè)記錄是否為要修改的記錄返回關(guān)閉文件顯示記錄返回寫(xiě)入修改記錄并關(guān)閉文件文件指針后退一個(gè)記錄是否為所尋找的記錄讀一個(gè)記錄打開(kāi)文件入口YYNNNYNY開(kāi)始開(kāi)始調(diào)用Query子程序調(diào)用Delete子程序調(diào)用Insert子程序調(diào)用Count子程序調(diào)用Modify子程序調(diào)用Iist子程序顯示菜單輸入一個(gè)字符結(jié)束是E是I是C是M是D是Q是L調(diào)用Query子程序調(diào)用Delete子程序調(diào)用Insert子程序調(diào)用Count子程序調(diào)用Modify子程序調(diào)用Iist子程序顯示菜單輸入一個(gè)字符結(jié)束是E是I是C是M是D是Q是LYNYNYNYNYNYNNY在大型的程序中,為了使程序清晰、可讀性好,一般會(huì)大量使用宏和子程序,因此,充分了解這些宏和子程序,才能掌握程序的編制方法。2.宏的分析本題中使用了下列宏,其作用如下:SHOW:用來(lái)指定地址的顯示字符串,有一個(gè)地址參數(shù)SET_P1:設(shè)定光標(biāo)位置,有一個(gè)可變參數(shù)a,作用是講光標(biāo)置于坐標(biāo)(a,36)處,使用了BIOS中斷10H的2號(hào)功能.SET_P2:將光標(biāo)置于(12,2)處。SET_P3:將光標(biāo)置于(1,30)處。CLEAR:清除整個(gè)屏幕,用BIOS中斷10H的7號(hào)功能實(shí)現(xiàn),范圍是從坐標(biāo)(0,0)到(24,79),將整個(gè)區(qū)域變?yōu)榭瞻?CLEAR1:清除有半部分屏幕,清除范圍從坐標(biāo)(4,36)到(10,79),結(jié)果是擦出此區(qū)域的顯示內(nèi)容。CLEAR2:清除下半部分屏幕,清除范圍是從坐標(biāo)(12,0)到(24,79),結(jié)果是擦除此區(qū)域的顯示內(nèi)容。NNWLINE:回車換行。SHOE_(tái)ITEM:顯示記錄內(nèi)容,執(zhí)行后顯示名稱,然后依次顯示4項(xiàng)功課成績(jī),各項(xiàng)成績(jī)間空3個(gè)空格,最后換行。這個(gè)宏包含的語(yǔ)句較多,如果每次都直接用語(yǔ)句實(shí)現(xiàn)非常冗長(zhǎng),使用宏后則主程序就很簡(jiǎn)潔,充分體現(xiàn)了使用宏的優(yōu)點(diǎn)。GETIN:獲取學(xué)生的信息,這也是一個(gè)使用頻繁的宏,其中含有很多的指令,它帶有ADDRS和COUNT2兩個(gè)參數(shù),ADDRS是存放信息的數(shù)據(jù)段位置,CIUNT2是接受的字符數(shù)。子程序分析下面詳細(xì)分析程序中用的的主要的子程序。(1)INSERT子程序INSERT子程序的功能是錄入一條記錄。首先保留現(xiàn)場(chǎng)入棧,然后DOS中斷3D號(hào)功能打開(kāi)FNAME指定的文件,然后宏GETIN清除屏幕右半部分的記錄輸入?yún)^(qū)域。在記錄的第一項(xiàng)處置光標(biāo),用GET_REC獲取記錄內(nèi)容,用DOS中斷42H號(hào)功能將指針移到文件末尾.再用DOS中斷40H號(hào)功能將放在BUFFER緩沖區(qū)的23個(gè)字節(jié)的內(nèi)容寫(xiě)到文件中,接著關(guān)閉文件,重新設(shè)置光標(biāo)位置在顯示記錄位置。最后彈棧恢復(fù)現(xiàn)場(chǎng)。(2)GET_REC子程序GER_REC子程序的功能是獲取新的記錄內(nèi)容.首先用宏GETIN獲取學(xué)生的姓名,放入BUFF2中,最多15個(gè)字符,如果遇到回車鍵則提前結(jié)束.再用循環(huán)方式將BUFFER2中的15個(gè)字符送到BUFFER1中。然后用宏SET_P1將光標(biāo)置于數(shù)學(xué)成績(jī)輸入項(xiàng)后,等待鍵盤(pán)輸入。輸入的成績(jī),先放在BUER2中,然后加到BUFFER1中的姓名后面。輸入為2個(gè)字符后遇到回車鍵提前結(jié)束。接著用同樣的方法輸入英語(yǔ)成績(jī),計(jì)算機(jī)成績(jī)和中文成績(jī)。完成后,這個(gè)程序就得到了一個(gè)記錄的所有信息.(3)OPENF子程序OPENF是個(gè)一個(gè)非常簡(jiǎn)單的子程序。它的作用是打開(kāi)一個(gè)文件并把一個(gè)文件句柄保存在數(shù)據(jù)段的handle緩沖區(qū)中。(4)QUERY子程序QUERY是查詢一條記錄。首先保留現(xiàn)場(chǎng).然后分別清除界面右上方和下邊的區(qū)域.打開(kāi)FAME指定的文件并保留文件句柄。將光標(biāo)至于界面的下半空白部分開(kāi)始處,用宏GETIN獲取最多15個(gè)字符的輸入,然后將BUFFER1中的內(nèi)容與BUFFER2中進(jìn)行比較,看是否相同。如果不同,再繼續(xù)向下從文件中讀出23個(gè)字節(jié)比較,循環(huán)向下,直到相同或文件結(jié)束為止。如果不同,則顯示該條記錄,然后關(guān)閉文件,恢復(fù)現(xiàn)場(chǎng)。B:MOVAH,3FH;讀文件MOVCX,23;讀23個(gè)字節(jié)(記錄長(zhǎng)度)MOVDX,OFFSETBUFFER2;放在BUFFER2中INT21HLEASI,BUFFER2LEADI.BUFFER1MOVCX,15;循環(huán)次數(shù)C:MOVAL,BYTEPTR[SI]CMPAL,BYTEPTR[DI];比較BUFFER1和BUFFER2JNZB;不同則轉(zhuǎn)BINCSIINCDLOOPC(5)MODIFY子程序MODIFY子程序的功能是修改記錄。先保護(hù)現(xiàn)場(chǎng),然后清除右上部分的記錄輸入?yún)^(qū)域,接著打開(kāi)文件。用GET_REC子程序獲取輸入的記錄信息,并存入BUFFER1中。從打開(kāi)的文件中讀取一個(gè)記錄的內(nèi)容(23個(gè)字節(jié))放在BUFFER2中.比較記錄前面的15個(gè)字節(jié)(姓名),如果不同,則讀取下一個(gè)記錄;如果相同,則回移一個(gè)記錄的指針,回到剛才這條記錄的位置(因?yàn)樽x取一個(gè)記錄后,指針已移到下一條記錄上)。將放在BUFFER1中的輸入的記錄寫(xiě)到剛才這條記錄在文件中的位置上,從而實(shí)現(xiàn)此記錄的修改.最后關(guān)閉程序,恢復(fù)現(xiàn)場(chǎng)。(6)DELETE子程序DELETE子程序的功能是刪除一條記錄。首先保留現(xiàn)場(chǎng),清除屏幕。然后打開(kāi)文件,保留文件句柄。用宏GETIN獲取15個(gè)字節(jié)的姓名字符,放在BUFFER1中。讀取一條記錄(23個(gè)字節(jié)),放在BUFFER2中,然后和BUFFER1中內(nèi)容比較,如果不同,讀取下一條記錄。如果姓名相同,則把指針后移8?jìng)€(gè)字符(4門(mén)功課所占空間),寫(xiě)入8個(gè)“0"字符。關(guān)閉文件,恢復(fù)現(xiàn)場(chǎng)并退出。(7)LIST子程序LIST子程序的作用是顯示文件中的記錄。首先清除記錄輸入?yún)^(qū)和顯示區(qū)域。然后顯示記錄字段的標(biāo)題。打開(kāi)文件,保留文件句柄。讀取一條記錄的內(nèi)容放在BUFFER1中,并判斷是否到了文件末尾,如果不是,則顯示這條記錄。循環(huán)讀取直到文件結(jié)束.最后關(guān)閉程序,恢復(fù)現(xiàn)場(chǎng)。(8)PRINT子程序DELETE子程序的功能是打印文件中的記錄。用OPENF子程序打開(kāi)文件。讀取一條記錄,匯編語(yǔ)言提供了自定義數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)定義語(yǔ)句,可將不同的數(shù)據(jù)類型放在一個(gè)數(shù)據(jù)結(jié)構(gòu)中,便于處理,在本程序中的記錄就采用了結(jié)構(gòu)定義語(yǔ)句.這里讀取記錄也用了結(jié)構(gòu)的方法.接著用DOS中斷21H的5號(hào)功能,逐字打印存放在BUFFER1中的所以字符。一條記錄打完后,打印回車符換行.然后用同樣方法繼續(xù)讀取下一條記錄并打印,直到文件結(jié)束為止.最后關(guān)閉文件退出。(9)COT子程序COT子程序的作用是統(tǒng)計(jì)各分?jǐn)?shù)段小說(shuō)人數(shù),并簡(jiǎn)化程序,作為示例,本程序只統(tǒng)計(jì)記錄數(shù)學(xué)各分?jǐn)?shù)段的人數(shù)。首先顯示統(tǒng)計(jì)結(jié)果的標(biāo)題:maths〈60〈70〈80〈90<100。然后打開(kāi)文件.讀取記錄,將記錄的第16個(gè)字符(數(shù)學(xué)分?jǐn)?shù)的高位)取出比較。統(tǒng)計(jì)結(jié)果依次放在以BUFFER3開(kāi)頭的內(nèi)存單元中,如果小于60,則將小于60的記錄單元BUFFER3加一;若小于70,則將小于70的記錄單元BUFFER3加一,即BUFFER3下一個(gè)地址單元內(nèi)容加一,依次類推。處理完后再讀取下個(gè)記錄,作同樣處理,直到文件結(jié)束為止。接著顯示放在BUFFER3中的各分?jǐn)?shù)段的人數(shù)的統(tǒng)計(jì)結(jié)果,最后關(guān)閉文件結(jié)束。從程序中可以看出,統(tǒng)計(jì)時(shí)程序有個(gè)限制,本例每個(gè)分?jǐn)?shù)段最多不能超過(guò)9個(gè)人.操作說(shuō)明改程序除源程序外,還需要另一個(gè)存放記錄的文件(此程序中使用的文件名為SCOR

溫馨提示

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

評(píng)論

0/150

提交評(píng)論