visually localizing design problems with disharmony maps
DESCRIPTION
Localizing design problems in a code city, by mapping the results of detection strategies. Presented at Softvis 2008 (Herrsching, Germany), September 2008.TRANSCRIPT
![Page 1: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/1.jpg)
Visually Localizing Design Problems with
Disharmony Maps
Richard Wettel and Michele LanzaREVEAL @ Faculty of Informatics,University of Lugano, Switzerland
![Page 2: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/2.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Overview
2
![Page 3: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/3.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Softwaredesign
Overview
2
![Page 4: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/4.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Softwaredesign
Codecities
Overview
2
![Page 5: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/5.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Softwaredesign
Codecities
Disharmonymaps
Overview
2
![Page 6: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/6.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Softwaredesign
Codecities
Disharmonymaps
Toolsupport
Overview
2
![Page 7: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/7.jpg)
On software design
![Page 8: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/8.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Research around software design
4
![Page 9: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/9.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Research around software design
Conceptsheuristics [Riel 2000], principles [Martin 2002], patterns [Gamma et al.
1995], design harmony [Lanza & Marinescu 2006]
4
![Page 10: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/10.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Research around software design
Conceptsheuristics [Riel 2000], principles [Martin 2002], patterns [Gamma et al.
1995], design harmony [Lanza & Marinescu 2006]
bad smells [Fowler et al. 1998], design flaws [Marinescu 2002]
4
![Page 11: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/11.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Research around software design
Conceptsheuristics [Riel 2000], principles [Martin 2002], patterns [Gamma et al.
1995], design harmony [Lanza & Marinescu 2006]
bad smells [Fowler et al. 1998], design flaws [Marinescu 2002]
Techniquesdetection strategies [Marinescu 2002, Lanza & Marinescu 2006]
4
![Page 12: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/12.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Research around software design
Conceptsheuristics [Riel 2000], principles [Martin 2002], patterns [Gamma et al.
1995], design harmony [Lanza & Marinescu 2006]
bad smells [Fowler et al. 1998], design flaws [Marinescu 2002]
Techniquesdetection strategies [Marinescu 2002, Lanza & Marinescu 2006]
Visualizationsquality [Panas et al. 2005], principle violations [Langelier et al. 2005]
4
![Page 13: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/13.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Design disharmony
5
![Page 14: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/14.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Design disharmony
5
God Class
Brain Class
Data Class
Brain Method
Feature Envy
1.IdentityHow do I
define myself?
![Page 15: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/15.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Design disharmony
5
God Class
Brain Class
Data Class
Brain Method
Feature Envy
Intensive Coupling
Shotgun Surgery
Dispersive Coupling
1.Identity
2.Collaboration How do I interact with
others?
![Page 16: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/16.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Design disharmony
5
Futile Hierarchy
Tradition Breaker
Refused Parent Bequest
God Class
Brain Class
Data Class
Brain Method
Feature Envy
Intensive Coupling
Shotgun Surgery
Dispersive Coupling
1.Identity
2.Collaboration
3.Classification
How do I define myself with respect to my ancestors and
descendants?
![Page 17: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/17.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Design disharmony
5
Futile Hierarchy
Tradition Breaker
Refused Parent Bequest
God Class
Brain Class
Data Class
Brain Method
Feature Envy
Intensive Coupling
Shotgun Surgery
Dispersive Coupling
![Page 18: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/18.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Definition of God Class
6
“In a good object-oriented designthe intelligence of a system is uniformly distributed among the top-level classes.”
[Riel 1996]
![Page 19: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/19.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Characteristics of a God Class
7
![Page 20: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/20.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Heavily accesses data of other “lightweight” classes,either directly or using accessormethods.
Characteristics of a God Class
7
![Page 21: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/21.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Heavily accesses data of other “lightweight” classes,either directly or using accessormethods.
Is large
Characteristics of a God Class
7
![Page 22: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/22.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Heavily accesses data of other “lightweight” classes,either directly or using accessormethods.
Is large
Has a lot of non-communicative behavior
Characteristics of a God Class
7
![Page 23: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/23.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Heavily accesses data of other “lightweight” classes,either directly or using accessormethods.
Is large
Has a lot of non-communicative behavior
Characteristics of a God Class
7
GodClass
![Page 24: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/24.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The God Class detection strategy
8
![Page 25: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/25.jpg)
Software systems as cities
![Page 26: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/26.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
![Page 27: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/27.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
![Page 28: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/28.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
![Page 29: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/29.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
![Page 30: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/30.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
![Page 31: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/31.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
number of methods (NOM) height
number of attributes (NOA) base size
![Page 32: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/32.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
nesting level color
number of methods (NOM) height
number of attributes (NOA) base size
![Page 33: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/33.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The city metaphor
10
domain mapping
class building
package district
system city
nesting level color
number of methods (NOM) height
number of attributes (NOA) base size
[Wettel & Lanza, ICPC 2007]
[Wettel & Lanza, VISSOFT 2007]
![Page 34: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/34.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
“Reading” a code city (ArgoUML)
11
![Page 35: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/35.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
“Reading” a code city (ArgoUML)
11
skyscrapers(NOM, NOA)
![Page 36: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/36.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
“Reading” a code city (ArgoUML)
11
skyscrapers(NOM, NOA)
parking lots(NOM, NOA)
![Page 37: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/37.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
“Reading” a code city (ArgoUML)
11
skyscrapers(NOM, NOA)
parking lots(NOM, NOA)
office buildings(NOM, NOA)
![Page 38: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/38.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps 12
Cities of the Java case studies
![Page 39: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/39.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 40: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/40.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 41: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/41.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 42: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/42.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 43: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/43.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 44: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/44.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
System NOP NOC LOC
ArgoUML 144 2,542 137,000
JHotDraw 72 998 30,000
iText 149 1,250 80,000
Jmol 105 1,032 85,000
JDK 1.5 137 4,715 160,000
12
Cities of the Java case studies
![Page 45: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/45.jpg)
Disharmony maps
![Page 46: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/46.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Inspired by health maps
14
World distribution of Myxobolus cerebralis
![Page 47: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/47.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Disharmony map: focus+context
15
God classes of JDK 1.5
![Page 48: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/48.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
![Page 49: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/49.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
ComponentNOA 88, NOM 280
![Page 50: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/50.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
SecurityNOA 3, NOM 30
![Page 51: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/51.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
java.awt.event
![Page 52: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/52.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16KeyEventNOA 205, NOM 18
![Page 53: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/53.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
InputEventNOA 21, NOM 14
![Page 54: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/54.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
JDK’s disharmony map
16
Brain classes
God classes
Data classes
12
65
109
16
java.awt.geom
![Page 55: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/55.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
ArgoUML’s disharmony map
17
Brain classes
God classes
Data classes
8
24
17
9
![Page 56: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/56.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
ArgoUML’s disharmony map
17
Brain classes
God classes
Data classes
8
24
17
9
JavaRecognizerNOA 79, NOM 176
ModellerNOA 15, NOM 52
GeneratorPHP4NOA 4, NOM 33
GeneratorCPPNOA 34, NOM 100
CPPParserNOA 85, NOM 204
FacadeNOA 1, NOM 337
FacadeMDRImplNOA 3, NOM 349
![Page 57: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/57.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Granularity of representation
18
NOM
= 7
NOA = 2
NOA = 2
class C
coarse
![Page 58: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/58.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Granularity of representation
18
NOM
= 7
NOA = 2
NOA = 2
class C
coarse fine-grained
![Page 59: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/59.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Granularity of representation
18
NOM
= 7
NOA = 2
NOA = 2
class C
class C
coarse fine-grained
![Page 60: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/60.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Granularity of representation
18
NOM
= 7
NOA = 2
NOA = 2
class C
class Cm4
m1 m3
m5 m7
m6
m2
coarse fine-grained
![Page 61: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/61.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps 19
Feature envy map of JmolFeature envy
![Page 62: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/62.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps 19
1,500 methods (25 %)
Feature envy map of JmolFeature envy
![Page 63: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/63.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Shotgun surgery map of ArgoUML
20
Shotgun surgery
FacadeNOM 140/337
PseudostateKindNOM 6/6
VisibilityKindNOM 4/4
ModelNOM 28/44
AggregationKindNOM 3/3
![Page 64: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/64.jpg)
Tool support
![Page 65: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/65.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22
![Page 66: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/66.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22
![Page 67: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/67.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22
Moose
parsing
![Page 68: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/68.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22iP
lasma
Moose
parsing
parsing
![Page 69: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/69.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22iP
lasma
Moose
parsing
parsing
modelexchange
![Page 70: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/70.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
The toolchain
22iP
lasma
Moose
parsing
parsing
modelexchange
CodeCity
OpenGL rendering
![Page 71: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/71.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Demo time!
23
![Page 72: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/72.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Closing remarks
24
Design disharmonies overview actual design problems in context.
www.inf.unisi.ch/phd/wettel/codecity.html
![Page 73: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/73.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Closing remarks
24
=+
Design disharmonies overview actual design problems in context.
www.inf.unisi.ch/phd/wettel/codecity.html
![Page 74: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/74.jpg)
Richard Wettel and Michele Lanza Visually Localizing Design Problems with Disharmony Maps
Closing remarks
24
=+
Design disharmonies overview actual design problems in context.
www.inf.unisi.ch/phd/wettel/codecity.html
Acknowledgments:
![Page 75: Visually Localizing Design Problems with Disharmony Maps](https://reader035.vdocument.in/reader035/viewer/2022081414/54b8d4184a7959ea3a8b4573/html5/thumbnails/75.jpg)
Richard Wettelhttp://www.inf.unisi.ch/phd/wettel
http://creativecommons.org/licenses/by/3.0/