TOGAF的架構視圖、觀點與利害關係人
本文將會說明架構見解與架構觀點這兩件事在與利害關係人溝通時扮演甚麼樣的角色。
概念與定義
本節中我們將會介紹以下的概念與其定義:
- 系統(System)
- 利害關係人(Stakeholders)
- 關注點(Concerns)
- 架構視圖(Architecture Views)
- 架構觀點(Architecture Viewpoints)
這些定義改編自 ISO/IEC/IEEE 42010:2011 中的定義,許多人以不同的方式使用這些術語。 但在這裡我們需要在 TOGAF 標準的整體脈絡中理解它們。
系統(System)
在ISO/IEC/IEEE 15288:2015的定義是:
A system is a combination of interacting elements organized to achieve one or more stated purposes.
在ISO/IEC/IEEE 42010:2011的定義是:
The term system encompasses individual applications, systems in the traditional sense, subsystems, systems of systems, product lines, product families, whole enterprises, and other aggregations of interest.
利害關係人(Stakeholders)
利害關係人是跟系統有相關的個人、團隊、組織等。 他們是在系統中扮演關鍵角色或關注系統的人; 例如,使用者、開發人員等。
一個系統會有一個或多個利害關係人。 每個利害關係人通常會關注該系統,因為哪跟他們的工作上的利益有關。 下圖顯示了一組典型的企業架構利害關係人,其中定義了利害關係人類型的類別。
關注點(Concerns)
關注點是與一個或多個利害關係人相關的系統利益。 問題可能與系統功能、開發或操作的任何方面有關,包括效能、可靠性、安全性、布局和可演化性等考量因素,並可能決定系統的可接受度。 例如,安全架構師可能關注以下問題:身份驗證、授權、審計、可用性、資產保護、風險管理。
“關注(concerns)”和“需求(requirements)”是不同的。 關注點是有利益的領域。 關注點是主要分解的流程,分解出來的東西就是需求。 這些需求在架構中會呈現利害關係人的關注點。 所以需求應該要是 S.M.A.R.T(包括特定指標)。
架構視圖(Architecture Views)
架構視圖是從一組相關關注點的角度對系統的呈現。 架構視圖是我們所看到的(或利害關係人所看到的)。
企業架構師建立架構模型。 架構視圖由其中的部分組成,選擇這些部分是為了向利害關係人展示他們的關注點已得到滿足。 例如,正如建築建築師將創建接線圖、平面圖和立面圖來向不同的利害關係人(水電工、業主、主管機關)描述建築物的不同面向一樣,企業架構師必須建立業務層面的不同架構視圖 、資訊系統和技術架構,供對這些方面有顧慮的利害關係人使用。 這些可能包括 IT 系統的業務流程、物理佈局和安全視圖(如以下範例)。
架構觀點(Architecture Viewpoints)
架構觀點是特定類型架構視圖的約定規範。 它建立了構建、解釋和使用架構視圖的規範,以解決相關系統的特定問題。 它有效地定義了架構視圖的視角。
它定義了如何構建和使用架構視圖、所需的資訊、用於表達和分析它的建模技術,以及這些選擇的基本原理(例如,通過描述視圖的目的和目標受眾)。
架構觀點和架構視圖之間的關係類似於模板和已實例化的模板之間的關係。 在構建企業架構時,企業架構師首先選擇架構觀點(模板),然後構建一組相應的架構視圖(實例)。
架構視圖與架構觀點
“架構視圖”就是我們真正看到的。 “架構觀點”是我們從哪裡看;什麼樣的制高點或視角來決定我們看到甚麼(架構觀點也可以被認為是schema)。
架構觀點是通用的,可以存儲在文件庫中以供重複使用,稱為觀點文件庫。 架構視圖始終特定於為其創建的架構。每個架構視圖都有一個關聯的架構觀點來描述它。
企業架構師在ADM 週期的Phase A-D中使用架構視圖和架構觀點來為每個領域開發架構(Business/Data/Application/Technology)。
為了說明架構視圖和架構觀點的概念,下面是一個簡單的範例。這是一個非常簡單的機場系統,有兩個不同的利害關係人:飛行員和空中交通管制員。
機場系統
飛行員對系統有一種看法,而空中交通管制員則有另一種看法。 這兩種觀點都不能代表整個系統,因為每個利害關係人的視角都會限制(並減少)每個人對整個系統的看法。
飛行員的視野包括一些管制員看不到的元素,例如乘客和燃料,而管制員的視野包括一些飛行員看不到的元素,例如其他飛機。 視圖之間還共享一些元素,例如飛行員和管制員之間的通信模型,以及有關飛機本身的重要信息
觀點是視圖中包含的資訊的模型(或描述)。 在這個例子中,一個觀點是描述飛行員如何看待系統,另一個觀點是管制員如何看待系統。 飛行員從他們的角度描述系統,使用他們的位置和朝向或遠離跑道的向量模型。 所有飛行員都使用此模型,並且該模型具有用於擷取資訊並且向資訊填入模型的特定語言。 管制員使用空域模型以及空域內飛機的位置和向量以不同方式描述系統。 同樣,所有控制器都使用從通用模型衍生的通用語言,以擷取和傳達與其觀點相關的資訊。
幸運的是,當管制員與飛行員交談時,他們使用一種通用的交流語言。 (換句話說,代表他們各自觀點的模型部分相交。)這種通用語言的一部分是關於飛機的位置和向量,這對安全至關重要。 因此,從本質上講,每個觀點都是一個抽象模型,說明特定類型的所有利害關係人 — — 所有飛行員或所有管制員 — — 如何看待機場系統。 一個對於人類使用者的工具界面通常接近於與其觀點相關聯的模型和語言。 飛行員的獨特工具是燃料、高度、速度和位置指示器。 管制員的主要工具是雷達。 常用工具是無線電。
總結上面的範例,我們可以看到視圖可以通過利害關係人(例如飛行員與管制員)的角度對系統進行子集化。 這個子集(subset)可以用稱為視點的抽象模型來描述,例如空中飛行與空域模型。 這種視圖描述以部分專業化的語言記錄,例如“飛行員說”與“管制員說”。 工具用於協助利害關係人,並且它們根據從觀點衍生的語言交互。 當利害關係人使用通用工具時,例如飛行員和管制員之間的無線電聯繫,通用語言是不可少的。
對於許多架構,一個有用的架構觀點是業務領域的觀點,可以通過 The Open Group 的一個例子來說明。
架構觀點可以由以下元素組成:
利害關係人、關注點、視圖與觀點之間的關係
利害關係人、關注點、視圖與觀點之間的關係可以總結成以下關係圖。
架構視圖的建立流程
架構視圖是對利害關係人有意義的整體架構的呈現。 企業架構師在ADM 週期的Pahse A — D中選擇並開發一組架構視圖,使架構能夠傳達給利害關係人並被利害關係人理解,因此他們可以驗證系統是否會解決他們的問題。
選擇要開發哪些特定架構視圖是企業架構師必須做出的關鍵決策之一。
企業架構師有責任確認:
- 架構的完整性
— 有考量到利害關係人的所有關注點嗎? - 架構的整合性
— 視圖可以相互連接嗎?
— 相互矛盾的關注點能否得到調和?
— 做出了哪些權衡(例如,在安全性和效能之間)?
建議的步驟
以下是為特定架構建立所需視圖的建議步驟:
- 參考任何現有的架構觀點文件庫
- 辨識並選擇主要的利害關係人
- 分析他們的關注點並記錄下來
- 選擇適當的架構觀點(是基於利害關係人及其關注點)
- 使用選定的架構觀點作為模板進而產生系統視圖
總結
TOGAF 標準包含 ISO/IEC/IEEE 42010:2011 的概念和定義,特別是那些指導架構視圖開發並使視圖可運作的概念和定義,例如:
- 辨識並選擇主要的利害關係人
- 分析他們的關注點並記錄下來
- 理解如何建模和處理這些關注
用於描述視圖的語言是架構觀點。 企業應該客製這一類的語言所提供的觀點以建立一組架構視圖,確保滿足所有利害關係人的關注點。