zurück zur Startseite der Softwaretechnik-Trends , zu Band 19 Heft 3


     Buchbesprechungen



Heide Balzert: Lehrbuch der Objektmodellierung, Spektrum Akademischer Verlag, 1999, 593 Seiten mit CD-ROM, 98 DM


Objektorientierung beeinflußt zunehmend die Softwareentwicklung in der Praxis. Das betrifft neben der Nutzung objektorientierter Programmiersprachen insbesondere die Verwendung objektorientierter Modellierungstechniken. Diesem Thema widmet sich das Lehrbuch der Objektmodellierung von Prof. Heide Balzert vom Fachbereich Informatik der Fachhochschule Dortmund.

Im Unterschied zu den oft anzutreffenden oberflächlich zusammengestellten Büchern zur Objektorientierung besticht das Werk durch eine offensichtliche Sorgfalt bei der Auswahl, Strukturierung und Präsentation der Inhalte. Hier passen Form und Inhalt zusammen. Das Buch ist ohne Zweifel als Nachschlagewerk für den Praktiker ebenso geeignet, wie als vorlesungsbegleitendes Lehrbuch oder als Unterlage für das Selbststudium.

Wie die anderen Lehrbücher der Informatik aus dem Spektrum Akademischer Verlag ist das Buch in Lehreinheiten gegliedert, die jeweils durch Aufgaben ergänzt werden. Positiv fällt auf, daß bei vielen Aufgaben nicht nur Wissen abgefragt, sondern auch das Verständnis der Inhalte überprüft wird. Die Musterlösungen sind praktischerweise gleich im Buch abgedruckt. Oft enthalten sie nicht nur die Lösung, sondern auch Begründungen zum gewählten Ansatz. Das erleichtert den Vergleich mit der eigenen Lösung. Darüber hinaus sind für jede Lehreinheit die Lernziele, ein Glossar und eine Zusammenfassung angegeben.

In dem Buch wird eine strenge Trennung zwischen den Phasen Analyse und Entwurf vorgenommen. Auch das ist ein wohltuender Unterschied im Vergleich zu vielen anderen Büchern. Die Lehreinheiten 2 bis 10 beschäftigen sich ausschließlich mit der Analyse. Wer nur an der fachlichen Lösung interessiert ist, kann sich schwerpunktmäßig auf diesen Teil konzentrieren und braucht sich nicht mit Details von objektorientierten Programmiersprachen zu belasten. Für den Entwerfer und Programmierer sind die Lehreinheiten 11 bis 18 geschrieben.

Das Lehrbuch beginnt mit den objektorientierten Konzepten, für deren Darstellung die Standardnotation UML verwendet wird. Die Strukturierung in Basiskonzepte, statische und dynamische Konzepte erleichtert den Überblick. Die Konzepte und Notationselemente werden an zahlreichen Beispielen erläutert. Für interessierte Leser finden sich immer wieder vertiefende Ergänzungen. Beispiel-Anwendungen erleichtern den Übergang zur Praxis des Modellierens.

Auch objektorientierte Entwicklungen erfordern Qualitätssicherung. Die Kenntnis der Konzepte und der UML-Notation können die Erzeugung fachlich korrekter Objektmodelle nicht garantieren, so daß entsprechende Kriterien zu ihrer Überprüfung genutzt werden müssen. Die Autorin bietet eine Reihe von Checklisten an, die sowohl für die Modellerstellung wie auch für die Modellüberprüfung, etwa im Rahmen einer Inspektion, verwendet werden können.

Die beschriebene Vorgehensweise realisiert den Grundgedanken der evolutionären und iterativen Softwareentwicklung mit einem frühen Protoyping in der Analysephase. Dieser Prototyp der Benutzungsoberfläche macht die Objektstrukturen des Fachkonzepts auch an der Benutzungsoberfläche sichtbar und soll in erster Linie die Kommunikation mit dem Auftraggeber verbessern. Dieses Lehrbuch enthält - ebenfalls im Unterschied zu vielen anderen Büchern der Objektmodellierung - auch zwei Lehreinheiten, die in die Gestaltung von Benutzungsoberflächen einführen. Dem normalen PC-Benutzer mag einiges davon bekannt sein. Trotzdem werden einige nützliche Tips zur Oberflächengestaltung gegeben.

Für Entwerfer und Programmierer werden die zu Beginn eingeführten objektorientierten Konzepte erweitert und vertieft. Neulinge in der objektorientierten Programmierung erhalten durch die beschriebenen Abbildungen der Entwurfskonzepte in Java und C++ eine Vorstellung davon, wie es in der Programmierung weitergeht. Eines der interessantesten Themen des objektorientierten Entwurfs ist die Kenntnis und die Anwendung von Entwurfsmustern. Es werden sieben Entwurfsmuster vorgestellt, von denen die meisten in den späteren Lehreinheiten zum Erstellen von Entwurfsarchitekturen eingesetzt werden.

Zwei Lehreinheiten dieses Buches beschäftigen sich mit Datenbanken, insbesondere mit objektorientierten Datenbanken. Dieses Kapitel würde man in einem Buch zur Objektmodellierung nicht unbedingt erwarten. Hier werden jedoch die Grundlagen für die späteren Architekturen mit Datenhaltung in relationalen und objektorientierten Datenbanken gelegt. Dem Leser bleibt - analog zu den Lehreinheiten der Software-Ergonomie - erspart, sich dieses Wissen aus anderen Büchern anzueignen.

Eine weitere Lehreinheit zeigt, wie verteilte objektorientierten Anwendungen heute standardisiert erstellt werden können. Der Leser sieht, wie die objektorientierten Konzepte durchgängig anwendet werden: von der Analyse über den Entwurf bis zur Programmierung, aber auch bei der Gestaltung von Benutzungsoberflächen, den objektorientierten Datenbanken und der Client/Server-Verteilung.

Drei-Schichten-Architekturen sind heute ein aktuelles Thema beim Entwurf. In den letzten beiden Lehreinheiten wird Schritt für Schritt gezeigt, wie eine solche Architektur unter Verwendung von Entwurfsmustern systematisch entworfen und programmiert werden kann. Abschließend wird die Konstruktion eines Frameworks zur Anbindung an relationale Datenbanken unter Verwendung der eingeführten Entwurfsmuster vorgestellt. Für alle Beispielimplementierungen wird im Buch C++ verwendet. Die Wahl von C++ als Programmiersprache ist derzeitig wegen der großen Verbreitung sicher richtig gewesen. Für eine zweite Auflage wäre Java als zweite Sprache wünschenswert.

Die Lehrbücher dieser Reihe erheben den Anspruch, durch Kombination verschiedener Medien neue Maßstäbe setzen zu wollen. Daher wird auch dieses Buch durch eine CD-ROM ergänzt. Sie enthält unter anderem ein multimediales Computer Based Training. Den Übergang von der praktischen Theorie zu lauffähigen Programmen unterstützten zwei Exkurse, die im Buch dokumentiert sind und durch Programme auf der CD-ROM ergänzt werden. Der erste Exkurs zeigt, wie ein Prototyp der Benutzungsoberfläche mit einer C++-Programmierumgebung erstellt werden kann. Der zweite Exkurs führt in die Benutzung der objektorientierten Datenbank Poet ein. Eine Poet-Version befindet sich übrigens auf der beiliegenden CD-ROM, so daß der Exkurs direkt praktisch durchgearbeitet werden kann. Das Buch wird ergänzt um eine durchgängige Fallstudie vom Analysemodell bis zum laufenden System, die dem Leser als Vorlage für das erste eigene objektorientierte Projekt dienen kann. Darüber hinaus befinden sich auch mehrere Werkzeuge für objektorientierte Modellierung auf der CD-ROM. Aktuelle Informationen zum Lehrbuch und zu weiteren Softwaretechnik-Themen findet man auf der Website www.software-technik.de.

Das Ziel des Buchs ist offensichtlich, eine leicht verständliche Einführung in die objektorientierte Modellierung in den Phasen Analyse und Entwurf zu geben, um den Einstieg in die objektorientierte Entwicklung zu erleichtern. Dieses Ziel hat die Autorin voll erreicht.

Man merkt dem Buch an, daß die Autorin im Hauptberuf Softwaretechnik und Systemanalyse unterrichtet. Sie kennt die Probleme beim Erstellen von Objektmodellen und zeigt Wege auf, wie sie gelöst werden können und wie manch ein Fehler von vornherein vermieden werden kann. Neben einer fachlich fundierten Darstellung der Materie ist eine zweifellos aus der Erfahrung mit praktischen Problemstellungen hervorgegangene Expertise spürbar. Daher eignet sich dieses Lehrbuch auch besonders für das Selbststudium und die Fortbildung von Praktikern. Der Übergang zur Arbeit am Computer wird durch Exkurse und Programme auf der CD-ROM erleichtert. Hervorzuheben bei diesem Buch ist, daß es gleichermaßen gut ``von vorne nach hinten'' zu lesen und zum Nachschlagen geeignet ist. Es ist ein Arbeitsbuch, das auf den Schreibtisch eines jeden Entwicklers gehört, der bereits objektorientiert entwickelt oder dies für die Zukunft plant.


Dr.-Ing. Peter Liggesmeyer, Siemens AG, Zentralabteilung Technik, D-81730 München



Manfred Nagl: Softwaretechnik mit Ada - Entwicklung großer Systeme, Vieweg 1999, ISBN 3-528-05583-9


Das Buch Softwaretechnik mit Ada - Entwicklung großer Systeme beschreibt nicht nur die Sprache Ada, sondern auch den Hintergrund der Entwicklungen in der Softwaretechnik, die zu dieser Sprache geführt haben.

Ada ist ein Sprache, die als Ergebnis eines öffentlichen und sehr kritischen wissenschaftlichen Prozesses entstanden ist. Dabei stellt die Sprache Ada 95 dem Entwickler all jene Konstrukte in einer eindeutig definierten Form zur Verfügung, die für eine ingenieurwissenschaftliche Softwareentwicklung gebraucht werden. Deshalb vermittelt das Buch von Manfred Nagl nicht nur die Sprachelemente, sondern versucht auch den Hintergrund der imperativen Sprachen zu erläutern. Allein schon die Einleitung, das 1. Kapitel, sollte eine Pflichtlektüre für alle Softwareentwickler und vor allem deren Projektleiter und kaufmännischen Verantwortliche sein. Die hier gemachten Aussagen ernsthaft umgesetzt, können in jeder eingesetzten Sprache eine merkliche Qualitätssteigerung der entwickelten Software bewirken. Kapitel 2 geht dann auf Notationen und Grundelemente für die Sprachbeschreibung ein. Die weitere Aufteilung der Kapitel in Programmieren im Kleinen, Datenstrukturierung, Programmieren im Großen, nebenläufige Programmsysteme und die E/A-Einbettung beschreiben dann die Ada-Spezifika für die Softwareentwicklung. Im Anhang werden die Sprachdefinition und die Annexe, spezielle Adavorgaben für bestimmte Zielsysteme, kompakt dargestellt. Dieses Buch vermittelt eine große Fülle von wichtigen Informationen für den Softwareentwickler allgemein, nicht nur für den Ada-Entwickler. Darin liegt letztlich auch der Spagat, den der Autor versucht hat. Für den Ada-Spezialisten wird all jene Information komprimiert, die er irgendwo auch in seinem Gedächtnis nach intensivem Suchen finden könnte. Was vielleicht fehlt, ist eine detaillierte Besprechung der Annexe, aber dies hätte den Rahmen des Buches gesprengt. Den Softwaretechnik- und den Ada-Novizen kann die Informationsfülle erschlagen, wenn er nicht langsam und strukturiert vorgeht. Lesen, nein durcharbeiten, sollte er es aber auf jeden Fall, er kann nur gewinnen.

Insgesamt kann das Buch von Manfred Nagl jedem Software-Entwickler empfohlen werden, ob er Systeme in Ada oder einer anderen Sprache entwickelt. Ein Handikap ist die Zeit, die man zum Lesen bereit stellen muß, aber dies ist nicht das Problem des Buches, sondern der leider sehr schnelllebigen Kultur in der Software-Entwicklung. Vielfach ist eben nicht der saubere Entwurf, sondern nur das fertige und verkaufbare Produkt relevant. Deshalb ist dem Buch zu wünschen, daß es gerade in der SWT-Ausbildung eine hohe Verwendung findet. Angemessen ist dies allemal.


Dr. Hubert B. Keller, Forschungszentrum Karlsruhe, Institut für Angewandte Informatik, PF 3640, 76021 Karlsruhe, keller@iai.fzk.de



zurück zur Startseite der Softwaretechnik-Trends , zu Band 19 Heft 3