SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Visualizing Design Erosion:
How Big Balls of Mud are Made
VISSOFT 2018
Madrid, 2018-09-24
David Baum, Jens Dietrich,
Craig Anslow, Richard Müller
Visualizing Design Erosion | VISSOFT 2018
David Baum 2
USE CASE
 Antipattern and smells are used to assess systems
design and archtitecture with static analysis
 The evolution of antipatterns is under-researched
 Trace back origin of antipattern instances
 Find versions with design erosion/quality loss
 Once you know the when you can investigate the why
 Product releases under time pressure
 Team changes
 …
Visualizing Design Erosion | VISSOFT 2018
David Baum 3
ANTIPATTERN
 Cyclic Dependencies (CD)
 Subtype Knowledge (STK)
[Stevens et al., 1979]
[Riehl, 1996]
Visualizing Design Erosion | VISSOFT 2018
David Baum 4
 Packages
 gray circles
 Classes
 green disks
 Nested according to
containment tree
STRUCTURE VISUALIZATION
Visualizing Design Erosion | VISSOFT 2018
David Baum 5
ANTIPATTERN VISUALIZATION
 Antipattern instances can be selected for detailed view
 depedencies between classes
 Disk size indicates the
importance of the
classes for the antipattern
instance
 Biggest class is the most
central class of this anti-
pattern
 Analogous for STK, but
color (green red scale) instead
of size indicates centrality
Visualizing Design Erosion | VISSOFT 2018
David Baum 6
EVOLUTION VISUALIZATION
 Visualize versions above each other
 x and y coordinates of disks are stable, so identical disks
are exactly above each other
Visualizing Design Erosion | VISSOFT 2018
David Baum 7
EVALUATION
 Preliminary evaluation with 10 participants
 Which version reduced the quality of the system the
most?
 Which packages are part of the original Circular
Dependency Component 1?
 With which class would you start refactoring?
 Result: „it works“
 Participants gave reasonable answers
 Participants like the tool and find it effective for solving the
tasks
 Compairing versions was described as „very intuitive“
 No complains about occlusion
Visualizing Design Erosion | VISSOFT 2018
David Baum 8
BUT ...
 Red green scale is very misleading
 Some complaints about navigation mode
 Participants asked for more context/information for
solving the tasks
 Some technical issues, mostly with X3DOM as
visualization technique
 Scalability needs to be improved
Visualizing Design Erosion | VISSOFT 2018
David Baum 9
SUMMARY
 „Big Balls of Mud“ can be traced over multiple versions
to see how they emerged and evolved
 Visualizing design erosion …
 supports refactoring decisions,
 supports assessing quality of software architecture
 might be a starting point for further analysis, combining
technical and social information
Visualizing Design Erosion | VISSOFT 2018
David Baum 10
References
 W. Stevens, G. Myers, and L. Constantine. 1979.
Structured design. In Classics in software engineering,
Edward Nash Yourdon (Ed.). Yourdon Press, Upper
Saddle River, NJ, USA 205-232.
 A. J. Riel. Object-Oriented Design Heuristics. Addison-
Wesley Longman Publishing Co., Inc., Boston, MA,
USA, 1996.

Más contenido relacionado

Similar a Visualizing Design Erosion: How Big Balls of Mud are Made

AEA Greenland Presentation 1 Nov 2013
AEA Greenland Presentation 1 Nov 2013AEA Greenland Presentation 1 Nov 2013
AEA Greenland Presentation 1 Nov 2013John Gøtze
 
Group Decision Making to improve Software Resilience
Group Decision Making to improve Software ResilienceGroup Decision Making to improve Software Resilience
Group Decision Making to improve Software ResilienceHenry Muccini
 
BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...Ravindra SSK Medicharla
 
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTCollective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
 
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...Applicazione metodo triz alla progettazione, esempio - Application of the TRI...
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...l.duroux
 
Design Systems - Fit for Use
Design Systems - Fit for UseDesign Systems - Fit for Use
Design Systems - Fit for UseJeremy Hamman
 
DART Conference Presentation
DART Conference PresentationDART Conference Presentation
DART Conference PresentationMatthew Watkins
 
BA Thesis_Boris Gantz_DMI Lucerne_2015
BA Thesis_Boris Gantz_DMI Lucerne_2015BA Thesis_Boris Gantz_DMI Lucerne_2015
BA Thesis_Boris Gantz_DMI Lucerne_2015Boris Gantz
 
Structured Dialogic Design
Structured  Dialogic  DesignStructured  Dialogic  Design
Structured Dialogic DesignSoCoDesign
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
how do u design?
how do u design?how do u design?
how do u design?surya teja
 
A retrospective on design and process synthesis.pdf
A retrospective on design and process synthesis.pdfA retrospective on design and process synthesis.pdf
A retrospective on design and process synthesis.pdfDr.Kiran Patil
 
Design Patterns
Design PatternsDesign Patterns
Design Patternsfrgo
 
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window PlagueThe Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window PlagueRoberto Minelli
 
What is Information Architecture
What is Information ArchitectureWhat is Information Architecture
What is Information ArchitecturePraveen Verma
 
Helping online communities enrich folksonomies
Helping online communities enrich folksonomiesHelping online communities enrich folksonomies
Helping online communities enrich folksonomiesFreddy Limpens
 
Application Refactoring With Design Patterns
Application Refactoring With Design PatternsApplication Refactoring With Design Patterns
Application Refactoring With Design PatternsMark Tabladillo
 
6.1 method for system design for sustainability
6.1 method for system design for sustainability6.1 method for system design for sustainability
6.1 method for system design for sustainabilityLeNS_slide
 
LZ_MADesignPracticeThesis
LZ_MADesignPracticeThesisLZ_MADesignPracticeThesis
LZ_MADesignPracticeThesisLisa Zimmermann
 

Similar a Visualizing Design Erosion: How Big Balls of Mud are Made (20)

AEA Greenland Presentation 1 Nov 2013
AEA Greenland Presentation 1 Nov 2013AEA Greenland Presentation 1 Nov 2013
AEA Greenland Presentation 1 Nov 2013
 
Group Decision Making to improve Software Resilience
Group Decision Making to improve Software ResilienceGroup Decision Making to improve Software Resilience
Group Decision Making to improve Software Resilience
 
BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...BIM Usage in Construction Industry and An application of Clash Detection and ...
BIM Usage in Construction Industry and An application of Clash Detection and ...
 
A2 question 1 a
A2 question 1 aA2 question 1 a
A2 question 1 a
 
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTCollective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
 
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...Applicazione metodo triz alla progettazione, esempio - Application of the TRI...
Applicazione metodo triz alla progettazione, esempio - Application of the TRI...
 
Design Systems - Fit for Use
Design Systems - Fit for UseDesign Systems - Fit for Use
Design Systems - Fit for Use
 
DART Conference Presentation
DART Conference PresentationDART Conference Presentation
DART Conference Presentation
 
BA Thesis_Boris Gantz_DMI Lucerne_2015
BA Thesis_Boris Gantz_DMI Lucerne_2015BA Thesis_Boris Gantz_DMI Lucerne_2015
BA Thesis_Boris Gantz_DMI Lucerne_2015
 
Structured Dialogic Design
Structured  Dialogic  DesignStructured  Dialogic  Design
Structured Dialogic Design
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
how do u design?
how do u design?how do u design?
how do u design?
 
A retrospective on design and process synthesis.pdf
A retrospective on design and process synthesis.pdfA retrospective on design and process synthesis.pdf
A retrospective on design and process synthesis.pdf
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
The Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window PlagueThe Plague Doctor: A Promising Cure for the Window Plague
The Plague Doctor: A Promising Cure for the Window Plague
 
What is Information Architecture
What is Information ArchitectureWhat is Information Architecture
What is Information Architecture
 
Helping online communities enrich folksonomies
Helping online communities enrich folksonomiesHelping online communities enrich folksonomies
Helping online communities enrich folksonomies
 
Application Refactoring With Design Patterns
Application Refactoring With Design PatternsApplication Refactoring With Design Patterns
Application Refactoring With Design Patterns
 
6.1 method for system design for sustainability
6.1 method for system design for sustainability6.1 method for system design for sustainability
6.1 method for system design for sustainability
 
LZ_MADesignPracticeThesis
LZ_MADesignPracticeThesisLZ_MADesignPracticeThesis
LZ_MADesignPracticeThesis
 

Último

9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000Sapana Sha
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSSLeenakshiTyagi
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPirithiRaju
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxjana861314
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencySheetal Arora
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 

Último (20)

9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
DIFFERENCE IN BACK CROSS AND TEST CROSS
DIFFERENCE IN  BACK CROSS AND TEST CROSSDIFFERENCE IN  BACK CROSS AND TEST CROSS
DIFFERENCE IN BACK CROSS AND TEST CROSS
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 

Visualizing Design Erosion: How Big Balls of Mud are Made

  • 1. Visualizing Design Erosion: How Big Balls of Mud are Made VISSOFT 2018 Madrid, 2018-09-24 David Baum, Jens Dietrich, Craig Anslow, Richard Müller
  • 2. Visualizing Design Erosion | VISSOFT 2018 David Baum 2 USE CASE  Antipattern and smells are used to assess systems design and archtitecture with static analysis  The evolution of antipatterns is under-researched  Trace back origin of antipattern instances  Find versions with design erosion/quality loss  Once you know the when you can investigate the why  Product releases under time pressure  Team changes  …
  • 3. Visualizing Design Erosion | VISSOFT 2018 David Baum 3 ANTIPATTERN  Cyclic Dependencies (CD)  Subtype Knowledge (STK) [Stevens et al., 1979] [Riehl, 1996]
  • 4. Visualizing Design Erosion | VISSOFT 2018 David Baum 4  Packages  gray circles  Classes  green disks  Nested according to containment tree STRUCTURE VISUALIZATION
  • 5. Visualizing Design Erosion | VISSOFT 2018 David Baum 5 ANTIPATTERN VISUALIZATION  Antipattern instances can be selected for detailed view  depedencies between classes  Disk size indicates the importance of the classes for the antipattern instance  Biggest class is the most central class of this anti- pattern  Analogous for STK, but color (green red scale) instead of size indicates centrality
  • 6. Visualizing Design Erosion | VISSOFT 2018 David Baum 6 EVOLUTION VISUALIZATION  Visualize versions above each other  x and y coordinates of disks are stable, so identical disks are exactly above each other
  • 7. Visualizing Design Erosion | VISSOFT 2018 David Baum 7 EVALUATION  Preliminary evaluation with 10 participants  Which version reduced the quality of the system the most?  Which packages are part of the original Circular Dependency Component 1?  With which class would you start refactoring?  Result: „it works“  Participants gave reasonable answers  Participants like the tool and find it effective for solving the tasks  Compairing versions was described as „very intuitive“  No complains about occlusion
  • 8. Visualizing Design Erosion | VISSOFT 2018 David Baum 8 BUT ...  Red green scale is very misleading  Some complaints about navigation mode  Participants asked for more context/information for solving the tasks  Some technical issues, mostly with X3DOM as visualization technique  Scalability needs to be improved
  • 9. Visualizing Design Erosion | VISSOFT 2018 David Baum 9 SUMMARY  „Big Balls of Mud“ can be traced over multiple versions to see how they emerged and evolved  Visualizing design erosion …  supports refactoring decisions,  supports assessing quality of software architecture  might be a starting point for further analysis, combining technical and social information
  • 10. Visualizing Design Erosion | VISSOFT 2018 David Baum 10 References  W. Stevens, G. Myers, and L. Constantine. 1979. Structured design. In Classics in software engineering, Edward Nash Yourdon (Ed.). Yourdon Press, Upper Saddle River, NJ, USA 205-232.  A. J. Riel. Object-Oriented Design Heuristics. Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1996.