Transcript Slide 1
Architecture and Requirements
• Architecturally Significant Requirements (ASR)
•A requirement that will have a profound effect on the architecture
• The architecture might well be dramatically different in the absence of such a
requirement.
• Architectural Drivers
• The combination of functional, quality-attribute, and business requirements that shape the
architecture or the element under consideration.
• Systematic means to identifying the ASRs
1. Gathering ASRs from requirements documents
2. Gathering ASRs by interviewing stakeholders
3. Gathering ASRs by understanding the business goals
4. Capturing ASR in a utility tree
Architecture and Requirements
Systematic means to identifying the ASRs
1. Gathering ASRs from requirements documents
Architecture and Requirements
Systematic means to identifying the ASRs
2. Gathering ASRs by interviewing stakeholders
• Interviewing the relevant stakeholders is the surest way to learn what they know and need.
• The results of stakeholder interviews should include a list of architectural drivers and a set
of quality attribute scenarios that the stakeholders as a group prioritized. Such information
can be used for
• Refine system and software requirements
• Understand and clarify the system’s architectural drivers
• Provide rationale for why the architect subsequently made certain design decisions.
• Guide the development of prototypes and simulations.
• Influence the order in which the architecture is developed.
• The Quality Attribute Workshop (QAW)
• Step 1: QAW presentation and introduction
• Step 2: Business/mission presentation
• Step 3: Architectural plan presentation
• Step 4: Identification of architectural drivers
• Step 5: Scenario brainstorming
• Step 6: Scenario consolidation
• Step 7: Scenario prioritization
• Step 8: Scenario refinement
Architecture and Requirements
Systematic means to identifying the ASRs
3. Gathering ASRs by understanding the business goals
• Business goals are the most important reason for building a system.
• Business goals are of interest to architects as they may or may not be captured in a
requirements specifications but whose achievement or lack of achievement signals a
successful or less/un-successful architectural design.
• Business goals frequently lead directly to ASRs.
• Three possible relationships between business goals and an architecture:
• Business goals often lead to quality attribute requirements
• Business goals may directly affect the architecture without precipitating a quality
attribute requirement at all.
• No influence at all
Architecture and Requirements
Systematic means to identifying the ASRs
3. Gathering ASRs by understanding the business goals
• A categorization of business goals
Architecture and Requirements
Systematic means to identifying the ASRs
3. Gathering ASRs by understanding the business goals
• A general scenario for business goals
Architecture and Requirements
Systematic means to identifying the ASRs
3. Gathering ASRs by understanding the business goals
• A general scenario for business goals
Architecture and Requirements
Systematic means to identifying the ASRs
4. Capturing ASR in a utility tree
(X, Y)
X: business value
Y: architecture impact