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

worte.projekt.de
von worte.projekt.de Mehr von diesem Publisher
30.10.2013 Aufrufe

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)

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!