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
96 7 Entwurfsqualität und die Paketebene gar nicht betrachtet. Stattdessen ist die Sichtweise meist auf Klassen und ihre Bestandteile fokussiert. Die Beziehungen zwischen Klassen (Vererbung, Assoziation) werden selten explizit und oder gar detailliert betrachtet. Nur die letzten drei Modelle enthalten eine Quantifizierung. Die Quantifizierung bei Gillibrand und Liu ist allerdings nur fragmentarisch dokumentiert und daher unbrauchbar. Außerdem deckt das Modell nur einen kleinen Teil der relevanten Qualitätsattribute ab. Bei Erni findet sich eine brauchbare Quantifizierung, die allerdings auf die unterste Ebene, die Metrikenebene, beschränkt ist. Nur bei Bansiya und Davis gibt es eine Quantifizierung für alle Ebenen. Interessanterweise geben manche Autoren von Metrikensammlungen für den objektorientierten Entwurf (z. B. Whitmire, 1997) zwar Metriken und damit zusammenhängende Entwurfskriterien an, legen sich aber nicht auf den gewünschten Erfüllungsgrad der Kriterien oder gar auf Schwellenwerte für Metriken fest. Eine lobenswerte Ausnahme ist das Buch von Lorenz und Kidd (1994), das eine Sammlung von einfachen objektorientierten Metriken (auf Code-Ebene) enthält, für die Schwellenwerte aus der Erfahrung der Autoren angegeben sind. 7.5 Qualitätssicherung beim Entwurf Quality must be built into designs, and cannot be inspected in or tested in. Nevertheless, any prudent development process verifies quality through inspection and testing. […] The very fact that designs face inspections motivates even the most conscientious designers to greater care, deeper simplicities, and more precision in their work. (Mills, 1980, S. 418) Bisher wurden Überlegungen zur Definition der Entwurfsqualität angestellt. In diesem Abschnitt wird gezeigt, mit welchen Maßnahmen die Entwurfsqualität überprüft und verbessert werden kann. 7.5.1 Organisatorische Maßnahmen Entwicklungsprozess. Der Entwurf muss geeignet eingebettet sein und den erforderlichen Stellenwert haben, selbst wenn evolutionär entwickelt wird. Standards und Richtlinien. Es werden Vorgaben sowohl für den Entwurf selbst (z. B. Namenskonventionen, Qualitätskriterien) als auch für die Entwurfsdokumentation (z. B. Aufbau, Umfang und Aktualität) gemacht. Ausbildung der Entwerfer. Die Entwerfer erarbeiten sich durch Schulung und Projektarbeit das notwendige Wissen und die nötige Erfahrung für die Erstellung guter Entwürfe. Dabei ist der Einsatz von Experten als Berater oder Mentoren in der Entwurfsphase sinnvoll. Alternativ kann auch ein Architekturteam gebildet werden, dem ein erfahrener Experte als Chefarchitekt vorsteht. Etablierung einer Wiederverwendungskultur. Geeignete Rahmenwerke, Bibliotheken und Muster sind bekannt und werden verwendet. Darüber hinaus kann auch durch Produktlinien (product lines) und den Aufbau eigener Bausteinbibliotheken ein Beitrag zur Wiederverwendung gemacht werden.
7.6 Entwurfsbewertung 97 7.5.2 Konstruktive Maßnahmen Object-oriented programming has shown that one way to attack complexity is to organize messes into smaller messes, and repeat the process. (Meyer, 2001, S. 30) Die Vorgaben aus den organisatorischen Maßnahmen schlagen sich in den konstruktiven Maßnahmen nieder. Wiederverwendung. Man greift auf bewährte Entwürfe in Form von Architekturmustern, Entwurfsmuster, Rahmenwerken und fertigen Komponenten, z. B. aus Bibliotheken, zurück. Code-Generatoren können ebenfalls zur Architektur-Wiederverwendung eingesetzt werden. Entwurfsregeln. Sie geben Hinweise, auf welche Eigenschaften während des Entwurfs zu achten ist, z. B. Modularisierung unter Beachtung von Kopplung und Zusammenhalt. Notation. Es wird eine geeignete Notation verwendet (vgl. auch Abschnitt 8.3.6). Werkzeuge. Es werden geeignete Werkzeuge eingesetzt, die den Entwerfer unterstützen, indem z. B. Konsistenz gewährleistet wird. 7.5.3 Analytische Maßnahmen Review. Sobald der erste Entwurf vorhanden ist, kann er einem Review unterzogen werden; in der Regel wird es sich um eine Inspektion handeln. Bass et al. (1998) und Shull et al. (1999) geben einige Hinweise für effektive Entwurfsinspektionen. Bewertung. Die Bewertung ist hilfreich, um den Entwurf mit möglichen Alternativen zu vergleichen und die beste Möglichkeit auszuwählen. Eine Schwachstellenanalyse auf der Grundlage der Bewertung kann mögliche Probleme des Entwurfs aufzeigen. Dann können Refaktorisierungen und Transformationsmuster eingesetzt werden, um diese Schwachstellen zu bereinigen. Ansätze zur Entwurfsbewertung werden in Abschnitt 7.6 vorgestellt. Prototyping. Eine mögliche, wenn auch in der Regel teurere Alternative zur Bewertung ist das sofortige Ausprobieren durch eine Implementierung. Diese Implementierung kann prototypischen Charakter haben (Coad, Yourdon, 1991), muss es aber nicht. Beispielsweise wird bei der Vorgehensweise des extremen Programmierens (Beck, 1999a und 1999b) empfohlen, inkrementell zu entwerfen und jedes Entwurfsinkrement sofort zu implementieren. Falls eine Überarbeitung notwendig werden sollte, soll auf Refaktorisierung (Fowler et al., 1999) zurückgegriffen werden. 7.6 Entwurfsbewertung By their very nature software products are not readily evaluated. There are no visible characteristics to give any clue to the quality of the product, and the behaviour of software systems is often complex and non-continuous. (Dick, Hunter, 1994)
- 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
- Seite 99 und 100: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 101 und 102: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 103 und 104: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 105: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 109 und 110: 7.6 Entwurfsbewertung 99 Evaluation
- Seite 111 und 112: Kapitel 8 Das allgemeine Qualitäts
- Seite 113 und 114: 8.1 Vorüberlegungen 103 8.1.4 Indi
- Seite 115 und 116: 8.3 Wartbarkeit 105 unabhängige Mo
- Seite 117 und 118: 8.3 Wartbarkeit 107 auswirkt (höhe
- Seite 119 und 120: 8.3 Wartbarkeit 109 Diskussion Für
- Seite 121 und 122: 8.3 Wartbarkeit 111 Diskussion Zusa
- Seite 123 und 124: 8.5 Wiederverwendbarkeit 113 derver
- Seite 125 und 126: 8.7 Testbarkeit 115 kann. Technisch
- Seite 127 und 128: Kapitel 9 Quantifizierung des Quali
- Seite 129 und 130: 9.1 Bewertungsverfahren 119 Bewertu
- Seite 131 und 132: 9.2 Objektive Metriken 121 Akronym
- Seite 133 und 134: 9.2 Objektive Metriken 123 Paket NC
- Seite 135 und 136: 9.3 Subjektive Metriken 125 Gewicht
- Seite 137 und 138: 9.4 Fragebögen 127 9.4 Fragebögen
- Seite 139 und 140: 9.4 Fragebögen 129 auch Fragen, f
- Seite 141 und 142: 9.5 Gesamtbewertung 131 der Gewicht
- Seite 143 und 144: 9.6 Ableitung spezifischer Modelle
- Seite 145 und 146: Kapitel 10 Ein spezifisches Qualit
- Seite 147 und 148: 10.1 Ableitung des Qualitätsmodell
- Seite 149 und 150: 10.1 Ableitung des Qualitätsmodell
- Seite 151 und 152: 10.2 Anwendung des Qualitätsmodell
- Seite 153 und 154: 10.2 Anwendung des Qualitätsmodell
- Seite 155 und 156: 10.2 Anwendung des Qualitätsmodell
96 7 Entwurfsqualität<br />
und die Paketebene gar nicht betrachtet. Stattdessen ist die Sichtweise meist auf Klassen<br />
und ihre Bestandteile fokussiert. Die Beziehungen zwischen Klassen (Vererbung,<br />
Assoziation) werden selten explizit und o<strong>der</strong> gar detailliert betrachtet.<br />
Nur die letzten drei Modelle enthalten eine Quantifizierung. Die Quantifizierung bei<br />
Gillibrand und Liu ist allerdings nur fragmentarisch dokumentiert und daher<br />
unbrauchbar. Außerdem deckt das Modell nur einen kleinen Teil <strong>der</strong> relevanten <strong>Qualität</strong>sattribute<br />
ab. Bei Erni findet sich eine brauchbare Quantifizierung, die allerdings<br />
auf die unterste Ebene, die Metrikenebene, beschränkt ist. Nur bei Bansiya und Davis<br />
gibt es eine Quantifizierung für alle Ebenen.<br />
Interessanterweise geben manche Autoren von Metrikensammlungen für den objektorientierten<br />
Entwurf (z. B. Whitmire, 1997) zwar Metriken und damit zusammenhängende<br />
Entwurfskriterien an, legen sich aber nicht auf den gewünschten Erfüllungsgrad<br />
<strong>der</strong> Kriterien o<strong>der</strong> gar auf Schwellenwerte für Metriken fest. Eine lobenswerte<br />
Ausnahme ist das Buch von Lorenz und Kidd (1994), das eine Sammlung von einfachen<br />
objektorientierten Metriken (auf Code-Ebene) enthält, für die Schwellenwerte<br />
aus <strong>der</strong> Erfahrung <strong>der</strong> Autoren angegeben sind.<br />
7.5 <strong>Qualität</strong>ssicherung beim Entwurf<br />
Quality must be built into designs, and cannot be inspected in or tested in. Nevertheless, any<br />
prudent development process verifies quality through inspection and testing. […] The very<br />
fact that designs face inspections motivates even the most conscientious designers to greater<br />
care, deeper simplicities, and more precision in their work.<br />
(Mills, 1980, S. 418)<br />
Bisher wurden Überlegungen zur Definition <strong>der</strong> Entwurfsqualität angestellt. In diesem<br />
Abschnitt wird gezeigt, mit welchen Maßnahmen die Entwurfsqualität überprüft<br />
und verbessert werden kann.<br />
7.5.1 Organisatorische Maßnahmen<br />
Entwicklungsprozess. Der Entwurf muss geeignet eingebettet sein und den erfor<strong>der</strong>lichen<br />
Stellenwert haben, selbst wenn evolutionär entwickelt wird.<br />
Standards und Richtlinien. Es werden Vorgaben sowohl für den Entwurf selbst<br />
(z. B. Namenskonventionen, <strong>Qualität</strong>skriterien) als auch für die Entwurfsdokumentation<br />
(z. B. Aufbau, Umfang und Aktualität) gemacht.<br />
Ausbildung <strong>der</strong> Entwerfer. Die Entwerfer erarbeiten sich durch Schulung und <strong>Projekt</strong>arbeit<br />
das notwendige Wissen und die nötige Erfahrung für die Erstellung guter<br />
<strong>Entwürfe</strong>. Dabei ist <strong>der</strong> Einsatz von Experten als Berater o<strong>der</strong> Mentoren in <strong>der</strong> Entwurfsphase<br />
sinnvoll. Alternativ kann auch ein Architekturteam gebildet werden, dem<br />
ein erfahrener Experte als Chefarchitekt vorsteht.<br />
Etablierung einer Wie<strong>der</strong>verwendungskultur. Geeignete Rahmenwerke, Bibliotheken<br />
und Muster sind bekannt und werden verwendet. Darüber hinaus kann auch<br />
durch Produktlinien (product lines) und den Aufbau eigener Bausteinbibliotheken<br />
ein Beitrag zur Wie<strong>der</strong>verwendung gemacht werden.