Softwarearchitektur

Aus Thoms Wiki
Zur Navigation springenZur Suche springen


„Softwarearchitektur ist die Summe aller wichtigen Entscheidungen. Wichtige Entscheidungen sind alle Entscheidungen, die im Verlauf der weiteren Entwicklung nur schwer zu ändern sind."
Philippe Kruchten

Softwarearchitekt

  • Übersetzer
  • Techniker
  • Visionär
  • Planer
  • Analyst
  • Manager
  • Problemlöser
  • Hausmeister - z.B. Codereview - Aufpassen, dass der Quellcode nicht verschmutzt
  • Verantwortung (dass die Software langfristig funktionstüchtig bleibt)
  • Vetoerecht - darf auch mal Nein sagen

Dokumentation

  • Verständnis schaffen
  • Aufwände verringern (vorher und nachher)
  • Vorgehen nachvollziehbar machen
  • Entscheidungen begründen
  • UML: https://de.wikipedia.org/wiki/Unified_Modeling_Language
  • https://arc42.org
  • Tutorials, FAQs, Guidelines/Checklisten, Entscheidungs- und Bewertungstabellen, Gesprächsprotokolle
  • So viel beschreiben wie nötig, nicht so viel wie möglich!

Literatur

  • Lilienthal, Carola: Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen. 2. Aufl. Heidelberg: Dpunkt.Verlag GmbH, 2017.
  • Design Patterns: Elements of Reusable Object-Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides) (= GOF)