色www,五月婷婷深爱五月,午夜国产一级片,色噜噜综合,国产大胸无码视频,清纯美女被操黄网站在线观看,波多野结衣av高清一区二区三区

SWEBOK的軟件工程知識分類模型及算法

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

SWEBOK的軟件工程知識分類模型及算法

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

SWEBOK的軟件工程知識分類模型及算法

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

基于大氣物理模型的快速視覺優(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