從使用者需求、談架構設計(二)- Clean Architecture 一個整潔的架構篇
前言 前一篇文章中『 從使用者需求、談架構設計 』,筆者以一個房貸線上申請系統的例子,關於一個從使用者需求、來談架構設計的一個比較實際的例子,當時,筆者以 UML/OOAD 常見的循環星型分析法,帶著各位由系統分析開始、如何串聯到系統設計、並解釋因為從系統設計開始,便可牽涉到 Platform/OS/Framework/程式語言 等等,而在 UML 這裡也有模型驅動架構 MDA (Model Driven Architecture) 可以補助,課程中,我也利用的這樣的概念,將 Domain Class Diagram 帶入細部 Class Diagram 分析時,拆解為兩塊,一個是 BO (Business Objects) 另一個是 VO (View Objects),接著,並實際的撰寫程式,並實作出最小可行性產品。 在今天的這一篇文章裡,我將利用在 Clean Architecture 書中的一個整潔的軟體架構的概念,將我三年前所設計的 EasyArchitect Framework 來做一個應證,從頭來探討軟體開發、從需求面開始、你的需求大方向的掌握度其實會決定你的架構設計的方向性是否恰當、符合所需、不是過度設計的架構。好,我們接著往下看。 需求掌握度 圖(一)、Impacts Mapping to User Story Mapping 圖片來源: https://www.slideshare.net/chassa/2014-0618srdimpact-mapsstorymapsen 為什麼談需求的掌握度?訪間,許多軟體開發方法告訴你的大部分是,何時該做什麼、那些角色該關注什麼?有哪些會議?什麼時候招開?該注意什麼?以敏捷創建使用者故事地圖(User Story Mapping)來說,它敏捷需求規劃中的一個流行方法。用戶故事地圖可以將你的 Backlog 變成一張二維地圖,而不是傳統的簡單列表。用戶故事地圖可以讓你更容易看清 Backlog 的全貌。這概念真的非常好,因為它幫助你有更好的進行疊代的增量式開發,同時確保早期的發布,可以驗證整體架構和解決方案,為傳統的開發計劃提供了一個更好的替代工具。 且創建 User Story Mapping 可以有七~八個步驟,因為篇幅關係我不在這一一說明,第一個步驟是招集 3-5 對產品熟悉的人一起討論,並讓每個人在便簽紙...