Bibtex

@InCollection{,
  Year    = "2019", 
  Title    = "Architekturentwicklung", 
  Author    = "", 
  Booktitle    = "Gronau, Norbert ; Becker, Jörg ; Kliewer, Natalia ; Leimeister, Jan Marco ; Overhage, Sven (Herausgeber): Enzyklopädie der Wirtschaftsinformatik – Online-Lexikon",
  Publisher    = "Berlin : GITO",
  Url    = "https://wi-lex.de/index.php/lexikon/entwicklung-und-management-von-informationssystemen/systementwicklung/softwarearchitektur/architekturentwicklung/", 
  Note    = "[Online; Stand 19. April 2024]",
}

Architekturentwicklung


Die Architekturentwicklung beschreibt den Prozess zur Erstellung einer Softwarearchitektur. Wesentliche Teilaufgaben stellen die Identifikation von Architekturanforderungen, die Definition der Softwarearchitektur sowie deren Validierung dar.

Definition

Der Begriff Architekturentwicklung bezeichnet eine Tätigkeit im Rahmen des Softwareentwurfs, deren Aufgabe die Erstellung der Softwarearchitektur ist [Gorton 2006, S. 91f.]. Zu den wesentlichen Teilaufgaben der Architekturentwicklung gehören

  • die Identifikation von Architekturanforderungen,
  • die Definition der Softwarearchitektur sowie
  • die Validierung der Softwarearchitektur.

Das Ergebnis der Architekturentwicklung ist die (in Bezug auf den jeweils durchzuführenden Entwicklungsabschnitt) vollständig definierte und hinsichtlich ihrer Qualitätsmerkmale validierte, d.h. überprüfte Softwarearchitektur.

Prozess

Der Prozess der Architekturentwicklung verläuft in der Regel iterativ (vgl. Abbildung 1). Zu Beginn sind alle für die Definition der Softwarearchitektur ausschlaggebenden Anforderungen aus der Anforderungsdefinition zu identifizieren und in einem Modell zusammenzufassen [Gorton 2006, S. 92].

Prozess der Architekturentwicklung

Abb. 1: Iterativer Prozess der Architekturentwicklung [Gorton 2006, S. 92]

Die Definition der Softwarearchitektur beginnt mit der Auswahl eines für das zu entwickelnde Softwaresystem geeigneten Strukturierungsparadigmas. Zu den verbreiteten Paradigmen gehören heute insbesondere das strukturierte, das objektorientierte, das komponentenorientierte und das serviceorientierte Paradigma. In Abhängigkeit vom gewählten Strukturierungsparadigma sind dann die relevanten Systemteile zu identifizieren und miteinander in Beziehung zu setzen [Shaw und Garlan, S. 197]. Sog. Architekturstile und Architekturmuster liefern dabei bewährte Vorgehensweisen zur Identifikation und Verbindung von Systemteilen, die bestimmte Anforderungen erfüllen können und sich in der Praxis bewährt haben [Reussner und Hasselbring, S. 91, 319ff.]. Die identifizierten Systemteile und ihre Verbindungen sind anschließend unter Verwendung geeigneter Architektursichten und Beschreibungssprachen zu dokumentieren [Clements et al. 2003, S. 13].

Die dokumentierte Softwarearchitektur ist schließlich hinsichtlich ihrer Qualitätsmerkmale zu validieren, d.h. zu überprüfen. Hierzu können verschiedene Evaluationsverfahren eingesetzt werden, die unter anderem das Abschätzen der Performanz, Zuverlässigkeit oder der Entwicklungskosten erlauben [Clements et al. 2001, S. 30 ff.]. Ergibt die Überprüfung, dass eine bestehende Softwarearchitektur vorhandene Anforderungen verletzt, ist sie im Rahmen einer weiteren Iteration zu modifizieren.



Literatur

Clements, Paul; Bachmann, Felix; Bass, Len; Garlan, David; Ivers, James; Little, Reed; Nord, Robert; Stafford, J.: Documenting Software Architectures. Addison-Wesley: Upper Saddle River 2003.

Clements, Paul; Kazman, Rick; Klein, Mark: Evaluating Software Architectures – Methods and Case Studies. Addison-Wesley: Upper Saddle River 2001.

Gorton, Ian: Essential Software Architecture. Springer: Heidelberg 2006.

Reussner, Ralf; Hasselbring, Willi (Hrsg.): Handbuch der Software-Architektur. dpunkt: Heidelberg 2006.

Shaw, Mary; Garlan, David: Software Architecture – Perspectives on an Emerging Discipline. Prentice Hall: Upper Saddle River 1996.

Hier weiterverbreiten