對ADMEMS架構設計方法論的一點隨筆

今天翻出了溫昱老師的《一線架構師實踐指南》老書,Review了一下,雖然書是2009年發行的,而且其思想也是作者09年以前的經歷和總結,昇華到方法論,但時到今日,其架構思想依然是可圈可點的。隨筆記下閱後幾點,以作小結。


什麼是ADMEMS?

ADMEMS是Architecture Design Method has been Extended to Method System的簡稱,是由CSAI顧問團架構設計專家組於2009年11月在第六屆中國軟件大會上公開發布的一個軟件架構設計方法。作爲方法體系,ADMEMS通過3個階段和1個貫穿環節,來覆蓋“需求進,架構出”的架構設計完整工作內容。其中“3個階段”是指預備架構階段(PA階段:把握需求特點,確定架構驅動力)、概念架構階段(CA階段:根據重大需求,確定概念架構)、細化架構階段(RA階段:細化架構設計,關注不同視圖),“1個貫穿環節”是指對非功能目標的考慮。

PA階段的任務是全面理解需求,從而把握需求特點,進而確定架構設計驅動力。其中,ADMEMS矩陣居於方法的核心;CA階段必須考慮包括功能、質量、約束在內的所有方面的需求,ADMEMS方法有自己的概念架構設計步驟和做法;RA階段的總體方法爲5視圖方法,涉及邏輯架構、物理架構、開發架構、運行架構和數據架構。
參見百度百科。


需求驅動架構?

書中提到架構設計毫無疑問是需求驅動的,但需求驅動並不傳神,缺少人的因素,架構師的因素,作者提出了質疑驅動架構設計過程的思想。

So,筆者小結下:

需求驅動架構從事的角度,有什麼樣的需求,就會產生什麼樣的架構來應對,不同行業,不同複雜度,不同要求的需求,也決定了架構不能千篇一律,必須應對變化,對症下藥,不斷調整。

質疑驅動架構:從人的角度,架構師對不明確的需求、對質量屬性、對特殊功能場景產生質疑,來驅動他後續架構工作的開展。將質疑貫穿到ADMEMS方法體系(3個環節1個貫穿)的全過程。


ADMEMS方法論和現實工作場景的聯繫

筆者稍微將ADMEMS方法論中3個階段1個貫穿和現實工作場景聯繫了一下,將理論知識帶入工作場景,知行合一,可能更便於理解。

可能有理解不到位的偏差,希望拋磚引玉。

ADMEMS方法體系 現實工作場景聯繫
3個階段 1個貫穿 工作內容
預備架構階段 對非功能目標的考慮 目標:全面理解需求;摒棄“需求列表”,建立二維需求觀(ADMEMS矩陣)。

如何做:使用ADMEMS矩陣方法,捋清需求間關係和發現衍生需求。
1、與人:與項目經理、需求分析師等內部需求人員瞭解需求;與客戶瞭解需求(不建議架構師做需求分析師角色)。
2、與物:瞭解《需求規格說明書》等需求文檔。"
3、對需求有什麼問題,反饋給售前或銷售,可能會參與拜訪客戶或電話會議。
4、銷售或售前有時會要求提供一個大致的工作量,以便他們初步評估項目可行性。
概念架構階段 目標:考慮包括功能、質量、約束在內的所有需求,對系統進行適當分解,而不陷入細節。

如何做:
1、初步設計,基於關鍵功能,藉助魯棒圖進行以發現職責爲目的的初步設計(不是必須)。
2、高層分割,將複雜系統切分爲多個二級系統或多個子系統。
3、考慮非功能需求,採用ADMEMS推薦的目標-場景-決策表。
1、參與內部討論:項目可行性分析、討論,從需求、技術、人力、風險等角度提供建議。
2、項目投標準備:參與投標團隊的技術方案編寫,編寫系統架構章節,解決招標書上技術問題的問答。
3、參與項目講標:作爲講標團隊成員參與項目講標,負責技術問答環節的應對。
細化架構階段 目標:對概念架構的細化,非詳細設計,而是按照ADMEMS方法論的多視圖方式進行架構細化工作。

如何做:遵循ADMEMS方法論的5視圖法,進行邏輯架構、物理架構、開發架構、運行架構、數據架構5個方面的細化架構設計。
1、在項目設計階段,進行架構設計,制定規範和約定,爲詳細設計提供指導。
2、在項目實現階段,對開發人員提供規範指引和技術支持。




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