簡介
從架構的分析層次移轉至設計層次時,需要決定軟硬體元件的設計。這個設計層次規格包含將要部署的元件:硬體、軟體及工作者。
經由分析硬體元件的位置、衍生特性及代管的子系統作業,可以決定硬體元件。有了這項資訊,即可選取位置的描述子層次實現關係。描述子節點圖可指定元件、伺服器、工作站、工作者等,但不指出用來實作這些元件的特定技術。下圖是描述子節點圖的範例,其中實現概念:位置中所示的位置圖。出貨位置利用四個元件來呈現:一個倉儲運轉中心、一個郵件/郵資系統及兩位工作者。
描述子節點透過分配或預算編列流程,繼承位置的特性。
硬體
從描述子的觀點出發,在成本/效能/容量之間權衡之後,可以決定實作的硬體元件(實際部署的硬體)。事實上,一個系統可能有多種硬體配置,每一種配置滿足不同的價位/效能點。
軟體
指定一組類別,再將類別相關的程式碼編譯並組合為執行檔,即可決定元件。通盤考量的軟體元件設計必須顧及各種議題:
-
位置 — 需要執行元件的地方
-
主機作業 — 供執行程式碼的處理器指令集和記憶體限制
-
並行 — 將處理流程分割到不同的主機或記憶體空間,以解決可靠性及相關議題
由此可知,指定元件需要下列資訊:對於位置及其實現的硬體元件上代管的子系統作業所做的調查、對於流程上執行的作業所做的調查,以及用來實現子系統作業的合作關係(產生可形成元件結構的類別)。
在最初模擬時,請假設所有類別全部在單一元件內,且元件和子系統之間存在一對一的對映關係 — 這是工作成果準則:設計子系統中預設的建議。接著,找出進一步分割元件的理由。如果類別中有多個主動式的類別(代表一個流程),請試著分割成每個元件一個主動類別(流程),並以最堅固的關係來緊密串連這些類別。再者,有些類別可能由多個元件使用。在數個元件存取的一組共通實例中,如果有任何類別代表這些實例的共用狀態,則有理由將這些類別抽離出來放到另一個元件中。如果共用的類別是
Stateless,且功能有連貫性,您可以選擇將這些類別另外放在一個服務元件中(Stateless
功能元件)。即使在被動式的子系統(無主動式的類別)中,您也可以再做更進一步的分割,例如,尋找可重複使用的細微元件。更進一步分割/劃分元件來逐漸填滿特定的技術選項(例如 J2EE™ 平台或 Microsoft® .NET)、記憶體限制(例如
.exe 和 .dll 之間的權衡取捨)、交付媒體的限制等細節,直到完成整個流程為止。
最終這些作業會形成一組構成整個系統的特定軟硬體元件。
|