系統架構設計師-基於架構的軟件設計


一、基於架構的軟件設計(ABSD)

  基於架構的軟件設計(Architecture-Based Software Design,ABSD)方法強調由商業、質量和功能需求的組合驅動軟件架構設計。ABSD是一個自頂向下,遞歸細化的軟件開發方法,它以軟件系統功能的分解為基礎,通過選擇架構風格實現質量和商業需求,並強調在架構設計過程中使用軟件架構模板。采用ABSD方法,並不意味着需求抽取和分析活動可以終止,而是應該與設計活動並行。設計活動可以從項目總體功能框架明確后就開始,因此該方法特別適用於開發一些不能預先決定所有需求的軟件系統,如軟件產品線系統或長生命周期系統等,也可為需求不能在短時間內明確的軟件項目提供指導。ABSD方法有三個基礎:

  第一個基礎是功能分解,在功能分解中使用已有的基於模塊的內聚和耦合技術。

  第二個基礎是通過選擇體系結構風格來實現質量和商業需求。

  第三個基礎是軟件模板的使用。

二、ABSD開發階段

  采用ABSD方法進行軟件開發時,需要經歷架構需求、架構設計、架構文檔化、架構復審、架構實現和架構演化六個階段。

1. 架構需求階段需要明確用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。其主要活動包括需求獲取、標識構件和架構評審。

(1)需求獲取活動需要定義開發人員必須實現的軟件功能,使得用戶能夠完成他們的任務,從而滿足功能需求。與此同時,還要獲得軟件質量屬性,滿足一些非功能性需求

(2)標識構件活動首先需要獲得系統的基本結構,然后對基本結構進行分組,最后將基本結構進行打包成構件。

(3)架構需求評審活動組織一個由系統涉眾(用戶、系統分析師、架構師、設計實現人員等)組成的小組,對架構需求及相關構件進行審查。審查的主要內容包括所獲取的需求是否真實反映了用戶需求,構件合並是否合理等。

2. 架構設計階段是一個迭代過程,利用架構需求生成並調整架構決策。主要活動包括提出架構模型、將已標識的構件映射到架構中、分析構件之間的相互作用、產生系統架構和架構設計評審。

3. 架構文檔化的主要活動是對架構設計進行分析與整理,生成架構規格說明書和測試架構需求的質量設計說明書。

4. 在一個主版本的軟件架構分析之后,需要安排一次由外部人員(客戶代表和領域專家)參加的架構復審。架構復審需要評價架構是否能夠滿足需求,質量屬性需求是否在架構中得以體現、層次是否清晰、構件划分是否合理等。從而標識潛在的風險,及早發現架構設計中的缺陷和錯誤。

5. 架構實現主要是對架構進行實現的過程,主要活動包括架構分析與設計、構件實現、構件組裝和系統測試。

6. 架構演化階段主要解決用戶在系統開發過程中發生的需求變更問題。主要活動包括架構演化計划、構件變動、更新構件的相互作用、構件的組裝與測試和技術評審。

三、軟件開發中可能的問題

  在軟件開發的過程中可能遇到的問題包括:

1,在架構需求獲取過程中如何對捕獲的架構需求進行篩選和優先級排序;

2,在架構復審過程中如何解決評審人員的意見不一致問題;

3,在架構實現過程中如何根據項目組實際情況選擇開發語言與開發平台;

4,在架構演化過程中如何篩選並處理用戶的需求變更。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM