Architecture and Requirements Architecturally Significant Requirements ASR A

  • Slides: 8
Download presentation
Architecture and Requirements • Architecturally Significant Requirements (ASR) • A requirement that will have

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

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

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 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

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

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

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

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

Architecture and Requirements Systematic means to identifying the ASRs 4. Capturing ASR in a utility tree (X, Y) X: business value Y: architecture impact