Design Decisions and Group Decision Making 
Henry Muccini 
henry.muccini@univaq.it 
DISIM 
Dep.nt of Information Engineering, Computer Science and Mathematics 
University of L’Aquila, Italy
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 
SEA Group 
Henry Muccini
Intro to SA 
SA Case study 
SA style 
ADLs 
Design Decisions 
Views/Viewpoints 
SEA Group 
Non Functional S.E. 
Performance modeling 
Performance analysis 
UML 
UML Profiling 
Lab
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: 
SEA Group 
→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 
SEA Group 
→A blueprint for the chosen solution (product) 
→A set of design decisions (co-product)
SEA Group 
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: 
SEA Group 
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 
SEA Group 
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 
SEA Group 
Design 
problem 
sub-problem 
(or issue) 
sub-problem 
(or issue) 
Design 
option 
Design 
option 
Design 
option 
Design 
option 
Problem 
space 
Solution 
space 
Alternative 
solutions 
Alternative 
solutions 
Decision = 
best option 
Decision = 
best option 
Best, with 
respect to 
some criterion
Design space 
The space of possible designs that could be achieved 
by choosing different sets of alternatives. 
SEA Group 
thin-client 
rich-client 
web browser 
based 
custom client 
program 
client 
style 
fat-client 
peer-to-peer 
layered 
architecture 
style 
client-server 
peer clients 
structured p2p 
unstructured p2p 
hybrid p2p 
... 
tiered
Taking decisions 
To take each design decision, the software engineer 
uses: 
→“current” knowledge 
SEA Group 
─ 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”
Modeling framework 
SEA Group
SEA Group 
3 modeling languages + 2 
Software 
Architecture 
Details about 
WSN nodes 
Modeling 
framework 
Physical 
environment
SEA Group 
Discussion
SEA Group 
Modeling 
environment 
Programming 
Framework 
Analysis 
and Code 
Generatio 
n 
The A4WSN Framework
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
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 
alternatives 
Criteria
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 
SEA Group 
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 
SEA Group 
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 
SEA Group
QOC 
Questions, Options, Criteria 
SEA Group 
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? 
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: 
SEA Group 
→the architecture? 
→the final product? 
→other decisions? 
What are the most 
Important criteria? 
How to reason about 
trade-offs?
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 
SEA Group 
the optimal solution 
5. Evolving ADD
Granularity… 
ADD Question: 
SEA Group 
 How the FireFighter system components shall 
communicate? 
 How is the payment handled?
Dependencies… 
DI1. How many 
gateways can we 
place? 
SEA Group 
Single Gateway 
1 Gateway per floor 
1 Gateway per 
apartment 
CReolsitability 
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… 
Are of various types: 
SEA Group 
• 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 
SEA Group 
http://saw.inf.unisi.ch/drupal/home
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? 
SEA Group 
• Cr#1 – Cost 
• Cr#2 – nodes life duration 
• Cr#3 – availability 
• Opt#1 : Battery 
• Opt#2 : Electrical network
Architecting in a picture 
37 
SEA Group 
ADD
Architecting in a picture 
38 
SEA Group 
GDM 
ADD 
ADD 
ADD 
ADD
ADD vs GDM 
SEA Group 
GDM 
Architecture Design Decisions 
Informal vs 
fomal metamodels Link to other 
artefacts
GDM for the Fire Monitoring System 
40 
Design Issue 1: 
how many 
gateways shall be 
used to collect 
sensored data in 
a building? 
SEA Group 
Single 
Gateway 
1 gateway 
per floor 
1 Gateway 
per 
apartment 
Cost 
Reliability 
Availability 
Design 
alternatives 
Design Criteria 
issue 
Stakeholders’ concerns 
Stakeholders’ reputation 
Stakeholders’ roles 
Consensus Mechanisms 
Social links 
Decision Patterns 
GDM
41 
SEA Group 
impacts 
impacts 
impacts 
General Group Problem-Solving (GGPS), 1993 [6] (generic model of GDM)
4 
2 
Processes and Methods Impact of factors like size, 
Why shall we care? Architecting 
= Group Decision Making 
[WICSA2014, ECSA2014] 
SEA Group 
GDM Research 
Perspectives 
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/
43 
SEA Group 
• 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 then 
voted. Voting 
• Experts answer questionnaires in a distributed and anonymous 
way. 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
(Our) Metamodel for ADD 
1. ADDMM: a metamodel for supporting design 
SEA Group 
decisions evolution 
idea, 
tentative, 
decided, 
rejected 
when the DD 
has been 
created 
Evolution 
history of the 
DD
Design rationale 
→The logical reasons given to justify a 
designed artifact 
SEA Group 
for someone 
→An explanation of why a designed 
artifact (or some features of an artifact) is 
the way it is 
for some question/issue

Architecture Design Decisions and Group Decision Making

  • 1.
    Design Decisions andGroup Decision Making Henry Muccini henry.muccini@univaq.it DISIM Dep.nt of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy
  • 2.
    The material inthese 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 SEA Group Henry Muccini
  • 3.
    Intro to SA SA Case study SA style ADLs Design Decisions Views/Viewpoints SEA Group Non Functional S.E. Performance modeling Performance analysis UML UML Profiling Lab
  • 4.
    Software Architecture TheSoftware 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: SEA Group →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 Architectingis the process of creating software architecture knowledge and artifacts for engineering software systems A Software Architecture consists of SEA Group →A blueprint for the chosen solution (product) →A set of design decisions (co-product)
  • 6.
    SEA Group Architectureas a set of Design Decisions
  • 7.
    Design Rationale andDesign Decision Design is a problem-solving process whose objective is to find and describe a way: SEA Group 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 isfaced with a series of design issues SEA Group 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 SEAGroup Design problem sub-problem (or issue) sub-problem (or issue) Design option Design option Design option Design option Problem space Solution space Alternative solutions Alternative solutions Decision = best option Decision = best option Best, with respect to some criterion
  • 10.
    Design space Thespace of possible designs that could be achieved by choosing different sets of alternatives. SEA Group thin-client rich-client web browser based custom client program client style fat-client peer-to-peer layered architecture style client-server peer clients structured p2p unstructured p2p hybrid p2p ... tiered
  • 11.
    Taking decisions Totake each design decision, the software engineer uses: →“current” knowledge SEA Group ─ 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.
    SEA Group 3modeling languages + 2 Software Architecture Details about WSN nodes Modeling framework Physical environment
  • 14.
  • 15.
    SEA Group Modeling environment Programming Framework Analysis and Code Generatio n The A4WSN Framework
  • 16.
  • 17.
    Collection of Requirementsand 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
  • 18.
    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
  • 19.
    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 alternatives Criteria
  • 20.
    DD1: one gatewayper floor DD2: WAN DD3: Wireless Lan DD4: battery DD5: counting sensors … SEA Group
  • 21.
    DD1: only onegateway DD2: WAN DD3: LAN DD4: battery DD5: counting SEA Group sensors …
  • 22.
    Why DD? Accordingto 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 SEA Group process d. Trace design decisions and their relationship to the resulting architecture.
  • 23.
    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
  • 24.
    QOC Questions, Options,Criteria SEA Group Questions: key design issues Options: possible answers Criteria: assess and compare the options
  • 25.
    Example QOC3 Whichtechnology should be used by the user to communicate locally with the devices which are located at home? SEA Group
  • 26.
    QOC3 Which technologyshould be used by the user to communicate locally with the devices which are located at home? SEA Group
  • 27.
    QOC Template (Openthe Excel File) SEA Group
  • 28.
    Reasoning What arethe architecture-specific decisions? How do they affect: SEA Group →the architecture? →the final product? →other decisions? What are the most Important criteria? How to reason about trade-offs?
  • 29.
    ADD: what isinteresting 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 SEA Group the optimal solution 5. Evolving ADD
  • 30.
    Granularity… ADD Question: SEA Group How the FireFighter system components shall communicate? How is the payment handled?
  • 31.
    Dependencies… DI1. Howmany gateways can we place? SEA Group Single Gateway 1 Gateway per floor 1 Gateway per apartment CReolsitability 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
  • 32.
    Dependencies… Are ofvarious types: SEA Group • 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
  • 33.
    Collaborative Decision Making SEA Group http://saw.inf.unisi.ch/drupal/home
  • 34.
  • 35.
    Optimal Solution toADD 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
  • 36.
    Evolving ADD Requirements,Concerns, technology evolves, and so the associated design decisions. Con#2: How the nodes should be powered? SEA Group • Cr#1 – Cost • Cr#2 – nodes life duration • Cr#3 – availability • Opt#1 : Battery • Opt#2 : Electrical network
  • 37.
    Architecting in apicture 37 SEA Group ADD
  • 38.
    Architecting in apicture 38 SEA Group GDM ADD ADD ADD ADD
  • 39.
    ADD vs GDM SEA Group GDM Architecture Design Decisions Informal vs fomal metamodels Link to other artefacts
  • 40.
    GDM for theFire Monitoring System 40 Design Issue 1: how many gateways shall be used to collect sensored data in a building? SEA Group Single Gateway 1 gateway per floor 1 Gateway per apartment Cost Reliability Availability Design alternatives Design Criteria issue Stakeholders’ concerns Stakeholders’ reputation Stakeholders’ roles Consensus Mechanisms Social links Decision Patterns GDM
  • 41.
    41 SEA Group impacts impacts impacts General Group Problem-Solving (GGPS), 1993 [6] (generic model of GDM)
  • 42.
    4 2 Processesand Methods Impact of factors like size, Why shall we care? Architecting = Group Decision Making [WICSA2014, ECSA2014] SEA Group GDM Research Perspectives 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/
  • 43.
    43 SEA Group • 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 then voted. Voting • Experts answer questionnaires in a distributed and anonymous way. 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
  • 44.
    (Our) Metamodel forADD 1. ADDMM: a metamodel for supporting design SEA Group decisions evolution idea, tentative, decided, rejected when the DD has been created Evolution history of the DD
  • 45.
    Design rationale →Thelogical reasons given to justify a designed artifact SEA Group for someone →An explanation of why a designed artifact (or some features of an artifact) is the way it is for some question/issue