/北京航天自動控制研究所
如今人們對信息的需求越來越廣泛,知識也逐漸成為企業(yè)競爭的資本。企業(yè)雖有豐富的知識儲備,但大部分分散在個人電腦和頭腦里,缺乏有效的管理,導致員工獲取知識難,知識復用率低。如何從多個領(lǐng)域獲取信息與數(shù)據(jù),并對其進行整合成為需要解決的一個重要問題。因此,越來越多的企業(yè)選擇建立自己的知識管理系統(tǒng),這對于提高工作效率、縮短產(chǎn)品設(shè)計和開發(fā)周期、提升企業(yè)競爭力具有重要意義。
目前,知識庫平臺主要可以劃分為兩類:一類是為企業(yè)定制的知識庫平臺,其通常需要和企業(yè)具體開發(fā)內(nèi)容緊密相關(guān);另一類是相對較為通用的知識庫平臺,其相對而言具有更加通用的框架。針對北京航天自動控制研究所的特定需求,并且考慮到越來越多的知識內(nèi)容以支持開放獲取的方式被創(chuàng)建、發(fā)布和傳播利用,以及考慮其擴展性,筆者采用通用架構(gòu)構(gòu)建并實現(xiàn)了專用的航天軟件知識庫平臺。
研發(fā)人員在航天軟件研發(fā)過程中面臨著3個方面的問題:一是項目組成員之間如何進行全面溝通、相互協(xié)調(diào);二是從項目立項到結(jié)題,如何對項目研發(fā)中產(chǎn)生的問題、經(jīng)驗、文檔、模板代碼等進行存儲;三是如何實現(xiàn)模板代碼的復用、經(jīng)驗知識的總結(jié)、項目組或部門之間的邏輯隔離。
因此,航天軟件知識庫平臺的開發(fā)旨在解決項目研發(fā)過程中的溝通難、復用性低等問題。在軟件設(shè)計開發(fā)過程中,一個設(shè)計良好、內(nèi)容規(guī)范的組件庫、設(shè)計文檔庫、設(shè)計經(jīng)驗等可以在多個項目中發(fā)揮重要作用,并可在多次的開發(fā)中不斷改進。在使用統(tǒng)一知識庫平臺的情況下,用戶不僅可以貢獻自己的知識,還可以對當前知識庫中的知識、問題進行搜索、回復和討論,貢獻自己的力量,極大地提高后續(xù)開發(fā)的效率。
航天軟件知識庫平臺主要有社區(qū)管理、問題管理、系統(tǒng)知識獲取、缺陷庫管理、個人知識管理、知識搜索、用戶討論等功能。
社區(qū)管理功能包括社區(qū)創(chuàng)建、社區(qū)與內(nèi)容及用戶關(guān)聯(lián)、社區(qū)通知等功能。
社區(qū)創(chuàng)建指知識平臺要求相關(guān)用戶或者管理員可以創(chuàng)建社區(qū),社區(qū)創(chuàng)建時需要提供名稱、LOGO、社區(qū)介紹等信息。社區(qū)的創(chuàng)建者默認為社區(qū)的管理員,其可以對社區(qū)內(nèi)容、社區(qū)用戶等進行操作。
社區(qū)與內(nèi)容及用戶關(guān)聯(lián)指知識平臺要求社區(qū)將問題、知識、用戶等關(guān)聯(lián)進來,實現(xiàn)社區(qū)平臺在節(jié)點的整合。知識、問題等發(fā)起時,由創(chuàng)建者選擇發(fā)布到的社區(qū);社區(qū)的管理員在創(chuàng)建或運營社區(qū)時可以邀請其他用戶加入。
社區(qū)通知指對于社區(qū)創(chuàng)建者而言,其可以發(fā)布社區(qū)內(nèi)部通知。對于系統(tǒng)管理員,可以發(fā)布系統(tǒng)通知,并可以選擇社區(qū)。
問題管理包括問題添加和問題回復等功能。
問題添加主要為用戶登錄并提出問題,對于問題的描述需要標明分類和必要的關(guān)鍵詞,而問題本身要能支持圖片、語音、視頻等常見多媒體和附件格式。問題分類由系統(tǒng)提供默認的若干分類標簽,用戶在提交問題時選擇最合適的分類標簽或自定義標簽;在不確定問題分類的時候,用戶也可以設(shè)置默認標簽。問題描述由用戶以文本為主體,圖片、語音、多媒體、附件等作為輔助來描述問題。
問題回復主要為用戶或管理員回答問題,其中回答本身要能支持圖片、語音、視頻等常見多媒體和附件格式。相同問題可以進行多次回答,其他用戶對于答案本身可以進行評價,并由系統(tǒng)提供默認的回答模板。由用戶以文本為主體,圖片、語音、多媒體、附件等作為輔助來回答問題。
知識獲取部分主要為管理員整理知識系統(tǒng),包括知識整理、知識審核、知識評價等功能。在知識平臺中,對于已經(jīng)完整回答并確定的問題和答案,管理員對其內(nèi)容進行整理并編輯為新的知識,其他用戶可對知識本身進行評價。
知識整理由系統(tǒng)根據(jù)問題和答案提供默認的知識模板。管理員以文本為主體,圖片、語音、多媒體、附件等作為輔助編輯知識。對于知識內(nèi)容編輯功能,除標準編輯功能外還要支持標題、導航、章節(jié)等功能。知識編輯完成并發(fā)布之后,管理員可以根據(jù)用戶評價隨時對知識進行編輯。
知識審核指對于用戶整理的知識,系統(tǒng)中的知識管理員需要對知識進行審核,只有審核通過的知識才能呈現(xiàn)在系統(tǒng)中。
知識評價指對于已編輯發(fā)布的知識,用戶可以對其進行評價。評價內(nèi)容的編輯過程與問題回復類似。評價內(nèi)容所有用戶可見,管理員可隨時根據(jù)評價更新知識。
缺陷是一類特殊的領(lǐng)域知識,缺陷庫就是在知識管理的基礎(chǔ)上,為相應“缺陷知識”增加缺陷相關(guān)的屬性和操作,包括缺陷分類、缺陷管理、缺陷統(tǒng)計等功能。缺陷庫的整體需求架構(gòu)如圖1所示。其中,缺陷分類指根據(jù)缺陷的基本信息、缺陷類別、缺陷影響等信息進行分類;缺陷管理指用戶可以修改缺陷的相關(guān)屬性,增加或者刪除缺陷條目,查詢?nèi)毕荩蝗毕萁y(tǒng)計指提供缺陷數(shù)據(jù)不同屬性、維度的統(tǒng)計視圖等。
知識庫平臺為用戶提供個人知識空間,方便用戶進行個人知識管理。用戶可以自行整理編輯知識,知識的形式包含文件、圖片和其它結(jié)構(gòu)化知識資源等。用戶可直接將編輯完成的知識導入個人知識庫中,也可將社區(qū)知識庫中的知識添加到自己的個人知識庫中,且能夠?qū)€人知識庫中的知識進行修改和刪除。
圖1 缺陷庫整體需求分析
知識庫平臺中知識搜索部分需要完成的功能主要為用戶搜索知識。對于已經(jīng)整理后的知識,所有用戶可以根據(jù)關(guān)鍵詞、分類、標簽、內(nèi)容等對當前知識平臺內(nèi)容進行查找。搜索時,用戶也可使用正則表達式對知識內(nèi)容進行模糊搜索。
用戶之間可以對知識、問題進行討論。多用戶或者項目組可以通過創(chuàng)建社區(qū)進行相互討論,系統(tǒng)對討論內(nèi)容進行記錄,管理員可查看討論記錄,并可根據(jù)討論內(nèi)容整理、添加、修改知識。
根據(jù)航天業(yè)務需求、安全需求和接口需求,知識庫平臺的總體架構(gòu)設(shè)計如圖2所示。平臺自底向上分為基礎(chǔ)設(shè)施層、數(shù)據(jù)層、應用支撐層、應用層和展現(xiàn)層。
基礎(chǔ)設(shè)施層是平臺建設(shè)的根基,包括計算機平臺、互聯(lián)網(wǎng)服務和服務安全體系等。
圖2 平臺總體架構(gòu)設(shè)計
計算機平臺和互聯(lián)網(wǎng)服務等網(wǎng)絡(luò)基礎(chǔ)設(shè)施是為知識庫平臺提供知識信息以及其它運行管理信息的傳輸和交換平臺;互聯(lián)網(wǎng)服務可以根據(jù)知識庫平臺的實際需要劃分為非涉密信息網(wǎng)和涉密信息網(wǎng)等;服務安全體系在網(wǎng)絡(luò)基礎(chǔ)設(shè)施所提供的信息傳輸服務平臺的基礎(chǔ)上,增加面向社區(qū)的知識信息通用安全服務,為知識信息提供了一個通用的高性能的可信和授權(quán)的計算平臺,從而使知識庫平臺能夠以便捷而靈活的方式來構(gòu)建自身的安全體系。
數(shù)據(jù)層包括數(shù)據(jù)管理和數(shù)據(jù)處理模塊,其中數(shù)據(jù)分為格式化和未格式化2種類型。未格式化的數(shù)據(jù)在進行數(shù)據(jù)檢索、融合的過程中不能被很好地利用,不能得到相應擴展的知識,所以數(shù)據(jù)層的設(shè)計不僅包括關(guān)系數(shù)據(jù)庫的設(shè)計,還包括知識格式化的設(shè)計。
關(guān)系數(shù)據(jù)庫的設(shè)計??茖W合理的設(shè)計存儲方式能夠提高系統(tǒng)的效率。知識庫平臺中的數(shù)據(jù)查詢、讀取較為頻繁,因此采用關(guān)系型數(shù)據(jù)庫存儲數(shù)據(jù)能夠根據(jù)輸入的搜索條件快速查找到相應的數(shù)據(jù)。而且關(guān)系型的數(shù)據(jù)存儲模式能夠快速與數(shù)據(jù)倉庫的數(shù)據(jù)模式相匹配,便于進行數(shù)據(jù)獲取和分析。
知識格式化設(shè)計。知識格式化的目的是為了得到良好的知識結(jié)構(gòu)和發(fā)現(xiàn)隱性知識。隱性知識向顯性知識的轉(zhuǎn)化,是一個篩選精華、升華的過程。本方案借鑒專家系統(tǒng)的開發(fā)模式,創(chuàng)建樹形知識顯性化模式對隱性知識進行整理。由于樹形知識結(jié)構(gòu)的層次性強,易于知識的描述等特點,在設(shè)計時采用樹形結(jié)構(gòu)表示顯性和隱性知識,并通過關(guān)系數(shù)據(jù)庫存儲對應的知識樹節(jié)點內(nèi)容。
隱性知識向顯性知識轉(zhuǎn)化,需要通過激勵、引導等方式將其以文字、圖標或者其它形式描述出來。同時,在進行隱性知識轉(zhuǎn)化過程中,通過相關(guān)專家和發(fā)布者的努力,對隱性知識進行詳細的描述,使其在融合過程中能被檢索出來。創(chuàng)建的顯性知識需要提交給高權(quán)限的管理員進行二次篩選以及多次篩選,最終得到相關(guān)內(nèi)容的顯性化知識。
應用支撐層采用面向?qū)ο?、組件式設(shè)計等方式,提供的構(gòu)件系統(tǒng)是跨領(lǐng)域、與具體業(yè)務無關(guān)的、通用的基礎(chǔ)服務,能隨著知識庫平臺的發(fā)展變化而擴展、伸縮。應用支撐層通過統(tǒng)一的訪問入口,實現(xiàn)結(jié)構(gòu)化數(shù)據(jù)資源、非結(jié)構(gòu)化文檔和互聯(lián)網(wǎng)資源、各種應用系統(tǒng)跨數(shù)據(jù)庫、跨系統(tǒng)平臺的無縫接入和集成,提供一個支持信息訪問、傳遞以及協(xié)作的集成化環(huán)境,實現(xiàn)個性化業(yè)務應用的高效開發(fā)、集成、部署與管理平臺。
應用層是知識庫平臺的最高層,直接為用戶提供應用服務。其作用是在實現(xiàn)多個系統(tǒng)模塊相互通信的同時,完成一系列業(yè)務處理所需的服務。
展現(xiàn)層是用戶查看和操作知識的層級,分成知識庫、社區(qū)服務和個人知識空間三大模塊。知識庫是實現(xiàn)知識檢索、知識圖譜、知識錄入和評論的入口;社區(qū)服務以社區(qū)為用戶和知識聚集單元,實現(xiàn)了不同領(lǐng)域、部門在表現(xiàn)上的隔離;個人知識空間是實現(xiàn)個人知識的管理。用戶登錄平臺后,以社區(qū)為單位進行聚集,用戶只有加入相應社區(qū)后才能查看知識庫中相應的知識。
平臺社區(qū)化設(shè)計要求以社區(qū)為節(jié)點,實現(xiàn)用戶、問題、知識等的邏輯隔離和聚集。
社區(qū)化內(nèi)容。問題、知識等內(nèi)容是社區(qū)的重要組成部分,并且只有依附社區(qū)才能存在。一條內(nèi)容可能會屬于多個社區(qū),一個社區(qū)也會包含多條內(nèi)容,但是內(nèi)容至少要屬于一個社區(qū)才能存在,而社區(qū)可以不包含任何內(nèi)容。另外,用戶是社區(qū)的參與者,用戶只有加入社區(qū),才能在平臺中瀏覽內(nèi)容。
社區(qū)化意義。將內(nèi)容、用戶與社區(qū)關(guān)聯(lián)起來,可以實現(xiàn)邏輯隔離。如果用戶對社區(qū)所包含的內(nèi)容不感興趣,就不需要加入社區(qū),也就看不見這些內(nèi)容;如果社區(qū)內(nèi)容涉及保密,可將無關(guān)用戶排除在外,進而在一定程度上實現(xiàn)對外保密的功能。
將內(nèi)容、用戶與社區(qū)關(guān)聯(lián)起來,可以實現(xiàn)邏輯聚集。如果用戶對社區(qū)內(nèi)容感興趣,用戶便可以申請加入社區(qū),從而將相同興趣的用戶聚集在一起;社區(qū)內(nèi)的用戶可以將內(nèi)容發(fā)布至相關(guān)社區(qū),這樣社區(qū)中便聚集了類似的內(nèi)容。
知識管理架構(gòu)。航天軟件知識庫平臺資源的存儲形式大體分為系統(tǒng)知識空間和個人知識空間2類,前者用于包含所有知識信息,其存儲介質(zhì)主要包括平臺內(nèi)部的各個信息系統(tǒng)、各種紙質(zhì)的文檔資料;后者用于管理個人知識,查看和管理個人添加的知識資源。平臺知識資源管理架構(gòu)如圖3所示。
數(shù)據(jù)庫存儲。由于關(guān)系數(shù)據(jù)庫技術(shù)發(fā)展成熟,關(guān)系模式容易建立查詢、便于事務處理和備份,所以知識存儲方法的研究絕大部分都是基于關(guān)系數(shù)據(jù)庫進行的。大多數(shù)的知識存儲也都以關(guān)系或?qū)ο蟆P(guān)系數(shù)據(jù)庫管理系統(tǒng)為后臺存儲。
圖3 平臺知識資源管理架構(gòu)
但是利用關(guān)系數(shù)據(jù)庫來存儲知識也具有一定的弊端,最主要的問題是模型不匹配的問題:數(shù)據(jù)庫采用的是相對簡單的關(guān)系模型,以二維表的形式來表示數(shù)據(jù);而知識有很多基于語義的描述,其模型是N維的。基于關(guān)系數(shù)據(jù)庫的存儲需要將復雜的N維模型的知識圖分解成簡單的二維模型的關(guān)系存儲,將基于圖的查詢轉(zhuǎn)換成大量關(guān)系的查詢,所以基于關(guān)系數(shù)據(jù)庫進行知識存儲的重點在于對知識—關(guān)系的映射模型進行研究,即進行知識存儲模式的研究。
個人知識庫為用戶提供了個人知識管理的平臺,用戶將獲取的各種無序、零散的信息進行組織和集中,使其成為可被系統(tǒng)利用和擴展的個人知識。個人知識庫首先設(shè)定一些常用知識的欄目,用戶可以移動欄目、修改欄目、刪除欄目、新增欄目。個人知識庫支持知識資源的新增、編輯、導入和導出。當用戶加入新的知識資源時,系統(tǒng)可以提取資源信息,對標題、作者、關(guān)鍵詞等屬性進行半自動標引,并據(jù)此建議知識所屬欄目,用戶可以選擇系統(tǒng)推薦的默認欄目,也可以手動選擇其它知識欄目。對于知識的屬性,用戶可以隨時進行修改,也可以添加新屬性,為以后的知識檢索提供方便。
案例庫及失效庫。案例是歷史項目開發(fā)的經(jīng)驗和教訓,對案例的分析和借鑒是知識庫平臺的重要一環(huán)。案例庫主要分為2個部分,一部分包括文件、圖片和結(jié)構(gòu)化存儲在關(guān)系型數(shù)據(jù)庫中的文字資料;另一部分是具有保密性質(zhì)或者不適合存在平臺中的紙質(zhì)版材料。
軟件失效可能產(chǎn)生不可估量的后果,而許多相似的失效案例往往重復發(fā)生。案例庫以軟件失效庫為主,對于曾經(jīng)發(fā)生的軟件失效案例及其分析、改進措施等進行收集歸納。開發(fā)人員在設(shè)計過程中可以對失效案例進行檢索,在開發(fā)過程中有意識地避開曾經(jīng)的失效案例,并采取相應的規(guī)避措施,這對于提高軟件質(zhì)量有非常重大的意義。用戶可以查詢系統(tǒng)中存儲的失效案例,也可以對失效案例提出修改意見。同時,用戶可以在個人知識庫中添加失效案例,經(jīng)管理員審核通過后也可將其上傳至系統(tǒng)案例庫。
文件方法主要用于電子版圖片、附件等信息的存儲。進行知識融合時,主要是根據(jù)用戶輸入的文件信息進行匹配,目前很難對文件的內(nèi)容進行融合。
航天軟件知識庫平臺是為航天工程項目開發(fā)過程中的知識、信息、解決方案、文檔等內(nèi)容提供管理、整合的平臺, 可提高航天工程項目的知識記錄、代碼文檔復用,可以輔助開發(fā)者更好地管理知識和信息,并提供直觀、簡便的圖形化展示界面??紤]今后本平臺的擴展性要求,將采用基于B/S架構(gòu)實現(xiàn)知識編輯和信息分類模式?!?/p>