Chapter 10 Flashcards
Architecturally Significant Requirements (ASRs)
Most important functionality
Most important constraints
Quality Attributes
Architecture Drivers
ASRS
Design Purpose
Other Architectural concerns that may never be written down
Design Purpose
Why is the design being made
Tenets of Architectural Design
Our Focus
A translation from the world of needs to the world of solutions
Structures composed of code, frameworks, and components
Good Design: One that satisfies the drivers
Architectural Documetation
Uses blueprints rather than sketches from Architectural Design.
How is level of detail for Architectural Documentation chose?
Domain
Number of teams involved in development
Scope of the project,
Hardware interactions
Architectural Evaluation
Do not deliver code without testing
Evaluate Architecture if it’s nontrivial
Typically done informally and internally
May be postpone until testing first prototype or refactoring is required in Agile development
7 Steps of Attribute-Driven-Design
- Review Inputs
- Establish Iteration Goal by Selecting Drivers
- Choose one or more elements of the system to refine.
- Choose one or more concepts that satisfy the selected drivers.
- Instantiate architectural elements, allocate responsibilities and define interfaces.
- Sketch views and record design decisions.
- Perform analysis of current design and review iteration goal and achievement of design purpose.
Greenfield Development is…
A new system for an existing or new domain.
Brownfield Development is…
Design for making changes to an existing system.
Three categories of Software Design
Greenfield system for a mature domain.
2. Greenfield system for a novel domain
3. Design for making changes to an existing system.