基于架構的軟件開發方法
基于架構的軟件開發方法是由架構驅動的,即指由構成體系結構的商業、質量和功能需求的組合驅動的。使用ABSD 方法,設計活動可以從項目總體功能框架明確就開始,這意味著需求抽取和分析還沒有完成(甚至遠遠沒有完成),就開始了軟件設計。設計活動的開始并不意味著需求抽取和分析活動就可以終止,而是應該與設計活動并行。特別是在不可能預先決定所有需求時(例如,產品線系統或長期運行的系統),快速開始設計是至關重要的。

基于架構的軟件開發過程
基于架構的軟件開發方法的三個基礎
ABSD 方法有3 個基礎。第1個基礎是功能的分解。在功能分解中,ABSD 方法使用已有的基于模塊的內聚和耦合技術。第 2個基礎是通過選擇體系結構風格來實現質量和商業需求,第3個基礎是軟件模板的使用,軟件模板利用了一些軟件系統的結構。
ABSD 方法是遞歸的,且迭代的每一個步驟都是清晰定義的。因此,不管設計是否完成,體系結構總是清晰的,這有助于降低體系結構設計的隨意性。
功能分解
基于架構的軟件開發方法(ABSD)的第一個基礎是功能的分解,ABSD方法使用已有的基于模塊的內聚和耦合技術 。在功能分解中,ABSD方法將復雜系統簡化為更小、更易于管理和可理解的部分。功能分解使設計、分析和實現復雜系統變得容易。
選擇體系結構風格
基于架構的軟件開發方法(ABSD)在選擇架構風格時,應該考慮商業、質量和功能需求的組合。ABSD方法強調由商業、質量和功能需求的組合驅動軟件架構設計。ABSD是一個自頂向下,遞歸細化的軟件開發方法,它以軟件系統功能的分解為基礎,通過選擇架構風格實現質量和商業需求 。
在候選的分布式架構中,低級別的事件驅動或微服務架構與大多數架構特性相匹配。在這兩者中,微服務更好地支持不同的操作架構特性,純粹的事件驅動架構通常不會因為這些操作架構特性而獲得優勢。
選擇架構模版
在ABSD方法中,軟件模板是一個重要的概念。軟件模板利用了一些軟件系統的結構,但是它們并不是一個完整的解決方案。相反,它們提供了一些可重用的元素,這些元素可以在多個項目中使用。在使用軟件模板時,應該根據項目的需求進行適當的修改和擴展。
基于架構的軟件開發方法的六個步驟
架構需求
重點是標識構件的三步

架構設計
將需求階段的標識構件映射為構件進行分析

架構文檔化
架構文檔化主要產生2種文檔,架構規格說明書,測設架構需求的質量設計說明書,文檔至關重要,關系到開發的成敗。
架構評審
由外部人員 (獨立于開發組織之外的人,如用戶代表和領域專家等)參加的復審,復審架構是否滿足需求,質量問題,構件劃分合理性等。若復審不過,則返回架構設計階段進行重新設計、文檔化,再復審。
架構實現
用實體來顯示出架構。實現構件,構件組裝成系統

架構演化
對架構進行改變,按需求增刪構件,使架構可復
