專利名稱:一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法。在這種開發(fā)方法中,軟件開發(fā)過程中積累的知識和經(jīng)驗被組織成目標模板及相關(guān)的解決方案,使知識和經(jīng)驗能有效地在一個或多個組織中傳播和復用。這種知識管理方法一方面能夠有效促進軟件開發(fā)過程知識和經(jīng)驗的積累和傳遞,另一方面還能為建立軟件項目知識和經(jīng)驗庫提供框架支持。
背景技術(shù):
軟件工程是知識密集的工作,涉及到技術(shù)、管理、領(lǐng)域、企業(yè)、產(chǎn)品和項目等多方面的知識。這些知識和經(jīng)驗幫助人們降低軟件項目的開發(fā)時間和成本,避免錯誤,減少工作量,有效重復成功的過程實踐,提高生產(chǎn)力進而提高進一步成功的可能性。他們還可以幫助軟件從業(yè)人員在不確定的條件下做出正確的決定,并找到更好的折中辦法。有效的知識傳遞幫助組織共享成功的經(jīng)驗,是一個機構(gòu)形成一致的文化和企業(yè)價值觀的粘合劑。但現(xiàn)實情況是,大多數(shù)開發(fā)團隊并不能從現(xiàn)有的經(jīng)驗中獲益,即使在該組織的一些個人知道如何避免它們的錯誤,他們?nèi)詿o法有效地利用現(xiàn)有的成功經(jīng)驗,并且重復著過去的錯誤。缺乏有效的知識管理是造成這種現(xiàn)狀的重要原因之一。如何管理知識和經(jīng)驗,對于大多數(shù)軟件組織來說是一個很大的挑戰(zhàn)。知識管理的挑戰(zhàn)主要來自三個方面,技術(shù),組織和個人。從技術(shù)角度來看,大多數(shù)的知識管理信息系統(tǒng)是所謂的“封閉系統(tǒng)”。在封閉的系統(tǒng)中,知識和經(jīng)驗更像是存儲工作中可能出現(xiàn)的問題及其答案的記錄材料。這樣的話,當知識使用者面臨具體問題時,需要自己去知識庫中尋找答案。然而,這些系統(tǒng)通常包含數(shù)千頁的非結(jié)構(gòu)化信息,這導致發(fā)現(xiàn)過程可能會耗費大量的時間和精力。另一方面,軟件工程師常常要在緊張的項目進度中迅速找到所需知識,這使得他們對在該系統(tǒng)中尋找知識失去信心和耐心,從而導致知識無法有效被利用。此外,在現(xiàn)在這個信息膨脹、知識迅速增長的時代, 大量非結(jié)構(gòu)化的知識和經(jīng)驗,使得更新和維護更新信息變得日益困難。從組織的角度來看,大多數(shù)組織通常只鼓勵在預算之內(nèi)按時,按質(zhì)完成當前項目, 項目團隊很少愿意在緊張的項目進度中花費精力幫助未來的項目積累知識。特別是在“個人英雄”文化的組織中,組織可能會鼓勵個人主義,而不是協(xié)同工作。因此在組織層面,員工未必愿意分享知識和經(jīng)驗。從個人的角度來看,開發(fā)團隊成員可能缺乏動力在當前項目有限的資源下花費時間和精力積累知識和經(jīng)驗。對項目經(jīng)理來說,他們不愿意利用自己當前項目中的資源幫助下一個項目經(jīng)理成功完成任務(wù)。再加上何時以及如何在今后的項目中使用知識和經(jīng)驗,通常是不確定的,項目經(jīng)理往往認為積累知識和經(jīng)驗是一種負擔。對于其他的工程師而言,他們一方面可能不希望將自己的知識貢獻出來,另一方面可能沒有時間和精力將經(jīng)驗有效地記錄下來。更多的情況是,工程師們并不想重用別人的知識。此外,現(xiàn)在的知識管理滯后死板的框架很難適應當今技術(shù)的快速的發(fā)展,機構(gòu)成員越來越覺得即使共享知識,這些知識也不能有效地應用于后續(xù)項目,從而進一步喪失積累、傳遞和使用知識的積極性。通過對現(xiàn)有的知識管理方法的研究,我們總結(jié)了知識管理的幾個特點·明確的規(guī)范標準,靈活的知識結(jié)構(gòu);·在項目中收集知識,而不是在項目完成后;·基于項目的知識管理方法,并將和知識片段聯(lián)系起來,保證知識的可追溯性;·明確的使用知識的目的。知識管理(KM)現(xiàn)在受到越來越多的關(guān)注。軟件工程師能夠利用組織的知識管理體系學習過去的經(jīng)驗,幫助軟件工程師在不確定情況下作出明智的決策。然而,事實是,現(xiàn)在知識管理的應用很不理想。當前的知識管理機制存在一些明顯的缺陷,如海量信息的出現(xiàn)嚴重阻礙了工程師發(fā)現(xiàn)并利用有用的知識,組織文化可能會鼓勵開發(fā)人員實現(xiàn)短期目標而不是做出利于機構(gòu)長期發(fā)展的行為,日后使用知識的不確定性削弱了個人和團隊積累知識的動力等。這些缺陷使得很少有組織能成功建立有用的知識庫,并行之有效地實現(xiàn)知識和經(jīng)驗的傳遞和共享。
發(fā)明內(nèi)容
本發(fā)明目的是提出一種實用的目標驅(qū)動的知識管理方法(OTD-KM)。⑶D-KM提供一個行之有效的構(gòu)建知識管理的框架,一方面,GDD-KM將知識和經(jīng)驗組織成目標模板和相關(guān)的解決方案,為初始創(chuàng)立知識庫提供組織框架。另一方面它在知識積累的過程中(即軟件開發(fā)過程中)使用相關(guān)算法控制知識的演化以及知識的增長,提高知識的查詢效率,進而增強知識和經(jīng)驗的利用價值,激發(fā)知識工作者積累知識,使用知識,最終提高組織的項目開發(fā)質(zhì)量;提出一種基于目標驅(qū)動軟件開發(fā)方法的軟件工程知識組織方法,以解決軟件開發(fā)過程中知識無法有效積累和使用的問題。該方法基于特定的知識管理目標的樹形組織模板,根據(jù)特定的知識演化規(guī)則,控制知識和經(jīng)驗的數(shù)量和質(zhì)量,控制知識庫的增長速度,構(gòu)建結(jié)構(gòu)化的知識和經(jīng)驗庫,有效支持軟件項目在實際項目中應用知識和經(jīng)驗。提出目標驅(qū)動的知識管理方法(GDD-KM),使它具有目標驅(qū)動和循環(huán)演化兩大特色。目標驅(qū)動描述了知識的組織形式,循環(huán)演化則描述了知識的演化方式,我們將兩者統(tǒng)一起來實現(xiàn)知識和經(jīng)驗的有效組織。此外,⑶D-KM將知識組織成3層結(jié)構(gòu),以更結(jié)構(gòu)化的方式定義知識,最大限度地提高知識的查找和利用效率。本發(fā)明技術(shù)方案是一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法,步驟如下1)目標驅(qū)動目標驅(qū)動描述了知識的組織形式。⑶D-KM建立樹形的目標組織形式,有助于機構(gòu)建立結(jié)構(gòu)化的知識管理框架。只有那些有助于滿足確定目標的知識和經(jīng)驗, 才是應該被捕獲、組織和傳播的有效的知識和經(jīng)驗。2)循環(huán)演化循環(huán)演化描述了知識的演化方式。循環(huán)的性質(zhì)有助于充實、完善和淘汰過時的知識和經(jīng)驗。在⑶D-KM方法中,每經(jīng)過一個知識發(fā)展周期,知識就被精化一次。 借助文本分類算法,有效的知識被補充,相近或重復的知識被合并,而過期的知識則被淘汰。3)知識的三層組織形式描述了知識的組織形式。⑶D-KM用三層結(jié)構(gòu)組織知識 目標,解決方案和細節(jié)。這樣的組織,一方面有利于知識使用者迅速利用樹形結(jié)構(gòu)定位所需的知識,節(jié)省根據(jù)數(shù)據(jù)挖掘算法搜索知識所耗費的時間;另一方面也便于知識的進化,方便知識工作者從不同粒度積累和精化知識。在一個嵌入式軟件開發(fā)的過程中,依據(jù)如下的步驟實施了 GDD-KM的方法,有效積累了多條有價值的知識。某條知識的演化過程如下狀態(tài)1.知識的創(chuàng)造在⑶D-KM中,整個項目的各個階段都會創(chuàng)造知識。例如在⑶D的啟動階段,所有的團隊成員一起確定項目目標,并制定實現(xiàn)這些目標的解決方案,制定的目標和相應的解決方案都將成為經(jīng)驗和知識。知識被組織成如圖2的三層結(jié)構(gòu),最上層是組織中的項目團隊確定的目標,中間層簡單介紹頂層目標的解決方案,底層是解決方案的詳細描述。如對于質(zhì)量目標,制定目標和相應的解決方案如下
權(quán)利要求
1.一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法,其特征是在軟件開發(fā)時通過目標驅(qū)動和演化步驟,1)目標驅(qū)動目標驅(qū)動描述了知識的組織形式;所述方案建立樹形的目標組織形式, 有助于機構(gòu)建立結(jié)構(gòu)化的知識管理框架;只有那些有助于滿足確定目標的知識和經(jīng)驗,才是應該被捕獲、組織和傳播的有效的知識和經(jīng)驗;2)循環(huán)演化循環(huán)演化描述了知識的演化方式;循環(huán)的性質(zhì)有助于充實、完善和淘汰過時的知識和經(jīng)驗;每經(jīng)過一個知識發(fā)展周期,知識就被精化一次;借助文本分類算法,有效的知識被補充,相近或重復的知識被合并,而過期的知識則被淘汰;軟件開發(fā)時的知識和經(jīng)驗庫的基本結(jié)構(gòu)分為3層最上層是項目確定的目標,頂層的內(nèi)容也屬于知識和經(jīng)驗;已完成項目的目標模板將幫助新項目快速地識別目標和制定相關(guān)的解決方案;中間層簡單介紹頂層目標的解決方案;底層是解決方案的詳細描述。
2.根據(jù)權(quán)利要求1所述的一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法,其特征是軟件開發(fā)的演化過程如下能夠有效積累了多條有價值的知識; 步驟1 知識的創(chuàng)造整個項目的各個階段都會創(chuàng)造,知識啟動階段,通過確定軟件項目目標,并制定實現(xiàn)這些目標的解決方案,制定的目標和相應的解決方案都將成為經(jīng)驗和知識;對于質(zhì)量目標,制定目標和相應的解決方案如下目標高質(zhì)量的軟件基于統(tǒng)計過程控制原理控制每個缺陷移除階段移除缺陷效率解決方案(yield)使用缺陷的注入和移除模型,在每個發(fā)展階段中移除一定數(shù)目的缺陷。使用分而治之的策略,將整個項目的質(zhì)量目標分成幾個較小的細節(jié)子目標,即實現(xiàn)最終目標依賴于所有子目標的實現(xiàn)。 質(zhì)量偏差=(預測缺陷-1.5) / 1.5知識的整合和形成在知識整合與形成階段,相似的目標或解決方案被合并,以控制知識的膨脹速度;在該階段需要判定知識是否過時;在此階段需要判斷應用指數(shù)<閾值11企業(yè)策略是否明顯不一致, 其中,對于判斷條件的應用指數(shù)、閾值、企業(yè)策略明顯不一致定義如下 應用指數(shù)=(演化指數(shù)+應用指數(shù))/時長(I)演化指數(shù)=被修改的次數(shù)/總項目數(shù)應用指數(shù)=被使用的次數(shù)/總項目數(shù)閾值的定義取決于目標規(guī)模數(shù)量和解決方案數(shù)量;與企業(yè)策略明顯不一致是指開發(fā)技術(shù)、平臺過時或者是別的解決方案多次失效;定義閾值為1/3-1年,根據(jù)評判標準應用指數(shù)<閾值I I企業(yè)策略明顯不一致,判定該知識有效,進入到步驟3 ;步驟2 知識傳播和應用在這個階段,知識在組織層面上進行傳播和應用;有別于傳統(tǒng)的知識管理方法,本步驟將知識的創(chuàng)造和應用整合起來;四類最大目標為產(chǎn)品、項目、過程和團隊目標,設(shè)定目標并確定目標所對應的實施方案;步驟3 知識發(fā)展在這個階段,知識結(jié)構(gòu)中的每一層(目標,解決方案和詳細方案)上被更新,提煉和細化,形成詳細充分的概念知識結(jié)構(gòu);在此基礎(chǔ)上增加了衡量整個軟件過程的質(zhì)量指標PQI 即設(shè)計質(zhì)量、設(shè)計評審質(zhì)量、代碼評審質(zhì)量、代碼質(zhì)量、程序質(zhì)量;高質(zhì)量的軟件衡量整個軟件過程的質(zhì)量指標TOI:即設(shè)計質(zhì)量、設(shè)計評審質(zhì)量、代碼評審質(zhì)量、 代碼質(zhì)量、程序質(zhì)量。TOI值應大于0.4 設(shè)計的時間應該大于編碼的時間設(shè)計評審質(zhì)量設(shè)計評審的時間應該大于設(shè)計時間的50% 代碼評審質(zhì)量代碼評審時間應該大于編碼時間的50% 代碼質(zhì)量代碼的編譯缺陷密度應當小于10個/千行程序質(zhì)量代碼單元測試缺陷密度小于5個/千行此外,知識管理的重心,從具體的實施細節(jié),如如何執(zhí)行一個項目、如何報告項目進展, 向更廣闊的知識演化和共享領(lǐng)域轉(zhuǎn)移,如實驗的改進方法,以及如何利用不同的項目中的項目數(shù)據(jù)等。這意味著,經(jīng)過幾個提煉周期,知識不再局限于一個特定的項目之中,而成為可以為未來項目所共享和重用的資源;步驟4知識過時如果等式(I)判定為假,則轉(zhuǎn)入步驟5 ;在這個階段,根據(jù)組織規(guī)定的知識過時規(guī)則判定知識是否過時,在搜索知識的時候,優(yōu)先搜索有效知識,再在過時知識中搜索;知識擁有其特定的上下文,從而需要隨環(huán)境的改變而不斷變化;存儲的知識要不斷更新、修改,而過時的知識也需要被丟棄。目標解決方案細節(jié)
全文摘要
一種基于目標驅(qū)動的軟件開發(fā)過程知識管理方法,在軟件開發(fā)時通過目標驅(qū)動和演化步驟,1)目標驅(qū)動目標驅(qū)動描述了知識的組織形式;所述方案建立樹形的目標組織形式,有助于機構(gòu)建立結(jié)構(gòu)化的知識管理框架;2)循環(huán)演化循環(huán)演化描述了知識的演化方式;循環(huán)的性質(zhì)有助于充實、完善和淘汰過時的知識和經(jīng)驗;每經(jīng)過一個知識發(fā)展周期,知識就被精化一次;借助文本分類算法,有效的知識被補充,相近或重復的知識被合并,而過期的知識則被淘汰。
文檔編號G06Q10/06GK102436382SQ20111041984
公開日2012年5月2日 申請日期2011年12月14日 優(yōu)先權(quán)日2011年12月14日
發(fā)明者華金茹, 榮國平, 邵棟 申請人:南京大學