45
DISIM Dep.ntof Information Engineering, Computer Science and Mathematics Universityof L’Aquila, Italy Design Decisions and Group Decision Making Henry Muccini [email protected]

Architecture Design Decisions and Group Decision Making

Embed Size (px)

DESCRIPTION

Advanced Software Engineering Course (a.y. 2014-2015) http://lore.com/Advanced-Software-Engineering-Univaq/

Citation preview

Page 1: 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

[email protected]

Page 2: Architecture Design Decisions and Group Decision Making

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

Page 3: Architecture Design Decisions and Group Decision Making

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

Page 4: Architecture Design Decisions and Group Decision Making

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

Page 5: Architecture Design Decisions and Group Decision Making

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)

Page 6: Architecture Design Decisions and Group Decision Making

SEA Group

Architecture as a set of Design

Decisions

Page 7: Architecture Design Decisions and Group Decision Making

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)

Page 8: Architecture Design Decisions and Group Decision Making

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.

Page 9: Architecture Design Decisions and Group Decision Making

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

Page 10: Architecture Design Decisions and Group Decision Making

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

...

Page 11: Architecture Design Decisions and Group Decision Making

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”

Page 12: Architecture Design Decisions and Group Decision Making

SEA Group

Modeling framework

Page 13: Architecture Design Decisions and Group Decision Making

SEA Group

3 modeling languages + 2

Software

Architecture

Details about

WSN nodes

Physical

environment

Modeling

framework

Page 14: Architecture Design Decisions and Group Decision Making

SEA Group

Discussion

Page 15: Architecture Design Decisions and Group Decision Making

SEA Group

Modeling

environment

Programming

Framework

Analysis

and Code

Generatio

n

The A4WSN Framework

Page 16: Architecture Design Decisions and Group Decision Making

SEA Group

Page 17: Architecture Design Decisions and Group Decision Making

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

Page 18: Architecture Design Decisions and Group Decision Making

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?

Page 19: Architecture Design Decisions and Group Decision Making

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

Page 20: Architecture Design Decisions and Group Decision Making

SEA Group

DD1: one gateway per floor

DD2: WAN

DD3: Wireless Lan

DD4: battery

DD5: counting

sensors

Page 21: Architecture Design Decisions and Group Decision Making

SEA Group

DD1: only one gateway

DD2: WAN

DD3: LAN

DD4: battery

DD5: counting

sensors

Page 22: Architecture Design Decisions and Group Decision Making

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.

Page 23: Architecture Design Decisions and Group Decision Making

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

Page 24: Architecture Design Decisions and Group Decision Making

SEA Group

QOC

Questions, Options, Criteria

Questions: key design issues

Options: possible answers

Criteria: assess and compare the options

Page 25: Architecture Design Decisions and Group Decision Making

SEA Group

Example

QOC3 Which technology should be used by the user to

communicate locally with the devices which are

located at home?

Page 26: Architecture Design Decisions and Group Decision Making

SEA Group

QOC3 Which technology should be used by the user to

communicate locally with the devices which are

located at home?

Page 27: Architecture Design Decisions and Group Decision Making

SEA Group

QOC Template (Open the Excel File)

Page 28: Architecture Design Decisions and Group Decision Making

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?

Page 29: Architecture Design Decisions and Group Decision Making

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

Page 30: Architecture Design Decisions and Group Decision Making

SEA Group

Granularity…

ADD Question:

� How the FireFighter system components shallcommunicate?

� How is the payment handled?

Page 31: Architecture Design Decisions and Group Decision Making

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…

Page 32: Architecture Design Decisions and Group Decision Making

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

Page 33: Architecture Design Decisions and Group Decision Making

SEA Group

Collaborative Decision Making

http://saw.inf.unisi.ch/drupal/home

Page 34: Architecture Design Decisions and Group Decision Making

SEA Group

Collaborative Decision Making

Page 35: Architecture Design Decisions and Group 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.

Page 36: Architecture Design Decisions and Group Decision Making

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

Page 37: Architecture Design Decisions and Group Decision Making

SEA Group

Architecting in a picture37

ADD

Page 38: Architecture Design Decisions and Group Decision Making

SEA Group

Architecting in a picture38

ADD

ADD

ADD

ADD

GDM

Page 39: Architecture Design Decisions and Group Decision Making

SEA Group

ADD vs GDM

Architecture Design Decisions

GDM

Informal vs

fomal metamodels Link to other

artefacts

Page 40: Architecture Design Decisions and Group Decision Making

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

Page 41: Architecture Design Decisions and Group Decision Making

SEA Group

41

General Group Problem-Solving (GGPS), 1993 [6] (generic model of GDM)

impacts

impacts

impacts

Page 42: Architecture Design Decisions and Group Decision Making

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/

Page 43: Architecture Design Decisions and Group Decision Making

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

Page 44: Architecture Design Decisions and Group Decision Making

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

Page 45: Architecture Design Decisions and Group Decision Making

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