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