際際滷

際際滷Share a Scribd company logo
Towards High-Quality Software
Architecture through Collaborative
Design Decisions

Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
Towards High-Quality Software
Architecture through Collaborative
Design Decisions

Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
Context
 Software Architecture
   The fundamental abstraction in software design
   Set of architectural design decisions




                                                     4
Context
 Software Architectural Knowledge
   Design Artifacts + Decisions




                                     5
Assumption
 The quality of each design artifact is linked and therefore, in
  order to get predictable quality of the final product, one needs
  to be able to estimate and control the quality of the artifacts
  in the chain.




                                                                     7
Concerns about complexity
 Limited expertise and overwhelming complexity
 Misalignment of available and required expertise




                                                     10
Concerns about process
 Expensive changes in design
 Misestimation of the design progress



                            Envisioning

                 Support                   Planning




               Deployment                 Development

                            Stabilizing

                                                        11
Research Problems

1. Decision Quality Estimation
2. Collaborative design decisions




                                    13
1. Decisions Quality Estimation

          You cant control what you cant measure
                                         Tom DeMarco

 Research Questions:
   Q1: What is a good design decision and how to recognize it?
   Q2: What are qualities of software architectural knowledge?
   Q3: How to define, quantify and measure qualities of software
    architectural knowledge?




                                                                    14
2. Collaborative Design Decisions
 Research Question:
   Q3: How to support collaborative software architecture design?




                                                                     15
Software Architecture Warehouse
(SAW)
                                  31
Software Architecture Warehouse




                                  33
Software Architecture Warehouse




                                  34
Software Architecture Warehouse




                                  35
SAW Benefits - analytics
 Misestimation of the design progress
 Late and expensive changes in design
   Plan
   Predict
   Know your knowledge and know what you dont know




                                                       36
SAW Benefits - collaboration
 Limited expertise and overwhelming complexity
 Misalignment of available and required expertise
     Document
     Find
     Share
     Decide




                                                     37
Software Architecture Warehouse
Contributions                     39
Knowledge Warehouse
 Import heterogeneous knowledge from multiple sources




                                                         41
SAW Meta-model
 Codify design decisions with minimal meta-model




                                                    42
Customizable meta-model
 Tailored to the specific domain needs




                                          43
Decision modeling




                    44
Decision modeling




                    45
Decision modeling




                    46
Decision modeling




                    47
Decision making
 One step, exclusive decision making.




                                         48
Fuzzy decision modeling




                          49
Knowledge Analytics
 An example of complexity metric




      17                           3.3 Collaborative design decision support environment

                                         a1   a2   a3   a4   a5   a6   i1   i2
            punctual complexity metric   1    1    1    2    1    2    5    3

           Table 3.2. Complexity met ric values for t he decision model of Figure 3.6
                                                                                    50
Decision Analytics
 Quantitative and qualitative metrics




                                         51
Decision Analytics
 Knowledge navigation guidance
 Decision making assistance




                                  53
Collaborative design support
 Decision and rationale management
 Interactive collocated and remote decision making




                                                      54
EVALUATION
             59
Evaluation environment
 In-class evaluation during the
  Software Architecture and Design course

 Industrial evaluation in:
   Bank
   Manufacturing company
   Consulting environment




                                            60
Research Roadmap
 Decision analytics
   Structural and dynamic metrics
   Detection strategies
   Decision guidance

 Collaborative decisions support
   Consensus reaching support
   Collaborative brainstorming support




                                          62
Countdown
 Decision analytics research winter 2012
 Architecture design collaboration research spring 2012
 Perform 3-6 months of industrial evaluation
  starting late spring 2012
 Start writing thesis in summer 2012
 Finish writing in winter (December) 2012
 Defend thesis either in February/March 2013




                                                           63
Publications
 SHARK Workshop - ICSE 2010, Cape Town  South Africa
   Fuzzy decision modeling
   Modeling unknown
   Knowledge classification within spaces and domains


 SHARK Workshop - ICSE 2011, Honolulu - Hawaii
   Adoption of the Goals, Questions, Metrics approach for
    measurements of within Software Architecture Design Spaces


 SATURN 2011 Conference, Burlingame  California
   Demonstration of the Software Architecture Warehouse



                                                                 64
Summary



   Software Architecture Warehouse     Abstract Meta-model




Fuzzy Decision Modeling with Unknown    Decision Analytics   66
Ad

Recommended

404 lecture powerpointdesign
404 lecture powerpointdesign
Kawaldeep Singh
BC: Improvement of Knowledge Sourcing and Provision
BC: Improvement of Knowledge Sourcing and Provision
jscheuring
The Design Mind: Design Thinking Strategies for Facilitating Growth and Perfo...
The Design Mind: Design Thinking Strategies for Facilitating Growth and Perfo...
Aggregage
Usability Testing for Qualitative Researchers - QRCA NYC Chapter event
Usability Testing for Qualitative Researchers - QRCA NYC Chapter event
Kay Aubrey
Things you should know about cloud HR solutions
Things you should know about cloud HR solutions
Rob Scott
Programming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
Systems Concepts for Agile Practitioners
Systems Concepts for Agile Practitioners
Roger Brown
Systems Concepts for Agile Practitioners
Systems Concepts for Agile Practitioners
Roger Brown
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
Collaborative software architecture decisions: structure and dynamics
Collaborative software architecture decisions: structure and dynamics
USI
The tension between agile and architecture
The tension between agile and architecture
Peter Hendriks
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
HaifaMohd3
Sysdev
Sysdev
jaykrishnanc
Software Development Life Cycle
Software Development Life Cycle
際際滷share
Software Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
Galorath.dan
Galorath.dan
NASAPMC
Introduction and life cycle models
Introduction and life cycle models
themobiforest
Unit4
Unit4
anuragmbst
Ch 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
Design Thinking for Social Innovation RossNetImpact_Oct2011
Design Thinking for Social Innovation RossNetImpact_Oct2011
Sandhya Pillalamarri
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
Software Engineering The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
guestc990b6
Design engineering
Design engineering
Preeti Mishra
Development of a Model of Product Innovativeness for Large Packaged Software:...
Development of a Model of Product Innovativeness for Large Packaged Software:...
Steve Remington
Software design
Software design
Inocentshuja Ahmad
Di24709711
Di24709711
IJERA Editor
Transition to System Design
Transition to System Design
Haitham El-Ghareeb
Software engineering
Software engineering
faisalwajid
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2

More Related Content

Similar to Talk v71 (20)

Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
Collaborative software architecture decisions: structure and dynamics
Collaborative software architecture decisions: structure and dynamics
USI
The tension between agile and architecture
The tension between agile and architecture
Peter Hendriks
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
HaifaMohd3
Sysdev
Sysdev
jaykrishnanc
Software Development Life Cycle
Software Development Life Cycle
際際滷share
Software Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
Galorath.dan
Galorath.dan
NASAPMC
Introduction and life cycle models
Introduction and life cycle models
themobiforest
Unit4
Unit4
anuragmbst
Ch 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
Design Thinking for Social Innovation RossNetImpact_Oct2011
Design Thinking for Social Innovation RossNetImpact_Oct2011
Sandhya Pillalamarri
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
Software Engineering The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
guestc990b6
Design engineering
Design engineering
Preeti Mishra
Development of a Model of Product Innovativeness for Large Packaged Software:...
Development of a Model of Product Innovativeness for Large Packaged Software:...
Steve Remington
Software design
Software design
Inocentshuja Ahmad
Di24709711
Di24709711
IJERA Editor
Transition to System Design
Transition to System Design
Haitham El-Ghareeb
Software engineering
Software engineering
faisalwajid
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
Cesare Pautasso
Collaborative software architecture decisions: structure and dynamics
Collaborative software architecture decisions: structure and dynamics
USI
The tension between agile and architecture
The tension between agile and architecture
Peter Hendriks
Chapter 1 - Software Design - Introduction.pptx
Chapter 1 - Software Design - Introduction.pptx
HaifaMohd3
Software Development Life Cycle
Software Development Life Cycle
際際滷share
Software Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
Galorath.dan
Galorath.dan
NASAPMC
Introduction and life cycle models
Introduction and life cycle models
themobiforest
Design Thinking for Social Innovation RossNetImpact_Oct2011
Design Thinking for Social Innovation RossNetImpact_Oct2011
Sandhya Pillalamarri
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
Software Engineering The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
guestc990b6
Design engineering
Design engineering
Preeti Mishra
Development of a Model of Product Innovativeness for Large Packaged Software:...
Development of a Model of Product Innovativeness for Large Packaged Software:...
Steve Remington
Transition to System Design
Transition to System Design
Haitham El-Ghareeb
Software engineering
Software engineering
faisalwajid

Recently uploaded (20)

Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Josef Weingand
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape sch端tzt, was z辰hlt! Und besonders mit dem neust...
Josef Weingand
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Ad

Talk v71

Editor's Notes

  • #2: capitalization
  • #3: capitalization
  • #4: Put AK on the slide AK=D+D
  • #5: Reference to the architecture definitionRethink division between architecture and AK
  • #6: Reference to the architecture definitionRethink division between architecture and AK
  • #8: Proof colorsHypothesis: better decisions lead to better design output
  • #9: You cannot even build a house out of that
  • #10: Concerns and context get into the analysisAnalysis produces requirements for synthesis and evaluationSynthesis produces architecture candidates which need to undergo evaluation
  • #11: Make more slides on those
  • #12: Make more slides on those
  • #14: Motivate collaboration by saying that it should improve quality
  • #16: Make a figure out of that and pin-point interesting scenario
  • #21: Last but not least
  • #34: Make some nice SS of SAW
  • #35: Work on warehouse paradigm and think where actual action happens
  • #42: State the purpose motivateName ADD modelsHighlight on the data input. Make it fairly fast here. Make explicit three parts persistence, metrics and co.
  • #48: Make a figure without decisions
  • #49: Make single alternative active
  • #51: Drop decision symbols
  • #52: Do not use static referencing structure
  • #53: Make example of the unknown much simplier by adding it to the small exampleRemove the big space
  • #54: More horizontal SS of visualization
  • #55: Emphasize interactivityShow SS of simple knowledge model which I have introduced earlier
  • #60: Remove capitalization
  • #61: Emphasize outcomes of the evaluationExpress industrial interest, time dependence
  • #67: Four slides to represent the content
  • #68: Four slides to represent the content