久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

SWEBOK的軟件工程知識(shí)分類模型及算法

時(shí)間:2024-10-26 14:36:19 碩士畢業(yè)論文 我要投稿
  • 相關(guān)推薦

SWEBOK的軟件工程知識(shí)分類模型及算法

  摘要:軟件組織內(nèi)部智慧資產(chǎn)的有效組織和管理一直是一個(gè)懸而未決的問(wèn)題。將文本分類技術(shù)引入到軟件工程知識(shí)分類領(lǐng)域,首先綜合分析了軟件工程領(lǐng)域知識(shí)的基本類型和特性:之后依據(jù)這些特性結(jié)合軟件工程知識(shí)體系(SWEBOK:Software Engineering Body of Knowledge),提出了一個(gè)軟件工程知識(shí)的分類模型和算法;最后通過(guò)實(shí)驗(yàn)驗(yàn)證了提出的模型和算法的有效性。實(shí)驗(yàn)結(jié)果表明,該模型和算法具有良好的分類性能,為軟件工程知識(shí)的有效分類提供了一種途徑。
  關(guān)鍵詞:軟件工程知識(shí)體系;知識(shí)分類;軟件工程;文本分類;分類算法
  引言
  軟件的開(kāi)發(fā)是人類有史以來(lái)最為復(fù)雜的知識(shí)高密集活動(dòng)之一,其最終的輸出產(chǎn)品只是IT知識(shí)和應(yīng)用領(lǐng)域知識(shí)的高度凝聚,更多的個(gè)人技能、應(yīng)用解決方案、最佳實(shí)踐、經(jīng)驗(yàn)和教訓(xùn)、設(shè)計(jì)模式等相關(guān)知識(shí)都滅于軟件開(kāi)發(fā)過(guò)程中,或者隱藏和散落在冗長(zhǎng)、雜亂的(電子)文檔和數(shù)據(jù)庫(kù)中。如何促使這些隱藏著的知識(shí)顯性化?如何合理地組織和有效地管理這些智慧資產(chǎn)來(lái)形成一個(gè)企業(yè)內(nèi)部的智慧資產(chǎn)庫(kù)以供將來(lái)重用?這些一直是軟件工程中的知識(shí)管理所關(guān)注的重點(diǎn)12J。
  就軟件工程領(lǐng)域來(lái)說(shuō),與之相關(guān)的研究已經(jīng)持續(xù)了10多年,已有的工作可以總結(jié)為以下幾個(gè)方面(1)基于人工智能的專家系統(tǒng);(2)基于過(guò)程經(jīng)驗(yàn)的軟件工程知識(shí)庫(kù),如CBR、BORE和經(jīng)驗(yàn)工廠(Experience Factory)等:(3)與單項(xiàng)軟件開(kāi)發(fā)活動(dòng)相結(jié)合的知識(shí)獲取工具等。這些研究從不同層面、不同程度上解決了上述問(wèn)題。然而仍有以下幾點(diǎn)需要深入探討:(1)缺乏有效的手段來(lái)對(duì)軟件組織相關(guān)智慧資產(chǎn)進(jìn)行有效地、合理地組織和分類;(2)完整性問(wèn)題:未能對(duì)軟件工程知識(shí)進(jìn)行全面地分析和覆蓋:(3)相關(guān)自動(dòng)化支持工具的缺乏。
  要實(shí)現(xiàn)軟件工程領(lǐng)域知識(shí)的有效組織和管理,其核心點(diǎn)之一就是要有一個(gè)骨干分類體系(Backbone Taxonomy)以作為相關(guān)知識(shí)組織和分類的基本依據(jù),而事實(shí)上這個(gè)骨干分類體系目前已經(jīng)存在,這就是軟件工程知識(shí)體系(SWEBOK-Software Engineering Body of Knowledge)。它由IEEE.CS和ACM發(fā)起并聯(lián)合全球軟件工程專家而制定,目前已成為國(guó)際標(biāo)準(zhǔn)(ISO/IEC TR 19759)。SWEBOK將軟件工程分為11個(gè)知識(shí)域,每個(gè)知識(shí)域再細(xì)分為若干知識(shí)子域,以此類推共形成四級(jí)的骨干分類樹(shù)。它共涵蓋178個(gè)分類標(biāo)識(shí),數(shù)萬(wàn)條軟件工程領(lǐng)域術(shù)語(yǔ)。但迄今為止,卻鮮見(jiàn)將其應(yīng)用到知識(shí)分類的相關(guān)報(bào)導(dǎo)。
  本文旨在利用SwEBOK作為骨干分類體系,結(jié)合文本分類技術(shù),研究軟件工程相關(guān)智慧資產(chǎn)的有效組織和分類問(wèn)題。首先概括了軟件工程的領(lǐng)域知識(shí)的基本類型,并對(duì)其特性進(jìn)行了分析;之后結(jié)合SWEBOK和文本分類技術(shù),提出了一個(gè)軟件工程知識(shí)的分類模型;最后給出了分類算法并對(duì)其分類性能的驗(yàn)證。
  1軟件工程領(lǐng)域知識(shí)的基本類型及其特性理論上,~切在軟件開(kāi)發(fā)過(guò)程中用到和產(chǎn)生的知識(shí)都可以被歸結(jié)為軟件工程知識(shí)。盡管其表現(xiàn)形式多種多樣,但基本上可以歸結(jié)為三類:(1)過(guò)程經(jīng)驗(yàn)(Process Experiences),軟件開(kāi)發(fā)的整體過(guò)程即是~種實(shí)踐案例知識(shí)(Practice Case):
  (2)個(gè)人技能(Personal Skills),留存在軟件組織成員的頭腦之中;(3)軟件工程的知識(shí)$,]品(Knowledge Artifacts),表現(xiàn)形式是一些顯性化的文檔。
  1.1過(guò)程經(jīng)驗(yàn)記錄軟件開(kāi)發(fā)的過(guò)程經(jīng)驗(yàn)是必要的,一個(gè)不能吸取過(guò)去失敗教訓(xùn)的團(tuán)隊(duì)勢(shì)必要犯同樣的錯(cuò)誤;一個(gè)不能重用過(guò)去成功經(jīng)驗(yàn)的組織則會(huì)重復(fù)地發(fā)明輪子?疾燔浖^(guò)程經(jīng)驗(yàn),其主要特性包括:(1)依賴性:高度依賴于特定的軟件項(xiàng)目;(2)不規(guī)范性:很難找到一個(gè)共用的模型適用于所有的軟件項(xiàng)目;(3)重用性:相似的軟件項(xiàng)目,其過(guò)程經(jīng)驗(yàn)可以高度的重用?。
  依據(jù)上述特性,可以使用下述方法捕獲之:(1)綜合參照CMMI、RUP等軟件過(guò)程模型制定一個(gè)通用模板;(2)將每一新的軟件項(xiàng)目生成為此模板的一個(gè)實(shí)例。
  1.2個(gè)人技能軟件組織成員的個(gè)人技能是軟件組織最為寶貴的財(cái)富,軟件的開(kāi)發(fā)歸根結(jié)底就是相關(guān)人員個(gè)人技能的綜合應(yīng)用。它的主要特性包括:(1)隱性:所有的個(gè)人技能都隱藏在組織成員的頭腦中,不易捕獲;(2)高價(jià)值性:組織成員的知識(shí)水平直接決定了軟件產(chǎn)品的質(zhì)量;(3)不穩(wěn)定性:隨著組織成員的離開(kāi),此智慧資產(chǎn)也會(huì)隨之流失。正是這些特性使得個(gè)人技能顯性化和有效捕獲成為最為棘手的問(wèn)題之一。
  對(duì)個(gè)人技能的捕獲方式等同于過(guò)程經(jīng)驗(yàn):(1)制定一個(gè)人技能描述模板;(2)將每一組織成員的個(gè)人技能生成為此模板的一個(gè)實(shí)例。
  1.3知識(shí)制品軟件開(kāi)發(fā)過(guò)程中產(chǎn)生的各種以電子方式存在的模型、圖表、文檔、代碼、方案以及組織內(nèi)部的圖書(shū)等等各種文本文檔皆可被視作知識(shí)制品。它們是組織中最為直接、最易管理的智慧資產(chǎn),因?yàn)樗鼈円呀?jīng)被顯性化了。對(duì)其處理方式,我們直接以文本形式進(jìn)行表示。
  2基于SwEBoK的軟件工程知識(shí)分類模型
  2.1 SWEBOK作為骨干樹(shù)的分類體系知識(shí)分類的一個(gè)重要檢驗(yàn)標(biāo)準(zhǔn)就是其分類體系中類別標(biāo)識(shí)的共識(shí)性和共享性,因?yàn)槿绻殖鲆粋(gè)大家都不認(rèn)同的類還不如不分類。由于SWEBOK的概念體系經(jīng)過(guò)了全球軟件工程專家lO多年的反復(fù)校驗(yàn)和核準(zhǔn),以其作為骨干分類體系具有廣泛的共享性和共識(shí)性。其前兩級(jí)的分類體系如圖l所示。
  2.2軟件工程知識(shí)分類模型知識(shí)分類是知識(shí)管理領(lǐng)域最為重要的研究?jī)?nèi)容之一,它可以被看作是分類技術(shù)在知識(shí)管理研究領(lǐng)域的應(yīng)用和深化?梢钥吹结槍(duì)不同類型的軟件工程知識(shí),它們遵循不同的分類過(guò)程。對(duì)于過(guò)程經(jīng)驗(yàn)和個(gè)人技能,經(jīng)過(guò)知識(shí)表示之后,它們直接被歸入SWEBOK骨干分類體系的某一類別下。而知識(shí)制品則遵循著預(yù)處理、特征選擇和分類器分類的一般過(guò)程。首先要將待分類的知識(shí)制品進(jìn)行預(yù)處理,從而生成特征向量的集合;特征選擇算法則對(duì)特征向量的全集進(jìn)行降維處理,從而得到較小規(guī)模的特征向量子集;最后,分類器根據(jù)降維后的特征子集,將知識(shí)制品歸入到SWEBOK骨干分類體系的某一類別下。此分類模型可被分解為以下四個(gè)部分:
  SWEBOK骨干分類樹(shù):依據(jù)SWEBOK 2004(Iron)版所提供的178個(gè)具有分類繼承關(guān)系(Hierarchical)的軟件工程概念術(shù)語(yǔ),組織形成一個(gè)骨干分類樹(shù),作為領(lǐng)域知識(shí)最終歸屬類別的基本框架。此外,軟件組織還可以根據(jù)自身的具體情況對(duì)此骨干分類樹(shù)進(jìn)行靈活的定制。
  待分類知識(shí)源:如第1節(jié)所述,軟件工程領(lǐng)域知識(shí)總體上可被分為三個(gè)基本類型,不同類型的知識(shí)會(huì)有不同的處理模式(見(jiàn)2.3節(jié))。
  訓(xùn)練集:用以對(duì)分類器進(jìn)行訓(xùn)練以提高其學(xué)習(xí)能力,訓(xùn)練集的選擇對(duì)分類器的分類效果有著重要的影響(具體訓(xùn)練集的選擇見(jiàn)第4節(jié))。
  知識(shí)分類過(guò)程:包括訓(xùn)練過(guò)程(圖2中虛線所示)和應(yīng)用過(guò)程(圖2中實(shí)線所示),詳見(jiàn)2.3節(jié)。
  2.3三種類型知識(shí)的分類方式就過(guò)程經(jīng)驗(yàn)和個(gè)人技能來(lái)說(shuō),由于其在知識(shí)表示的過(guò)程中已經(jīng)以結(jié)構(gòu)化的方式得以組織,因而它們的分類方式較為簡(jiǎn)單。定義E={月,...,P}為過(guò)程經(jīng)驗(yàn)的全集,其中刀=搗,磊?..量)∈E為一具體的項(xiàng)目實(shí)例,5為一項(xiàng)目實(shí)例中的具體信息,如:項(xiàng)目名稱、項(xiàng)目經(jīng)理、活動(dòng)名稱、流程信息和體系結(jié)構(gòu)等。
  那么過(guò)程經(jīng)驗(yàn)的分類算法(1)為:
  f:E-'巳(1)其中c疊為SWEBOK骨干分類體系中一固定的類別一過(guò)程經(jīng)驗(yàn)類,亦即:將過(guò)程經(jīng)驗(yàn)直接映射到分類體系中。
  個(gè)人技能的處理方式與過(guò)程經(jīng)驗(yàn)等同。
  最為復(fù)雜也是最為核心的是知識(shí)制品的分類,其處理方法我們采用文本分類技術(shù),總體上分為訓(xùn)練過(guò)程和應(yīng)用過(guò)程。在訓(xùn)練過(guò)程中,訓(xùn)練集經(jīng)過(guò)預(yù)處理被表示成特征向量,特征向量經(jīng)過(guò)降維(本文采用特征選擇的方式)后被分類器處理,完成一個(gè)訓(xùn)練的周期。而在應(yīng)用過(guò)程中,文本經(jīng)過(guò)預(yù)處理生成的特征向量直接被分類器處理。分類器將其與訓(xùn)練過(guò)程得到的類別模式逐一比較,依據(jù)分類算法計(jì)算出文本最終所屬的類別。
  3知識(shí)分類算法3.1預(yù)處理計(jì)算機(jī)能夠自動(dòng)分類的前提是待分類文本已經(jīng)被表示成可被計(jì)算的數(shù)據(jù)。向量空間模型(VSM)是使用較多且效果較好的表示方法之--[51,在該模型中,一個(gè)文本d被看作是由一組正交向量組成的向量空間:
  y(田={(^,Ⅵ),...,(,%)},其中(巧,M)表示一個(gè)特征^的二元組,w表示此特征在文本d中的權(quán)重。特征tl可以是字、詞或者其組合,但目前普遍認(rèn)為詞作為特征項(xiàng)要優(yōu)于字和詞組。由于一個(gè)特征向量對(duì)應(yīng)著高維空間中的一個(gè)點(diǎn),因而上式又可以簡(jiǎn)化為:y(d)={wj,...,%)對(duì)于知識(shí)制品的表示,我們也采用VSM方法,但在其被表示成空間向量之前,還要進(jìn)行一些預(yù)處理,如去掉一些低頻詞、去掉停llZii-](Stop word)、去掉一些標(biāo)記信息(如網(wǎng)頁(yè)標(biāo)簽)等。由于中文文本的特殊性,還要進(jìn)行分詞,我們采用北航軟件所開(kāi)發(fā)的中文分詞系統(tǒng)BUAASEISEGt61,它在穩(wěn)定性和新詞識(shí)別能力上具有一定的優(yōu)勢(shì)。
  特征的權(quán)重Ⅵ計(jì)算方法主要運(yùn)用TF*IDF公式,目前存在多種TF*IDF公式,本文采用了一種比較普遍的TF*DF[71算法(2): 即力=磚蒜器。
  3.2基于互信息的特征選擇經(jīng)過(guò)預(yù)處理后的知識(shí)制品,其特征向量的維數(shù)依然很高(動(dòng)輒數(shù)十萬(wàn)),需要在盡量不損失分類信息的情況下生成一個(gè)新的低維向量,這個(gè)過(guò)程稱作降維。常用的降維方法有特征選擇和特征抽取,由于特征選擇的計(jì)算復(fù)雜性較低,因而被大量的采用。
  常用的特征選擇方法有:文檔頻率(DocumentFrequency)、互信息(Mutual Information)、Chi平方(f),信息增益(1G:Information Gain)等。Yang等人對(duì)各種特征選擇算法進(jìn)行了廣泛的研究,結(jié)果發(fā)現(xiàn)f和信息增益方法相較于其他方法,其特?fù)裥Ч顑?yōu)用。在本文的研究中,我們采用信息增益方法來(lái)進(jìn)行降維,它實(shí)際上反映的是特征在文本中出現(xiàn)與否能為確定當(dāng)前文檔所屬類別做出的貢獻(xiàn)值。其算法(3)具體描述如下:
  輸入:文本的特征向量r(d);分類體系c:
  輸出:降維后的特征向量r(d);步驟:
  1)按如下公式計(jì)算每個(gè)特征向量的信息增益值:
  G(f)=一Σ:,P(c。)Ioge(cJ)+P(f)Σ:.£(c,It)logP,(c,I,)+只(了)Σ:.P[T)logP,(c,li) (3)其中:只Q)表示一篇文本屬于類別cj概率;eat)標(biāo)識(shí)特征項(xiàng)t在一篇文本中出現(xiàn)的概率;e∽標(biāo)識(shí)特征項(xiàng)t不在一篇文本中出現(xiàn)的概率;P(c。If)表示特征項(xiàng)t在屬于類別白的文本中出現(xiàn)的概率;只(q I丁)表示特征項(xiàng)t在屬于類別島的文本中出現(xiàn)的概率。
  2)將文本特征按照式(3)計(jì)算出的信息增益值由大到小排列,取其前K個(gè)特征向量構(gòu)成最終的特征空間,這樣就達(dá)到了降維的目的,其維數(shù)為K。
  3.3基于k-NN的分類算法基于機(jī)器學(xué)習(xí)的分類算法目前已有數(shù)十種,而以Rocchio、KNN和SVM性能最為突出I習(xí)。Yang等人對(duì)這些算法進(jìn)行了全面的比較,結(jié)果表明KNN和SVM算法無(wú)論是分類性能還是算法的健牡性、可擴(kuò)展性都較其他算法有顯著的優(yōu)j判51。我們采用KNN算法來(lái)構(gòu)建軟件工程領(lǐng)域知識(shí)的分類器。
  rA7N(K Nearest Neighbor)算法的基本思路是:在給定新的文本后,考慮在訓(xùn)練集中與該新文本距離最近(最相似)的K篇文本,根據(jù)這K篇文本所屬的類別判定新文本所屬的類別,具體的算法(4)描述如下:
  輸入:訓(xùn)練集出分類體系C;待分類的文本集d;輸出:待分類文本的類別;步驟:
  1)對(duì)待分類的文本進(jìn)行預(yù)處理,并使用式(2)計(jì)算其權(quán)重,得到待分類文本的向量表示V(d7);2)在訓(xùn)練文本集中選出與新文本最相似的K個(gè)文本,計(jì)算公式為:
  Sim(d.,d』)=Σ既x%其中,K值的確定目前沒(méi)有很好的方法,一般采用先定一個(gè)初始值,然后根據(jù)實(shí)驗(yàn)測(cè)試的結(jié)果調(diào)整K值,一般初始值定為幾百到幾千之問(wèn)。3)在新文本的K個(gè)鄰居中,依次計(jì)算每類的權(quán)重,計(jì)算公式如下:
  p(j,G)2藝Sim(i,4)y(4,c:) (5)af扣州其中,i為新文本的特征向量,Sire(,2,i)為相似度計(jì)算公式,與(4)式相同。而y窿,£)為類別屬性函數(shù),即。如果黿屬于類G,那么函數(shù)值為l,否則為0。
  4)比較類的權(quán)重,將文本分到權(quán)重最大的那個(gè)類別中。
  4實(shí)驗(yàn)結(jié)果我們對(duì)本文提出的知識(shí)分類算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,選用的數(shù)據(jù)集包括:(1)用手工方式創(chuàng)建的數(shù)10項(xiàng)過(guò)程經(jīng)驗(yàn)和個(gè)人技能;(2)SWEBOK中所給出的169篇參考文獻(xiàn)、NASAC2004(全國(guó)軟件與應(yīng)用學(xué)術(shù)會(huì)議)的197篇論文以及從美國(guó)CMU大學(xué)提供了935篇計(jì)算機(jī)科研論文數(shù)據(jù),算法性能的評(píng)價(jià)則采用精確度和召回率以及結(jié)合兩者的FlMeasure。
  對(duì)于訓(xùn)練集和測(cè)試集的選擇,其方法如下:將這些數(shù)據(jù)集按照所屬類別進(jìn)行手工分類,然后平均分成十份,選擇其中九份作為訓(xùn)練集,選擇其中一份作為測(cè)試集。運(yùn)行分類算法,共執(zhí)行10次分類操作,計(jì)算其平均值,實(shí)驗(yàn)結(jié)果如表1所示。
  知識(shí)類型準(zhǔn)確率召劇率FI度量過(guò)程經(jīng)驗(yàn)100% 100% 100%個(gè)人技能100% 100% 100%知識(shí)制品879%8208%84.38%觀察表1的結(jié)果數(shù)據(jù),我們可以發(fā)現(xiàn)過(guò)程經(jīng)驗(yàn)和個(gè)人技能的分類準(zhǔn)確率、召回率和F1度量值都很高(皆為100%)。
  通過(guò)定性分析我們可以得知產(chǎn)生這種現(xiàn)象的原因:這兩種類型的軟件工程知識(shí)皆采用了直接映射的分類算法。輸出很好的分類效果是必然的。對(duì)于知識(shí)制品來(lái)說(shuō),它的F1度量值也超過(guò)了84%.這表明以SWEBOK為骨干分類樹(shù)來(lái)進(jìn)行軟件工程知識(shí)的組織和分類是可行,旦采用文本分類算法進(jìn)行知識(shí)制品的分類也是行之有效的。
  5結(jié)論
  軟件組織內(nèi)部智慧資產(chǎn)的有效組織和管理仍舊是一個(gè)開(kāi)放的課題,就目前來(lái)看尚未有一個(gè)銀彈(Silver Bullet)以解決這個(gè)問(wèn)題。本文的創(chuàng)新之處就在于將文本分類技術(shù)引入到軟件工程領(lǐng)域。以SWEBOK作為骨干分類體系,為軟件工程知識(shí)的自動(dòng)分類提供了一種新的解決途徑,并通過(guò)實(shí)驗(yàn)驗(yàn)證了所提出的模型和算法的有效性。
  事實(shí)上,文本分類的技術(shù)和方法是通用的,本文提出的模型和算法也是通用的,如果我們將SWEBOK骨干分類體系換作其他領(lǐng)域的分類體系,將過(guò)程經(jīng)驗(yàn)?zāi)0搴蛡(gè)人經(jīng)驗(yàn)?zāi)0鍝Q作其他模板,則可以構(gòu)造一個(gè)面向其他領(lǐng)域的知識(shí)分類器。
  就軟件組織來(lái)說(shuō),其內(nèi)部智慧資產(chǎn)的規(guī)模遠(yuǎn)沒(méi)有Web上的資源那樣巨大。但是它對(duì)分類的準(zhǔn)確率和召回率的要求卻非常高。就目前來(lái)說(shuō),改進(jìn)算法仍然是提高分類準(zhǔn)確率和召回率的最為有效的途徑。因此,我們下一步的工作就是通過(guò)引入更為綜合的特征賦權(quán)函數(shù)、改進(jìn)特征選擇算法和通過(guò)對(duì)領(lǐng)域知識(shí)的運(yùn)用以改進(jìn)分類算法等,來(lái)迸~步提高其分類的性能。此外,在更大規(guī)模知識(shí)集上的訓(xùn)練和測(cè)試也是我們努力的方向。

SWEBOK的軟件工程知識(shí)分類模型及算法

【SWEBOK的軟件工程知識(shí)分類模型及算法】相關(guān)文章:

基于大氣物理模型的快速視覺(jué)優(yōu)化去霧算法03-17

基于記憶多項(xiàng)式模型數(shù)字預(yù)失真算法的改進(jìn)03-07

快速消費(fèi)品配送中心選擇優(yōu)化的模型與算法03-25

改進(jìn)logit多路徑分配模型及其求解算法研究03-07

基于塊分類的H.264視頻水印算法03-07

利用中心點(diǎn)信息的活體指紋分類算法03-19

基于圖形處理器的可變形部件模型算法的并行化03-17

基于遺傳算法的模型在交通線路選擇中的應(yīng)用03-07

配電網(wǎng)絡(luò)重構(gòu)模型中TS算法的應(yīng)用淺析03-14