Composite Components Architektur

Mit Standardarchitektur zu mehr Softwarequalität

12.06.2015
Von 
David Thielke ist freiberuflicher Softwareentwickler, Berater und Trainer

Muster und Prinzipien als Grundlage

Was gilt es nun also bei solch einer Standardarchitektur zu berücksichtigen? Das ´Wichtigste ist, sie muss einfach erlernbar und in der Praxis erprobt sein. In der Welt der Softwareentwicklung haben sich im Laufe der Zeit Muster etabliert, um immer wiederkehrende Probleme, schnell und einfach zu lösen. Diese Muster und Prinzipien sind nahezu allen Entwicklern bekannt.

Die Composite Component Architektur basiert auf genau diesen leicht erlernbar und praxiserprobten Mustern und Prinzipien. Sie ist also keine Neuerfindung des Autors, sondern nur eine praxistaugliche Anwendung und Kombination, eben dieser Elemente, zu einer einfachen aber sehr mächtigen Architektur, die in nahezu jeder Projektumgebung, egal welcher Größe, eingesetzt werden kann.

Bei dieser Architekturform, wird das zu entwickelnde System in Komponenten unterteilt. Dabei ist eine Komponente ein "Block" von gleichartiger Funktionalität. Wie in Abbildung 3 zu sehen ist, könnte ein Buchhaltungssystem in die Komponenten Rechnungen, Belege und Fahrtenbuch unterteilt werden.

Ein modularisiertes System
Ein modularisiertes System
Foto: David Tielke

Die angesprochenen Komponenten werden auf eine spezielle Art und Weise umgesetzt. Wichtig dabei ist, dass jede Komponente in einen Vertragsteil (Component Contract) und einen Implementierungsteil (Component Implementation) aufgeteilt wird. Während der Vertragsteil immer gleich bleibt, ändert sich im Projektverlauf und zwischen Projekten meist immer nur der Implementierungsteil. Jede Implementierung hat jedoch nur Abhängigkeiten zu anderen Vertragsteilen. Dadurch sind Komponenten leicht wartbar, verständlich, erweiterbar, testbar und wiederverwendbar. Diese Komponenten werden Composite Components (CoCo) genannt.

Ein System, welches mit CoCos umgesetzt wurde
Ein System, welches mit CoCos umgesetzt wurde
Foto: David Tielke

Ein System, welches mit CoCos umgesetzt wird, besteht nur aus diesen flexiblen Komponenten. Dadurch können einzelne oder größere Komponenten einfach ausgetauscht oder wiederverwendet werden.

Zu Beginn wurde die Entwicklung von Software mit dem Bau von Häusern verglichen und im weiteren Verlauf wurde gezeigt, dass dieser Vergleich durchaus seine Berechtigung hat. Bei der Entwicklung von Software ist es entscheidend eine hohe Produktqualität zu erzielen und dieses wird u.a. durch die Adressierung von allen qualitativen Aspekten erreicht. Dies ist jedoch nicht immer einfach und setzt spezielle Fähigkeiten, u.a. die eines Architekten, voraus. Mit der Composite Component Architektur, existiert eine sehr einfach zu verstehende Architektur, welche sich mehrfach in der Praxis erprobt hat und durch jeden Entwickler umsetzbar ist. Stürzen auch Ihre Projekte hin und wieder ein? Jetzt kennen Sie die Lösung… (mb)

Dieses Thema können Sie auch als Vortrag auf der DWX - Developer Week vom 15.-18. Juni 2015 auf dem Messegelände Nürnberg hören. Mit über 200 Sessions von mehr als 150 Experten ist die Developer Week eine der größten unabhängigen Entwicklerkonferenzen Europas für Web- Mobile und .NET-Entwickler. Weitere Informationen zum Programm und den Experten finden Sie unter www.developer-week.de."