Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
38 4 Objektorientierter Entwurf muss aber auch abschätzen können, ob sich der Einsatz einer bestimmten Technologie lohnt. Dafür muss die Zukunftssicherheit der Technologien abgeschätzt werden: Im Angesicht raschen Wandels kann es sich dabei nur um Monate handeln. Ist ein solches Risiko identifiziert, der Einsatz der Technologie aber notwendig, können die Teile, die bei einer abzusehenden Portierung geändert werden müssen, im Entwurf flexibel genug gestaltet werden. 4.5.4 Komplexität des Entwerfens Consciousness about design does not imply the application of a formal, consistent, or comprehensive theory of design or of a universal methodology. Systematic principles and methods at times may be applicable to the process of design, but there is no effective equivalent to the rationalized generative theories applied in mathematics and traditional engineering. Design consciousness is still pervaded by intuition, tacit knowledge, and gut reaction. (Winograd et al., 1996) Problemklassen nach Dörner Ein Problem ist nach Dörner (1976) durch drei Merkmale gekennzeichnet: Es gibt einen unerwünschten Ausgangszustand α, einen erwünschten Zielzustand ω und eine Barriere, welche die Transformation von α in ω verhindert. Fehlt die Barriere, d. h. ist die Transformation bekannt, spricht Dörner von einer Aufgabe. Für die Transformation steht eine Menge von Operatoren o1 ,o2 ,…,on , das so genannte Operatoreninventar O, zur Verfügung. Eine Transformation ist eine Folge von Operationen, d. h. von konkreten Anwendungen der Operatoren. Dörner unterscheidet drei Klassen von Problemen: Syntheseprobleme, Interpolationsprobleme und dialektische Probleme. Diese unterscheiden sich vor allem durch die Art der Barrieren. In Abbildung 4-4 sind diese dargestellt, klassifiziert nach Klarheit der Zielkriterien und Bekanntheitsgrad der Operatoren. Operatoren Zielkriterien klar unklar bekannt Interpolationsbarriere dialektische Barriere unbekannt Synthesebarriere dialektische Barriere und Synthesebarriere Abbildung 4-4: Dörners Barrierekategorien (nach Dörner, 1976, S. 10) Abbildung 4-5 veranschaulicht die Unterschiede der verschiedenen Problemklassen und den Unterschied zwischen Problem und Aufgabe. Interpolationsprobleme Bei Interpolationsproblemen sind Ausgangs- und Zielzustand klar definiert und die zur Verfügung stehenden Operatoren sind bekannt. Es besteht jedoch eine Interpolationsbarriere, d. h. es ist unklar, wie die Operatoren verwendet und kombiniert werden müssen, damit die gewünschte Transformation von α in ω entsteht. Beispielsweise sind bei der Wegesuche in einem rechtwinkligen Labyrinth Anfangs- und Zielzustand festgelegt. Außerdem sind die möglichen Bewegungen (Operationen) durch das Operatoreninventar „links drehen“, „rechts drehen“ und „geradeaus
4.5 Probleme des Entwurfs 39 Aufgabe O=o 1 , o 2 …, o n o 7 α ω o 1 o 3 Interpolationsproblem Syntheseproblem dialektisches Problem O=o 1, o 2 …, o n o 5 ? α ω O=o 1, o 2, …? Abbildung 4-5: Aufgabe und Probleme O=o 1, o 2 …, o n ? ? α ω α ? gehen“ klar definiert. Das Finden eines Wegs durch das Labyrinth (die Transformation) ist aber wegen der vielen Möglichkeiten trotzdem aufwendig. Syntheseprobleme Syntheseprobleme unterscheiden sich von Interpolationsproblemen dadurch, dass das Operatoreninventar nicht abgeschlossen ist, d. h. es kann neben den bekannten Operatoren weitere geben. Wenn die bekannten Operatoren für die Lösung nicht ausreichen, müssen zunächst neue Operatoren gefunden oder erfunden (synthetisiert) werden. Synthesebarrieren sind auch deshalb so schwer zu überwinden, weil sie oft einen Wechsel der Blickrichtung auf ein Problem erfordern, was durch individuelle Einstellungen und Denkgewohnheiten erschwert wird. Beispielsweise ist es bei Labyrinthen in Adventure-Spielen oft so, dass man mit den oben genannten Operationen nicht weiterkommt, so lange man nicht eine unerwartete Operation durchführt wie z. B. „brüchige Wand durchbrechen.“ Dialektische Probleme Bei den dialektischen Problemen schließlich ist der Zielzustand unklar. Meistens können zwar Anforderungen an diesen Zustand formuliert werden, doch sind diese oft widersprüchlich. Es werden daher – mehr oder minder systematisch – verschiedene Transformationen ausprobiert, bis ein Zustand erreicht wird, der den Anforderungen entspricht. Währenddessen entwickelt sich auch eine genauere Vorstellung vom angestrebten Zielzustand, weil widersprüchliche Anforderungen gegeneinander abgewogen werden. Ein Beispiel für ein dialektisches Problem ist der Wunsch „Unser Dorf soll schöner werden.“ Entwurf als Problem The fundamental problem is that designers are obliged to use current information to predict a future state that will not come about unless their predictions are correct. The final outcome of designing has to be assumed before the means of achieving it can be explored: the designers have to work backwards in time from an assumed effect upon the world to the beginning of a chain of events that will bring the effect about. (Jones, 1992, S. 9) Es ist ausgesprochen schwierig, einen guten Entwurf zu schaffen. Visser und Hoc (1990) stufen den Entwurf als schlecht definiertes Problem (ill-defined problem) ein.
- Seite 1: Bewertung der Qualität objektorien
- Seite 5 und 6: Zusammenfassung In der Software-Ent
- Seite 7 und 8: Inhaltsverzeichnis 1 Danksagung....
- Seite 9 und 10: 12 Zusammenfassung und Ausblick....
- Seite 11 und 12: Kapitel 1 Einführung Design is one
- Seite 13 und 14: 1.2 Zielsetzung 3 Messverfahren. Da
- Seite 15 und 16: 1.4 Übersicht 5 Das allgemeine Qua
- Seite 17 und 18: Kapitel 2 Modelle und Metriken In d
- Seite 19 und 20: 2.2 Metriken 9 2.1.2 Beispiele […
- Seite 21 und 22: 2.2 Metriken 11 Merkmalsart Qualita
- Seite 23 und 24: 2.2 Metriken 13 Definition 2-2 (qua
- Seite 25 und 26: Kapitel 3 Objektorientierung What i
- Seite 27 und 28: 3.1 Begriffe 17 Klasse Person mit A
- Seite 29 und 30: 3.1 Begriffe 19 3.1.5 Abstrakte Kla
- Seite 31 und 32: 3.2 Unified Modeling Language 21 3.
- Seite 33 und 34: Kapitel 4 Objektorientierter Entwur
- Seite 35 und 36: 4.1 Was ist Entwurf? 25 rungen im C
- Seite 37 und 38: 4.2 Klassifikationen des Entwurfs 2
- Seite 39 und 40: 4.2 Klassifikationen des Entwurfs 2
- Seite 41 und 42: 4.3 Muster und Rahmenwerke 31 und P
- Seite 43 und 44: 4.3 Muster und Rahmenwerke 33 Kateg
- Seite 45 und 46: 4.5 Probleme des Entwurfs 35 Lösun
- Seite 47: 4.5 Probleme des Entwurfs 37 Kompon
- Seite 51 und 52: 4.5 Probleme des Entwurfs 41 • di
- Seite 53 und 54: Kapitel 5 Ein Referenzmodell für d
- Seite 55 und 56: 5.2 Umfang 45 Abbildung 5-2: UML-Me
- Seite 57 und 58: 5.2 Umfang 47 5.2.2 Erweiterungen N
- Seite 59 und 60: 5.3 Kern 49 und I muss in genau ein
- Seite 61 und 62: 5.3 Kern 51 • uses: C × (C ∪ I
- Seite 63 und 64: 5.4 Erweiterungen 53 5.4.2 Erweiter
- Seite 65 und 66: 5.5 Formale Definition von Metriken
- Seite 67 und 68: 5.5 Formale Definition von Metriken
- Seite 69 und 70: Kapitel 6 Softwarequalität Quality
- Seite 71 und 72: 6.1 Qualität 61 Benutzerbezogene S
- Seite 73 und 74: 6.2 Qualitätsmodelle 63 Die Defini
- Seite 75 und 76: 6.2 Qualitätsmodelle 65 Boehm et a
- Seite 77 und 78: 6.2 Qualitätsmodelle 67 IEEE Stand
- Seite 79 und 80: 6.3 Qualitätssicherung 69 6.2.4 Fa
- Seite 81 und 82: 6.3 Qualitätssicherung 71 rung und
- Seite 83 und 84: Kapitel 7 Entwurfsqualität Softwar
- Seite 85 und 86: 7.1 Ein Beispiel 75 scheidung nach
- Seite 87 und 88: 7.1 Ein Beispiel 77 WMC DIT NOC CBO
- Seite 89 und 90: 7.2 Perspektiven der Entwurfsqualit
- Seite 91 und 92: 7.2 Perspektiven der Entwurfsqualit
- Seite 93 und 94: 7.3 Entwurfsregeln 83 Produkt 1 Pro
- Seite 95 und 96: 7.3 Entwurfsregeln 85 Prinzip Besch
- Seite 97 und 98: 7.3 Entwurfsregeln 87 7.3.2 Heurist
4.5 Probleme des Entwurfs 39<br />
Aufgabe<br />
O=o 1 , o 2 …, o n<br />
o 7<br />
α ω<br />
o 1 o 3<br />
Interpolationsproblem Syntheseproblem dialektisches Problem<br />
O=o 1, o 2 …, o n<br />
o 5<br />
?<br />
α ω<br />
O=o 1, o 2, …?<br />
Abbildung 4-5: Aufgabe und Probleme<br />
O=o 1, o 2 …, o n<br />
?<br />
?<br />
α ω α ?<br />
gehen“ klar definiert. Das Finden eines Wegs durch das Labyrinth (die Transformation)<br />
ist aber wegen <strong>der</strong> vielen Möglichkeiten trotzdem aufwendig.<br />
Syntheseprobleme<br />
Syntheseprobleme unterscheiden sich von Interpolationsproblemen dadurch, dass<br />
das Operatoreninventar nicht abgeschlossen ist, d. h. es kann neben den bekannten<br />
Operatoren weitere geben. Wenn die bekannten Operatoren für die Lösung nicht ausreichen,<br />
müssen zunächst neue Operatoren gefunden o<strong>der</strong> erfunden (synthetisiert)<br />
werden. Synthesebarrieren sind auch deshalb so schwer zu überwinden, weil sie oft<br />
einen Wechsel <strong>der</strong> Blickrichtung auf ein Problem erfor<strong>der</strong>n, was durch individuelle<br />
Einstellungen und Denkgewohnheiten erschwert wird. Beispielsweise ist es bei Labyrinthen<br />
in Adventure-Spielen oft so, dass man mit den oben genannten Operationen<br />
nicht weiterkommt, so lange man nicht eine unerwartete Operation durchführt wie<br />
z. B. „brüchige Wand durchbrechen.“<br />
Dialektische Probleme<br />
Bei den dialektischen Problemen schließlich ist <strong>der</strong> Zielzustand unklar. Meistens können<br />
zwar Anfor<strong>der</strong>ungen an diesen Zustand formuliert werden, doch sind diese oft<br />
wi<strong>der</strong>sprüchlich. Es werden daher – mehr o<strong>der</strong> min<strong>der</strong> systematisch – verschiedene<br />
Transformationen ausprobiert, bis ein Zustand erreicht wird, <strong>der</strong> den Anfor<strong>der</strong>ungen<br />
entspricht. Währenddessen entwickelt sich auch eine genauere Vorstellung vom angestrebten<br />
Zielzustand, weil wi<strong>der</strong>sprüchliche Anfor<strong>der</strong>ungen gegeneinan<strong>der</strong> abgewogen<br />
werden. Ein Beispiel für ein dialektisches Problem ist <strong>der</strong> Wunsch „Unser Dorf<br />
soll schöner werden.“<br />
Entwurf als Problem<br />
The fundamental problem is that designers are obliged to use current information to predict a<br />
future state that will not come about unless their predictions are correct. The final outcome of<br />
designing has to be assumed before the means of achieving it can be explored: the designers<br />
have to work backwards in time from an assumed effect upon the world to the beginning of a<br />
chain of events that will bring the effect about.<br />
(Jones, 1992, S. 9)<br />
Es ist ausgesprochen schwierig, einen guten Entwurf zu schaffen. Visser und Hoc<br />
(1990) stufen den Entwurf als schlecht definiertes Problem (ill-defined problem) ein.