Navigation

Seiten der Rubrik "Bücher"


Google Anzeigen

Anzeigen

Bücher

Objektorientierte Softwareentwicklung


Statistiken
  • 7140 Aufrufe

Informationen zum Buch
  ISBN
  Autor
  Verlag
  Sprache
  Seiten
  Erscheinungsjahr
  Extras

Rezension von

Marc-Florian Wendland

Objektorientierte Softwareentwicklung Die Rahmenbedingungen in Softwareentwicklungsprozessen werden oftmals durch limitierte Zeit- und Geldressourcen bestimmt. Beides wirkt transitiv auf die QualitĂ€t des zu entwickelnden Systems ein, daher gilt es mit den gegebenen Bedingungen die bestmöglichen Ergebnisse zu erzielen. Dies kann jedoch nur durch eine optimierte Prozesskette gewĂ€hrleistet werden, die auf wechselnde Anforderungen und unvorhersehbare Risiken mittels konstruktiver Projektplanung mit der nötigen FlexibilitĂ€t innerhalb des Prozesses reagiert. Karl-Heinz Rau diskutiert in seinem Buch „Objektorientierte Softwareentwicklung“ eine iterativ-inkrementelle Vorgehensweise, aufbauend auf den Konzepten des RUP, die eben jene Risiken minimieren sol. Das Buch unterteilt sich in 9 aufeinander aufbauende Kapitel, die in ihrer Anordnung die einzelnen Phasen des RUP widerspiegeln. Beginnend bei der Abgrenzung des Projekts hinsichtlich des fundamentalen GeschĂ€ftsprozesses und der sich daraus ergebenen initialen Anforderungsanalyse, ĂŒber die Spezifikation der Architektur und der grafischen Benutzungsschnittstelle, bis hin zur Ableitung effektiver Entwicklungsmuster und der Annotation des Quellcodes fĂŒr eine wartbare Implementierung. Das Buch besticht durch eine sehr praxisorientierte Ausrichtung auf ein nachvollziehbares, fiktives Projekt. Dies kommt vor allem jenen Rezipienten zugute, die ein zukĂŒnftiges oder bestehendes Projekt zu (re-)strukturieren gedenken. Die angesprochenen Themen werden fundiert erlĂ€utert, ohne allzu theoretische Grundlagen oder Spezifikationen breitzutreten. Hier kommt dem Leser die Erfahrung des Autors zugute, der in diesem Fachgebiet seit ĂŒber 20 Jahren Studenten unterrichtet. Rau bezieht (wie in einem realen Projekt) relevante externe Artefakte des Auftraggebers ein, die zur Identifikation der Fachsprache, der Ableitung eines ersten Fachklassenmodells mit der UML (im Anhang wird diese detaillierter erlĂ€utert) und der grafischen/textuellen Beschreibung von AnwendungsfĂ€llen dienen. Insbesondere die Anwendung verschiedener UML-Diagramme (Klassen-, AktivitĂ€ts-, Kommunikationsdiagramm) ist zeitnah und mit dem Vormarsch der modellgetriebenen Entwicklung (der MDA wird ebenfalls ein eigenes Kapitel gewidmet) sehr sinnvoll. Nach den spezifischen Analysen der Grundlagen, wechselt Rau den Fokus von der Modellierung bzw. Spezifizierung des Systems, hin zu den Alternativen, wie das Systems implementiert werden kann. Die Rede ist von den so genannten Entwicklungsmustern, ein eigentlich triviales und fĂŒr AnfĂ€nger dennoch stets komplex anmutendes Thema. Rau erklĂ€rt Sinn und Zweck der meisten GoF-Pattern. Durch UML-Klassendiagramme und Codefragmente wird das VerstĂ€ndnis zudem visuell gesteigert. Abschließend werden die identifizierten AnwendungsfĂ€lle und OberflĂ€chenelemente beispielhaft implementiert. Was leider nicht abgehandelt wird ist die keinesfalls einfache Phase des Testens. Testen wird von Entwicklern zumeist als kreativitĂ€tseinschrĂ€nkendes, lĂ€stiges QualitĂ€tssicherungskonzept angesehen, das wertvolle Ressourcen durch langweilige TĂ€tigkeiten bindet. TatsĂ€chlich ist das Testen in der heutigen Zeit, in der explosionsartig Softwaresysteme in immer mehr Bereiche des tĂ€glichen Lebens eindringen, wichtiger denn je, soll wirtschaftlicher oder (ungleich schlimmer) menschlicher Schaden vermieden werden. Insbesondere bei einem Lehrbuch, das eine ganzheitliche Sichtweise auf die Entwicklung komplexer Softwaresysteme bieten möchte, hĂ€tte ich eine stĂ€rkere Fokussierung auf den Testbereich erwartet. Die Schreibe des Autoren ist gekonnt, nicht ermĂŒdend und tiefgrĂŒndig. Was mir persönlich nicht so gefĂ€llt bei BĂŒchern dieser Art, ist die seitenweise Auflistung ellenlangen Quellcodes. Da das Buch ĂŒber ein Online-Service verfĂŒgt, wĂ€re der Quellcode (aus meiner Sicht) dort besser aufgehoben. Fazit: Es bleibt zu konstatieren, dass die „Objektorientietrte Softwareentwicklung“ ihrem Namen alle Ehre macht und eine ganzheitliche Sichtweise auf den viel verzahnten Prozess des Softwareengineerings nach modernsten Vorgehensmodellen liefert. Die funktionale, deduktive Kapiteleinteilung fĂŒhrt bei den Rezipienten zu einem gesteigerte VerstĂ€ndnis des Gesamtprozesses. Insbesondere fĂŒr Studenten eines informationstechnologischen Studienganges, in dem sowohl die Theorie als auch die Praxis des Softwareengineerings abgehandelt wird, ist das Buch aufgrund seiner stringenten Praxisausrichtung zum empfehlen.

Die Rahmenbedingungen in Softwareentwicklungsprozessen werden oftmals durch limitierte Zeit- und Geldressourcen bestimmt. Beides wirkt transitiv auf die QualitĂ€t des zu entwickelnden Systems ein, daher gilt es mit den gegebenen Bedingungen die bestmöglichen Ergebnisse zu erzielen. Dies kann jedoch nur durch eine optimierte Prozesskette gewĂ€hrleistet werden, die auf wechselnde Anforderungen und unvorhersehbare Risiken mittels konstruktiver Projektplanung mit der nötigen FlexibilitĂ€t innerhalb des Prozesses reagiert. Karl-Heinz Rau diskutiert in seinem Buch „Objektorientierte Softwareentwicklung“ eine iterativ-inkrementelle Vorgehensweise, aufbauend auf den Konzepten des RUP, die eben jene Risiken minimieren sol.

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

Das Buch unterteilt sich in 9 aufeinander aufbauende Kapitel, die in ihrer Anordnung die einzelnen Phasen des RUP widerspiegeln. Beginnend bei der Abgrenzung des Projekts hinsichtlich des fundamentalen GeschĂ€ftsprozesses und der sich daraus ergebenen initialen Anforderungsanalyse, ĂŒber die Spezifikation der Architektur und der grafischen Benutzungsschnittstelle, bis hin zur Ableitung effektiver Entwicklungsmuster und der Annotation des Quellcodes fĂŒr eine wartbare Implementierung.

Das Buch besticht durch eine sehr praxisorientierte Ausrichtung auf ein nachvollziehbares, fiktives Projekt. Dies kommt vor allem jenen Rezipienten zugute, die ein zukĂŒnftiges oder bestehendes Projekt zu (re-)strukturieren gedenken. Die angesprochenen Themen werden fundiert erlĂ€utert, ohne allzu theoretische Grundlagen oder Spezifikationen breitzutreten. Hier kommt dem Leser die Erfahrung des Autors zugute, der in diesem Fachgebiet seit ĂŒber 20 Jahren Studenten unterrichtet. Rau bezieht (wie in einem realen Projekt) relevante externe Artefakte des Auftraggebers ein, die zur Identifikation der Fachsprache, der Ableitung eines ersten Fachklassenmodells mit der UML (im Anhang wird diese detaillierter erlĂ€utert) und der grafischen/textuellen Beschreibung von AnwendungsfĂ€llen dienen. Insbesondere die Anwendung verschiedener UML-Diagramme (Klassen-, AktivitĂ€ts-, Kommunikationsdiagramm) ist zeitnah und mit dem Vormarsch der modellgetriebenen Entwicklung (der MDA wird ebenfalls ein eigenes Kapitel gewidmet) sehr sinnvoll.

Nach den spezifischen Analysen der Grundlagen, wechselt Rau den Fokus von der Modellierung bzw. Spezifizierung des Systems, hin zu den Alternativen, wie das Systems implementiert werden kann. Die Rede ist von den so genannten Entwicklungsmustern, ein eigentlich triviales und fĂŒr AnfĂ€nger dennoch stets komplex anmutendes Thema. Rau erklĂ€rt Sinn und Zweck der meisten GoF-Pattern. Durch UML-Klassendiagramme und Codefragmente wird das VerstĂ€ndnis zudem visuell gesteigert. Abschließend werden die identifizierten AnwendungsfĂ€lle und OberflĂ€chenelemente beispielhaft implementiert.

Was leider nicht abgehandelt wird ist die keinesfalls einfache Phase des Testens. Testen wird von Entwicklern zumeist als kreativitÀtseinschrÀnkendes, lÀstiges QualitÀtssicherungskonzept angesehen, das wertvolle Ressourcen durch langweilige TÀtigkeiten bindet. TatsÀchlich ist das Testen in der heutigen Zeit, in der explosionsartig Softwaresysteme in immer mehr Bereiche des tÀglichen Lebens eindringen, wichtiger denn je, soll wirtschaftlicher oder (ungleich schlimmer) menschlicher Schaden vermieden werden. Insbesondere bei einem Lehrbuch, das eine ganzheitliche Sichtweise auf die Entwicklung komplexer Softwaresysteme bieten möchte, hÀtte ich eine stÀrkere Fokussierung auf den Testbereich erwartet.

Die Schreibe des Autoren ist gekonnt, nicht ermĂŒdend und tiefgrĂŒndig. Was mir persönlich nicht so gefĂ€llt bei BĂŒchern dieser Art, ist die seitenweise Auflistung ellenlangen Quellcodes. Da das Buch ĂŒber ein Online-Service verfĂŒgt, wĂ€re der Quellcode (aus meiner Sicht) dort besser aufgehoben.

Fazit: Es bleibt zu konstatieren, dass die „Objektorientietrte Softwareentwicklung“ ihrem Namen alle Ehre macht und eine ganzheitliche Sichtweise auf den viel verzahnten Prozess des Softwareengineerings nach modernsten Vorgehensmodellen liefert. Die funktionale, deduktive Kapiteleinteilung fĂŒhrt bei den Rezipienten zu einem gesteigerte VerstĂ€ndnis des Gesamtprozesses. Insbesondere fĂŒr Studenten eines informationstechnologischen Studienganges, in dem sowohl die Theorie als auch die Praxis des Softwareengineerings abgehandelt wird, ist das Buch aufgrund seiner stringenten Praxisausrichtung zum empfehlen.

geschrieben am 01.04.2009 | 544 Wörter | 3932 Zeichen

Kommentare lesen Kommentar schreiben

Kommentare zur Rezension (0)

Platz für Anregungen und Ergänzungen