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

14 2 Modelle und Metriken Problembestimmung Informales Modell Formale Modelle und Axiome Theoretische Validierung Empirische Validierung Anwendung Neue Modelle/Hypothesen Abbildung 2-3: Verfahren zur Entwicklung von Metriken (nach Shepperd, Ince, 1993, S. 79) 4. Theoretische Validierung: Es wird überprüft, ob die postulierten Axiome für die Metrik gelten. [Anhang A] 5. Empirische Validierung: Es wird empirisch überprüft, ob die Metrik tatsächlich die Anforderungen aus der Problembestimmung erfüllt. [Kapitel 10] Dabei gemachte Erfahrungen können neue Modelle oder Hypothesen liefern und zu einer erneuten Iteration des Vorgehens führen, um die Metrik und ihre Grundlagen zu verbessern. 6. Anwendung: Einsatz der Metrik. [Kapitel 10] Ein Qualitätsmodell für den objektorientierten Entwurf ist letztlich eine sehr komplexe Metrik, also lässt sich das Verfahren von Shepperd und Ince zu seiner Entwicklung verwenden. Bei der obigen Beschreibung der Phasen des Verfahrens ist in Klammern angegeben, in welchen Kapiteln dieser Arbeit die jeweiligen Aspekte behandelt werden. Für die Metriken, die für das Qualitätsmodell benötigt werden, kann das Verfahren ebenfalls angewendet werden.

Kapitel 3 Objektorientierung What is object oriented programming? My guess is that object oriented programming will be in the 1980’s what structured programming was in the 1970’s. Everyone will be in favor of it. Every manufacturer will promote his products as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is. (Rentsch, 1982, S. 51) Dieses Kapitel führt die wesentlichen Begriffe der Objektorientierung ein und zeigt ihre Darstellung in der Unified Modeling Language (UML). Eine ausführlichere Einführung in die Objektorientierung, die objektorientierte Analyse und den objektorientierten Entwurf findet sich z. B. bei Booch (1994). Philosophische Grundlagen der Objektorientierung finden sich bei Bunge (1977, 1979). Bunge entwickelt eine Ontologie, nach der die Welt aus substantiellen Individuen besteht, die eine Identität und Eigenschaften aufweisen: Objekte. Wand (1989) nutzt Bunges Ontologie, um daraus ein formales Modell für die Objektorientierung zu gewinnen. Beispielsweise entstehen Klassen, indem Objekte anhand der Ähnlichkeit ihrer Eigenschaften zusammengefasst werden. Aus dieser Weltsicht heraus ergibt sich die populäre Schlussfolgerung, dass ein objektorientiertes Programm besser verständlich und besser änderbar ist als ein prozedurales, da der kognitive Unterschied zwischen Konstrukten der Anwendungswelt und den Konstrukten der Lösungswelt geringer ist. Jacobson et al. (1995, S. 42ff.) bezeichnen den Unterschied zwischen Anwendungs- und Lösungswelt als „semantic gap“. Dieser sei bei der Objektorientierung geringer als bei der strukturierten Entwicklung. Für Rumbaugh et al. (1993) ist die Klasse eine natürliche Einheit der Modularisierung, weshalb durch die objektorientierte Vorgehensweise klare und verständliche Entwürfe entstehen. Berard (1993, Kap. 2) empfiehlt die Verwendung des objektorientierten Ansatzes wegen seiner Vorteile aus technischer Sicht: die zunehmende Akzeptanz moderner Programmierpraktiken (z. B. Datenabstraktion), höhere Wiederverwendung und bessere Erweiterbarkeit im Vergleich zum strukturierten Ansatz. Allerdings ist bei einem Wechsel von der strukturierten Entwicklung zur Objektorientierung ein Paradigmenwechsel nötig (Fichman, Kemerer, 1992). Diesen Wechsel schafft nicht jeder Entwick- 15

Kapitel 3<br />

Objektorientierung<br />

What is object oriented programming? My guess is that object oriented programming will be<br />

in the 1980’s what structured programming was in the 1970’s. Everyone will be in favor of it.<br />

Every manufacturer will promote his products as supporting it. Every manager will pay lip<br />

service to it. Every programmer will practice it (differently). And no one will know just what it<br />

is.<br />

(Rentsch, 1982, S. 51)<br />

Dieses Kapitel führt die wesentlichen Begriffe <strong>der</strong> Objektorientierung ein und zeigt<br />

ihre Darstellung in <strong>der</strong> Unified Modeling Language (UML). Eine ausführlichere Einführung<br />

in die Objektorientierung, die objektorientierte Analyse und den objektorientierten<br />

Entwurf findet sich z. B. bei Booch (1994).<br />

Philosophische Grundlagen <strong>der</strong> Objektorientierung finden sich bei Bunge (1977,<br />

1979). Bunge entwickelt eine Ontologie, nach <strong>der</strong> die Welt aus substantiellen Individuen<br />

besteht, die eine Identität und Eigenschaften aufweisen: Objekte. Wand (1989)<br />

nutzt Bunges Ontologie, um daraus ein formales Modell für die Objektorientierung<br />

zu gewinnen. Beispielsweise entstehen Klassen, indem Objekte anhand <strong>der</strong> Ähnlichkeit<br />

ihrer Eigenschaften zusammengefasst werden. Aus dieser Weltsicht heraus ergibt<br />

sich die populäre Schlussfolgerung, dass ein objektorientiertes Programm besser verständlich<br />

und besser än<strong>der</strong>bar ist als ein prozedurales, da <strong>der</strong> kognitive Unterschied<br />

zwischen Konstrukten <strong>der</strong> Anwendungswelt und den Konstrukten <strong>der</strong> Lösungswelt<br />

geringer ist. Jacobson et al. (1995, S. 42ff.) bezeichnen den Unterschied zwischen<br />

Anwendungs- und Lösungswelt als „semantic gap“. Dieser sei bei <strong>der</strong> Objektorientierung<br />

geringer als bei <strong>der</strong> strukturierten Entwicklung. Für Rumbaugh et al. (1993) ist<br />

die Klasse eine natürliche Einheit <strong>der</strong> Modularisierung, weshalb durch die objektorientierte<br />

Vorgehensweise klare und verständliche <strong>Entwürfe</strong> entstehen.<br />

Berard (1993, Kap. 2) empfiehlt die Verwendung des objektorientierten Ansatzes<br />

wegen seiner Vorteile aus technischer Sicht: die zunehmende Akzeptanz mo<strong>der</strong>ner<br />

Programmierpraktiken (z. B. Datenabstraktion), höhere Wie<strong>der</strong>verwendung und bessere<br />

Erweiterbarkeit im Vergleich zum strukturierten Ansatz. Allerdings ist bei einem<br />

Wechsel von <strong>der</strong> strukturierten Entwicklung zur Objektorientierung ein Paradigmenwechsel<br />

nötig (Fichman, Kemerer, 1992). Diesen Wechsel schafft nicht je<strong>der</strong> Entwick-<br />

15

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!