課題:國(guó)家自然科學(xué)基金通用聯(lián)合培育項(xiàng)目U1936118
摘要:混沌一團(tuán)的產(chǎn)品系統(tǒng)難以實(shí)現(xiàn)和維護(hù),本文分析定義系統(tǒng)級(jí)架構(gòu)建模設(shè)計(jì)方法,實(shí)現(xiàn)IP網(wǎng)絡(luò)產(chǎn)品架構(gòu)清晰有序、易守護(hù)、易實(shí)現(xiàn)、易演進(jìn)。系統(tǒng)架構(gòu)設(shè)計(jì)模型分為邏輯架構(gòu)模型和物理架構(gòu)模型:邏輯架構(gòu)模型用于系統(tǒng)劃分,基于概念模型將系統(tǒng)劃分成組件、子系統(tǒng)、模塊、子模塊,定義系統(tǒng)設(shè)計(jì)基本單元;物理架構(gòu)模型用于設(shè)計(jì)模塊在物理硬件上如何部署,通過(guò)部署建模,確定業(yè)務(wù)對(duì)應(yīng)的模塊實(shí)例個(gè)數(shù)、模塊之間的通信關(guān)系。最后建立開(kāi)發(fā)組織視圖,描述模塊代碼目錄劃分和人員組織分工。
關(guān)鍵詞:架構(gòu)設(shè)計(jì)建模;邏輯模型;物理模型;開(kāi)發(fā)組織視圖
中圖分類號(hào):TP391?? 文獻(xiàn)標(biāo)識(shí)碼:A?? 文章編號(hào):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 概述
架構(gòu)設(shè)計(jì)階段建立的模型主要有邏輯架構(gòu)模型和物理架構(gòu)模型。因?yàn)閱我换煦绲南到y(tǒng)難以描述、設(shè)計(jì)和實(shí)現(xiàn),所以需要對(duì)系統(tǒng)進(jìn)行邏輯架構(gòu)劃分。設(shè)計(jì)輯架構(gòu)時(shí),一般使用組件圖劃分系統(tǒng)。通過(guò)物理架構(gòu)設(shè)計(jì)各個(gè)邏輯模塊在物理元上的部署關(guān)系,可以梳理組件間的劃分是否合理。當(dāng)系統(tǒng)復(fù)雜的時(shí)候,邏輯構(gòu)模型和物理架構(gòu)模型都需要進(jìn)一步劃分子模型。架構(gòu)設(shè)計(jì)的主要成果是模塊和接口,可應(yīng)用于系統(tǒng)設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的目的是把系統(tǒng)需求(SR)分解到分配需求(AR),主要活動(dòng)對(duì)系統(tǒng)需求進(jìn)行分析設(shè)計(jì)。
2 架構(gòu)設(shè)計(jì)
架構(gòu)設(shè)計(jì)階段需要對(duì)需求分析階段收集到的設(shè)計(jì)任務(wù)進(jìn)行架構(gòu)實(shí)現(xiàn)方案的設(shè)計(jì)。一般要遵從現(xiàn)有產(chǎn)品的架構(gòu)約束,將概念模型應(yīng)用于架構(gòu)設(shè)計(jì)。通過(guò)架構(gòu)設(shè)計(jì),可以劃分系統(tǒng),得到子系統(tǒng)或組件、模塊和子模塊,從而提供系統(tǒng)設(shè)計(jì)的基礎(chǔ)元素。分析推導(dǎo)過(guò)程需要整理成架構(gòu)設(shè)計(jì)文檔,設(shè)計(jì)過(guò)程要嚴(yán)謹(jǐn)科學(xué),推導(dǎo)過(guò)程須使用建模方法來(lái)保證。
架構(gòu)階段主要建立的模型是邏輯架構(gòu)模型和物理架構(gòu)模型,還要建立開(kāi)發(fā)組織視圖,用于描述目錄劃分和開(kāi)發(fā)組織分工,說(shuō)明架構(gòu)模型與開(kāi)發(fā)實(shí)施之間的關(guān)系。架構(gòu)設(shè)計(jì)劃分出子系統(tǒng)、模塊和子模塊后,通過(guò)對(duì)關(guān)鍵業(yè)務(wù)流程進(jìn)行建模驗(yàn)證,驗(yàn)證系統(tǒng)劃分和部署劃分的合理性。如果不合適,還需要調(diào)整。當(dāng)需要設(shè)計(jì)的架構(gòu)比較復(fù)雜時(shí),可以反復(fù)遞歸使用架構(gòu)建模技術(shù),對(duì)復(fù)雜部分進(jìn)行逐層分解細(xì)化設(shè)計(jì)。
3 邏輯架構(gòu)模型
邏輯架構(gòu)確定系統(tǒng)/子系統(tǒng)中的模塊、模塊之間的連接以及模塊與外部子系統(tǒng)之間的依賴關(guān)系。其本質(zhì)是通過(guò)合理地劃分模塊,確定模塊職責(zé),以及相互之間的接口,明確平臺(tái)核心和產(chǎn)品開(kāi)發(fā)邏輯上的分界線。
3.1上下文模型。設(shè)計(jì)一個(gè)組件時(shí),首先需要明確的是設(shè)計(jì)目標(biāo):需要設(shè)計(jì)什么組件?它在系統(tǒng)中提供什么功能?這個(gè)組件在系統(tǒng)中的位置是怎樣的?周邊有哪些組件?有哪些聯(lián)系?系統(tǒng)對(duì)這個(gè)組件有哪些約束?性能、規(guī)格、占用的資源、已存在的架等各方面都有哪些約束?上下文模型要體現(xiàn)上述問(wèn)題的解答。一般使用組件圖來(lái)畫(huà),描述組件在系中的作用,表達(dá)待設(shè)計(jì)的組件在系統(tǒng)中的位置,組件及周邊的關(guān)系。
組件在系統(tǒng)中的功能,可通過(guò)接口圖和順序圖表達(dá),或者文字說(shuō)明;位置通過(guò)畫(huà)系統(tǒng)框圖,在系統(tǒng)中標(biāo)示出目標(biāo)組件或目標(biāo)子系統(tǒng);可通過(guò)表格文字補(bǔ)充說(shuō)明設(shè)計(jì)約束。
3.2組件劃分模型。通過(guò)上下文模型已經(jīng)劃分出要設(shè)計(jì)的組件或子系統(tǒng),雖然已明確組件的功能職責(zé)或非功能性要求,但一般粒度還太粗,不容易獨(dú)立分析和實(shí)現(xiàn)。因此要對(duì)組件進(jìn)行進(jìn)一步劃分。通過(guò)劃分組件,把組件職責(zé)分解成可獨(dú)立分析設(shè)計(jì)和實(shí)現(xiàn)的模塊。并且可分配到一個(gè)項(xiàng)目組或一兩個(gè)人進(jìn)行開(kāi)發(fā)維護(hù)。
3.3接口模型。組件提供的功能主要通過(guò)接口來(lái)體現(xiàn),組件間的關(guān)系也是通過(guò)接口來(lái)表達(dá),接口對(duì)于設(shè)計(jì)和開(kāi)發(fā)的作用非常重要。如何直觀地描述各個(gè)模塊間的接口關(guān)系?可以通過(guò)組件圖來(lái)表達(dá)。組件內(nèi)部的接口使用)一和0一表示。其中)一表示需要其他模塊提供的接口,而0一表示本模塊提供的接口。組件對(duì)外的接口,使用Port表示。組件間的調(diào)用關(guān)系使用一(0一表示。通過(guò)在架構(gòu)階段建立接口模型,可以初步確定模塊與外部的交互策略和模塊的職責(zé)。明確各個(gè)模塊對(duì)外輸入輸出、模塊的使用方式。
4 物理架構(gòu)模型
邏輯架構(gòu)設(shè)計(jì)的結(jié)果在哪些硬件上實(shí)現(xiàn)?它的周邊開(kāi)發(fā)環(huán)境是怎樣的?這些問(wèn)題要通過(guò)物理架構(gòu)模型來(lái)回答。物理架構(gòu)模型使用部署圖作為表達(dá)方式,表示邏輯模塊在物理節(jié)點(diǎn)上的部署關(guān)系。畫(huà)部署圖時(shí)一般使用立體節(jié)點(diǎn)表示物理網(wǎng)元,用平面節(jié)點(diǎn)表示邏輯組件(或子系統(tǒng)、模塊、子模塊)。通過(guò)使用部署圖建立物理架構(gòu)模型,可以展示邏輯組件與物理網(wǎng)元的映射關(guān)系,周邊的開(kāi)發(fā)環(huán)境、開(kāi)發(fā)約束。反過(guò)來(lái)驗(yàn)證邏輯架構(gòu)的劃分是否合理,是否能夠?qū)嶋H部署。驗(yàn)證接口設(shè)計(jì)是否合理,如果需要也可調(diào)整接口。
5 開(kāi)發(fā)組織視圖
在邏輯架構(gòu)模型中設(shè)計(jì)的模塊是否能實(shí)施開(kāi)發(fā),模塊如何能比較容易地與開(kāi)發(fā)組織對(duì)應(yīng)?這是架構(gòu)設(shè)計(jì)階段需解決的問(wèn)題。該對(duì)應(yīng)關(guān)系可通過(guò)開(kāi)發(fā)組織視圖解決,描述組件與開(kāi)發(fā)實(shí)施之間的關(guān)系。
開(kāi)發(fā)視圖第一種建模方法是用目錄結(jié)構(gòu)圖來(lái)定義,體現(xiàn)平臺(tái)與產(chǎn)品、產(chǎn)品不同項(xiàng)目組之間的邊界。這種建模方式的特點(diǎn)是可在模型里點(diǎn)擊展開(kāi),優(yōu)點(diǎn)是能把多個(gè)同級(jí)的包放到一個(gè)視圖上展示,一眼能看到全局目錄,非常簡(jiǎn)潔。缺點(diǎn)是不容易表達(dá)不同層次的目錄和文件。這種方式適用于目錄比較多,但都在同一個(gè)層級(jí)的情況。
另一種建模方法是使用目錄樹(shù)方式,這種方式模型的特點(diǎn)是文本方式的。好處一是方便輸出,不需要使用建模工可以直接用制表符繪制。二是可以展現(xiàn)不同目錄深度的文件和文件夾,能直觀看到目錄內(nèi)容。缺點(diǎn)是當(dāng)目錄內(nèi)容比較多時(shí),全部展開(kāi)所有目錄會(huì)內(nèi)容比較雜亂、不容易看。建議這種方式應(yīng)用于目錄個(gè)數(shù)少但層數(shù)深的情況。
參考文獻(xiàn):
[1]郝俊,常青,張剛,等.基于動(dòng)態(tài)模型的系統(tǒng)架構(gòu)及建模平臺(tái)實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(002):171-173.
作者簡(jiǎn)介:孫兵(1976-),男,江蘇南京,學(xué)士,高級(jí)工程師,華為技術(shù)有限公司數(shù)據(jù)通信產(chǎn)品研發(fā),研究方向?yàn)榫W(wǎng)絡(luò)設(shè)計(jì)建模、網(wǎng)絡(luò)安全和IP技術(shù)。