请输入您要查询的百科知识:

 

词条 Attribute-driven design
释义

  1. The Attribute-Driven Design method

      Required input    Process steps    Output  

  2. ADD 3.0

  3. References

Attribute-driven design[1][2] (also called ADD or Attribute-driven design method) is a methodology to create software architectures that takes into account the quality attributes of the software. It was previously known as the Architecture Based Design Method (or ABD), but due to trademark issues the name was changed to Attribute-driven design around 2001.[3]

The Attribute-Driven Design method

In the book Software architecture in practice[4] the authors describe ADD as an iterative method that, at each iteration, helps the architect to do the following steps:

  • Choose a part of the system to design.
  • Marshal all the architecturally significant requirements for the selected part. This means that you select all quality attributes and business goals that could affect the architecture of this phase.
  • Create an architecture for the selected part that meets the selected architecturally significant requirements and test this design.

Required input

ADD can only be started successfully when the following resources are already available:

  • functional requirements
  • quality requirements
  • constraints

Of course, we cannot wait until all these requirements are finalized since this can take a while. The ADD process can start once a set of ASRs (architecturally significant requirements, which are the three resources listed above) are available.

Process steps

  1. Choose an element of the system to design
    • Select an element of the system that is not yet designed. In the first iteration this will be the system itself. Later on, a choice will need to be made between several elements. This choice can be based on personnel availability, input resources availability, risk mitigation, etc. In case you do not have any of these limitations, it is suggested to go for a breadth-first strategy.
  2. Identify the Architecturally Significant Requirements (ASR) for the chosen element
    • Identify the ASRs that are most important for this selected element. You should prioritize these requirements to make sure that your design reflects the most important ASRs.
  3. Generate a design solution for the chosen element
    • This step is the heart of ADD since the architecture will be created in this step. The architecture you create should reflect the selected ASRs. You can do this by making use of architectural patterns or tactics. Most of the times you will have to make a trade-off between several tactics and ASRs.
  4. Inventory remaining requirements and select the input for the next iteration
    • Take a look at the listed ASRs and see whether they are already fulfilled with the design you have at the moment. For each ASR you will have to check whether it is satisfied, delegated to one of the children, distributed among the children or whether it can not be satisfied. In the last case you will need to change your architecture.
  5. Repeat steps 1-4 until all the ASRs have been satisfied
    • Repeat!

Output

A set of sketches of architectural views, not a full-blown detailed architecture.

ADD 3.0

In recent years, ADD has been updated substantially to include platform-specific design, e.g. technology and framework choices via design concept catalogs, and to emphasize the making and documentation of architectural decisions.[5]

References

1. ^{{cite paper | first1 = Rob | last1 = Wojcik | first2 = Felix | last2 = Bachmann | first3 = Len | last3 = Bass | first4 = Paul C. | last4 = Clements | first5 = Paulo | last5 = Merson | first6 = Robert | last6 = Nord | first7 = William G. | last7 = Wood | url = http://resources.sei.cmu.edu/library/asset-view.cfm?assetID=8147 | title = Attribute-Driven Design (ADD), Version 2.0 | publisher = SEI | date = November 2006 }}
2. ^{{cite web | url = http://www.sei.cmu.edu/architecture/tools/define/add.cfm | title = Attribute-Driven Design Method | publisher = SEI }}
3. ^{{cite paper | last1 = Bachmann | first1 = Felix | last2 = Bass | first2 = Len | title = Introduction to the Attribute Driven Design Method | citeseerx = 10.1.1.97.5395 | publisher = IEEE | year = 2001 }}
4. ^{{cite book | first1 = Len | last1 = Bass | first2 = Paul | last2 = Clements | first3 = Rick | last3 = Kazman | year = 2013 | title = Software Architecture in Practice | edition = third | chapter = Chapter 17 | publisher = Pearson | isbn = 978-0-321-81573-6 }}
5. ^Cervantes H., Kazman R., Designing software architectures, Addison Wesley, 2016.

1 : Software architecture

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/15 0:49:50