Navigation

Seiten der Rubrik "Bücher"


Google Anzeigen

Anzeigen

Bücher

Softwareentwicklung mit UML2


Statistiken
  • 1944 Aufrufe

Informationen zum Buch
  ISBN
  Autoren
  Verlag
  Sprache
  Seiten
  Erscheinungsjahr
  Extras

Rezension von

Marc-Florian Wendland

Softwareentwicklung mit UML2 Die Unified Modeling Language (kurz: UML) ist derzeit der de facto Standard der Industrie fĂŒr die objektorientierte Modellierung von Softwaresystemen. Sie beinhaltet 13 verschiedene Diagrammarten, mit denen jeweils unterschiedliche Aspekte des zu modellierenden Softwaresystems fokussiert werden. Um effizient mit der UML arbeiten zu können bzw. ein grundlegendes VerstĂ€ndnis von den FĂ€higkeiten der UML zu erhalten, ist es unabdingbar, sich mit dem (komplexen) Metamodell der UML auseinander zusetzen. Die effizienteste Symbiose ist eine Mischung aus praktischem Anwendungswissen und theoretischem GrundlagenverstĂ€ndnis. Das diskutierte Buch verfolgt einen solch hybriden Ansatz. Inhaltlich lassen sich 5 Teilabschnitte unterscheiden. Eine (mehr oder weniger) generelle EinfĂŒhrung in die objektorientierte Modellierung an sich. Dem folgt die UML2 Sprachendefinition. Der dritte Teil („Die Sprache UML2“) ist mit Abstand der umfangreichste. Hier werden die Diagramme der UML und ihre Metamodelle diskutiert. Hernach tragen die Autoren weiterfĂŒhrende Konzepte wie den Profilmechanismus oder Templates zusammen. Abschließend vermitteln die Autoren einen kurzen Abriss ĂŒber die Softwareentwicklung mit der UML. Das die Autoren sich bestens in der Architektur und den Spezifikationen der UML auskennen, steht außer Frage. Die grundlegenden Konzepte werden anschaulich und plakativ vermittelt. Der Fokus liegt bei den strukturellen Gesichtspunkten auf den Klassendiagrammen und bei den Verhaltensaspekten auf den Zustandsmaschinen. Diese Einteilung hat durchaus Sinn, sind es doch grĂ¶ĂŸtenteils die Klassendiagramme, die ein Softwareentwickler zu beherrschen hat. Ein wenig verwirrend erscheint meines Erachtens die Aufteilung der Kapitel ĂŒber die grundlegende OO-Modellierung und „Die Sprache UML2“. Ersteres sollte eine generelle EinfĂŒhrung sein, die Autoren reden doch bereits recht zĂŒgig die Konzepte der UML. Diese werden dann teilweise in „Die Sprache UML2“ wiederholt aufgegriffen und ausfĂŒhrlicher erklĂ€rt. Dies erschwert die Suche nach konkreten Stichpunkten, so man etwas nachzuschlagen gedenkt. Es mĂŒssen immer stets beide Abschnitte angesehen werden. Unter eine grundlegenden EinfĂŒhrung zur OO-Modellierung hatte ich eine Art Vorgehensmodell erwartet, das auch Analysemuster umfasste, also gewissermaßen die OO-Analyse, denn sie ist die Grundlage eines jedes Softwaresystems. Was die Autoren liefern ist jedoch eine abgespeckte Version der UML, etwa „UML light zum Warmwerden“. Das Buch arbeitet (leider oftmals im Gegensatz zur UML Spezifikation) konzis heraus, wie die einzelnen Konzepte der Diagramme zusammenspielen und was mit ihnen bezweckt wird. Damit ersparen sie jedem Nicht-Muttersprachler die oftmals sehr formale und schwer zu lesende Spezifikation. Dies wird durch die Verwendung kleinerer Beispielszenarien begĂŒnstigt. Leider besitzen haben die Beispiele nur einen minimalen RealitĂ€tsbezug. Anstatt die Konzepte der UML an greifbaren, meinetwegen fiktiven Softwareprojekten zu erklĂ€ren, verwenden die Autoren allzu oft das Modell eines Flughafen, Flugzeugs, etc. Man bekommt den Eindruck, es wĂ€re den Autoren daran gelegen zu zeigen, dass nicht nur Softwaresysteme mit der UML modelliert werden können, sondern prinzipiell jedes x-beliebige realweltliche PhĂ€nomen. Ich hĂ€tte mir ein durchgehendes Projekt gewĂŒnscht, dass mit jedem neuen Diagramm komplettiert wird. Gut gefallen hat mir an dem Buch, dass die Autoren einen ganzheitliche Sichtweise auf die UML liefern, insbesondere durch die Hinzunahme der UML Superstructure. UML ist halt nicht „UML alone“. Ein grundlegendes VerstĂ€ndnis erschließt sich einem Rezipienten besser, wenn er das Metamodell versteht. Ebenfalls sagte mir die sehr angenehme Schreibweise der Autoren zu. BĂŒcher ĂŒber UML können mitunter recht ermĂŒdend und trocken sein, nicht aber das vorliegende Buch. Die Abschnitte lassen sich gut in einem Rutsch lesen. Bei einer Seitenzahl von „nur“ knapp 300 Seiten, von denen der BĂ€renanteil die UML an sich in Anspruch nimmt, beweist das Buch eine intrinsischen Mut zur LĂŒcke. (Zur Erinnerung: Die UML Superstructure an sich besitzt bereits knapp 800 Seiten). Es liefert, wie bereits erwĂ€hnt, weder ein Vorgehensmodell – wie die Modellierung eines Softwaresystems durchgefĂŒhrt werden sollte – noch optimierte Modellerungstechniken (evtl. Muster) fĂŒr die effektive Softwareentwicklung. Dieses Kapitel wird mit ganzen 15 Seiten abgetan und umfasst dazu noch MDA-Techniken wie Transformationen. Dies ist deutlich zu kurz und kann nicht mehr sein, als ein spĂ€rliches Kratzen an der OberflĂ€che. Der Titel des Buches ist daher fĂŒr mich eine kleine Mogelpackung. Es steht „Softwareentwicklung“ drauf, drin ist jedoch (nahezu) ausschließlich UML. Die Autoren schaffen ein in sich abgerundetes und angenehm zu lesendes Fachbuch zum Thema UML2. Es fokussiert die wichtigsten Konzepte der UML und ruft beim interessierten Leser ein VerstĂ€ndnis fĂŒr die einzelnen Diagramme hervor. Der Einstiegslevel ist niedrig, Leser sollten Erfahrung in der objektorientierten Programmierung mitbringen. Im Großen und Ganzen ist „Softwareentwicklung mit UML2“ eine geeignete und zu empfehlende ErgĂ€nzung zur oft sperrig formulierten OMG-Spezifikation und vor allem Neueinsteigern ans Herz zu legen.

Die Unified Modeling Language (kurz: UML) ist derzeit der de facto Standard der Industrie fĂŒr die objektorientierte Modellierung von Softwaresystemen. Sie beinhaltet 13 verschiedene Diagrammarten, mit denen jeweils unterschiedliche Aspekte des zu modellierenden Softwaresystems fokussiert werden. Um effizient mit der UML arbeiten zu können bzw. ein grundlegendes VerstĂ€ndnis von den FĂ€higkeiten der UML zu erhalten, ist es unabdingbar, sich mit dem (komplexen) Metamodell der UML auseinander zusetzen. Die effizienteste Symbiose ist eine Mischung aus praktischem Anwendungswissen und theoretischem GrundlagenverstĂ€ndnis. Das diskutierte Buch verfolgt einen solch hybriden Ansatz.

weitere Rezensionen von Marc-Florian Wendland

#
rezensiert seit
Buchtitel
2
12.10.2010
3
12.10.2010
4
12.10.2010
5
01.10.2010

Inhaltlich lassen sich 5 Teilabschnitte unterscheiden. Eine (mehr oder weniger) generelle EinfĂŒhrung in die objektorientierte Modellierung an sich. Dem folgt die UML2 Sprachendefinition. Der dritte Teil („Die Sprache UML2“) ist mit Abstand der umfangreichste. Hier werden die Diagramme der UML und ihre Metamodelle diskutiert. Hernach tragen die Autoren weiterfĂŒhrende Konzepte wie den Profilmechanismus oder Templates zusammen. Abschließend vermitteln die Autoren einen kurzen Abriss ĂŒber die Softwareentwicklung mit der UML.

Das die Autoren sich bestens in der Architektur und den Spezifikationen der UML auskennen, steht außer Frage. Die grundlegenden Konzepte werden anschaulich und plakativ vermittelt. Der Fokus liegt bei den strukturellen Gesichtspunkten auf den Klassendiagrammen und bei den Verhaltensaspekten auf den Zustandsmaschinen. Diese Einteilung hat durchaus Sinn, sind es doch grĂ¶ĂŸtenteils die Klassendiagramme, die ein Softwareentwickler zu beherrschen hat.

Ein wenig verwirrend erscheint meines Erachtens die Aufteilung der Kapitel ĂŒber die grundlegende OO-Modellierung und „Die Sprache UML2“. Ersteres sollte eine generelle EinfĂŒhrung sein, die Autoren reden doch bereits recht zĂŒgig die Konzepte der UML. Diese werden dann teilweise in „Die Sprache UML2“ wiederholt aufgegriffen und ausfĂŒhrlicher erklĂ€rt. Dies erschwert die Suche nach konkreten Stichpunkten, so man etwas nachzuschlagen gedenkt. Es mĂŒssen immer stets beide Abschnitte angesehen werden. Unter eine grundlegenden EinfĂŒhrung zur OO-Modellierung hatte ich eine Art Vorgehensmodell erwartet, das auch Analysemuster umfasste, also gewissermaßen die OO-Analyse, denn sie ist die Grundlage eines jedes Softwaresystems. Was die Autoren liefern ist jedoch eine abgespeckte Version der UML, etwa „UML light zum Warmwerden“.

Das Buch arbeitet (leider oftmals im Gegensatz zur UML Spezifikation) konzis heraus, wie die einzelnen Konzepte der Diagramme zusammenspielen und was mit ihnen bezweckt wird. Damit ersparen sie jedem Nicht-Muttersprachler die oftmals sehr formale und schwer zu lesende Spezifikation. Dies wird durch die Verwendung kleinerer Beispielszenarien begĂŒnstigt. Leider besitzen haben die Beispiele nur einen minimalen RealitĂ€tsbezug. Anstatt die Konzepte der UML an greifbaren, meinetwegen fiktiven Softwareprojekten zu erklĂ€ren, verwenden die Autoren allzu oft das Modell eines Flughafen, Flugzeugs, etc. Man bekommt den Eindruck, es wĂ€re den Autoren daran gelegen zu zeigen, dass nicht nur Softwaresysteme mit der UML modelliert werden können, sondern prinzipiell jedes x-beliebige realweltliche PhĂ€nomen. Ich hĂ€tte mir ein durchgehendes Projekt gewĂŒnscht, dass mit jedem neuen Diagramm komplettiert wird.

Gut gefallen hat mir an dem Buch, dass die Autoren einen ganzheitliche Sichtweise auf die UML liefern, insbesondere durch die Hinzunahme der UML Superstructure. UML ist halt nicht „UML alone“. Ein grundlegendes VerstĂ€ndnis erschließt sich einem Rezipienten besser, wenn er das Metamodell versteht. Ebenfalls sagte mir die sehr angenehme Schreibweise der Autoren zu. BĂŒcher ĂŒber UML können mitunter recht ermĂŒdend und trocken sein, nicht aber das vorliegende Buch. Die Abschnitte lassen sich gut in einem Rutsch lesen.

Bei einer Seitenzahl von „nur“ knapp 300 Seiten, von denen der BĂ€renanteil die UML an sich in Anspruch nimmt, beweist das Buch eine intrinsischen Mut zur LĂŒcke. (Zur Erinnerung: Die UML Superstructure an sich besitzt bereits knapp 800 Seiten). Es liefert, wie bereits erwĂ€hnt, weder ein Vorgehensmodell – wie die Modellierung eines Softwaresystems durchgefĂŒhrt werden sollte – noch optimierte Modellerungstechniken (evtl. Muster) fĂŒr die effektive Softwareentwicklung. Dieses Kapitel wird mit ganzen 15 Seiten abgetan und umfasst dazu noch MDA-Techniken wie Transformationen. Dies ist deutlich zu kurz und kann nicht mehr sein, als ein spĂ€rliches Kratzen an der OberflĂ€che. Der Titel des Buches ist daher fĂŒr mich eine kleine Mogelpackung. Es steht „Softwareentwicklung“ drauf, drin ist jedoch (nahezu) ausschließlich UML.

Die Autoren schaffen ein in sich abgerundetes und angenehm zu lesendes Fachbuch zum Thema UML2. Es fokussiert die wichtigsten Konzepte der UML und ruft beim interessierten Leser ein VerstĂ€ndnis fĂŒr die einzelnen Diagramme hervor. Der Einstiegslevel ist niedrig, Leser sollten Erfahrung in der objektorientierten Programmierung mitbringen. Im Großen und Ganzen ist „Softwareentwicklung mit UML2“ eine geeignete und zu empfehlende ErgĂ€nzung zur oft sperrig formulierten OMG-Spezifikation und vor allem Neueinsteigern ans Herz zu legen.

geschrieben am 08.12.2008 | 717 Wörter | 4626 Zeichen

Kommentare lesen Kommentar schreiben

Kommentare zur Rezension (0)

Platz für Anregungen und Ergänzungen