SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Università degli Studi dell’Aquila




L06: Design Decisions
                                         Henry Muccini
         DISIM Department, University of L’Aquila
                henry.muccini@univaq.it
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
Intro to SA        Intro to Software Testing
SA Case study      Structural Testing
SA style           Model-based Testing
ADLs               Architecture-based Testing
Design Decisions
                   Lab
Views/Viewpoints


UML                Non Functional S.E.
UML Profiling      Performance modeling
Lab                Performance analysis
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
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)
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:
  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)
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.
Taking decisions
                               Design
                               problem                          Problem
                                                                space
                  sub-                        sub-
                  problem                     problem
                  (or issue)                  (or issue)



Decision =
best option

       Design Design
       option option
                                       Design
                                       option
                                                 Design
                                                 option
                                                                Solution
                                                                space
                                                  Decision =
            Alternative         Alternative       best option
            solutions           solutions
   Best, with
   respect to
 some criterion
Design space
The space of possible designs that could be achieved
by choosing different sets of alternatives.
                                                    client-server

         fat-client

                        web browser     architecture peer clients
                        based           style
client
style    thin-client
                        custom client
                        program                      peer-to-peer

                                                                    structured p2p
          rich-client
                                                      layered       unstructured p2p

                                                          ...       hybrid p2p

                                                          tiered
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”
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
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?
…
Design
                     alternatives
                                      Criteria
 Design Issue
                        Single
                       Gateway          Cost
  DI1: how many
gateways shall be
                     1 gateway per   Reliability
  used to collect
sensored data in a        floor
     building?                       Availability
                     1 Gateway per
                       apartment
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
architect to:
 a.   Guard the conceptual Integrity of the Software architecture
 b.   Communicate effectively the design space exploration
 c.   Effectively analyze the software architecture and design
      process
 d.   Trace design decisions and their relationship to the
      resulting architecture.
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
QOC
Questions, Options, Criteria
      Questions: key design issues
      Options: possible answers
      Criteria: assess and compare the options
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 collaborative way
4. ADD that uses genetic algorithms in order to find
   the optimal solution
5. Evolving ADD
Granularity…
ADD Question:
   How the FireFighter system components shall
   communicate?




   How is the payment handled?
Dependencies…
                             Single Gateway
DI1. How many                                                Cost
                                                             Reliability               DI2. how the
gateways can we              1 Gateway per floor                                       sensors are                               Installation
                                                                                                                Wired
place?                                                       Availability              connected?
                                                                                                                                 Performance
                             1 Gateway per
                             apartment                                                                          Wireless Wi-Fi
                                                              Cost                                                               Availability
     Enables question
                                                                                                                Wireless
                             Using gateways
DI3.How should                                                Reliability                                       ZigBee
data be broadcasted
                             Directly through                 Availability
                             sensors
                                                                                             Enables decision


                                 Wearable sensor
      Which device can
      the Firefighter Use?

                                 Mobile-Wi-Fi




                                Online map                                   Reliability
     Best way to get a
     city map for the                                                        Performance
     truck manager              Local offline GPS device
                                                                             Availability

                                                Enables decision
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
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-Driven
Systematic Approach for Architecting Distributed Software Applications”. In Proc. ICSE 2005.
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

Contenu connexe

Tendances

requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software designCliftone Mullah
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationNiraj Kumar
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architectureYisal Khan
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w EngineeringRajan Shah
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture designLen Bass
 
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...DagimbBekele
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsSeema Kamble
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 

Tendances (20)

requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
software architecture
software architecturesoftware architecture
software architecture
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w Engineering
 
Unit1
Unit1Unit1
Unit1
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
Class notes
Class notesClass notes
Class notes
 
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...
Requirements engineering by elizabeth hull, ken jackson, jeremy dick (auth.) ...
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Software quality
Software qualitySoftware quality
Software quality
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Software design
Software designSoftware design
Software design
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 

En vedette

Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An OverviewOliver Stadie
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software ArchitectureMarkus Voelter
 
Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersDan Douglas
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagrammingmeghantaylor
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture StylesJorgen Thelin
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Design Patterns : Solution to Software Design Problems
Design Patterns : Solution to Software Design ProblemsDesign Patterns : Solution to Software Design Problems
Design Patterns : Solution to Software Design ProblemsEdureka!
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software ArchitectureSimon Guest
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsJose Emilio Labra Gayo
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applicationsHassan Dar
 
ADMD Cw1 presentation
ADMD Cw1 presentationADMD Cw1 presentation
ADMD Cw1 presentationVượng Vũ
 

En vedette (19)

Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
 
Basics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET Developers
 
A Software Architect's View On Diagramming
A Software Architect's View On DiagrammingA Software Architect's View On Diagramming
A Software Architect's View On Diagramming
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Design Patterns : Solution to Software Design Problems
Design Patterns : Solution to Software Design ProblemsDesign Patterns : Solution to Software Design Problems
Design Patterns : Solution to Software Design Problems
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Software Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & Connectors
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applications
 
Software design
Software designSoftware design
Software design
 
ADMD Cw1 presentation
ADMD Cw1 presentationADMD Cw1 presentation
ADMD Cw1 presentation
 

Similaire à Software Architecture: Design Decisions

BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze
 
The Business Impact of Virtualization
The Business Impact of VirtualizationThe Business Impact of Virtualization
The Business Impact of VirtualizationFlexera
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsPankesh Patel
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Cisco Presentation 1
Cisco Presentation 1Cisco Presentation 1
Cisco Presentation 1changcai
 
Server vs Client in real life and in programming world
Server vs Client in real life and in programming worldServer vs Client in real life and in programming world
Server vs Client in real life and in programming worldManoj Kumar
 
IBM BP Kickoff 2013 VDI Solutions
IBM BP Kickoff 2013    VDI SolutionsIBM BP Kickoff 2013    VDI Solutions
IBM BP Kickoff 2013 VDI SolutionsIBM Danmark
 
Enterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired PlatformEnterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired PlatformInfosys
 
Agile EE2011 holistic devployment
Agile EE2011 holistic devploymentAgile EE2011 holistic devployment
Agile EE2011 holistic devploymentPiotr Zolnierek
 
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)Keith Nolan
 
DAI Framework_CEII_2022.pptx
DAI Framework_CEII_2022.pptxDAI Framework_CEII_2022.pptx
DAI Framework_CEII_2022.pptxIakovosIoannou1
 
Panache Brochure (English)
Panache Brochure (English)Panache Brochure (English)
Panache Brochure (English)Dan Sinawat
 
Company presentation
Company presentationCompany presentation
Company presentationinduct
 
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...Videoguy
 
Android application development
Android application developmentAndroid application development
Android application developmentLinh Vi Tường
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of thingsPankesh Patel
 

Similaire à Software Architecture: Design Decisions (20)

BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)
 
The Business Impact of Virtualization
The Business Impact of VirtualizationThe Business Impact of Virtualization
The Business Impact of Virtualization
 
Enabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of ThingsEnabling High Level Application Development In The Internet Of Things
Enabling High Level Application Development In The Internet Of Things
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Cisco Presentation 1
Cisco Presentation 1Cisco Presentation 1
Cisco Presentation 1
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Server vs Client in real life and in programming world
Server vs Client in real life and in programming worldServer vs Client in real life and in programming world
Server vs Client in real life and in programming world
 
IBM BP Kickoff 2013 VDI Solutions
IBM BP Kickoff 2013    VDI SolutionsIBM BP Kickoff 2013    VDI Solutions
IBM BP Kickoff 2013 VDI Solutions
 
Enterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired PlatformEnterprise Mobility with Sybase Unwired Platform
Enterprise Mobility with Sybase Unwired Platform
 
Agile EE2011 holistic devployment
Agile EE2011 holistic devploymentAgile EE2011 holistic devployment
Agile EE2011 holistic devployment
 
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)
Dirk Pesch - Networked systems research at NIMBUS (Cork Institute of Technology)
 
DAI Framework_CEII_2022.pptx
DAI Framework_CEII_2022.pptxDAI Framework_CEII_2022.pptx
DAI Framework_CEII_2022.pptx
 
Testing banking apps
Testing banking appsTesting banking apps
Testing banking apps
 
The Fluent Interface Pattern
The Fluent Interface PatternThe Fluent Interface Pattern
The Fluent Interface Pattern
 
Panache Brochure (English)
Panache Brochure (English)Panache Brochure (English)
Panache Brochure (English)
 
Company presentation
Company presentationCompany presentation
Company presentation
 
KNOWLEDGE KONSULTANTS PROFILE
KNOWLEDGE KONSULTANTS PROFILEKNOWLEDGE KONSULTANTS PROFILE
KNOWLEDGE KONSULTANTS PROFILE
 
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...
Linux Based Access Grid Presented by PRAGMA 4, Melbourne (06 ...
 
Android application development
Android application developmentAndroid application development
Android application development
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 

Plus de Henry Muccini

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieHenry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementHenry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsHenry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 

Plus de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Dernier

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 

Dernier (20)

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 

Software Architecture: Design Decisions

  • 1. Università degli Studi dell’Aquila L06: Design Decisions Henry Muccini DISIM Department, University of L’Aquila henry.muccini@univaq.it
  • 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. Intro to SA Intro to Software Testing SA Case study Structural Testing SA style Model-based Testing ADLs Architecture-based Testing Design Decisions Lab Views/Viewpoints UML Non Functional S.E. UML Profiling Performance modeling Lab Performance analysis
  • 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. 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. Architecture as a set of Design Decisions
  • 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. 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. Taking decisions Design problem Problem space sub- sub- problem problem (or issue) (or issue) Decision = best option Design Design option option Design option Design option Solution space Decision = Alternative Alternative best option solutions solutions Best, with respect to some criterion
  • 10. Design space The space of possible designs that could be achieved by choosing different sets of alternatives. client-server fat-client web browser architecture peer clients based style client style thin-client custom client program peer-to-peer structured p2p rich-client layered unstructured p2p ... hybrid p2p tiered
  • 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.
  • 13. 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
  • 14. 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? …
  • 15. Design alternatives Criteria Design Issue Single Gateway Cost DI1: how many gateways shall be 1 gateway per Reliability used to collect sensored data in a floor building? Availability 1 Gateway per apartment
  • 16. DD1: one gateway per floor DD2: WAN DD3: Wireless Lan DD4: battery DD5: counting sensors …
  • 17. DD1: only one gateway DD2: WAN DD3: LAN DD4: battery DD5: counting sensors …
  • 18. Why DD? According to Anton Jansen and Jan Bosch [4], defining Architecture as a set of design decisions helps the architect to: a. Guard the conceptual Integrity of the Software architecture b. Communicate effectively the design space exploration c. Effectively analyze the software architecture and design process d. Trace design decisions and their relationship to the resulting architecture.
  • 19. 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
  • 20. QOC Questions, Options, Criteria Questions: key design issues Options: possible answers Criteria: assess and compare the options
  • 21. Example QOC3 Which technology should be used by the user to communicate locally with the devices which are located at home?
  • 22. QOC3 Which technology should be used by the user to communicate locally with the devices which are located at home?
  • 23. QOC Template (Open the Excel File)
  • 24. 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
  • 25. Granularity… ADD Question: How the FireFighter system components shall communicate? How is the payment handled?
  • 26. Dependencies… Single Gateway DI1. How many Cost Reliability DI2. how the gateways can we 1 Gateway per floor sensors are Installation Wired place? Availability connected? Performance 1 Gateway per apartment Wireless Wi-Fi Cost Availability Enables question Wireless Using gateways DI3.How should Reliability ZigBee data be broadcasted Directly through Availability sensors Enables decision Wearable sensor Which device can the Firefighter Use? Mobile-Wi-Fi Online map Reliability Best way to get a city map for the Performance truck manager Local offline GPS device Availability Enables decision
  • 27. 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
  • 28. Collaborative Decision Making http://saw.inf.unisi.ch/drupal/home
  • 30. 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.
  • 31. 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