Softwarearchitektur
Aus Thoms Wiki
- „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!
UML
- Unified Modeling Language
- https://draw.io
- https://yuml.me
Weiteres
- CQRS Command Query Responsibility Segregation
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)