系統(tǒng)構(gòu)架,是對已確定的需求的技術(shù)實現(xiàn)構(gòu)架、作好規(guī)劃、運用成套、完整的工具,在規(guī)劃的步驟下去完成任務(wù)。中培偉業(yè)《詳細(xì)設(shè)計與系統(tǒng)架構(gòu)最佳實踐》培訓(xùn)專家曾老師在這里就系統(tǒng)架構(gòu)的相關(guān)概念進(jìn)行了詳細(xì)介紹。
1.模塊(module):一組完成指定功能的語句,包括:輸入、輸出、邏輯處理功能、內(nèi)部信息、運行環(huán)境(與功能對應(yīng)但不是一對一關(guān)系)。
2.組件(component):系統(tǒng)中相當(dāng)重要的、幾乎是獨立的可替換部分,它在明確定義的構(gòu)架環(huán)境中實現(xiàn)確切的功能。
3.模式(pattern):指經(jīng)過驗證,至少適用于一種實用環(huán)境(更多時候是好幾種環(huán)境)的解決方案模板(用于結(jié)構(gòu)和行為。在 UML 中:模式由參數(shù)化的協(xié)作來表示,但 UML 不直接對模式的其他方面(如使用結(jié)果列表、使用示例等,它們可由文本來表示)進(jìn)行建模。存在各種范圍和抽象程度的模式,例如,構(gòu)架模式、分析模式、設(shè)計模式和代碼模式或?qū)嵤┠J健DJ綄⒖梢詭椭覀冏プ≈攸c。構(gòu)架也是存在模式的。
比如,對于系統(tǒng)結(jié)構(gòu)設(shè)計,我們使用層模式;對于分布式系統(tǒng),我們使用代理模式(通過使用代理來替代實際的對象,使程序能夠控制對該對象的訪問);對于交互系統(tǒng),我們使用MVC(M模型(對象)/V視圖(輸出管理)/C控制器(輸入處理))模式。模式是針對特定問題的解,因此,我們也可以針對需求的特點采用相應(yīng)的模式來設(shè)計構(gòu)架。
4.構(gòu)架模式(architectural pattern):表示軟件系統(tǒng)的基本結(jié)構(gòu)組織方案。它提供了一組預(yù)定義的子系統(tǒng)、指定它們的職責(zé),并且包括用于組織其間關(guān)系的規(guī)則和指導(dǎo)。
5.層(layer):對模型中同一抽象層次上的包進(jìn)行分組的一種特定方式。通過分層,從邏輯上將子系統(tǒng)劃分成許多集合,而層間關(guān)系的形成要遵循一定的規(guī)則。通過分層,可以限制子系統(tǒng)間的依賴關(guān)系,使系統(tǒng)以更松散的方式耦合,從而更易于維護(hù)。(層是對構(gòu)架的橫向劃分,分區(qū)是對構(gòu)架的縱向劃分)。
6.系統(tǒng)分層的幾種常用方法:
1)常用三層服務(wù):用戶層、業(yè)務(wù)邏輯層、數(shù)據(jù)層;
2) 多層結(jié)構(gòu)的技術(shù)組成模型:表現(xiàn)層、中間層、數(shù)據(jù)層;
3) 網(wǎng)絡(luò)系統(tǒng)常用三層結(jié)構(gòu):核心層、匯聚層和接入層;
4) RUP典型分層方法:應(yīng)用層、專業(yè)業(yè)務(wù)層、中間件層、系統(tǒng)軟件層;
5) 基于Java的B/S模式系統(tǒng)結(jié)構(gòu):瀏覽器端、服務(wù)器端、請求接收層、請求處理層;
6) 某六層結(jié)構(gòu):功能層(用戶界面)、模塊層、組裝層(軟件總線)、服務(wù)層(數(shù)據(jù)處理)、數(shù)據(jù)層、核心層;
7) 構(gòu)架(Architecture,愿意為建筑學(xué)設(shè)計和建筑物建造的藝術(shù)與科學(xué)): 在RUP中的定義:軟件系統(tǒng)的構(gòu)架(在某一給定點)是指系統(tǒng)重要構(gòu)件的組織或結(jié)構(gòu),這些重要構(gòu)件通過接口與不斷減小的構(gòu)件與接口所組成的構(gòu)件進(jìn)行交互;《軟件構(gòu)架實踐》中的定義:某個軟件或者計算系統(tǒng)的軟件構(gòu)架即組成該系統(tǒng)的一個或者多個結(jié)構(gòu),他們組成軟件的各個部分,形成這些組件的外部可見屬性及相互間的聯(lián)系;構(gòu)架是系統(tǒng)在其所處環(huán)境中的最高層次的概念。軟件系統(tǒng)的構(gòu)架是通過接口交互的重要構(gòu)件(在特定時間點)的組織或結(jié)構(gòu),這些構(gòu)件又由一些更小的構(gòu)件和接口組成。(“構(gòu)架”可以作為名詞,也可作為動詞,作為動詞的“構(gòu)架”相當(dāng)于“構(gòu)架設(shè)計”)
8) 構(gòu)架的描述方式:“4+1”視圖(用例視圖、設(shè)計視圖、實現(xiàn)視圖、過程視圖、配置視圖)是一個被廣為使用的構(gòu)架描述的模型;RUP過程的構(gòu)架描述模板在“4+1”視圖的基礎(chǔ)上增加了可選的數(shù)據(jù)視圖(從永久性數(shù)據(jù)存儲方面來對系統(tǒng)進(jìn)行說明);HP公司的軟件描述模板也是基于“4+1”視圖。
9) 結(jié)構(gòu):軟件構(gòu)架是多種結(jié)構(gòu)的體現(xiàn),結(jié)構(gòu)是系統(tǒng)構(gòu)架從不同角度觀察所產(chǎn)生的視圖。就像建筑物的結(jié)構(gòu)會隨著觀察動機(jī)和出發(fā)點的不同而有多種含義一樣,軟件構(gòu)架也表現(xiàn)為多種結(jié)構(gòu)。常見的軟件結(jié)構(gòu)有:模塊結(jié)構(gòu)、邏輯或概念結(jié)構(gòu)、進(jìn)程或協(xié)調(diào)結(jié)構(gòu)、物理結(jié)構(gòu)、使用結(jié)構(gòu)、調(diào)用結(jié)構(gòu)、數(shù)據(jù)流、控制流、類結(jié)構(gòu)等等