SlideShare a Scribd company logo
1 of 17
Download to read offline
J. Scott Hawker/R. Kuehl p. 1
R I T
Software Engineering
Software Architecture Design Example
Using Attribute Driven Design
J. Scott Hawker/R. Kuehl p. 2
R I T
Software Engineering
Garage Door Example
 Design a product line architecture for a garage
door opener integrated with a home information
system
 Raise/lower door via switch, remote, home info
system
 Problem diagnosis from home information system
Garage
Door
Opener
Home
Info Sys
Remote
Sensor/
Actuator
Control
Diagnostics
Control
Control
Alerts
J. Scott Hawker/R. Kuehl p. 3
R I T
Software Engineering
 For new (green field) systems it is the whole
system
 For legacy, what is being added
 After the first iteration what comes next,
element breath or depth?
 Depth if technology risk or resourcing concerns
 Garage door opener is the system
Step 1: Choose a System Element to Design
J. Scott Hawker/R. Kuehl p. 4
R I T
Software Engineering
Step 2: Identify the ASRs
(Architecturally Significant Requirements)
 Start with quality scenarios
 Device and controls differ for various products in
product line
 Product processors differ
 Garage door descent must stop within 0.1 second
after obstacle detection
 Access to opener from home info system for
control and diagnostics with proprietary protocol
J. Scott Hawker/R. Kuehl p. 5
R I T
Software Engineering
Step 2: Identify the ASRs (cont)
 ASRs are a combination of functional
requirements, constraints and quality
attributes
 Prioritize ASRs and select those that will
“drive“ the architecture design
Garage door system:
 Real-time performance
 Modifiability to support the product line
 Interoperability for on-line control and diagnostics
J. Scott Hawker/R. Kuehl p. 6
R I T
Software Engineering
Step 3: Generate a Design Solution
For the Chosen Element
 Goal: establish an overall architecture design
that satisfies architectural drivers
 For each ASR for this element choose a design
solution …
 The patterns, tactics, design principles to
achieve quality attributes
 Watch for QA design tradeoffs between tactics
It’s possible the domain problem may call
for a “custom” architecture pattern
J. Scott Hawker/R. Kuehl p. 7
R I T
Software Engineering
Step 3: Generate a Design Solution (cont)
 Performance
 Concerned with critical computational performance
scheduling and efficiency
 Need tactics to deal with the control of resource
demand and resource management
 Choose “increase resource efficiency” and
“schedule resources”
 Solution - separate critical and non-critical
performance computation
J. Scott Hawker/R. Kuehl p. 8
R I T
Software Engineering
Performance Tactics
J. Scott Hawker/R. Kuehl p. 9
R I T
Software Engineering
Step 3: Generate a Design Solution (cont)
 Modifiability
 Primarily concerned with changes at build time,
not runtime
 Need tactics to support separation of
responsibilities to localize changes
 Increase cohesion, reduce coupling
 Choose “increase semantic coherence”,
“encapsulation”, and “abstract common
services” as our tactics
 Solution - separate responsibilities dealing with the
user interface, communication, and sensors into their
own modules
J. Scott Hawker/R. Kuehl p. 10
R I T
Software Engineering
Modifiability Tactics
Modifiability Tactics
Increase
Cohesion
Reduce
Coupling
Split Module
Encapsulate
Use an
Intermediary
Change
Requests
Changes Made
and Deployed
Reduce Size
of a Module
Increase
Semantic
Coherence
Restrict
Dependencies
Refactor
Abstract Common
Services
Defer
Binding
J. Scott Hawker/R. Kuehl p. 11
R I T
Software Engineering
Pattern for Garage Door Opener
User Interface
Non-Performance-
Critical Computation
Virtual
Machine
Performance-Critical
Computation
Schedule that
Guarantees Deadlines
J. Scott Hawker/R. Kuehl p. 12
R I T
Software Engineering
Step 4: Validate Design and Refine Requirements
Requirements satisfied Done, no more refinement
Requirements not fully satisfied •Defer to the next iteration
•Delegate or distribute
requirement satisfaction to sub-
module elements
Requirements cannot be satisfied
with this design
•Revisit the design - backtrack
•Refine or push back on the
requirement
Test the element design for requirements satisfaction
J. Scott Hawker/R. Kuehl p. 13
R I T
Software Engineering
Step 4: Validate Design and Refine Requirements
(cont)
ASRs Not Met Action
Quality attribute •Apply tactics to address
tradeoff or downside
Functional responsibility •Add responsibilities to
existing module
•Create new module
Constraint •Modify the design
•Relax the constraint
Note: Previous designs become a constraint
J. Scott Hawker/R. Kuehl p. 14
R I T
Software Engineering
Step 5: Repeat Until all ASRs Have Been Satisfied
 If all ASR’s satisfied, done – a workable
architecture
 Or elaborated sufficiently for construction
 (or you run out of time and money)
 Otherwise …
 Repeat step 1 - choose the next (sub)element(s)
to design
 Repeat steps 2-4
 As necessary refine use cases and QA scenarios
as ASRs for the next design iteration
J. Scott Hawker/R. Kuehl p. 15
R I T
Software Engineering
Are the ASR’s Satisfied?
Or is the Design Sufficient?
 Device and controls differ for various products
in product line
 Product processors differ
 Garage door descent must stop within 0.1
second after obstacle detection
 Access to opener from home info system for
control and diagnostics with proprietary protocol
J. Scott Hawker/R. Kuehl p. 16
R I T
Software Engineering
Next Iteration Decomposition
 Define sub-modules, assign functionality
 Two types of virtual machine –
sensors/actuators and communications
modules
 Non-performance critical functional modules –
diagnostics and normal raising/lowering the
door modules
 Obstacle detection and halting the door
functions assigned to performance critical
module
 Connections
J. Scott Hawker/R. Kuehl p. 17
R I T
Software Engineering
Next Iteration Design Decomposition
User Interface
Diagnose
Communication
Virtual Machine
Raising/Lowering
Door
Sensor/Actuator
Virtual Machine
Obstacle
Detection
Scheduler that
Guarantees
Deadlines

More Related Content

Similar to Lecture 22.1 Architecture Design Example.pdf

Architecture review vs Post Implementation Review
Architecture review vs Post Implementation ReviewArchitecture review vs Post Implementation Review
Architecture review vs Post Implementation Review
ESRI Bulgaria
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Ni
 
JamesSticky NoteThis is an introduction to a volume of t.docx
JamesSticky NoteThis is an introduction to a volume of t.docxJamesSticky NoteThis is an introduction to a volume of t.docx
JamesSticky NoteThis is an introduction to a volume of t.docx
christiandean12115
 
Requirements Engineering: Contextual and Dynamic
Requirements Engineering: Contextual and DynamicRequirements Engineering: Contextual and Dynamic
Requirements Engineering: Contextual and Dynamic
Shlomo Argamon
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processing
Abi Bobon
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
Upendra Kancheti
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
Upendra Kancheti
 
Fall 2018 Project guideline Name CWID Identifi.docx
  Fall 2018 Project guideline Name CWID Identifi.docx  Fall 2018 Project guideline Name CWID Identifi.docx
Fall 2018 Project guideline Name CWID Identifi.docx
ShiraPrater50
 
1Chapter 8Design for Six Sigma.docx
1Chapter 8Design for Six Sigma.docx1Chapter 8Design for Six Sigma.docx
1Chapter 8Design for Six Sigma.docx
felicidaddinwoodie
 

Similar to Lecture 22.1 Architecture Design Example.pdf (20)

Architecture review vs Post Implementation Review
Architecture review vs Post Implementation ReviewArchitecture review vs Post Implementation Review
Architecture review vs Post Implementation Review
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
JamesSticky NoteThis is an introduction to a volume of t.docx
JamesSticky NoteThis is an introduction to a volume of t.docxJamesSticky NoteThis is an introduction to a volume of t.docx
JamesSticky NoteThis is an introduction to a volume of t.docx
 
Resume (Oct 2012)
Resume (Oct 2012)Resume (Oct 2012)
Resume (Oct 2012)
 
Requirements Engineering: Contextual and Dynamic
Requirements Engineering: Contextual and DynamicRequirements Engineering: Contextual and Dynamic
Requirements Engineering: Contextual and Dynamic
 
Spm project planning
Spm project planning Spm project planning
Spm project planning
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Pertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processingPertemuan 2-apbo-software-developmeng-processing
Pertemuan 2-apbo-software-developmeng-processing
 
JCC RESUME 12.15.2015
JCC RESUME 12.15.2015JCC RESUME 12.15.2015
JCC RESUME 12.15.2015
 
Agile & Iconix sdlc
Agile & Iconix sdlcAgile & Iconix sdlc
Agile & Iconix sdlc
 
Project P Open Workshop
Project P Open WorkshopProject P Open Workshop
Project P Open Workshop
 
Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
 
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
upendra_8_years_Exp_in_Automotive_Embedded_Systems_Software_V00
 
Fall 2018 Project guideline Name CWID Identifi.docx
  Fall 2018 Project guideline Name CWID Identifi.docx  Fall 2018 Project guideline Name CWID Identifi.docx
Fall 2018 Project guideline Name CWID Identifi.docx
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
DesignState Intralink to AgilePLM
DesignState Intralink to AgilePLMDesignState Intralink to AgilePLM
DesignState Intralink to AgilePLM
 
1Chapter 8Design for Six Sigma.docx
1Chapter 8Design for Six Sigma.docx1Chapter 8Design for Six Sigma.docx
1Chapter 8Design for Six Sigma.docx
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

Lecture 22.1 Architecture Design Example.pdf

  • 1. J. Scott Hawker/R. Kuehl p. 1 R I T Software Engineering Software Architecture Design Example Using Attribute Driven Design
  • 2. J. Scott Hawker/R. Kuehl p. 2 R I T Software Engineering Garage Door Example  Design a product line architecture for a garage door opener integrated with a home information system  Raise/lower door via switch, remote, home info system  Problem diagnosis from home information system Garage Door Opener Home Info Sys Remote Sensor/ Actuator Control Diagnostics Control Control Alerts
  • 3. J. Scott Hawker/R. Kuehl p. 3 R I T Software Engineering  For new (green field) systems it is the whole system  For legacy, what is being added  After the first iteration what comes next, element breath or depth?  Depth if technology risk or resourcing concerns  Garage door opener is the system Step 1: Choose a System Element to Design
  • 4. J. Scott Hawker/R. Kuehl p. 4 R I T Software Engineering Step 2: Identify the ASRs (Architecturally Significant Requirements)  Start with quality scenarios  Device and controls differ for various products in product line  Product processors differ  Garage door descent must stop within 0.1 second after obstacle detection  Access to opener from home info system for control and diagnostics with proprietary protocol
  • 5. J. Scott Hawker/R. Kuehl p. 5 R I T Software Engineering Step 2: Identify the ASRs (cont)  ASRs are a combination of functional requirements, constraints and quality attributes  Prioritize ASRs and select those that will “drive“ the architecture design Garage door system:  Real-time performance  Modifiability to support the product line  Interoperability for on-line control and diagnostics
  • 6. J. Scott Hawker/R. Kuehl p. 6 R I T Software Engineering Step 3: Generate a Design Solution For the Chosen Element  Goal: establish an overall architecture design that satisfies architectural drivers  For each ASR for this element choose a design solution …  The patterns, tactics, design principles to achieve quality attributes  Watch for QA design tradeoffs between tactics It’s possible the domain problem may call for a “custom” architecture pattern
  • 7. J. Scott Hawker/R. Kuehl p. 7 R I T Software Engineering Step 3: Generate a Design Solution (cont)  Performance  Concerned with critical computational performance scheduling and efficiency  Need tactics to deal with the control of resource demand and resource management  Choose “increase resource efficiency” and “schedule resources”  Solution - separate critical and non-critical performance computation
  • 8. J. Scott Hawker/R. Kuehl p. 8 R I T Software Engineering Performance Tactics
  • 9. J. Scott Hawker/R. Kuehl p. 9 R I T Software Engineering Step 3: Generate a Design Solution (cont)  Modifiability  Primarily concerned with changes at build time, not runtime  Need tactics to support separation of responsibilities to localize changes  Increase cohesion, reduce coupling  Choose “increase semantic coherence”, “encapsulation”, and “abstract common services” as our tactics  Solution - separate responsibilities dealing with the user interface, communication, and sensors into their own modules
  • 10. J. Scott Hawker/R. Kuehl p. 10 R I T Software Engineering Modifiability Tactics Modifiability Tactics Increase Cohesion Reduce Coupling Split Module Encapsulate Use an Intermediary Change Requests Changes Made and Deployed Reduce Size of a Module Increase Semantic Coherence Restrict Dependencies Refactor Abstract Common Services Defer Binding
  • 11. J. Scott Hawker/R. Kuehl p. 11 R I T Software Engineering Pattern for Garage Door Opener User Interface Non-Performance- Critical Computation Virtual Machine Performance-Critical Computation Schedule that Guarantees Deadlines
  • 12. J. Scott Hawker/R. Kuehl p. 12 R I T Software Engineering Step 4: Validate Design and Refine Requirements Requirements satisfied Done, no more refinement Requirements not fully satisfied •Defer to the next iteration •Delegate or distribute requirement satisfaction to sub- module elements Requirements cannot be satisfied with this design •Revisit the design - backtrack •Refine or push back on the requirement Test the element design for requirements satisfaction
  • 13. J. Scott Hawker/R. Kuehl p. 13 R I T Software Engineering Step 4: Validate Design and Refine Requirements (cont) ASRs Not Met Action Quality attribute •Apply tactics to address tradeoff or downside Functional responsibility •Add responsibilities to existing module •Create new module Constraint •Modify the design •Relax the constraint Note: Previous designs become a constraint
  • 14. J. Scott Hawker/R. Kuehl p. 14 R I T Software Engineering Step 5: Repeat Until all ASRs Have Been Satisfied  If all ASR’s satisfied, done – a workable architecture  Or elaborated sufficiently for construction  (or you run out of time and money)  Otherwise …  Repeat step 1 - choose the next (sub)element(s) to design  Repeat steps 2-4  As necessary refine use cases and QA scenarios as ASRs for the next design iteration
  • 15. J. Scott Hawker/R. Kuehl p. 15 R I T Software Engineering Are the ASR’s Satisfied? Or is the Design Sufficient?  Device and controls differ for various products in product line  Product processors differ  Garage door descent must stop within 0.1 second after obstacle detection  Access to opener from home info system for control and diagnostics with proprietary protocol
  • 16. J. Scott Hawker/R. Kuehl p. 16 R I T Software Engineering Next Iteration Decomposition  Define sub-modules, assign functionality  Two types of virtual machine – sensors/actuators and communications modules  Non-performance critical functional modules – diagnostics and normal raising/lowering the door modules  Obstacle detection and halting the door functions assigned to performance critical module  Connections
  • 17. J. Scott Hawker/R. Kuehl p. 17 R I T Software Engineering Next Iteration Design Decomposition User Interface Diagnose Communication Virtual Machine Raising/Lowering Door Sensor/Actuator Virtual Machine Obstacle Detection Scheduler that Guarantees Deadlines