概念性架構設計的步驟

概念性架構設計的輸入是關鍵的功能需求、關鍵的質量屬性需求和關鍵的商業需求。

溫昱在《軟件架構設計》中給出了三個基本步驟:

第一步,魯棒性分析。通過分析表示關鍵功能需求的用例規約中的事件流,識別出實現用例規定的功能的主要對象及其職責,形成以職責模型爲主的初步設計。

魯棒性分析是從用例到面向對象設計進行過度的一種技術。魯棒性分析用魯棒圖作爲描述工具。魯棒圖用邊界對象、控制對象和實體對象三種元素。

邊界對象對模擬外部環境與系統之間的交互建模。它負責接收外部輸入,展現或傳遞處理的結果。人或外部系統都是通過邊界對象與系統進行交互。

控制對象對行爲進行封裝,描述用例中事件流的控制行爲。

實體對象對需要存儲的信息進行描述,與領域模型中的對象有良好的對應。

魯棒圖的三種對象很好地概括了實際系統中對象的三種職責:交互、控制、信息。這三種職責與組成架構的抽象元素有完美的對應關係:連接元素、處理元素、數據元素。與MVC的對應關係是:邊界對象對應視圖,控制對象對應控制器,實體對象對應模型。

第二步,引入架構模式。架構模式的核心是架構機制,即以“組件+連接件”的形式表示的關鍵設計元素和關鍵交互方式。

在現行軟件架構設計中,已經出現了很多有效的架構模式。根據系統的規模和更抽象的設計決策,選擇一個合適的架構模式,確定交互機制,並將魯棒圖中的各個對象分配到架構模式中各個部分中,形成系統初始的概念性架構。

第三步,質量屬性分析。利用“屬性-場景-決策”方法,對關鍵的“質量屬性”在特定的“場景”下如何得到滿足爲目標,制定出滿足非功能需求的高層設計決策,並根據設計決策對前面兩部的工作成果進行增強、調整,以保證概念性架構體現這些與非功能需求相關的設計決策。

上述三步需要循環式地反覆進行,直到滿意爲止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章