



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上在不同的架構(gòu)設(shè)計方法中出現(xiàn)的軟件架構(gòu)視圖種類很多,本文介紹最常用的兩種架構(gòu)視圖邏輯架構(gòu)視圖和物理架構(gòu)視圖,并通過具體案例的分析說明如何運用它們進行架構(gòu)設(shè)計。當觀察和描述事物大局的時候,邏輯架構(gòu)和物理架構(gòu)是最常用的角度。比如,以我們辦公室里的局域網(wǎng)為例:從物理角度看,所有計算機“毫無區(qū)別”地連接到路由器上;而從邏輯角度看呢,就發(fā)現(xiàn)這些計算機是有區(qū)別的一臺計算機充當文件服務(wù)器,而其它計算機是可以訪問服務(wù)器的客戶機。如圖1所示。圖1 區(qū)分物理視角與邏輯視角同樣,在軟件架構(gòu)設(shè)計過程中,也可以通過區(qū)分軟件的邏輯架構(gòu)和物理架構(gòu),分別從不同的角度設(shè)計和描述軟件架構(gòu)。所謂
2、軟件架構(gòu)試圖,是指設(shè)計和看待整個軟件系統(tǒng)的特定視角。每個軟件架構(gòu)視圖關(guān)注系統(tǒng)架構(gòu)的不同方面,針對不同的目標和用途。也就是說,架構(gòu)要蘊涵的內(nèi)容和決策太多,超過了人腦的能力范圍,因此采用“分而治之”的辦法從不同視角分別設(shè)計;同時,也為軟件架構(gòu)的理解、交流和歸檔提供了方便邏輯架構(gòu) 軟件的邏輯架構(gòu)規(guī)定了軟件系統(tǒng)由哪些邏輯元素組成、以及這些邏輯元素之間的關(guān)系。軟件的邏輯元素一般指某種級別的功能模塊,大到我們熟悉的邏輯層,以及子系統(tǒng)、模塊,小到一個個的類。至于具體要分解到何種大小的功能模塊才可結(jié)束軟件架構(gòu)設(shè)計,并不存在一個“一刀切”的標準- 只要足夠明確簡單,能夠分頭開發(fā)就可以了。于是,在實踐中
3、我們往往將關(guān)鍵機制相關(guān)的架構(gòu)設(shè)計部分明確到類,而一般功能則到模塊甚至子系統(tǒng)的接口定義即可。值得說明的是,功能模塊有時容易識別,有時卻比較隱含。而比較全面地識別功能塊、規(guī)劃功能塊的接口、明確功能塊之間的使用關(guān)系和使用機制,正是軟件邏輯架構(gòu)設(shè)計的核心任務(wù)所在。對此,Ivar Jackbson曾有過極為形象的說法,“軟件系統(tǒng)的架構(gòu)涵蓋了整個系統(tǒng),盡管架構(gòu)的有些部分可能只有一寸深圖2展示了一個網(wǎng)絡(luò)設(shè)備管理系統(tǒng)邏輯架構(gòu)設(shè)計的一部分,我們借此來舉例說明軟件邏輯架構(gòu)設(shè)計的3大核心任務(wù)識別功能塊規(guī)劃功能塊的接口明確功能塊之間的使用關(guān)系和使用機制軟件的邏輯架構(gòu)師架構(gòu)設(shè)計思維的重要方法。在用例技術(shù)已經(jīng)成為捕獲功能
4、需求的事實標準的今天,邏輯架構(gòu)的設(shè)計往往是從用例分析開始的?;谟美姆治龇椒ㄊ沁壿嫾軜?gòu)設(shè)計變得比較有序-通過對每個關(guān)鍵用例的分析,從邏輯上將用例實現(xiàn)為一組功能塊的特定組合,最后綜合這些用例分析成果,將一個個獨立的協(xié)作歸納合并成整個軟件系統(tǒng)的邏輯架構(gòu)。而在用例分析產(chǎn)生之前,功能模塊的確定多多少少帶有些”硬“想出來的味道,特別是并不直接承載業(yè)務(wù)功能的模塊有時比較容易遺漏,直到大規(guī)模編程實現(xiàn)階段才發(fā)現(xiàn)。物理架構(gòu)軟件的物理架構(gòu)規(guī)定了組成軟件系統(tǒng)的物理元素、這些物理元素之間的關(guān)系、以及它們部署到硬件上的策略。物理架構(gòu)可以反映出軟件系統(tǒng)動態(tài)運行時的組織情況。此時,上述物理架構(gòu)定義中所提及的”物理元素“就
5、是進程、線程、以及作為類的運行時實例的對象等,而進程調(diào)度、線程同步、進程或線程通信等則進一步反映物理架構(gòu)的動態(tài)行為隨著分布式系統(tǒng)的流行,”物理層“的概念大家早已耳熟能詳。物理層和分布有關(guān),通過將一個整體的軟件系統(tǒng)劃分為不同的物理層,可以把它部署到分布在不同位置的多臺計算機上,從而為遠程訪問和負載均衡等問題提供了手段。當然,物理層是大粒度的物理單元,它最終是由粒度更小的組件、模塊、進程等單元組成的。 物理架構(gòu)的應(yīng)用很廣泛。例如。架構(gòu)設(shè)計可能需要專門說明數(shù)據(jù)是如何產(chǎn)生、存儲、共享和復制的,這時可以利于物理架構(gòu),展示軟件系統(tǒng)在運行期間數(shù)據(jù)是由哪些運行時單元如何產(chǎn)生的,數(shù)據(jù)又如何被使用、如何
6、被存儲,哪些數(shù)據(jù)需要跨網(wǎng)絡(luò)復制和共享等方面的設(shè)計決策。由于人們對組成軟件系統(tǒng)的”物理元素“存在不同看法(如圖3所示),所以在實踐中物理架構(gòu)的用法比較寬泛,不同的人認為的物理架構(gòu)也可能不盡相同。因此,我們在交流和實踐的過程中,應(yīng)注意區(qū)分物理架構(gòu)所指為何(也正是這個原因,實踐中所采用的基于多視圖的架構(gòu)設(shè)計方法往往包含更多的視圖,從而使每個架構(gòu)視圖的職責更加明確)從邏輯架構(gòu)和物理架構(gòu)到設(shè)計實現(xiàn)邏輯架構(gòu)和物理架構(gòu)師軟件架構(gòu)設(shè)計的重要方面。邏輯架構(gòu)致力于將軟件系統(tǒng)分解成不同的邏輯單元,并規(guī)定這些邏輯單元之間的交互接口和交互機制。物理架構(gòu)則更重視軟件系統(tǒng)運行時的動態(tài)結(jié)構(gòu),以及組成軟件系統(tǒng)的目標程序如何部署
7、到硬件上。在后續(xù)的詳細設(shè)計和編程實現(xiàn)中,將貫徹和利用邏輯架構(gòu)和物理架構(gòu)設(shè)計中制定的架構(gòu)決策,如圖4所示。邏輯架構(gòu)中關(guān)于職責劃分的決策,體現(xiàn)為層、子系統(tǒng)、模塊等的劃分決定,從靜態(tài)視角為詳細設(shè)計和編程實現(xiàn)提供切實的指導;有了分解就必然產(chǎn)生協(xié)作,邏輯架構(gòu)還規(guī)定了不同邏輯單元之間的交互接口和交互機制,而編程工作必須實現(xiàn)這些接口和機制。 所謂交互機制,是指不同軟件單元之間交互的手段。交互機制的例子有:方法調(diào)用、基于RMI的遠程方法調(diào)用、發(fā)送消息等。至于物理架構(gòu),它關(guān)注的是軟件系統(tǒng)在計算機中運行期間的情況。物理架構(gòu)設(shè)計方案中規(guī)定了軟件系統(tǒng)如何使用進程和線程完成期望的并發(fā)處理、進程線程這些主動對象(Acti
8、ve Object)會調(diào)用哪些被動對象(Passive Object)參與處理、交互機制(如消息)為何等等問題,從而為詳細設(shè)計和編程實現(xiàn)提供了工作目標的動態(tài)視圖。設(shè)備調(diào)試系統(tǒng)案例簡介下面通過一個實際案例的分析,來幫助領(lǐng)會邏輯架構(gòu)和物理架構(gòu)這兩種架構(gòu)視圖對架構(gòu)設(shè)計的指導作用。該案例是某型號設(shè)備調(diào)試系統(tǒng)。設(shè)備調(diào)試員通過使用該系統(tǒng),可以察看設(shè)備狀態(tài)(設(shè)備的狀態(tài)信息由專用的數(shù)據(jù)采集器實時采集)、發(fā)送調(diào)試命令。該系統(tǒng)的用例圖如圖5所示。邏輯架構(gòu)設(shè)計首先根據(jù)功能需求進行初步設(shè)計,進行大粒度的職責劃分。如圖6所示。之后,還有很多與邏輯架構(gòu)設(shè)計相關(guān)的工作要做。例如,圖7所示的CRC卡描述了上面的三層架構(gòu)每一層
9、的職責與協(xié)作者:應(yīng)用層負責設(shè)備狀態(tài)的顯示,并提供模擬控制臺供用戶發(fā)送調(diào)試命令。應(yīng)用層使用通訊層和設(shè)備控制層進行交互,但應(yīng)用層不知道通訊的細節(jié)。通訊層負責在RS232協(xié)議之上實現(xiàn)一套專用的“應(yīng)用協(xié)議”。當應(yīng)用層發(fā)送來包含調(diào)試指令的協(xié)議包,由通訊層負責按RS232協(xié)議將之傳遞給設(shè)備控制層。當設(shè)備控制層發(fā)送來原始數(shù)據(jù),由通訊層將之解釋成應(yīng)用協(xié)議包發(fā)送給應(yīng)用層。設(shè)備控制層負責對調(diào)試設(shè)備的具體控制,以及高頻度地從數(shù)據(jù)采集器讀取設(shè)備狀態(tài)數(shù)據(jù)。設(shè)備控制指令的物理規(guī)格被封裝在設(shè)備控制層內(nèi)部,讀取數(shù)采器的具體細節(jié)也被封裝在設(shè)備控制層內(nèi)部。圖7 用CRC卡描述每層的職責和協(xié)作者
10、物理架構(gòu)設(shè)計軟件最終要駐留、安裝或部署到硬件才能運行。軟件的物理架構(gòu)關(guān)注“目標程序及其依賴的運行庫和系統(tǒng)軟件”最終如何安裝或部署到物理機器,以及如何部署機器和網(wǎng)絡(luò)來配合軟件系統(tǒng)的可靠性、可伸縮性等要求。多個邏輯層(Layer)可以映射到一個物理層(Tier),這是很多從事分布式開發(fā)的讀者都了解的。在進行設(shè)備調(diào)試系統(tǒng)的物理架構(gòu)設(shè)計之時,也體現(xiàn)了這一點。如圖8所示,設(shè)備調(diào)試系統(tǒng)共包含2個物理層:桌面部分和嵌入部分。作為邏輯層的應(yīng)用層和通訊層最終將成為桌面部分,而設(shè)備控制層最終成為嵌入部分。圖8 邏輯層(Layer)到物理層(Tier)的映射物理層作為組成軟件系統(tǒng)
11、的物理單元,最終又要映射到具體的硬件,這也是物理架構(gòu)設(shè)計要考慮的,對于分布式軟件系統(tǒng)的設(shè)計而言尤其不可或缺。圖9展示了這一點??梢钥闯觯O(shè)備控制部分駐留在調(diào)試機中(調(diào)試機是專用單板機),而桌面部分以常見的“Windows可執(zhí)行程序”的形式運用于PC機之上。我們還可能根據(jù)具體情況的需要,通過物理架構(gòu)視圖更明確地表達具體目標模塊及其通訊結(jié)構(gòu),如圖10所示。圖10 設(shè)備調(diào)試系統(tǒng)的物理架構(gòu)總結(jié)從簡單系統(tǒng)到復雜系統(tǒng)的變化,對架構(gòu)設(shè)計的沖擊決不僅僅是量變的問題。通過引入了軟件架構(gòu)視圖的概念,有助于軟件架構(gòu)師控制架構(gòu)設(shè)計的復雜性。軟件架構(gòu)視圖的概念和軟件架構(gòu)基本概念是完全相容的,后者針對軟件系統(tǒng)的整體目標,而前者針對特定目標子集,這樣一來,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動通信技術(shù)在智慧社區(qū)服務(wù)的綜合應(yīng)用考核試卷
- 殘值及回購合同范本
- 禮儀用品行業(yè)品牌法律風險防控考核試卷
- 種子批發(fā)商品牌形象塑造與傳播考核試卷
- 廣播影視設(shè)備網(wǎng)絡(luò)營銷咨詢批發(fā)考核試卷
- 漁業(yè)機械制造企業(yè)的服務(wù)化轉(zhuǎn)型考核試卷
- 【部編版】四年級語文下冊第五單元《交流平臺 初試身手》精美課件
- 會展現(xiàn)場應(yīng)急管理與救援考核試卷
- 罐頭食品生產(chǎn)流程優(yōu)化考核試卷
- 食道癌護理小講課
- 內(nèi)蒙古鄂爾多斯市2020年中考英語試題(解析版)
- Vue.js前端開發(fā)實戰(zhàn)(第2版) 課件 第2章 Vue.js開發(fā)基礎(chǔ)
- 異面直線 高一下學期數(shù)學湘教版(2019)必修第二冊
- 筆墨時空-解讀中國書法文化基因智慧樹知到期末考試答案2024年
- 計算機網(wǎng)絡(luò)故障的診斷與解決方法
- GLB-2防孤島保護裝置試驗報告
- 的溝通技巧評估表
- 職場人健康狀況調(diào)查報告
- 卵巢囊腫診治中國專家共識解讀
- 兩癌篩查的知識講座
- 儀器共享平臺方案
評論
0/150
提交評論