\documentstyle[twocolumn,german]{article}
\input{trendsstyle_v2.tex}

\begin{document}
\thispagestyle{empty}
\setlength{\topmargin}{-16mm}
\setlength{\textheight}{252mm}


%\baselineskip11.93pt


\twocolumn[{\vspace*{-8mm}
\huge\sf Buchbesprechungen
\\[4mm]
}]

\noindent Heide Balzert: {\bf Lehrbuch der
Objektmodellierung}, Spektrum Akademischer Verlag,
1999, 593 Seiten mit CD-ROM, 98 DM

\medskip\noindent Objektorientierung beeinflu"st
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"achlich zusammengestellten B"uchern zur
Objektorientierung besticht das Werk durch eine
offensichtliche Sorgfalt bei der Auswahl,
Strukturierung und Pr"asentation der Inhalte. Hier
passen Form und Inhalt zusammen. Das Buch ist ohne
Zweifel als Nachschlagewerk f"ur den Praktiker ebenso
geeignet, wie als vorlesungsbegleitendes Lehrbuch
oder als Unterlage f"ur das Selbststudium.

Wie die anderen Lehrb"ucher der Informatik aus dem
Spektrum Akademischer Verlag ist das Buch in
Lehreinheiten gegliedert, die jeweils durch Aufgaben
erg"anzt werden. Positiv f"allt auf, da"s bei vielen
Aufgaben nicht nur Wissen abgefragt, sondern auch
das Verst"andnis der Inhalte "uberpr"uft wird. Die
Musterl"osungen sind praktischerweise gleich im Buch
abgedruckt. Oft enthalten sie nicht nur die L"osung,
sondern auch Begr"undungen zum gew"ahlten Ansatz. Das
erleichtert den Vergleich mit der eigenen L"osung.
Dar"uber hinaus sind f"ur 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"uchern. Die Lehreinheiten 2 bis 10
besch"aftigen sich ausschlie"slich mit der Analyse.
Wer nur an der fachlichen L"osung interessiert ist,
kann sich schwerpunktm"a"sig auf diesen Teil
konzentrieren und braucht sich nicht mit Details von
objektorientierten Programmiersprachen zu belasten.
F"ur den Entwerfer und Programmierer sind die
Lehreinheiten 11 bis 18 geschrieben.

Das Lehrbuch beginnt mit den objektorientierten
Konzepten, f"ur deren Darstellung die
Standardnotation UML verwendet wird. Die
Strukturierung in Basiskonzepte, statische und
dynamische Konzepte erleichtert den "Uberblick. Die
Konzepte und Notationselemente werden an zahlreichen
Beispielen erl"autert. F"ur interessierte Leser finden
sich immer wieder vertiefende Erg"anzungen.
Beispiel-Anwendungen erleichtern den "Ubergang zur
Praxis des Modellierens.

Auch objektorientierte Entwicklungen erfordern
Qualit"atssicherung. Die Kenntnis der Konzepte und
der UML-Notation k"onnen die Erzeugung fachlich
korrekter Objektmodelle nicht garantieren, so da"s
entsprechende Kriterien zu ihrer "Uberpr"ufung genutzt
werden m"ussen. Die Autorin bietet eine Reihe von
Checklisten an, die sowohl f"ur die Modellerstellung
wie auch f"ur die Modell"uberpr"ufung, etwa im Rahmen
einer Inspektion, verwendet werden k"onnen.

Die beschriebene Vorgehensweise realisiert den
Grundgedanken der evolution"aren und iterativen
Softwareentwicklung mit einem fr"uhen Protoyping in
der Analysephase. Dieser Prototyp der
Benutzungsoberfl"ache macht die Objektstrukturen des
Fachkonzepts auch an der Benutzungsoberfl"ache
sichtbar und soll in erster Linie die Kommunikation
mit dem Auftraggeber verbessern. Dieses Lehrbuch
enth"alt - ebenfalls im Unterschied zu vielen anderen
B"uchern der Objektmodellierung - auch zwei
Lehreinheiten, die in die Gestaltung von
Benutzungsoberfl"achen einf"uhren. Dem normalen
PC-Benutzer mag einiges davon bekannt sein. Trotzdem
werden einige n"utzliche Tips zur
Oberfl"achengestaltung gegeben.

F"ur Entwerfer und Programmierer werden die zu Beginn
eingef"uhrten 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"ateren Lehreinheiten zum Erstellen von
Entwurfsarchitekturen eingesetzt werden.

Zwei Lehreinheiten dieses Buches besch"aftigen sich
mit Datenbanken, insbesondere mit objektorientierten
Datenbanken. Dieses Kapitel w"urde man in einem Buch
zur Objektmodellierung nicht unbedingt erwarten.
Hier werden jedoch die Grundlagen f"ur die sp"ateren
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"uchern anzueignen.

Eine weitere Lehreinheit zeigt, wie verteilte
objektorientierten Anwendungen heute standardisiert
erstellt werden k"onnen. Der Leser sieht, wie die
objektorientierten Konzepte durchg"angig anwendet
werden: von der Analyse "uber den Entwurf bis zur
Programmierung, aber auch bei der Gestaltung von
Benutzungsoberfl"achen, 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"ur Schritt gezeigt, wie
eine solche Architektur unter Verwendung von
Entwurfsmustern systematisch entworfen und
programmiert werden kann. Abschlie"send wird die
Konstruktion eines Frameworks zur Anbindung an
relationale Datenbanken unter Verwendung der
eingef"uhrten Entwurfsmuster vorgestellt. F"ur alle
Beispielimplementierungen wird im Buch C++
verwendet. Die Wahl von C++ als Programmiersprache
ist derzeitig wegen der gro"sen Verbreitung sicher
richtig gewesen. F"ur eine zweite Auflage w"are Java
als zweite Sprache w"unschenswert.

Die Lehrb"ucher dieser Reihe erheben den Anspruch,
durch Kombination verschiedener Medien neue Ma"sst"abe
setzen zu wollen. Daher wird auch dieses Buch durch
eine CD-ROM erg"anzt. Sie enth"alt unter anderem ein
multimediales Computer Based Training. Den "Ubergang
von der praktischen Theorie zu lauff"ahigen
Programmen unterst"utzten zwei Exkurse, die im Buch
dokumentiert sind und durch Programme auf der CD-ROM
erg"anzt werden. Der erste Exkurs zeigt, wie ein
Prototyp der Benutzungsoberfl"ache mit einer
C++-Programmierumgebung erstellt werden kann. Der
zweite Exkurs f"uhrt in die Benutzung der
objektorientierten Datenbank Poet ein. Eine
Poet-Version befindet sich "ubrigens auf der
beiliegenden CD-ROM, so da"s der Exkurs direkt
praktisch durchgearbeitet werden kann. Das Buch wird
erg"anzt um eine durchg"angige Fallstudie vom
Analysemodell bis zum laufenden System, die dem
Leser als Vorlage f"ur das erste eigene
objektorientierte Projekt dienen kann. Dar"uber
hinaus befinden sich auch mehrere Werkzeuge f"ur
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"andliche Einf"uhrung 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"s die Autorin im Hauptberuf
Softwaretechnik und Systemanalyse unterrichtet. Sie
kennt die Probleme beim Erstellen von Objektmodellen
und zeigt Wege auf, wie sie gel"ost werden k"onnen 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"urbar. Daher eignet sich dieses Lehrbuch
auch besonders f"ur das Selbststudium und die
Fortbildung von Praktikern. Der "Ubergang zur Arbeit
am Computer wird durch Exkurse und Programme auf der
CD-ROM erleichtert. Hervorzuheben bei diesem Buch
ist, da"s es gleicherma"sen gut ``von vorne nach
hinten'' zu lesen und zum Nachschlagen geeignet ist.
Es ist ein Arbeitsbuch, das auf den Schreibtisch
eines jeden Entwicklers geh"ort, der bereits
objektorientiert entwickelt oder dies f"ur die
Zukunft plant.
\\[2mm]
Dr.-Ing. Peter Liggesmeyer
Siemens AG
Zentralabteilung Technik
D-81730 M"unchen
\\
~

\pagebreak

%\baselineskip11.85pt

\noindent  Manfred Nagl: {\bf
Softwaretechnik mit Ada - Entwicklung gro"ser Systeme}, Vieweg 1999, ISBN 3-528-05583-9

\medskip\noindent Das Buch Softwaretechnik mit Ada - Entwicklung gro"ser Systeme beschreibt
nicht nur die Sprache Ada, sondern auch den Hintergrund der
Entwicklungen in der Softwaretechnik, die zu dieser Sprache gef"uhrt
haben.

Ada ist ein Sprache, die als Ergebnis eines "offentlichen 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"ugung, die f"ur 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"autern.
Allein schon die Einleitung, das 1. Kapitel, sollte eine Pflichtlekt"ure
f"ur alle Softwareentwickler und vor allem deren Projektleiter und
kaufm"annischen Verantwortliche sein. Die hier gemachten Aussagen
ernsthaft umgesetzt, k"onnen in jeder eingesetzten Sprache eine merkliche
Qualit"atssteigerung der entwickelten Software bewirken. Kapitel 2 geht
dann auf Notationen und Grundelemente f"ur die Sprachbeschreibung ein.
Die weitere Aufteilung der Kapitel in Programmieren im Kleinen,
Datenstrukturierung, Programmieren im Gro"sen, nebenl"aufige
Programmsysteme und die E/A-Einbettung beschreiben dann die
Ada-Spezifika f"ur die Softwareentwicklung. Im Anhang werden die
Sprachdefinition und die Annexe, spezielle Adavorgaben f"ur bestimmte
Zielsysteme, kompakt dargestellt.
Dieses Buch vermittelt eine gro"se F"ulle von wichtigen Informationen f"ur
den Softwareentwickler allgemein, nicht nur f"ur den Ada-Entwickler.
Darin liegt letztlich auch der Spagat, den der Autor versucht hat. F"ur
den Ada-Spezialisten wird all jene Information komprimiert, die er
irgendwo auch in seinem Ged"achtnis nach intensivem Suchen finden k"onnte.
Was vielleicht fehlt, ist eine detaillierte Besprechung der Annexe, aber
dies h"atte den Rahmen des Buches gesprengt.
Den Softwaretechnik- und den Ada-Novizen kann die Informationsf"ulle
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"s, 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"unschen, da"s es gerade in der
SWT-Ausbildung eine hohe Verwendung findet. Angemessen ist dies allemal.

\medskip
\noindent
Dr. Hubert B. Keller
Forschungszentrum Karlsruhe
Institut f"ur Angewandte Informatik
PF 3640
76021 Karlsruhe
keller@iai.fzk.de

\end{document}
