Skip to main content
main-content

Über dieses Buch

Eine durch zahlreiche Beispiele veranschaulichte Einführung in die objektorientierte Systemanalyse liegt mit diesem Buch vor. Dem Leser werden die Grundlagen der Objektorientierung im einleitenden Teil des Buches erläutert. Anhand vielfältiger Beispiele und einer Fallstudie wird der von den Autoren gewählte Ansatz praxisorientiert dargestellt. Weitere Schwerpunkte bilden eine Darstellung des Übergangs von der Analyse- in die Designphase, sowie Überblicke über die Einsatzmöglichkeiten objektorientierter Entwurfsmuster und die heute verfügbare Computerunterstützung.

Inhaltsverzeichnis

Frontmatter

Kapitel 1. Einleitung

Zusammenfassung
Die letzten Jahre zeichnen sich im Bereich der Kostenentwicklung fur DV-Systeme durch den einerseits anhaltenden Verfall der Hardwarepreise — bei kontinuierlich zunehmender Rechnerleistung — und andererseits durch ständig wachsende Anforderungen an die Software, die zu einem ebenso rapiden Anstieg der Softwareentwicklungskosten geführt haben, aus. Bedingt durch die zunehmende Gröβe und Komplexität der zu entwickelnden Softwaresysteme vergröβert sich dabei gleichzeitig der Anteil der Softwarewartungskosten (Kosten für Fehlerbeseitigung und Weiterentwicklung) an den Gesamtkosten eines Softwareprojekts. Dabei erweist sich die Beseitigung von Fehlern eines Softwareprodukts als um so aufwendiger, je später diese entdeckt werden. Auf der anderen Seite werden von den Anwendern höhere Softwarequalität und niedrigere Wartungskosten als Prioritäten genannt. Dies sind unter anderem Gründe für eine gerade im Rahmen der objektorientierten Softwareerstellung starke Betonung der Phasen Analyse und Design, die der Implementierung vorausgehen. Nicht zuletzt kann damit die stark wachsende Zahl veröffentlichter Methoden zur Unterstützung von objektorientierter Systemanalyse und objektorientiertem Systemdesign erklärt werden.
Martin Schader, Michael Rundshagen

Kapitel 2. Grundlagen objektorientierter Softwareentwicklung

Zusammenfassung
In der ersten Hälfte dieses Kapitels werden die im allgemeinen mit dem Begriff Objektorientierung verbundenen Konzepte vorgestellt. Eine kurze Darstellung von Phasenmodellen zur Beschreibung eines objektorientierten Systementwurfs schlieβt sich daran an. Im letzten Abschnitt des Kapitels erfolgen eine Abgrenzung der Analysephase von den übrigen Entwicklungsphasen sowie die Formulierung von Anforderungen an eine objektorientierte Methode zur Systemanalyse.
Martin Schader, Michael Rundshagen

Kapitel 3. Objektorientierte Systemanalyse

Zusammenfassung
Wie bereits in Abschnitt 2.4 dargelegt, sollte ein vollständiges Analysemodell sowohl die statische Sicht (Objekte, Klassen, Strukturen), die dynamische Sicht (Objektverhalten, Kommunikation, Folgen von Methodenaufrufen, Kontrollfluβ) als auch die funktionale Sicht (Algorithmik, Realisierung der Methoden) auf das zu modellierende System beinhalten. Fast alle bekannteren Analysemethoden, beispielsweise die Methoden von Coad und Yourdon (1991a), Rumbaugh et al. (1991) und Shlaer und Mellor (1988, 1992) enthalten die oben angesprochene Dreiteilung in der Systemanalyse, wobei jeder Ansatz andere Schwerpunkte setzt. Von Booch (1994) wird die Modellierung der Systemmethoden in der Designphase vorgenommen; er entwickelt dort ohne weitere Hilfsmittel direkt C++-Code. Jacobson et al. (1992) konzentrieren sich auf die Systemdynamik und erstellen anschlieβend ein statisches Modell.
Martin Schader, Michael Rundshagen

Kapitel 4. Objektorientierte Entwurfsmuster

Zusammenfassung
Die Wiederverwendung bereits vorhandener Ergebnisse aus früheren Projekten in vergleichbaren Problembereichen oder mit ähnlicher Systemverantwortlichkeit wird als einer der wichtigsten Vorteile objektorientierter Softwareentwicklung angesehen. In diesem Kapitel wollen wir Möglichkeiten zur Wiederverwendung von Analyseergebnissen behandeln.
Martin Schader, Michael Rundshagen

Kapitel 5. Der Übergang ins Design

Zusammenfassung
In diesem Abschnitt soil keine detaillierte Abhandlung über objektorientierte Designmethoden gegeben werden. Vielmehr wollen wir anhand der beiden ersten in den Kapiteln 2 und 3 betrachteten Beispiele zeigen, wie beim Einsatz objektorientierter Techniken ein nahtloser Übergang von der Analyse- in die Designphase (der ja unter Umständen — z.B. beim Vorgehen nach dem Baseballmodell — mehrfach erfolgen wird) möglich ist, indem das Analysemodell bzw. die in ihm spezifizierten Klassen verbessert und erweitert werden.
Martin Schader, Michael Rundshagen

Kapitel 6. Computerunterstützung

Zusammenfassung
Die praktische Einsetzbarkeit und somit auch die Akzeptanz einer Methode zur Systemanalyse wird in hohem Maβ durch die Verfügbarkeit computergestützter Entwicklungswerkzeuge bestimmt. Das trifft besonders vor dem Hintergrund immer komplexer werdender Softwareentwicklungsprojekte zu, bei denen in der Systemanalyse eine Vielzahl verschiedener Dokumente zu erstellen ist. Diese Ergebnisse können ohne Computerunterstützung nicht sinnvoll gepflegt, aufeinander abgestimmt und auf dem jeweils neuesten Entwicklungsstand gehalten werden. Die Reichweite der Hilfestellung durch CASETools kann sich dabei von der Erstellung der einzelnen Analysedokumente über eine zusätzliche Verwaltung semantischer Informationen — beispielsweise der Klassenspezifikationen — in einem Repository, der automatischen Durchführung von Konsistenzprüfungen mit anschlieβender Codeerzeugung bis hin zur Analyse existierenden Codes (dem „Reverse-Engineerin“) erstrecken. Yourdon (1993) gibt einen interessanten Überblick über Möglichkeiten und Bedeutung der Computerunterstützung.
Martin Schader, Michael Rundshagen

Kapitel 7. Fallstudie

Zusammenfassung
In diesem Abschnitt wollen wir den in Kapitel 3 geschilderten Methodenverbund anhand eines kleinen aber sehr ausführlich modellierten Beispiels nochmals verdeutlichen.
Martin Schader, Michael Rundshagen

Backmatter

Weitere Informationen