本發明是一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法,在數據圖譜、信息圖譜和知識圖譜上通過計算數據、信息和知識的頻度輔助軟件設計過程,提高建模抽象層次。
背景技術:
軟件開發從產生到現在歷經了數種體系結構的變革,從傳統的體系結構階段到基于組件的體系結構階段,再到面向服務的體系結構階段,每次變革都是為了應對不斷增加的軟件復雜度。隨著軟件應用規模的逐步擴大,應用層次的逐步深入,軟件開發復雜度日益增加。面對復雜多變的軟件需求,如何減少開發成本,如何充分利用現有的資源提高軟件可重用性,成為了一個迫切需要解決的問題。
本發明將數據、信息和知識層面的整個系統設計流程模型化為數據、信息和知識生命周期中數據共享、信息傳遞和知識創建控制的階段,將相應的數據、信息和知識處理階段作為原子數據、信息和知識處理活動和狀態進行細化,基于數據圖譜、信息圖譜和知識圖譜對數據的頻度、實體交互的頻度進行計算,完整表達實體之間的語義關系。
技術實現要素:
技術問題:本發明的目的是提供一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法,提出在數據圖譜、信息圖譜和知識圖譜的架構上,跨越經濟規劃和技術實施之間橋接雙向價值驅動設計,使用數據圖譜、信息圖譜和知識圖譜來分析對包括需求分析、架構設計和模型抽象在內的軟件開發活動產生負面影響的問題。
技術方案:本發明的方法是一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法,其目標是為信息技術方面的實施提供指導和整合,實現連貫一致的數據、信息和知識協調以及強大的價值導向適應性,最大限度地提高利益相關者方的利益。
、體系結構
圖1給出一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法的結構,圖2給出了數據圖譜、信息圖譜和知識圖譜的關聯關系,本發明對軟件開發活動中的需求分析、架構設計、模型抽象等軟件開發活動分別基于數據圖譜、信息圖譜和知識圖譜進行分析,細化軟件開發流程。
下面給出數據圖譜、信息圖譜和知識圖譜的具體說明。
數據圖譜:數據圖譜能記錄關鍵詞出現的頻度,包括結構、時間和空間三個層次的頻度。我們定義結構頻度為數據出現在不同數據結構中的次數,時間頻度為數據的時間軌跡,空間頻度被定義為數據的空間軌跡。數據圖譜上可以描述圖中各個結點之間關聯的緊密程度即密度,可以反映出哪些數據聯系緊密,哪些數據聯系稀疏。但數據圖譜上未對數據的準確性進行分析,可能出現不同名稱的數據但表示同一含義,即數據冗余。綜上,數據圖譜只能對數據進行靜態分析,無法分析和預測數據的動態變化。
數據是通過觀察獲得的數字或其他類型信息的基本個體項目,但是在沒有上下文語境的情況下,它們本身沒有意義。數據圖譜可以通過數組、鏈表、隊列、樹、棧、圖等數據結構來表達。在數據圖譜上,通過計算數據的頻度,得出數據在數據圖譜上的支持度和置信度來刪除錯誤或無用數據,刪除的條件是必須同時滿足支持度和置信度的閾值要求,閾值過大不利于圖譜表達的準確性,過小會不利于表達的完整性,可以根據計算圖譜反饋的結果信息動態調整。
信息圖譜:信息是通過數據和數據經過組合之后的上下文傳達的,經過概念映射和相關關系連接之后的適合分析和解釋的信息。信息圖譜可以通過關系數據庫來表達。信息圖譜上的頻度指的是實體與實體之間的交互的頻度,信息圖譜可以表達實體之間的交互關系,根據算法1得到兩個實體間的所有完整路徑,把交互頻度高的實體進行集成同樣會提高模塊的內聚性。在信息圖譜上可以進行數據清洗,消除冗余數據,根據實體之間的交互度進行初步抽象,提高設計的內聚性,降低耦合度。通過圈定特定數量的實體,計算內部交互度和外部交互度,內聚性cohesion等于內部交互度和外部交互度的比值,我們設定所圈定的實體之間必須是相互連通的:
知識圖譜:知識是從積累的信息中獲得的總體理解和意識,將信息進行進一步的抽象和歸類可以形成知識。知識圖譜可以通過包含結點和結點之間關系的有向圖來表達。知識圖譜可以表達各種語義關系,在知識圖譜上能通過信息推理和實體鏈接提高知識圖譜的邊密度和結點密度,知識圖譜的無結構特性使得其自身可以無縫鏈接。信息推理需要有相關關系規則的支持,這些規則可以由人手動構建,但往往耗時費力,得到復雜關系中的所有推理規則更加困難。目前,信息推理主要依賴于關系的同現,并使用關聯挖掘技術自動查找推理規則。pra使用每個不同的關系路徑作為一維特征,通過在知識圖譜中構建大量的關系路徑來構建關系分類的特征向量和關系分類器來提取關系,關系的正確度超過某一閾值后認為新關系成立。
有益效果:
本發明提出了一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法,目的是基于數據圖譜、信息圖譜和知識圖譜的基礎上,跨越經濟規劃和技術實施之間橋接雙向價值驅動設計,從而最大化業務盈利能力。本發明具有如下優點:
1)跨越良好的經濟知識和設計經驗,可以為所有的利益相關者提供增值的雙贏服務混搭環境,以便于利益相關者可以花費最低成本,但獲得相對可選的服務;
2)與cmmi相比,cmmi從細化的角度重點關注管理,本發明從商業設計的頂端形成閉環來實現細節;
3)從數據、信息和知識的角度細化了軟件開發活動,有效解決軟件開發過程中出現的數據信息知識冗余、無用、錯誤和控制不當等問題。
附圖說明
圖1是一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法結構。
圖2是數據圖譜、信息圖譜和知識圖譜的關聯關系示例。
圖3是需求分析中冗余和無用數據示例。
圖4是概要設計中信息流控制不當和信息丟失示例。
具體實施方式
本發明提出了一種基于元素多維頻度關聯計算的數據圖譜、信息圖譜和知識圖譜架構的語義建模方法,對軟件開發活動中的需求分析、概要設計和詳細設計活動分別基于數據圖譜、信息圖譜和知識圖譜進行分析,細化軟件開發流程。
一.需求分析活動中數據的觀察與采集
需求開發過程一般分為需求獲取,需求分析,撰寫需求規范和需求驗證四個階段。需求獲取的主要任務是了解用戶的類型和業務領域,并根據用戶的要求確定整體系統目標和工作范圍。本發明使用數據圖譜來模擬需求開發過程,查找對開發有負面影響的數據。
本發明限制一些數據是無用的,因為它既不利于積極建立必要的中間模型或目標模型,也不利于實施由錯誤數據證明的負面構造。引入無用的數據需要額外的努力,資源和時間成本。無用數據的特殊情況是有用的數據是不必要的,但被重復創建,引入和存儲。無用數據被模擬為參與者活動期間生成的數據,但對后續活動無效。對于理想使用模型中需要被重用的數據,將最大化其使用和發生,同時最小化其重復創建。圖3顯示了需求分析過程中的數據共享情況。黑框內容代表軟件開發的設計活動和黑色橢圓框中的內容代表數據產生。由于需求跟蹤記錄對最終活動沒有影響,需求規范的出度為1即可。在軟件設計過程中也有一些冗余的情況,它們反復和不必要地產生和收集相同的數據。在圖3中,活動過程審核和過程質量分析將產生不必要的反復制作的審查報告。每個活動都應配備執行時間,但本發明在圖3中沒有展示。
二.架構設計中的信息流控制
從信息傳遞的角度來看,信息流需要很好地規劃,以避免諸如順序傳送的低效情況,這樣就允許并行模式,反之亦然。不正確的信息控制和信息丟失將導致建模活動的延遲甚至失敗,并且時間跨度將超過理想過程中的預期時間。信息流傳輸不足增加了資源方面的壓力,包括存儲和帶寬。
1.不合適的信息流控制
有多種情況可以優化控制流程。例如,如果一個活動的執行獨立于在它之前的活動,即兩者的執行不存在執行依賴,表示為一個活動的輸入不包含其先前活動的輸出,則活動的開始時間可以在其之前或之后移動。如圖4所示,活動“正規檢視”和活動“問題跟蹤和解決”之間的執行存在依賴關系。活動“正規檢視”必須在活動“問題跟蹤和解決”之前發生,因為活動“正規檢視”是活動的輸入“跟蹤和解決問題”。但是執行活動“撰寫測試方案”不依賴于活動“撰寫概要設計說明書”,所以這兩個活動可以并行執行。那么時間跨度和資源壓力就會降低。
2.信息丟失
不正確的設計可能來自于在利益相關者側向實施的工件或傳輸過程的轉移過程中丟失了一些數據和信息的情況。當選擇數據作為利益相關者轉移的目標時,數據在概念上成為信息。與理想的設計過程相比,并沒有完整實現需求,因此信息丟失使得設計無法在完成項目方面取得成功,失去某些信息將導致不可能完成項目。信息丟失將導致信息設置少于預期的信息。圖4中信息“審計報告”應被傳輸給“問題跟蹤和解決”活動,但是有可能過早地被丟棄,因為活動“設計審查”和活動“跟蹤解決問題”之間有很多的中間活動,而信息“審查報告”對其后續活動沒有影響。
三.知識創造
知識是由用戶適當處理的信息。當信息被充分吸收時,它產生知識,改變個人對信息的心理存儲,并使他的發展和他所生活的社會的發展受益。知識是指用于產生“如何”問題的答案的信息。在實踐中,知識也被用來構建活動,為“如何”,“什么”,“哪個”,“何時”和“哪里”指導的問題提供答案。知識不直接通過直接轉移或轉換來組成目標模型,而是可以在邏輯上用于對排除功能的負邏輯連接進行分類。關于目標模型的知識積累可以通過實體和關系推理來減少直接構建系統的實體和關系的數量。未知信息將在一系列未決定的可能性/選擇中得到證明,這些可能性/選擇需要通過進一步的數據,信息和知識介紹客觀決定,或由利益相關者主觀決定。將問題泛化,以更抽象的方式識別正在處理的問題,了解每個模式和原則是如何編寫的,并了解自己要解決的問題是否符合特定模式或原則視試圖解決的問題。設計模式是高層次的解決方案,運用知識把問題抽象,不過于關注具體問題的細節,了解應用程序中什么可能發生變化,從而選擇可以有助于軟件開發的設計模式。在軟件詳細設計過程中,使用知識圖譜進行建模可以提高需求表達的完整性。在知識圖譜中,可以通過知識推理建立更多實體之間的新關聯,從而擴展實體之間的關系,增加知識圖譜的邊緣密度。