- Architekturentwurf (Softwareentwicklung)
-
Eine Softwarearchitektur ist eine der Architekturtypen in der Informatik und beschreibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Softwaresystems. Eine Definition von Helmut Balzert beschreibt den Begriff als „eine strukturierte oder hierarchische Anordnung der Systemkomponenten sowie Beschreibung ihrer Beziehungen“ (Lit.: Balzert, S. 716). Die beschriebenen Komponenten bilden eine Zerlegung des Gesamtsystems, d. h., jedes Softwareelement ist einer Architekturkomponente eindeutig zugeordnet.
Die Softwarearchitektur ist Teil des Softwareentwurfs (s. SWEBOK), innerhalb dessen sie als Grobgliederung der Komponenten entsteht. Während der Softwareentwurf sich auch auf lokale Aspekte innerhalb des architektonischen Rahmens der Software bezieht und deshalb sehr detailliert sein kann, ist die Softwarearchitektur eine globale Eigenschaft des Gesamtsystems.
Im Rahmen der Softwareentwicklung repräsentiert die Softwarearchitektur die früheste Softwaredesign-Entscheidung (Architekturentwurf). Sie wird wesentlich durch Softwarequalitätskriterien, also nicht-funktionale Eigenschaften wie Modifizierbarkeit, Wartbarkeit, Sicherheit oder Performance bestimmt (siehe z. B. FURPS). Eine einmal eingerichtete Softwarearchitektur ist später nur mit hohem Aufwand abänderbar. Die Entscheidung über ihr Design ist somit eine der kritischsten und wichtigsten Punkte im Entwicklungsprozess einer Software.
Zur grafischen Visualisierung von Softwarearchitekturen werden unterschiedliche Methoden eingesetzt. Beispielsweise:
Mit der Bewertung von Softwarearchitekturen befasst sich die Softwarearchitekturbewertung.
Inhaltsverzeichnis
Beispiel
Eine Architekturbeschreibung umfasst etwa im Falle einer Web-Anwendung den Aufbau des Systems aus Datenbanken, Web-/Application-Servern, E-Mail- und Cachesystemen − siehe etwa Wikipedia selbst.
Siehe auch
Literatur
- Helmut Balzert: Lehrbuch der Software-Technik. 2. Auflage. Spektrum Akademischer Verlag, 2001, ISBN 3-8274-0301-4
- Band 1: Software-Entwicklung, ISBN 3-8274-0480-0
- Band 2: Software-Management, Software-Qualitätssicherung, Unternehmensmodellierung, ISBN 3-8274-0065-1
- Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice. Addison Wesley, Reading 1998, ISBN 0-201-19930-0
- Torsten Posch, Klaus Birken, Michael Gerdom: Basiswissen Softwarearchitektur. dpunkt Verlag, Heidelberg 2004, ISBN 3-89864-270-4
- Ralf Reussner, Wilhelm Hasselbring: Handbuch der Software-Architektur, dpunkt Verlag, 2006, ISBN 3-89864-372-7
- Johannes Siedersleben: Moderne Software-Architektur, dpunkt Verlag, 2004, ISBN 3-89864-292-5
- Gernot Starke: Effektive Software-Architekturen: Ein praktischer Leitfaden, Carl-Hanser-Verlag, 3. Auflage 2008, ISBN 978-3446412156
- Oliver Vogel, Ingo Arnold, Arif Chughtai, Markus Völter: Software-Architektur. Grundlagen - Konzepte - Praxis, Spektrum Akademischer Verlag, 2005, ISBN 3-8274-1534-9
Weblinks
- http://www.fg-swa.gi-ev.de/ (Fachgruppe Software-Architektur der Gesellschaft für Informatik)
- Helmut Balzert: Lehrbuch der Software-Technik. 2. Auflage. Spektrum Akademischer Verlag, 2001, ISBN 3-8274-0301-4
Wikimedia Foundation.