基於體系結構的軟體開發 ABSD

2022-02-01 01:05:05 字數 1626 閱讀 6176

一、開發模型

傳統的軟體開發過程可以劃分為:問題定義、需求分析、軟體設計、軟體實現、軟體測試等過程。如果採用傳統的開發過程,軟體體系結構的建立應位於需求分析之後,概要設計之前。

基於體系結構的軟體開發模型(absdm),把整個軟體過程劃分為為:體系結構需求、設計、文件化、複審、實現、演化等六個子過程。

1、體系結構需求

需求是只使用者對目標軟體系統在功能、行為、效能、設計約束等方面的期望。體系結構需求受技術環境和體系結構設計師的經驗影像。需求過程主要是獲取使用者需求,標識系統中所要用到的構件。

1.1、需求獲取

體系結構需求一般來自三方面:系統的質量目標、系統的商業目標、系統開發人員的商業目標。軟體體系結構需求獲取過程主要是定義開發人員必須實現的軟體功能,是的使用者能完成他們的任務,從而滿足業務上的功能需求。於此同時,還要獲得軟體質量屬性,滿足一些非功能性需求。

1.2、標識構件

這一步又可分為三步實現:

第一步:生成類圖。使用case工具生成類圖。

第二步:對類進行分組。分組後會簡化類圖結構,使之更加清晰可讀。一般,根據類之間的耦合度和內聚度進行分組。例如,在實踐ddd時,就可以把乙個聚合進行分組,多個聚合即分為多組。

第三步:把類打包成構件。做到構件級的重用。構件和構件又可以打包成更大的構件。

1.3、需求評審

組成乙個由不同代表組成的小組,對體系結構需求及相關構件進行仔細的審查。審查的主要內容包括所獲取的需求是否真實反映了使用者的要求,類的分組是否合理,構件合併是否合理等。

必要時,可以在需求獲取-標識構件-需求評審之間進行迭代。

2、體系結構設計

體系結構設計是乙個迭代過程。其步驟為:

2.1、提出軟體體系結構模型

在建立體系結構的初期,選擇乙個合適的體系結構風格是首要的。在這個風格的基礎上,開發人員通過體系結構模型,可以獲取相關體系結構屬性的理解。

2.2、把以標識的構件對映到軟體體系結構中

把在體系結構需求階段標識的構件對映到體系結構中,將產生乙個中間結構,這個中間結構只包含哪些能明確合適體系結構模型的構件。

2.3、分析構件之間的相互作用

為了把所有已標識的構件整合到體系結構中,必須認真分析這些構件的相互作用和關係。

2.4、產生軟體體系結構

一旦決定了構件之間的關係和相互作用,就可以在第二階段得到中間結構的基礎上進行精化。

2.5、設計評審

一旦設計了軟體體系結構,必須邀請獨立於系統外開發的外部人員對體系結構進行評審。

3、體系結構文件化

絕大多數的體系結構都是抽象的,有一些概念上的構件組成。因此,要讓系統分析員和程式設計師去實現體系結構,還需要把體系結構文件化。

體系結構文件化的主要輸出結構是:體系結構需求規格說明書、質量設計說明書(測試體系結構需求的文件)。精確的形式化的描述,是使用者和開發人員之間的乙個協約。

4、體系結構複審

體系結構設計、文件化、複審是乙個迭代過程。乙個主版本的軟體體系結構分析之後,要安排一次有外部人員(使用者代表、領域專家)參加的複審。

複審的目的是標識潛在風險,及早發現體繫結構設計中的缺陷和錯誤,包括體系結構能否滿足需求、質量需求是否在設計中得到體現、層次是否清晰、構件的劃分是否合理、文件表達是否明確、構件的設計是否滿足功能與效能的要求等。

5、體系結構的實現

文章未完……先睡覺……

軟體體系結構 軟體體系結構概論

開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...

軟體體系結構

軟體體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件 資料構建 連線構建。處理構建 負責對資料進行加工 資料構建 是被加工的資訊 連線構建 把體系結構的不同部分組合連線起來 1 作為通訊的手段 2 代表了早期的設計決策結果 3 高層次的設計復用手段 1 軟體體系結構是風險承擔者 又稱涉...

軟體體系結構 軟體體系結構複雜性

複雜性具有不同的種類和形態,一種簡明的度量是類之間通訊路徑的數量,通訊路徑是類之間存在的持久或暫時連線。複雜性存在四種維度的解釋 從適應能力的角度,認知複雜性度量可以增強可理解性質量,結構複雜性可以增強可維護性和可伸縮性質量。這兩種度量是有關係的,對於低結構複雜性,認知複雜性的較小值雖然是必要不充分...