ADD

屬性驅動的設計

ADD是一種定義軟體體系結構的方法,該方法將模塊分解過程建立在軟體必須滿足的質量屬性之上。

基本定義


n屬性驅動的設計(AttributeDrivenDesign,ADD)把一組質量屬性場景作為輸入,利用對質量屬性實現與體系結構設計之間的關係的了解(如體系結構風格、質量戰術等),對體系結構進行設計。
nADD是一種定義軟體體系結構的方法,該方法將模塊分解過程建立在軟體必須滿足的質量屬性之上。它是一個遞歸的分解過程,其中在每個階段都選擇體系結構模式和戰術來滿足一組質量屬性場景,然後對功能進行分配,以實例化有該模式所提供的模塊類型。

具體區別


nADD與普通體系結構設計方法
普通體系結構設計方法是先按功能劃分模塊,后看系統滿足相應質量,即以功能為主要矛盾,質量為次要矛盾來設計軟體;
ADD是將模塊分解過程建立在軟體必須滿足的質量屬性之上,再把功能作為模塊的實例化來把功能附加在模塊上。即先滿足質量,在對功能進行分配。即以質量為主要矛盾,功能為次要矛盾來進行體系結構設計。

步驟介紹


nADD體系結構設計的步驟如下:
1、樣本輸入。系統要滿足的功能、質量及受到的限制。
2、選擇要分解的模塊。首先要分解的就是系統本身最大的等待分解的模塊。
3、根據下列步驟對模塊進行求精:
a、從具體的質量場景和功能需求集合中選擇體系結構驅動因素。先找到比較重要的功能、重要的質量場景及重要的限制條件,但是個數
不能太多。
b、選擇滿足體系結構驅動因素的體系結構風格。根據體系結構風格、質量戰術來選擇滿足體系結構驅動因素的體系結構風
c、實例化模塊並根據用例分配功能,使用多個視圖進行表示。
d、定義子模塊的介面。
e、驗證用例和質量場景(是否得到滿足)並對其進行求精,使它們成為子模塊的限制(這樣可以使子模塊得到進一步劃分)。
4、對需要進一步分解的每個模塊重複上述步驟。這樣遞歸的過程一般不超過2~3步。