Software Architecture Document
SAD
SAD描述了有關架構的總體想法,包含架構分析的關鍵決策.在實踐中,SAD可以幫助開發人員理解系統的基本概念
動機
當某人加入開發團隊時,如果項目的導師對他說…閱讀10頁SAD文檔…這對他會有很大幫助
因此,撰寫SAD文檔時應該將下述目標和潛在讀者時刻放在心中:如果需要幫助某人快速理解系統的主要概念,我應該寫什麼(或者在UML圖中畫些什麼)
按照上面的知道原則,和前面講到UML是爲了方便討論交流的原則貌似不一樣啊
架構視圖
擁有架構是一回事,對架構的清晰描述是另外一回事
4+1:邏輯,進程,部署,數據+用例視圖
常見的視圖
- 邏輯視圖
最重要的層,子系統,包,框架,類,接口等的概念性組織.
展示了描述系統關鍵方面的重要用例場景(交互圖)
UP設計模型的視圖,是使用UML包,類和交互圖的可視化 - 進程視圖
進程和線程
UP設計魔性的視圖,是使用UML類圖和交互圖的可視化,其中使用了UML進程和線程表示法 - 部署視圖
- 數據視圖
用UML活動圖表示數據流 - 安全視圖
使用UML部署圖的可視化,突出了關鍵安全控制點和相關文件 - 實現視圖
- 開發視圖
- 用例視圖
動機
每個視圖不僅包含圖,還有解釋和澄清的文字.討論動機的文字非常重要但經常被人忘記…當隨着時間推移,需要對結構做出改變時,這一部分會比任何部分都重要