摘要:該文首先根據(jù)軟件項目開發(fā)的特點構(gòu)建了一個可供軟件開發(fā)人員共享的知識管理平臺的框架模型;然后,在此基礎(chǔ)上,結(jié)合web 2.0的技術(shù)優(yōu)勢,利用開源框架DotNetNuke設(shè)計了一個可以快速構(gòu)建知識管理平臺的解決方案,為軟件項目企業(yè)構(gòu)建知識管理平臺提供了一種可行的方法。
關(guān)鍵詞:知識管理平臺;軟件項目;DotNetNuke
中圖分類號:TP391文獻標(biāo)識碼:A文章編號:1009-3044(2008)36-2625-03
Study and Implementation of Software Project Knowledge Management Platform
CAI Mao, QIAN Xing-san, CHEN Jie-hui
(Dept. of Business School, University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract: According to the characteristics of software project execution,this paper firstly built a framework model for a knowledge management platform shared by software developers, then taking advantage of web 2.0, this paper constructed a solution that a knowledge management platform could be quickly built with open source framework DotNetNuke, which provided a feasible method for constructing a knowledge management platformfor software enterprises.
Key words: knowledge management platform; software project; dotnetnuke
1 引言
軟件項目一般具有開發(fā)(或?qū)嵤┲芷陂L、參與人員多、牽涉知識面廣的特點,同時軟件項目本身又具有很強的技術(shù)性和專業(yè)性,項目的實施過程中一方面必然會有大量的文檔、數(shù)據(jù)產(chǎn)生,如需求分析,建議,解決方案和最終結(jié)果等;另一方面在這個過程中伴隨著問題的產(chǎn)生,解決方法、思路的提出,解決方案的最終敲定,必然會產(chǎn)生大量的經(jīng)驗知識。而這些知識資源的獲取、存儲、傳遞、利用和創(chuàng)新恰恰是項目實施過程中的所遇到的難題。
一般說來,當(dāng)前軟件項目實施過程中一般會存在以下難題:1)知識搜索問題:在海量的信息中搜索所需的知識需要花費很多的時間和精力;2)安全保密問題:項目中許多文件沒有細(xì)分權(quán)限,沒有做到合適的人查看編輯合適的文件;3)版本控制問題:文件的版本問題只能靠不同的文件名來標(biāo)識,容易混淆;4)知識關(guān)聯(lián)問題:項目中的知識資源只是簡單的文件存儲,不能做到知識信息之間的同類關(guān)聯(lián);5)經(jīng)驗丟失問題:項目過程中產(chǎn)生許多經(jīng)驗知識以及心得體會缺乏有效的工具平臺使其得以沉淀;6)人員流動問題: 由于項目過程中人員流動頻繁,往往使得項目中的許多事情從頭做起,因此延誤了項目的進度。
而知識管理思想的引入,特別是知識管理平臺的構(gòu)建,可以有效地解決這些問題,知識管理就是協(xié)助企業(yè)組織和個人,圍繞各種來源的知識內(nèi)容,利用信息技術(shù),實現(xiàn)知識的生產(chǎn)、分享、應(yīng)用以及創(chuàng)新,并在企業(yè)個人、組織、業(yè)務(wù)目標(biāo)以及經(jīng)濟績效等諸多方面形成知識優(yōu)勢和產(chǎn)生價值的過程[1]。所謂知識管理平臺,指能夠協(xié)助組織完成知識管理活動(知識的獲取、評估、存儲、傳遞、利用和創(chuàng)新)和過程的IT工具[2]。
目前國內(nèi)企業(yè)知識管理的研究多數(shù)側(cè)重于理論研究,真正對企業(yè)知識管理實踐的研究成果很少[3] ,盡管文獻[4]利用微軟Exchange 技術(shù)平臺,設(shè)計了一套適合軟件企業(yè)應(yīng)用的知識管理系統(tǒng)解方案 ,但該類解決方案只對軟件企業(yè)中顯性知識的管理給出了行之有效的方法,對軟件企業(yè)中隱性知識的共享、傳遞、利用等卻缺乏有效的手段。
本文首先根據(jù)軟件項目實施的特點首先分析構(gòu)建其知識管理平臺的框架模型;其次充分利用web2.0的技術(shù)優(yōu)勢,彌補傳統(tǒng)知識管理實踐中隱性知識開發(fā)利用不足;然后,在此基礎(chǔ)上,利用開源框架DotNetNuke設(shè)計了一個可以快速構(gòu)建軟件項目知識管理平臺的解決方案。旨在通過此平臺不僅實現(xiàn)軟件項目實施中顯性知識的有效管理,更要促進軟件項目實施過程中隱性知識的沉淀,共享,傳遞,利用和創(chuàng)新,從而提高軟件企業(yè)的技術(shù)創(chuàng)新能力,促進軟件項目實施效率的提高。
2 平臺框架模型
本文根據(jù)軟件項目知識的特點歸納出一個軟件項目知識管理平臺的框架模型如圖1,該模型共分五層:知識來源層,基礎(chǔ)設(shè)施層,知識存儲層,知識應(yīng)用層和用戶接口層。
1) 知識來源層是知識獲取的各個源頭和相關(guān)的獲取技術(shù),知識來源主要包括軟件項目各種既有的文檔,源程序,內(nèi)部技術(shù)資料,不同渠道取得的外部知識,專家經(jīng)驗,項目開發(fā)與管理人員的經(jīng)驗教訓(xùn)等等。知識應(yīng)用環(huán)節(jié)動態(tài)創(chuàng)造和沉淀下來的知識也是知識來源的重要組成部分。
2) 基礎(chǔ)設(shè)施層是平臺的物理存儲設(shè)施,是知識存儲層的物理映射,包括數(shù)據(jù)庫系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)服務(wù)、郵件系統(tǒng)等。此層沒有用戶界面不直接實現(xiàn)具體的知識管理操作。
3) 知識存儲層是由邏輯的存儲相關(guān)知識信息的數(shù)據(jù)庫、各種存儲技術(shù)和知識發(fā)現(xiàn)技術(shù)構(gòu)成。知識倉庫是軟件項目中各種顯性知識的載體,知識社區(qū)是知識個體交流、溝通過程中形成的各類表達(dá)、問題、評論、討論等隱性知識的載體。知識存儲技術(shù)與知識發(fā)現(xiàn)技術(shù)工作在知識存儲層與上下層的接口,為上下層提供服務(wù)。
4) 知識應(yīng)用層是知識管理過程的核心,由知識表達(dá)、交流、知識學(xué)習(xí)等知識應(yīng)用過程和軟件項目開發(fā)過程各階段構(gòu)成。項目過程創(chuàng)造知識和知識素材,同時需要汲取知識促進提高,知識管理流程與項目過程的結(jié)合不僅有利于知識的應(yīng)用,更有利于知識管理的實現(xiàn)。
5) 用戶接口層是用戶與軟件項目知識管理平臺的接口,由知識門戶實現(xiàn)。知識門戶是用戶訪問平臺的唯一入口,是軟件項目過程中使用、表達(dá)知識、參與交流的平臺,用戶可以從中獲得知識,也可以沉淀自己的知識。
以上五層模型體現(xiàn)了知識流動的循環(huán)特性,涉及到知識的獲取、存儲、提取、發(fā)現(xiàn)等知識管理的主要活動,并體現(xiàn)了軟件項目過程對知識管理的影響,同時,對知識管理平臺的基本構(gòu)件和結(jié)構(gòu)予以體現(xiàn)和說明,具有一定的完備性,可理解性和可擴充性。
3 平臺的功能模型
Web2.0時代的到來,為構(gòu)建良好客戶化體驗的知識管理平臺,帶來了全新啟示。本文結(jié)合web 2.0優(yōu)勢,將博客、維基(Wiki)、論壇、IM(實時通訊)等web 2.0 典型應(yīng)用與知識管理中的協(xié)作、交流、共享等功能緊密結(jié)合,以彌補傳統(tǒng)知識管理實踐中隱性知識開發(fā)利用程度有限、全員參與性弱、知識更新緩慢、知識交流不足、個性化知識難以滿足等缺陷[6]。參照平臺的框架模型,完成平臺的功能模型,如圖2所示。
平臺的功能主要分為三類,知識社區(qū)管理,項目過程知識管理以及門戶管理。知識社區(qū)管理主要是對隱性知識和外部知識的管理,它為用戶提供了知識表達(dá),交流,學(xué)習(xí)的窗口,為用戶隱性知識的物化顯性提供了開放自由的空間。項目過程知識管理主要是對項目過程中知識協(xié)作,應(yīng)用,創(chuàng)新以及項目支持的管理。門戶管理是平臺的基礎(chǔ)功能,為其他功能的運行提供服務(wù)。分類并沒有嚴(yán)格的界限,例如實時通訊和維基模塊既屬于知識社區(qū)管理有屬于項目過程知識管理。


下面從三類功能中選取主要模塊,對其功能進行描述:
1)論壇模塊:論壇是框架模型中知識社區(qū)的一種功能實現(xiàn),它強調(diào)的是團體行為,是由有相同技術(shù)愛好或興趣的用戶參與到相關(guān)主題的討論中,并不斷互相影響,學(xué)習(xí)交流,促進個人間隱性知識的共享。
2)博客模塊:博客也是知識社區(qū)的功能實現(xiàn),它強調(diào)個人行為,是個人發(fā)表知識、技能、經(jīng)驗、創(chuàng)意、感悟等內(nèi)容的知識容器,是個人隱性知識顯性化的主要場所,用戶可以自由撰寫博客,相互訪問、 參與評注與評價,實現(xiàn)個人隱性知識的顯性化及其傳播利用。
3)Wiki模塊:Wiki模塊是一個功能強大,簡單易用的知識管理工具,它支持協(xié)作式編輯,更新,發(fā)布,并具有開放性,版本可控性,維護快捷,格式簡單,鏈接方便等特點。Wiki模塊是隱性知識顯性化后的規(guī)范化場所,本平臺主要用于項目實施的業(yè)務(wù)對象知識庫和項目團隊的技術(shù)知識庫的構(gòu)建,以形成軟件項目企業(yè)的核心知識庫,提高企業(yè)競爭力。它與博客模塊主要區(qū)別是Wiki模塊強調(diào)團體協(xié)作,更具規(guī)范性,而博客模塊強調(diào)個人思想,更具個性化。
4)知識訂閱:知識訂閱利用了RSS技術(shù),RSS是一種描述和同步網(wǎng)站內(nèi)容的格式,是目前使用最廣泛的XML應(yīng)用。利用知識訂閱可以滿足用戶的個性化知識需求,在平臺框架技術(shù)的支持下,用戶可以維護自己的個性化知識頁面,訂閱自己感興趣的博客、新聞和論壇等RSS知識源。
5)文檔管理:文檔管理主要用于軟件項目中顯性知識的管理,是框架模型中知識倉庫的實現(xiàn),它也是軟件項目的案例庫主要包括對項目實施中的文檔和產(chǎn)品 (程序代碼)的管理。它支持多維度的文檔分類,基于內(nèi)容和元數(shù)據(jù)的搜索,基于角色的權(quán)限控制以及版本控制等多項功能,能夠有效解決軟件項目中的知識管理難題,是項目管理的強有力支持。
6)事件管理:事件管理是一種快速響應(yīng)的機制和渠道,軟 件項目過程中,可以根據(jù)權(quán)限發(fā)布事件并通知相關(guān)人員, 項目人員可以通過查看事件發(fā)生的時間,位置,處理結(jié)果等明細(xì)了解事件的內(nèi)容,并可以通過回復(fù)進行事件反饋,有效地實現(xiàn)隱性知識的快速傳播與共享。
7)任務(wù)管理:任務(wù)管理是項目過程中不可或缺的功能,任務(wù)管理支持任務(wù)分配,任務(wù)更新,任務(wù)進度控制等功能。
8)FAQ管理:FAQ(Frequently Asked Question)管理模塊可以搜集和整理軟件項目實施過程中常見問題及其解決方案,并支持開放式和協(xié)作式編輯,允許具有編輯權(quán)限的用戶組成員動態(tài)增加新的問題及其參考解決方案。
9)員工黃頁:軟件項目中不需要也不可能將所有個人的或組織的隱性知識顯性化,隱性知識的共享亦可以通過非顯性化的方式實現(xiàn),員工黃頁就是其中的一種實現(xiàn)方式。員工黃頁是一個特定的員工名單目錄,通過查詢促進內(nèi)部某個領(lǐng)域、某個特定知識點的員工與需要該知識的員工之間的交流,從而促進知識在組織內(nèi)部得到傳播和共享。員工名單目錄里面包含了員工擅長的知識信息,通過查詢的方式讓軟件項目人員都知道:誰能夠幫助我?
10)更新模塊:更新模塊記錄平臺內(nèi)容的最近更新,例如論壇的新貼,博客的新文章,以及wiki模塊的最近更改等,使得用戶可以快速掌握平臺內(nèi)新知識的動向。
4 平臺的實現(xiàn)
4.1 DotNetNuke簡介
DotNetNuke(簡稱DNN),是建立在微軟Asp.Net技術(shù)基礎(chǔ)上的免費開源CMS(內(nèi)容管理系統(tǒng))框架,被廣泛用于構(gòu)建各種商業(yè)或非商業(yè)的Web應(yīng)用, 如在線內(nèi)容發(fā)布、企業(yè)內(nèi)網(wǎng)/外網(wǎng)、商務(wù)網(wǎng)站等它有以下幾個特點[5]:
1)用戶友好性:DNN設(shè)計考慮非常周全,借助站點向?qū)Аo處不在的幫助圖標(biāo)等等,用戶能夠很容易的控制項目的方方面面。
2)技術(shù)支持:DNN有一個核心開發(fā)團隊和國際化的支持社團。DNN的用戶組、論壇、資源網(wǎng)站以及專注與DNN技術(shù)的很多公司,全方位的提供支持和幫助。
3)安裝簡單:從www.Dotnetnuke.com下載軟件以后,按照安裝指導(dǎo)的步驟,只需要幾分鐘就可以完成。
4)本地化:到目前為止已經(jīng)有30多個語言包,能很輕松的把您的網(wǎng)站轉(zhuǎn)換成幾乎任何語言。語言包也是可擴展的,您可以很容易的創(chuàng)建自己的特色語言包。
5)開放源代碼:DNN是免費、開放源代碼項目,采用類BSD風(fēng)格的授權(quán)方式。容許任何人按自己的想法,商業(yè)和非商業(yè)的使用DNN。
6)高擴展性:DNN內(nèi)建的功能已經(jīng)足夠構(gòu)建一個非常復(fù)雜的內(nèi)容管理系統(tǒng)。DNN提供了全新的在線式功能塊擴展,無論是第三方模塊還是自己開發(fā)的模塊,都能隨時很容易的加入到正在運行的網(wǎng)站中。
4.2 平臺的技術(shù)框架
軟件項目知識管理平臺采用基于B/S(瀏覽器/服務(wù)器)架構(gòu)的三層體系結(jié)構(gòu)(表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層),該體系結(jié)構(gòu)客戶端(瀏覽器)瘦小,簡單易用,軟件升級等所有服務(wù)只在服務(wù)端即可完成,維護成本大大降低。平臺利用DotNetNuke開源項目進行開發(fā),IIS6.0作為web 服務(wù)器,SqlServer2005作為后臺數(shù)據(jù)庫。在此技術(shù)框架下,系統(tǒng)兼容性,穩(wěn)定性更高。
4.3 平臺實現(xiàn)過程與方法
4.3.1 DNN 安裝與部署
軟件項目知識管理平臺是完全構(gòu)建在DNN基礎(chǔ)之上,因此平臺的開發(fā)首先要進行DNN 的安裝與部署。本文采用了較為穩(wěn)定的基于 Asp.net 2.0版本 4.8.3(最新版本是4.8.4)。該版本安裝步驟為首先確保.net framework 2.0 已安裝;其次,在IIS 6.0中創(chuàng)建虛擬目錄指向DNN web項目所在的文件夾;然后,在SqlServer 2005中創(chuàng)建名為DotNetNuke的數(shù)據(jù)庫,并注意在配置web.config文件中具體數(shù)據(jù)訪問參數(shù)時,應(yīng)將默認(rèn)的SQL Server 2005 Express訪問方式修改為SQL Server2000/2005訪問方式;最后,在瀏覽器中打開DNN默認(rèn)起始頁,DNN將自動執(zhí)行數(shù)據(jù)庫腳本,完成安裝過程。由于DotNetNuke系統(tǒng)安裝后全為英文界面,但用戶可以根據(jù)需要,安裝相應(yīng)的語言包實現(xiàn)本地化。
4.3.2 平臺功能模塊實現(xiàn)
DotNetNuke是一個多站點、多語言、多角色的平臺框架結(jié)構(gòu)[6]。DNN安裝完成后,會有Host和Admin兩個管理賬號。其中,Host賬號權(quán)限最大,管理主機和主機上的所有站點;Admin則用于管理當(dāng)前站點。利用Host賬號中站點設(shè)置或Admin賬號中網(wǎng)站設(shè)置功能配置平臺的基本信息,如標(biāo)題,logo,外觀等。
DotNetNuke使得開發(fā)者可根據(jù)需要選擇功能模塊, “搭積木”式地構(gòu)建平臺[7]。根據(jù)圖2的功 能模型,選擇DNN中的模塊構(gòu)建平臺,DNN自帶20多個常用模塊包括Forum(論壇),Blog(博客),Wiki, Chat(實時通訊),User Defined Table(用戶自定義表格),F(xiàn)eed Explorer(RSS瀏覽器),Events(事件),涵蓋了本平臺設(shè)計大部分的功能模塊;但文件管理,事件管理,任務(wù)管理需要第三方模塊的支持,下面選取典型模塊,詳述其實現(xiàn)過程。
1) DNN論壇,博客,Wiki模塊,員工黃頁,知識訂閱:
DNN論壇模塊是一個可以創(chuàng)建和管理一系列討論主題和回復(fù)的社區(qū)工具。要實現(xiàn)論壇功能,首先要在新添加的實踐社區(qū)中添加論壇模塊,隨后需要對論壇模塊進行基本設(shè)置,如名稱,皮膚,時區(qū)等。完成基本設(shè)置后最后可以進入論壇管理進行分組,本文將論壇分為業(yè)務(wù)需求,軟件工程,開發(fā)語言,數(shù)據(jù)庫技術(shù)四個組,供用戶根據(jù)興趣,角色的不同進入不同的組進行討論交流。
博客,Wiki等模塊同論壇實現(xiàn)過程基本類似,配置更為簡單。實現(xiàn)博客的功能同樣需要在新建的博客頁面中添加博客模塊,內(nèi)容面板則新增了“最近更新博客”、“博客列表”、“博客管理”、“博客搜索”、“日歷”等5項內(nèi)容。進行簡單設(shè)置后,用戶即可以使用創(chuàng)建博客,搜索,查看并訂閱博客等功能。
Wiki模塊是知識協(xié)同和知識共享的重要工具,本文主要將wiki模塊用于業(yè)務(wù)對象知識庫、技術(shù)知識庫的協(xié)作式構(gòu)建,Wiki模塊添加到維基頁面后,在維基頁面中創(chuàng)建了業(yè)務(wù)對象知識庫,技術(shù)知識庫兩個子頁面,可以使用Admin賬號根據(jù)需要創(chuàng)建,修改,刪除多級頁面。
員工黃頁使用DNN UserDefinedTable(用戶自定義表格)模塊完成功能,用戶自定義表格,顧名思義是由用戶根據(jù)需要自主設(shè)定表格式,表字段一種工具。本文將員工姓名,角色,擅長知識,聯(lián)系方式等信息組成表格內(nèi)容,用戶在線查閱,并通過聯(lián)系方式進行溝通交流,解決疑難。
知識訂閱功能使用DNN Feed Explorer(RSS瀏覽器)實現(xiàn),在頁面中加入Feed Explorer模塊后,進入設(shè)置頁面,選擇自定義OPML(Outline Processor Markup Language)文本,更換RSS源,改變outline分類標(biāo)記實現(xiàn)分類,完成后返回即可看到分類的RSS知識源內(nèi)容。
2) 文檔管理,事件管理,任務(wù)管理:
文檔管理需要利用第三方模塊Document Exchange Professional(簡稱DMX)實現(xiàn)功能,DMX目前最新版本為DMX4,DMX4是一個出色文檔管理解決方案,用戶界面基于Ajax技術(shù),具有良好的客戶化體驗,利用WebDav可以進行在線操作文檔,支持多維度分類,權(quán)限控制,版本控制等功能。在文檔管理頁面中添加DMX4模塊,本文根據(jù)軟件項目情況進行了分類設(shè)置,得到如圖3所示軟件項目文檔庫。
事件管理需要獲取第三方模塊Smart-Thinker Events,它包括Smart-Thinker EventDetail, Smart-Thinker Upcoming Events,Smart-Thinker Event 三個控件。實現(xiàn)事件管理功能,在事件管理頁面下添加三個子頁面,在三個子頁面分別添加以上三個控件,Event控件用于創(chuàng)建發(fā)布事件,EventDetail用于事件接收者查看事件明細(xì),Upcoming Events是即將發(fā)生事件的列表。可以利用此模塊發(fā)布警示報告,事件通知等。
任務(wù)管理利用第三方模塊Task list實現(xiàn),添加任務(wù)管理頁面后,新增Task List模塊到內(nèi)容容器中,無需配置,直接可以進行新增任務(wù),包括任務(wù)的名稱,描述,進度信息,優(yōu)先級,執(zhí)行者等等。
3) 平臺門戶主頁:
平臺門戶主頁中利用DNN Text/Html(文本模塊分別實現(xiàn)平臺介紹和當(dāng)前項目介紹功能,并添加Announcements(公告)模塊,Account Login(賬戶登錄)模塊,What's New(更新)模塊,構(gòu)成門戶主頁,最終呈現(xiàn)如圖4所示。

圖3 軟件項目文檔庫

圖4 平臺主頁
5 結(jié)束語
隨著知識經(jīng)濟時代的到來,知識管理與軟件項目管理聯(lián)系日益密切,知識管理平臺的構(gòu)建為實現(xiàn)知識獲取,知識積累,知識創(chuàng)新和知識應(yīng)用提供了一個開放的平臺,并與軟件項目相結(jié)合,實現(xiàn)知識和經(jīng)驗的充分利用,提高了軟件項目生產(chǎn)率,本文根據(jù)軟件項目中的知識特點,構(gòu)建了一個軟件項目知識管理平臺的框架模型,并利用開源框架DotNetNuke快速構(gòu)建了一個基于web 2.0 知識管理平臺。該平臺在軟件項目團隊試用后,成效顯著,通過此平臺項目中的文檔形成了一套檢索方便,關(guān)聯(lián)性強,權(quán)限分明,版本可追蹤的文檔體系,團隊成員利用此平臺共享學(xué)習(xí)心得,進行知識交流,大大提高了成員學(xué)習(xí)知識的效率,減少了人員流動的風(fēng)險。
參考文獻:
[1] Brent G.Knowledge management systems: surveying the landscape[J].International Joumal of Management Review,2001(3):61-77.
[2] 田志剛.Web 2.0與知識管理系統(tǒng)[EB/OL].http://www.kmcenter.org/ArticleShow.asp?ArticleID=5154.
[3] 程祁慧,程剛.我國企業(yè)知識管理研究進展[J].情報雜志,2005,(11):97-99,102.
[4] 謝陸寧,張朋柱.基于Exchange的軟件企業(yè)知識管理系統(tǒng)的設(shè)計與實現(xiàn)[J].情報雜志,2007(3):44-46,49.
[5] DotNetNuke官方網(wǎng)站[EB/OL].[2008-06-30].http://www.dotnetnuke.com.
[6] 王偉軍,熊瑞,成江東.利用DotNetNuke構(gòu)建基于web2.0的知識管理平臺[J].現(xiàn)代圖書情報技術(shù),2007(7):41-44.
[7] 中國DNN開通模塊演示欄目[EB/OL].[2008-07-08].http://www.cnblogs.com/rata/archive/2008/07/08/445657.html.