© istockphoto.com/Ivan Dinev
Teil 5: Die Architektur einer Anwendung festlegen und umsetzen

Struktur sorgt für Qualität


Umfangreiche Softwaresysteme sind komplex. Sie zu gestalten und deren Erweiterungsfähigkeit auch noch nach Jahren sicherzustellen, ist eine besondere Herausforderung. Es geht um Softwarearchitektur – ein Thema, bei dem es wichtig ist, sich bereits in der frühen Lernphase der Programmentwicklung damit zu beschäftigen.

Die Architektur eines Softwaresystems ist gewissermaßen dessen Grobstruktur. Selbst wenn man sich keine expliziten Gedanken über die Gestaltung der Architektur macht, wird automatisch bei der Programmentwicklung – also in der Phase der eigentlichen Implementierung – eine Architektur erzeugt. Die Frage ist nur: in welcher Qualität? Software ist, von Minianwendungen abgesehen, meist komplex und besteht aus einer Vielzahl von Einzelkomponenten. Die Zerlegung in Komponenten ist dabei bereits ein Zugeständnis, dass man das Gesamtsystem nicht beherrschen kann. Immer dann, wenn der Umfang bzw. die Komplexität zu groß werden, behilft man sich mit einer Aufspaltung in einzelne Bestandteile. Dabei treten zwangsläufig folgende Fragen auf:

  • Nach welchem Prinzip soll die Aufteilung erfolgen?

  • Wie sind die Schnittstellen definiert und auf welche Weise erfolgt die Zusammenarbeit zwischen den Komponenten?

Die Beantwortung und letztendlich die Festlegung dieser beiden Fragen führt zur Architektur des Softwaresystems. Die Architektur wird also nach außen nicht sichtbar und richtet sich dementsprechend nur an die Entwickler. Der Kunde/Endabnehmer kommt daher nicht explizit damit in Berührung. Implizit wirkt sich jedoch der architektonische Entwurf auf die Qualität aus. Unmittelbar werden davon die Wartbarkeit und die Erweiterbarkeit des Softwaresystems beeinflusst. Aus diesen Feststellungen ist daher bereits zu schlussfolgern:

  • Die Architektur einer Anwendung ist explizit zu gestalten. Sie darf nicht der zufälligen Entwicklung überlassen werden.

  • Sie ist für alle Softwaresysteme immanent, d. h. außer bei „minimalistischen“ Programmen mit lediglich nur einem linearen Ablauf hat sie Einfluss auf die Qualität.

Diese Gründe sprechen dafür, sich frühzeitig mit dem Thema zu beschäftigen, deshalb finden Sie es im Rahmen dieses Einführungskurses (Kasten: „Artikelserie“).

Artikelserie

Teil 1: Einführung: Programmentwicklung, Sprachen, Entwicklungsumgebung

Teil 2: Basics: Variablen, Datentypen, Ablaufstrukturen, Algorithmen

Teil 3: Objektorientierung: Klassen, Eigenschaften, Methoden, Ereignisse, Vererbung

Teil 4: User Interface: Design aus...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang