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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 7<br />
Entwurfsqualität<br />
Software design is not easy – not easy to do, teach, or evaluate. Much of software education<br />
these days is about products and APIs, yet much of these are transient, whereas good design is<br />
eternal – if only we could figure out what good design is.<br />
(Fowler, 2001a, S. 97)<br />
In diesem Kapitel wird die Frage, was eigentlich ein guter Entwurf ist, aus verschiedenen<br />
Perspektiven beleuchtet. Zunächst wird ein kleines Beispiel vorgestellt, in dem<br />
drei Entwurfsalternativen für die gleiche Aufgabenstellung miteinan<strong>der</strong> verglichen<br />
werden, wobei <strong>der</strong> Entwurf auf intuitiver Basis – unterstützt durch Entwurfsregeln –<br />
bewertet wird. Analog zu den in Kapitel 6 vorgestellten <strong>Qualität</strong>ssichten werden<br />
dann die verschiedenen Sichten bei <strong>der</strong> Entwurfsqualität herausgearbeitet. Anschließend<br />
wird auf Entwurfsregeln (Prinzipien und Heuristiken) des objektorientierten<br />
Entwurfs eingegangen. Diese enthalten Erfahrungswissen, wie man zu einem guten<br />
(bzw. besseren) Entwurf kommt – sofern die Anwendung einer Regel im aktuellen<br />
Kontext sinnvoll ist. Schließlich wird auf die Frage eingegangen, wie <strong>Qualität</strong>ssicherung<br />
und Entwurfsbewertung durchgeführt werden können, wenn erst einmal klar<br />
ist, welche Kriterien relevant sind.<br />
7.1 Ein Beispiel<br />
A good design provides a solution that is no more complex than the problem it solves. A good<br />
design is based on deep simplicities, not on simple-mindedness.<br />
(Linger et al., 1979)<br />
Auf <strong>der</strong> Suche nach einem guten Entwurf stößt man häufig auf mehrere Alternativen,<br />
unter denen auszuwählen ist. Das folgende Beispiel (basierend auf einem Beispiel von<br />
Fowler et al., 1999) zeigt, dass es bei <strong>der</strong> Entscheidung, welcher Entwurf für ein gegebenes<br />
Problem <strong>der</strong> beste ist, viele Kriterien zu berücksichtigen gibt und dass diese<br />
Kriterien im Wi<strong>der</strong>streit zueinan<strong>der</strong> stehen können.<br />
Ein Videoverleih soll ein System zur Rechnungsstellung erhalten. Kunden, Ausleihen<br />
und Filme werden durch Klassen modelliert (Customer, Rental, Movie). Der Kunde hat<br />
73