現(xiàn)代架構(gòu)設(shè)計文檔的編寫
蔡
超
SCEA
,
SCBCD
,
MCSD
北京天融信軟件架構(gòu)師
?SUN,Microsoft培訓中心特邀高端教師
常年提供架構(gòu)咨詢服務(wù)
chaocai2001@yahoo.com.cn
,
010-82776427
4+1 視圖與 UML
軟件架構(gòu)設(shè)計已經(jīng)逐漸成為現(xiàn)代軟件開發(fā)過程的核心,然而能夠清晰表明架構(gòu)設(shè)計并不是一件容易的事,就面向?qū)ο箝_發(fā)而言, RUP 的 4+1 視圖已在架構(gòu)設(shè)計的撰寫中得到了廣泛的應用和認可。
對于 4+1 view 的描述有幾個不同版本(或包含的視圖不同,或視圖的名稱不同),文中以 Philippe Kruchten, November 1995 提出的 4+1 視圖為準。
4+1 視圖包括:邏輯視圖( Logic View ),開發(fā)視圖( Develop View ),進程視圖( Process View ),物理視圖( Physical View )和場景視圖( Scenarios )。
視圖間的關(guān)系
4+1 視圖不僅便于我們記錄架構(gòu)設(shè)計,實際上它也指導了我們進行架構(gòu)設(shè)計活動的部分過程。
通常我們選擇 UML 來表現(xiàn)各種視圖,以下列出了 UML 和各視圖的對應關(guān)系
4+1 視圖 ?????? ????????????????????????? ??UML
場景視圖 ???????? ???????????????????use case
邏輯視圖 ??????????????????????????? 類圖
開發(fā)視圖 ??????????????????????????? 類圖,組件圖
進程視圖 ??????????????????????????? 無完全對應
部署視圖 ??????????????????????????? 部署圖
在架構(gòu)設(shè)計穩(wěn)定中通常不會給出較多的用例描述,這些是在需求穩(wěn)定中定義。但是往往架構(gòu)文檔會選擇一些用例,列入文檔中,這些用例和一些非功能性需求一起用以證明架構(gòu)的有效和正確性。在邏輯視圖中用例的實現(xiàn)是必不可少的一節(jié),盡管架構(gòu)設(shè)計更關(guān)注非功能性需求。
融入 MDA 的思想
對于邏輯視圖和開發(fā)視圖所應包含的內(nèi)容常常會覺得很難區(qū)分兩者間的明顯界限。邏輯視圖包含更多的分析模型與實現(xiàn)技術(shù)本身相關(guān)性應該較少,如業(yè)務(wù)對象模型及其擴展。而開發(fā)視圖則會與實現(xiàn)技術(shù)緊密相關(guān)。
隨著 MDA 思想的推廣,在架構(gòu)設(shè)計文檔的撰寫方面也產(chǎn)生了影響,我們不難把 MDA 的 PIM 和邏輯視圖聯(lián)系起來,而把 MDA 中的 PSM 和開發(fā)視圖聯(lián)系起來。
在編寫邏輯視圖是我們應該描述與技術(shù)平臺無關(guān)的模型,而開發(fā)視圖則描述與實現(xiàn)技術(shù)平臺相關(guān)的模型。
如在邏輯視圖中表現(xiàn)的某些實體類,我們會在開發(fā)視圖中轉(zhuǎn)換為 EJB 組件(實體 Bean )。
這種做法不僅有利于我們編寫架構(gòu)設(shè)計文檔,同時更是一種好的架構(gòu)設(shè)計思考流程。
posted on 2006-09-23 12:48 超越巔峰 閱讀(3689) 評論(3) 編輯 收藏 所屬分類: Design Pattern