課題:國家自然科學基金通用聯合培育項目U1936118
摘要:混沌一團的產品系統難以實現和維護,本文分析定義系統級架構建模設計方法,實現IP網絡產品架構清晰有序、易守護、易實現、易演進。系統架構設計模型分為邏輯架構模型和物理架構模型:邏輯架構模型用于系統劃分,基于概念模型將系統劃分成組件、子系統、模塊、子模塊,定義系統設計基本單元;物理架構模型用于設計模塊在物理硬件上如何部署,通過部署建模,確定業務對應的模塊實例個數、模塊之間的通信關系。最后建立開發組織視圖,描述模塊代碼目錄劃分和人員組織分工。
關鍵詞:架構設計建模;邏輯模型;物理模型;開發組織視圖
中圖分類號:TP391?? 文獻標識碼:A?? 文章編號:1672-9129(2020)04-0069-01
Abstract: Chaotic product system is difficult to achieve and maintain, this paper analyzes and defines the system-level architecture modeling design method, to achieve IP network product architecture clear and orderly, easy to protect, easy to implement, easy to evolve. The system architecture design model is divided into logical architecture model and physical architecture model. The logical architecture model is used to divide the system. Based on the conceptual model, the system is divided into components, subsystems, modules and sub-modules, and the basic units of system design are defined. The physical architecture model is used to design how modules are deployed on the physical hardware. Through deployment modeling, the number of module instances corresponding to the business and the communication relationship between modules are determined. Finally, the development organization view is established to describe the division of module code directory and the division of personnel organization.
Key words:architecture design modeling; Logical model; Physical model; Development organization View
1 概述
架構設計階段建立的模型主要有邏輯架構模型和物理架構模型。因為單一混沌的系統難以描述、設計和實現,所以需要對系統進行邏輯架構劃分。設計輯架構時,一般使用組件圖劃分系統。通過物理架構設計各個邏輯模塊在物理元上的部署關系,可以梳理組件間的劃分是否合理。當系統復雜的時候,邏輯構模型和物理架構模型都需要進一步劃分子模型。架構設計的主要成果是模塊和接口,可應用于系統設計。系統設計的目的是把系統需求(SR)分解到分配需求(AR),主要活動對系統需求進行分析設計。
2 架構設計
架構設計階段需要對需求分析階段收集到的設計任務進行架構實現方案的設計。一般要遵從現有產品的架構約束,將概念模型應用于架構設計。通過架構設計,可以劃分系統,得到子系統或組件、模塊和子模塊,從而提供系統設計的基礎元素。分析推導過程需要整理成架構設計文檔,設計過程要嚴謹科學,推導過程須使用建模方法來保證。
架構階段主要建立的模型是邏輯架構模型和物理架構模型,還要建立開發組織視圖,用于描述目錄劃分和開發組織分工,說明架構模型與開發實施之間的關系。架構設計劃分出子系統、模塊和子模塊后,通過對關鍵業務流程進行建模驗證,驗證系統劃分和部署劃分的合理性。如果不合適,還需要調整。當需要設計的架構比較復雜時,可以反復遞歸使用架構建模技術,對復雜部分進行逐層分解細化設計。
3 邏輯架構模型
邏輯架構確定系統/子系統中的模塊、模塊之間的連接以及模塊與外部子系統之間的依賴關系。其本質是通過合理地劃分模塊,確定模塊職責,以及相互之間的接口,明確平臺核心和產品開發邏輯上的分界線。
3.1上下文模型。設計一個組件時,首先需要明確的是設計目標:需要設計什么組件?它在系統中提供什么功能?這個組件在系統中的位置是怎樣的?周邊有哪些組件?有哪些聯系?系統對這個組件有哪些約束?性能、規格、占用的資源、已存在的架等各方面都有哪些約束?上下文模型要體現上述問題的解答。一般使用組件圖來畫,描述組件在系中的作用,表達待設計的組件在系統中的位置,組件及周邊的關系。
組件在系統中的功能,可通過接口圖和順序圖表達,或者文字說明;位置通過畫系統框圖,在系統中標示出目標組件或目標子系統;可通過表格文字補充說明設計約束。
3.2組件劃分模型。通過上下文模型已經劃分出要設計的組件或子系統,雖然已明確組件的功能職責或非功能性要求,但一般粒度還太粗,不容易獨立分析和實現。因此要對組件進行進一步劃分。通過劃分組件,把組件職責分解成可獨立分析設計和實現的模塊。并且可分配到一個項目組或一兩個人進行開發維護。
3.3接口模型。組件提供的功能主要通過接口來體現,組件間的關系也是通過接口來表達,接口對于設計和開發的作用非常重要。如何直觀地描述各個模塊間的接口關系?可以通過組件圖來表達。組件內部的接口使用)一和0一表示。其中)一表示需要其他模塊提供的接口,而0一表示本模塊提供的接口。組件對外的接口,使用Port表示。組件間的調用關系使用一(0一表示。通過在架構階段建立接口模型,可以初步確定模塊與外部的交互策略和模塊的職責。明確各個模塊對外輸入輸出、模塊的使用方式。
4 物理架構模型
邏輯架構設計的結果在哪些硬件上實現?它的周邊開發環境是怎樣的?這些問題要通過物理架構模型來回答。物理架構模型使用部署圖作為表達方式,表示邏輯模塊在物理節點上的部署關系。畫部署圖時一般使用立體節點表示物理網元,用平面節點表示邏輯組件(或子系統、模塊、子模塊)。通過使用部署圖建立物理架構模型,可以展示邏輯組件與物理網元的映射關系,周邊的開發環境、開發約束。反過來驗證邏輯架構的劃分是否合理,是否能夠實際部署。驗證接口設計是否合理,如果需要也可調整接口。
5 開發組織視圖
在邏輯架構模型中設計的模塊是否能實施開發,模塊如何能比較容易地與開發組織對應?這是架構設計階段需解決的問題。該對應關系可通過開發組織視圖解決,描述組件與開發實施之間的關系。
開發視圖第一種建模方法是用目錄結構圖來定義,體現平臺與產品、產品不同項目組之間的邊界。這種建模方式的特點是可在模型里點擊展開,優點是能把多個同級的包放到一個視圖上展示,一眼能看到全局目錄,非常簡潔。缺點是不容易表達不同層次的目錄和文件。這種方式適用于目錄比較多,但都在同一個層級的情況。
另一種建模方法是使用目錄樹方式,這種方式模型的特點是文本方式的。好處一是方便輸出,不需要使用建模工可以直接用制表符繪制。二是可以展現不同目錄深度的文件和文件夾,能直觀看到目錄內容。缺點是當目錄內容比較多時,全部展開所有目錄會內容比較雜亂、不容易看。建議這種方式應用于目錄個數少但層數深的情況。
參考文獻:
[1]郝俊,常青,張剛,等.基于動態模型的系統架構及建模平臺實現[J].電子技術應用,2015,41(002):171-173.
作者簡介:孫兵(1976-),男,江蘇南京,學士,高級工程師,華為技術有限公司數據通信產品研發,研究方向為網絡設計建模、網絡安全和IP技術。