Software-Architektur ist die Königsdisziplin des Software-Engineerings. Sie befasst sich mit der Gestaltung von Softwaresystemen, mit ihren Schnittstellen zur Außenwelt und mit ihrer inneren Struktur im Großen wie im Kleinen.

  • Bei der Gestaltung im Großen geht es um den Aufbau eines Systems aus Komponenten und Modulen, um seine Gliederung in ausführbare Prozesse und um die Verteilung des Systems auf Hardwarekomponenten.
  • Im Kleinen geht es dagegen um die Gestaltung einzelner Module: um ihre Außensicht einerseits, d.h. um ihre Schnittstelle zu anderen Modulen, und um ihre innere Struktur andererseits, also darum, mit welchen Funktionen sie auf welchen Daten operieren.

Jede Software hat eine Struktur, eine – mehr oder (oft) weniger gute – Architektur. In dem Projekt vitruv wollen wir eine Architekturlehre für hochwertige Software schaffen, mit den Prinzipien und Kriterien, die eine gute Architektur auszeichnen, sowie mit den Methoden, Techniken und Werkzeugen zu ihrer Gestaltung. Sie soll Software-Ingenieuren in der Praxis als Leitlinie dienen beim Neu- oder Umbau von Softwaresystemen und in der Hochschullehre ein nützliches Werk im Fach Software-Engineering sein.