Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Università degli Studi dell’Aquila

L06: Design Decisions

Henry Muccini
DISIM Department, University of L’Aquila
henry.mu...
The material in these slides may be freely reproduced and
distributed, partially or totally, as far as an explicit
referen...
Intro to SA
SA Case study
SA style
ADLs
Design Decisions
Views/Viewpoints

Intro to Software Testing
Structural Testing
Mo...
Software Architecture
The Software Architecture is the earliest model of the
whole software system created along the softw...
Architecting today
Architecting is the process of creating software
architecture knowledge and artifacts for engineering
s...
Architecture as a set of Design
Decisions
Design Rationale and Design Decision

Design is a problem-solving process whose
objective is to find and describe a way:
T...
A designer is faced with a series of design issues
These are sub-problems of the overall design problem.
Each issue normal...
Taking decisions
Design
problem

Problem
space
subproblem
(or issue)

sub-

problem
(or issue)

Decision =
best option

De...
Design space
The space of possible designs that could be achieved
by choosing different sets of alternatives.
client-serve...
Taking decisions /2
To take each design decision, the software engineer
uses:
→“current”

knowledge

─ the requirements
─ ...
Collection of Requirements and Constraints
Identification of Design Issues
Identification of Design Alternatives
Identific...
Design Issue 1: how many gateways shall be used to collect
sensored data in a building?
Design Issue2: how to propagate th...
Design
alternatives
Design Issue
DI1: how many
gateways shall be
used to collect
sensored data in a
building?

Single
Gate...
DD1: one gateway per floor
DD2: WAN
DD3: Wireless Lan
DD4: battery
DD5: counting
sensors
…
DD1: only one gateway
DD2: WAN
DD3: LAN
DD4: battery
DD5: counting
sensors
…
Why DD?
According to Anton Jansen and Jan Bosch [4], defining
Architecture as a set of design decisions helps the
architec...
Notations and Tools
Archium: A meta-model and tool developed my Anton Jansen et al
ADDSS: a web based tool developed by Ra...
QOC
Questions, Options, Criteria
Questions: key design issues
Options: possible answers
Criteria: assess and compare the o...
Example
QOC3 Which technology should be used by the user to
communicate locally with the devices which are
located at home...
QOC3 Which technology should be used by the user to
communicate locally with the devices which are
located at home?
QOC Template (Open the Excel File)
ADD: what is interesting to discuss?
1. Granularity of design decisions
2. Dependencies among decisions
3. ADD taken in a ...
Granularity…
ADD Question:
How the FireFighter system components shall
communicate?

How is the payment handled?
Dependencies…
Single Gateway
DI1. How many
gateways can we
place?

Cost
Reliability
1 Gateway per floor
Availability

DI2....
Dependencies…
Are of various types:
•
•
•
•
•
•

Excludes
Requires
Depends On
Subsumes
Enables
…

Con#1: Which kind of tec...
Collaborative Decision Making

http://saw.inf.unisi.ch/drupal/home
Collaborative Decision Making
Optimal Solution to ADD

Tariq Al-Naeem, Ian Gorton, Muhammed Ali Babar, Fethi Rabhi and Boualem Benatallah. “A Quality-Dr...
Evolving ADD
Requirements, Concerns, technology evolves, and so
the associated design decisions.
Con#2: How the nodes shou...
Designdecision
Upcoming SlideShare
Loading in …5
×

Designdecision

650 views

Published on

Design Decision in Software Architecture

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Designdecision

  1. 1. Università degli Studi dell’Aquila L06: Design Decisions Henry Muccini DISIM Department, University of L’Aquila henry.muccini@univaq.it
  2. 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Some of the slides have been originally made by prof. Patricia Lago. Thanks to Smrithi for the discussion we had on the topic Henry Muccini
  3. 3. Intro to SA SA Case study SA style ADLs Design Decisions Views/Viewpoints Intro to Software Testing Structural Testing Model-based Testing Architecture-based Testing Lab UML UML Profiling Lab Non Functional S.E. Performance modeling Performance analysis
  4. 4. Software Architecture The Software Architecture is the earliest model of the whole software system created along the software lifecycle “Traditional” definition: →A set of components and connectors communicating through interfaces “Recent/Future” understanding: →A set of architecture design decisions taken to generate the architecture artifact →Focus on set of Views and Viewpoints, looking at stakeholders and their concern
  5. 5. Architecting today Architecting is the process of creating software architecture knowledge and artifacts for engineering software systems A Software Architecture consists of →A blueprint for the chosen solution (product) →A set of design decisions (co-product)
  6. 6. Architecture as a set of Design Decisions
  7. 7. Design Rationale and Design Decision Design is a problem-solving process whose objective is to find and describe a way: To implement the functional requirements... while respecting the non-functional requirements and yet deliver 'good' quality The result of software Design: A blueprint for the chosen solution (product) A set of design decisions (co-product)
  8. 8. A designer is faced with a series of design issues These are sub-problems of the overall design problem. Each issue normally has several alternative solutions (or design options) The designer makes a design decision to resolve each issue. This process involves choosing the best option from among the alternatives.
  9. 9. Taking decisions Design problem Problem space subproblem (or issue) sub- problem (or issue) Decision = best option Design Design option option Alternative solutions Best, with respect to some criterion Design option Alternative solutions Design option Decision = best option Solution space
  10. 10. Design space The space of possible designs that could be achieved by choosing different sets of alternatives. client-server fat-client web browser based client style thin-client custom client program architecture peer clients style peer-to-peer structured p2p rich-client layered ... tiered unstructured p2p hybrid p2p
  11. 11. Taking decisions /2 To take each design decision, the software engineer uses: →“current” knowledge ─ the requirements ─ the design as created so far →and “past” knowledge ─ the technology available ─ what has worked well in the past ─ software design principles and “best practices”
  12. 12. Collection of Requirements and Constraints Identification of Design Issues Identification of Design Alternatives Identification of Design Decisions (DDs) Selection of architectural Components Selection of an architectural Solutions that comply to the DDs
  13. 13. Design Issue 1: how many gateways shall be used to collect sensored data in a building? Design Issue2: how to propagate the collected data to the fire station? Design Issue 3: how the sensors are connected? Design Issue 4: how the sensors should be powered? Design Issue 5: how to sense how many people are present in the building? …
  14. 14. Design alternatives Design Issue DI1: how many gateways shall be used to collect sensored data in a building? Single Gateway 1 gateway per floor Criteria Cost Reliability Availability 1 Gateway per apartment
  15. 15. DD1: one gateway per floor DD2: WAN DD3: Wireless Lan DD4: battery DD5: counting sensors …
  16. 16. DD1: only one gateway DD2: WAN DD3: LAN DD4: battery DD5: counting sensors …
  17. 17. Why DD? According to Anton Jansen and Jan Bosch [4], defining Architecture as a set of design decisions helps the architect to: a. b. c. d. Guard the conceptual Integrity of the Software architecture Communicate effectively the design space exploration Effectively analyze the software architecture and design process Trace design decisions and their relationship to the resulting architecture.
  18. 18. Notations and Tools Archium: A meta-model and tool developed my Anton Jansen et al ADDSS: a web based tool developed by Rafael Capilla et al AREL: a rationale based model developed by Antony Tang et al DAMSAK: Data Model for Software Architecture Knowledge developed by Babar et al PAKME : a tool that supports DAMSAK SEURAT: Software Engineering using Rationale, which integrates tools for rationale capture, visualization, and use into a standard software engineering environment
  19. 19. QOC Questions, Options, Criteria Questions: key design issues Options: possible answers Criteria: assess and compare the options
  20. 20. Example QOC3 Which technology should be used by the user to communicate locally with the devices which are located at home?
  21. 21. QOC3 Which technology should be used by the user to communicate locally with the devices which are located at home?
  22. 22. QOC Template (Open the Excel File)
  23. 23. ADD: what is interesting to discuss? 1. Granularity of design decisions 2. Dependencies among decisions 3. ADD taken in a collaborative way 4. ADD that uses genetic algorithms in order to find the optimal solution 5. Evolving ADD
  24. 24. Granularity… ADD Question: How the FireFighter system components shall communicate? How is the payment handled?
  25. 25. Dependencies… Single Gateway DI1. How many gateways can we place? Cost Reliability 1 Gateway per floor Availability DI2. how the sensors are connected? Installation Performance 1 Gateway per apartment Wireless Wi-Fi Availability Cost Enables question Using gateways Wireless ZigBee Reliability DI3.How should data be broadcasted Availability Directly through sensors Enables decision Wearable sensor Which device can the Firefighter Use? Mobile-Wi-Fi Reliability Online map Best way to get a city map for the truck manager Wired Performance Local offline GPS device Enables decision Availability
  26. 26. Dependencies… Are of various types: • • • • • • Excludes Requires Depends On Subsumes Enables … Con#1: Which kind of technology is used for node-to-node communication? Con#1-Opt#1 : Bluetooth Con#1-Opt#2 : Wi-Fi Con#1-Opt#3: Zigbee Con#5: How the WSN infrastructure shall communicate with the trucks and central station? Con#5-Opt#1 – 3G Con#5-Opt#2 – GPRS Con#5-Opt#3 – Wi-Fi
  27. 27. Collaborative Decision Making http://saw.inf.unisi.ch/drupal/home
  28. 28. Collaborative Decision Making
  29. 29. Optimal Solution to ADD Tariq Al-Naeem, Ian Gorton, Muhammed Ali Babar, Fethi Rabhi and Boualem Benatallah. “A Quality-Driven Systematic Approach for Architecting Distributed Software Applications”. In Proc. ICSE 2005.
  30. 30. Evolving ADD Requirements, Concerns, technology evolves, and so the associated design decisions. Con#2: How the nodes should be powered? • • • • • Cr#1 – Cost Cr#2 – nodes life duration Cr#3 – availability Opt#1 : Battery Opt#2 : Electrical network

×