Architecture Design Decisions and Group Decision Making
-
Upload
henry-muccini -
Category
Education
-
view
489 -
download
0
description
Transcript of Architecture Design Decisions and Group Decision Making
DISIM
Dep.nt of Information Engineering, Computer Science and Mathematics
University of L’Aquila, Italy
Design Decisions and Group Decision Making
Henry Muccini
SEA Group
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
SEA Group
Non Functional S.E.
Performance modeling
Performance analysis
UML
UML Profiling
Lab
Intro to SA
SA Case study
SA style
ADLs
Design Decisions
Views/Viewpoints
SEA Group
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
SEA Group
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)
SEA Group
Architecture as a set of Design
Decisions
SEA Group
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)
SEA Group
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.
SEA Group
Taking decisionsDesignproblem
sub-problem(or issue)
sub-problem (or issue)
Designoption
Designoption
Designoption
Designoption
Problem space
Solution space
Alternativesolutions
Alternativesolutions
Decision =best option
Decision =best option
Best, with
respect to
some criterion
SEA Group
Design space
The space of possible designs that could be achieved
by choosing different sets of alternatives.
thin-client
rich-client
web browserbased
custom clientprogram
clientstyle
fat-client
layered
peer-to-peer
architecturestyle
client-server
peer clients
structured p2p
unstructured p2p
hybrid p2p
tiered
...
SEA Group
Taking decisions
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”
SEA Group
Modeling framework
SEA Group
3 modeling languages + 2
Software
Architecture
Details about
WSN nodes
Physical
environment
Modeling
framework
SEA Group
Discussion
SEA Group
Modeling
environment
Programming
Framework
Analysis
and Code
Generatio
n
The A4WSN Framework
SEA Group
SEA Group
�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
SEA Group
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?
…
SEA Group
DI1: how many
gateways shall be
used to collect
sensored data in a
building?
Single
Gateway
1 gateway per
floor
1 Gateway per
apartment
Cost
Reliability
Availability
Design Issue
Design
alternativesCriteria
SEA Group
DD1: one gateway per floor
DD2: WAN
DD3: Wireless Lan
DD4: battery
DD5: counting
sensors
…
SEA Group
DD1: only one gateway
DD2: WAN
DD3: LAN
DD4: battery
DD5: counting
sensors
…
SEA Group
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.
SEA Group
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
SEA Group
QOC
Questions, Options, Criteria
Questions: key design issues
Options: possible answers
Criteria: assess and compare the options
SEA Group
Example
QOC3 Which technology should be used by the user to
communicate locally with the devices which are
located at home?
SEA Group
QOC3 Which technology should be used by the user to
communicate locally with the devices which are
located at home?
SEA Group
QOC Template (Open the Excel File)
SEA Group
Reasoning
What are the architecture-specific decisions?
How do they affect:
→the architecture?
→the final product?
→other decisions?
What are the most
Important criteria?
How to reason about
trade-offs?
SEA Group
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
SEA Group
Granularity…
ADD Question:
� How the FireFighter system components shallcommunicate?
� How is the payment handled?
SEA Group
DI1. How many
gateways can we
place?
Single Gateway
1 Gateway per floor
1 Gateway per
apartment
CostReliability
Availability
DI2. how the
sensors are
connected?Wired
Wireless Wi-Fi
Wireless
ZigBee
Installation
Performance
Availability
Which device can
the Firefighter Use?
Wearable sensor
Mobile-Wi-Fi
Enables decision
Best way to get a
city map for the
truck manager
Online map
Local offline GPS device
Enables decision
Reliability
Performance
Availability
DI3.How should
data be broadcasted
Using gateways
Directly through
sensors
Cost
Reliability
Availability
Enables question
Dependencies…
SEA Group
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
SEA Group
Collaborative Decision Making
http://saw.inf.unisi.ch/drupal/home
SEA Group
Collaborative Decision Making
SEA Group
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.
SEA Group
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
SEA Group
Architecting in a picture37
ADD
SEA Group
Architecting in a picture38
ADD
ADD
ADD
ADD
GDM
SEA Group
ADD vs GDM
Architecture Design Decisions
GDM
Informal vs
fomal metamodels Link to other
artefacts
SEA Group
GDM for the Fire Monitoring System40
Design Issue 1:
how many
gateways shall be
used to collect
sensored data in
a building?
Single
Gateway
1 gateway
per floor
1 Gateway
per
apartment
Cost
Reliability
Availability
Design
alternativesCriteriaDesign
issue
Stakeholders’ concerns
Stakeholders’ reputation
Stakeholders’ roles
Consensus Mechanisms
Social links
Decision Patterns
GDM
SEA Group
41
General Group Problem-Solving (GGPS), 1993 [6] (generic model of GDM)
impacts
impacts
impacts
SEA Group
4
2
Why shall we care? Architecting
= Group Decision Making [WICSA2014, ECSA2014]
GDM Research
Perspectives
Processes and Methods Impact of factors like size,
diversity, roles, tasks
Challenges
Comparative Studies: Various
methods, Individual vs Group Issues: Groupthink, Group
Shift
Conflict Resolution
Process
Enhancement
Pros and Cons
GDM has been studied from multiple
perspectives that includes Psychology,
Organizational Behavior, Operations
Research and Economics
Picture taken from http://apprentiperpetuel.blogspot.com.au/
SEA Group
43
• The participants freely propose a list of alternatives. Then, brainstorm over them to arrive at a final decision. A leader moderates. (supports the generation of ideas)
Brainstorming
• Alternatives are provided by the participants, and thenvoted.Voting
• Experts answer questionnaires in a distributed and anonymousway. A facilitator provides an anonymous summary of the experts’ forecasts (after each round). (avoids influence between experts)
Delphi
•Consensus: several alternatives are listed, an effort is made to
achieve maximum level of consensus. Selection: once there is high
level of agreement among participants selected and the decision is
made the best alternative are
Consensus-Selection
• The problem is modelled as goals, alternatives and criteria. Participants are normally experts who do a pairwise comparison of alternatives based on certain criteria. The results are then synthesized to make the final decision
AHP
SEA Group
(Our) Metamodel for ADD
1. ADDMM: a metamodel for supporting design
decisions evolution
idea,
tentative,
decided,
rejected
when the DD
has been
created
Evolution
history of the
DD
SEA Group
Design rationale
→The logical reasons given to justify a designed artifact
for someone
→An explanation of why a designed artifact (or some features of an artifact) is the way it is
for some question/issue