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