Video summary
Architecture Design and Evaluation 2
Main summary
Key takeaways
Main ideas, concepts, and lessons
Purpose of the class (Architecture Design & Evaluation 2)
- Focuses on the architecture design method and attribute-driven design (ADD).
- Intended learning goals:
- Understand architecture design as an activity.
- Understand an architecture design method using a structured process.
What architecture design is
- Architecture design is a set of design activities whose expected output is an architecture model.
- The architecture model is represented in multiple views, including:
- Structural perspective
- Behavioral perspective
Key distinction: architecture design inputs
- Architecture design must address specific inputs called architecture drivers.
- Architecture drivers shape the architecture and include multiple categories:
Functional drivers
- Derived from functional requirements (primary business/functional needs).
- Often tied to business processes and new business value.
- Conceptual flow:
- business model → system enables business model → functional requirements → functional drivers
Quality attribute drivers
- Derived from nonfunctional requirements, expressed as measurable qualities such as:
- Performance
- Availability
- Modifiability
- Testability
- Quality requirements must be evaluated using quality attribute scenarios.
Other necessary drivers (e.g., solution constraints)
- Technical/organizational constraints, such as what the customer/development organization mandates.
- These constraints reduce freedom: the team should not explore design alternatives that are disallowed by constraints.
Influence of system type on architecture drivers
- The architecture design approach depends on whether the system is:
- Brownfield: modifying an existing system (architecture is constrained by current architecture).
- Greenfield: building from scratch in a domain without known architectural guidance.
How design objectives affect depth and tradeoffs
Examples of design objectives:
- Prototype / rapid initial solution
- Don’t over-invest in fully satisfying all quality attributes initially.
- Customer release with fixed time/cost
- Tune quality requirements within limited resources.
- System expected to evolve after release
- Defer/plan some quality improvements post-release.
Different objectives → different architecture drivers and priorities.
Architecture drivers from two perspectives
- Customer/business perspective
- Typically yields functional and quality drivers.
- Solution perspective
- Provides additional drivers (constraints/implications from implementation realities).
Architecture design knowledge reuse
- Reuse architecture knowledge from prior work via:
- Architecture patterns
- Reference architectures
- Architecture tactics
- Helps the architect make better decisions efficiently.
Architecture evaluation concepts: scenarios and evaluation method
Why architecture evaluation is needed
- Architecture evaluation verifies architecture decisions, especially those tied to quality requirements.
Scenario-based evaluation
- The video introduces ATAM / Architecture Tradeoff Analysis Method conceptually:
- Evaluation focuses on quality requirement-driven tradeoffs.
- Quality scenarios are central to evaluation.
What a scenario is
- A scenario is a requirement described in a testable, unambiguous way.
- Common scenario types mentioned:
- Use case scenarios
- Example: remote user requests data via web; report delivered within 5 seconds.
- Growth/adaptation scenarios
- Example: add a new data server to reduce latency to 2.5 seconds within one person-week.
- (Broadly) scenarios are detailed examples of concrete requirement situations.
- Use case scenarios
Six components of a well-formed quality attribute scenario
Scenarios should explicitly specify six components:
- Stimulus: the condition/event that arrives at the system
- Examples: user operation, request for modification, evolution trigger.
- Stimulus source: where the stimulus comes from
- Examples: internal/external users, internal/external systems, sensors.
- Artifact: the system element affected (what part processes the stimulus)
- Examples: subsystems, components, data sources, interfaces.
- Environment: context/conditions under which the scenario occurs
- Examples: peak period, normal period, server-down conditions.
- Response: what the system does after the stimulus
- Examples: process completes, deny access, send stop command, resume processing.
- Response measures: how success is quantified
- Examples: completes within 30 seconds, stops within 1 second, no data loss.
Scenario composition examples
- Use case example: remote user requests report during peak → receives it within 5 seconds.
- Growth example: request to add a new data server → reduce latency to 2.5 seconds within one person-week.
- Availability/normal operation example: half the server goes down → system continues without overall availability degradation.
Detailed methodology: Attribute-Driven Design (ADD) steps (instructions)
What ADD is
- ADD is an iterative architecture design method based on quality scenarios and architecture drivers.
- It prioritizes requirements and progressively refines the architecture.
High-level ADD strategy
- Treat the system as a black box initially.
- Use requirement priorities to guide incremental decomposition.
- In each iteration, focus on a subset of drivers rather than all drivers at once.
Seven (7) steps of an iteration in ADD
The iteration structure:
- Review inputs and set iteration goals
- Identify what will be achieved in the current iteration.
- Select an input
- Choose one or more elements of the system to decompose.
- Select a design concept
- Choose design concepts that satisfy the selected input/requirements.
- Instantiate architecture elements
- Create/define architecture elements that embody the design concept.
- Allocate responsibilities and define interfaces
- Assign responsibilities to elements and define how they communicate.
- Sketch / redesig (views / design decisions)
- Produce sketches/views of the design (structure + runtime/behavior-related views as needed).
- Perform analysis / verify iteration goals
- Evaluate whether the defined design satisfies the targeted drivers.
- Proceed to the next iteration until all drivers are covered.
How ADD uses iteration priority
- Requirements are divided into priority groups (example given conceptually):
- highest priority
- middle priority
- low priority
- Architecture design work is done faster for higher-priority drivers because they drive early decomposition.
Guidance on views
The process includes sketching multiple view types, especially:
- Structural views
- Runtime/behavior views (concurrency, collaboration, runtime interactions)
- Development view (when scenarios concern modifiability)
Not every scenario requires every view—create views that support evaluation.
Analysis benefit from narrowing focus
- ADD’s benefit: focusing analysis on a subset of drivers per iteration makes evaluation feasible and targeted.
Knowledge reuse throughout ADD
Use architecture knowledge artifacts (patterns/tactics/reference architectures) when:
- selecting design concepts
- guiding decomposition
- ensuring tactics match scenario needs.
Example-driven explanation (garage system)
Example scenario set
- Functional drivers
- Garage control functions.
- Quality attribute scenarios
- Modifiability: reduce modification cost to accommodate different equipment/control methods.
- Performance: obstacle detected → the door must stop within one second.
Iteration-based refinement shown
Iteration 1 (functional + initial quality)
- Architecture includes controllers, sensors, actuators.
- System supports extension via interfaces:
- sensor interfaces allow adding new sensors easily.
Iteration 2 (performance/coordination refinement)
- Problem: when obstacle detected and user issues close command simultaneously, coordination is missing.
- Solution introduced:
- add a scheduler/coordinator mechanism to enforce correct ordering:
- deny rotation/execute stop first in emergency conditions.
- add a scheduler/coordinator mechanism to enforce correct ordering:
Iteration progression logic
- Each iteration targets specific drivers, refining the design from:
- simple conceptual architecture
- to concrete mechanisms and components.
Speakers / sources featured
- SEI (Software Engineering Institute), Carnegie Mellon University
- Referenced as the origin of:
- Architecture Design and Evaluation methods
- ATAM (Architecture Tradeoff Analysis Method) for evaluation
- ADD (Attribute-Driven Design) as the architecture design method discussed in detail
- Referenced as the origin of:
- No individual speakers’ names are given in the subtitles (only institutions/method names are mentioned).
Rate this summary
Your feedback will help improve summaries.
Improve this summary
Reprocess with a stronger model when the summary feels incomplete or inaccurate.
Translate summary in another language
Ask questions to this video
Chat for follow-up questions, clarifications, and source-backed answers.