標籤:架構設計 架構師 軟體 設計 架構
今天翻出了溫昱老師的《一線架構師實踐指南》老書,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、在項目實現階段,對開發人員提供規範指引和支援人員。 |
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
對ADMEMS架構設計方法論的一點隨筆