對於大型系統利用 DoDAF 規格的架構規劃,其實均有個共同的特點,也就是有多個節點(Node)、多個資訊系統(Information System)。 包括軍事領域的聯合作戰指揮系統、以及政府單位防救災系統的架構規劃等,均是有這樣的特點:如何表達表達多個節點之間的關連性、如何表達多個資訊系統之間的互動。

兩個主要的觀點: Operation View and System View。 又依照每個觀點所涵蓋的層次(layer) 與 功能性質的不同,又分為 OV1~OV7, SV1~SV11。 有趣的是,即使是 Operation View,也會利用如 UML 的循序圖(sequence diagram),如 OV6,來表達節點之間的動態互動情形。 而 UML 循序圖一般是被用來表達軟體系統內部,參與物件之間的互動合作關係。 其實這隱含什麼意思呢? 很簡單的道理! 在 Operation View,也可以運用物件導向分析的手法,與 System View 所不同的只有:一個是把 Node 當物件;另一個是把 System 當物件;但是相同的是:兩者均用物件導向分析設計的思維來作塑模(Modeling)

依據「DoDAF Deskbook v1」的建議,Architecture View 的開發步驟可以參考如下圖的各種視圖的先後開發順序。 當然,這不會是絕對的,對我而言,在抓這類大型系統的架構時,首要就是要先能界定出系統的整體框架。當把某一個設計的目標框架,界定為一個系統時,就會分出 “外” 與 “內”,而兩者的分析手法與看待系統的角度就會不一樣了。 “外” 重視的是 “用”,所以會觀察系統所提供的服務,而服務就會衍生出,系統應該提供什麼 “介面(interface” 讓外部的參與者來用;再來 “內” 重視的就是系統的組成元素,這就是屬於結構分析的角度。結構分析觀察的兩個重點是,一個為靜態的結構關係、另一個就是,在動態為了完成某一個 “用” 的功能服務時,會有哪些元素的參與、它們彼此之間又是如何傳遞訊息的。 最終,你就會發現到,到底是如何 “界定” 某一個框架為一個系統,會是架構師最大的課題與其必備的素養了。

DoDAF_Architecture_View 建議開發步驟
圖 1、 摘錄自「DoDAF Deskbook v1 p.2-5」

從上圖中可以看出, 「DoDAF Deskbook」所建議的開發步驟,是以 AV1 開始觸發、以 AV2 涵蓋所有的視圖。 事實上,AV-1 是什麼呢? “Overview and Summary”。 其實它就是一份 SAD(System Architecture Document)。 文件內容大概就是包含了專案的目的、專案的描述與說明、架構規劃的標的、情境、任務、願景與目標 …等。 也就是說,在未來展開這個系統的規劃時,範圍與目標均是在該文件所描述的範圍之內。 AV-2 呢? “Integrated Dictionary”,它就是未來在涵蓋所有的視圖內,經常會使用的術語(terminology),要能給予一個明確的定義及其該字彙的意涵。

所以, “All-View” 只是文件的報告而已,真正的第一張視圖是 OV1— “High Level Operational Concept”。 這一張也可以說是要能涵蓋所要規劃系統全貌最大格局的視圖了。 它是給指揮官以上的層級所看的概念性視圖,所以盡量不要以技術面的角度來表達這張視圖。 參考下圖:

DoDAF_OV1_Conceptual_Diagram
圖 2、OV-1— 高階概念視圖


前述所提,架構師當能從任何一張視圖,看得出系統的 “外” 與 “內”。 並且在心中就要能轉化的出來能表達出整體框架的設計圖。 哪一張 UML 設計圖最適合被用來表達 “外” 與 “內” 呢? 也就是說,要能表達的出 系統所提供的服務介面,以及系統內部的組件關係。 UML 合成結構圖(Composite Structure Diagram),可以說是最適切的表達了。

DoDAF_OV1_Composite_Structure
圖 3、將 OV-1 概念視圖在心中轉為合成結構圖

所以,OV-1 的精要(Essential)為何呢?
利用視覺化的視圖協助高階決策者(如指揮官),以 “鳥瞰” 的方式來看出系統的全貌 (包括系統的外與內部觀點)。

  • 開發的系統為何? (聯合作戰指揮系統)
  • 誰觸發(Trigger)系統作業? (通信雷達偵測系統偵測到敵空降部隊與敵軍機的來襲)
  • 系統的外部支援為何? (UDA, 台美聯防艦隊)
  • 系統的內部組成元素? (各節點,包括直屬部隊、陸、空軍作戰指揮中心、後勤中心等)

再來,我們就會利用戰情演練與情境描述等,來作為系統的架構規劃,以及持續驗證系統的作業。

戰情演練:
「海防部隊接獲情資,敵軍空降約一個營兵力的傘兵,於 0608:1200 在林口台地附近登陸,並往台北方向推進。約此同時,雷達偵測系統偵測敵 20 餘架戰鬥軍機於 0608:1230 往空降地點方向移動,預計約 10 分鐘後抵達林口台地,準備支援敵空降傘兵部隊。」

情境描述:
我軍聯合作戰指揮部 (Joint Force Commander,簡稱 JFC),偵察與接收到敵軍來襲狀況,指揮官即刻下達決策命令:

  • 即刻派遣直屬衛戍部隊,至敵空降單位守衛迎擊,並以殲滅敵登陸軍為主要作戰目標。
  • 協調空軍作戰指揮部 (AirForce Commander,簡稱 AFC),派遣軍機攔擊,並以殲滅敵軍機為作戰目標。
  • 即刻派遣防砲部隊,擔負迎擊敵軍機防禦任務。
  • 協調台美聯防艦隊 (Union Defense Armada,簡稱 UDA),防衛與監控敵海軍艦隊,防止敵艦隊登陸。
  • 聯絡陸軍作戰指揮部 (Army Commander ,簡稱 AC),整備作戰部隊、並緊急動員後備部隊,以備後續支援作戰。
  • 聯絡後勤補給中心 (Logistics Supply Center,簡稱 LSC),派遣前線必要物資,啟動後勤補給戰備支援作業流程。

※延伸參考
 o 聊聊 DoDAF/MoDAF 規格與實作議題