SQL Database Design For Developers at php[tek] 2024
Talk v71
1. Towards High-Quality Software
Architecture through Collaborative
Design Decisions
Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
2. Towards High-Quality Software
Architecture through Collaborative
Design Decisions
Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
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
6. Concerns about complexity
• Limited expertise and overwhelming complexity
• Misalignment of available and required expertise
10
7. Concerns about process
• Expensive changes in design
• Misestimation of the design progress
Envisioning
Support Planning
Deployment Development
Stabilizing
11
9. 1. Decisions Quality Estimation
“You can’t control what you can’t 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
10. 2. Collaborative Design Decisions
• Research Question:
• Q3: How to support collaborative software architecture design?
15
15. SAW Benefits - analytics
• Misestimation of the design progress
• Late and expensive changes in design
• Plan
• Predict
• Know your knowledge and know what you don’t know
36
16. SAW Benefits - collaboration
• Limited expertise and overwhelming complexity
• Misalignment of available and required expertise
• Document
• Find
• Share
• Decide
37
27. 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
32. Evaluation environment
• In-class evaluation during the
Software Architecture and Design course
• Industrial evaluation in:
• Bank
• Manufacturing company
• Consulting environment
60
33. Research Roadmap
• Decision analytics
• Structural and dynamic metrics
• Detection strategies
• Decision guidance
• Collaborative decisions support
• Consensus reaching support
• Collaborative brainstorming support
62
34. 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
35. 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
Reference to the architecture definitionRethink division between architecture and AK
Reference to the architecture definitionRethink division between architecture and AK
Proof colorsHypothesis: better decisions lead to better design output
You cannot even build a house out of that
Concerns and context get into the analysisAnalysis produces requirements for synthesis and evaluationSynthesis produces architecture candidates which need to undergo evaluation
Make more slides on those
Make more slides on those
Motivate collaboration by saying that it should improve quality
Make a figure out of that and pin-point interesting scenario
Last but not least
Make some nice SS of SAW
Work on warehouse paradigm and think where actual action happens
State the purpose – motivateName ADD modelsHighlight on the data input. Make it fairly fast here. Make explicit three parts – persistence, metrics and co.
Make a figure without decisions
Make single alternative active
Drop decision symbols
Do not use static referencing structure
Make example of the unknown much simplier by adding it to the small exampleRemove the big space
More horizontal SS of visualization
Emphasize interactivityShow SS of simple knowledge model which I have introduced earlier
Remove capitalization
Emphasize outcomes of the evaluationExpress industrial interest, time dependence…