Softwarearchitektur: Unterschied zwischen den Versionen
Aus Thoms Wiki
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
== Softwarearchitekt == | == Softwarearchitekt == | ||
* Codereview - Aufpassen, dass der Quellcode nicht verschmutzt | * Ü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 | |||
== MV* == | |||
MV* | |||
* MVC - Model View Controller | |||
* MVP - Model View Presenter | |||
** Passive View | |||
** Supervising Presenter | |||
* MVVM - Model View ViewModel (DataBinding zwischen View und ViewModel) | |||
** Presentation Model | |||
* https://martinfowler.com/eaaDev/SupervisingPresenter.html | |||
* https://hendrik-loesch.de | |||
Die Darstellung ist die View. Die Datenhaltung/die Geschäftslogik ist das Model. Trennung der Verantwortlichkeiten. | |||
* PAC - Presentation Abstraction Control | |||
* Flux (insbesondere bei Vue.js, React oder Angular) | |||
== 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) | |||
Aktuelle Version vom 9. Dezember 2023, 14:48 Uhr
- „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
MV*
MV*
- MVC - Model View Controller
- MVP - Model View Presenter
- Passive View
- Supervising Presenter
- MVVM - Model View ViewModel (DataBinding zwischen View und ViewModel)
- Presentation Model
Die Darstellung ist die View. Die Datenhaltung/die Geschäftslogik ist das Model. Trennung der Verantwortlichkeiten.
- PAC - Presentation Abstraction Control
- Flux (insbesondere bei Vue.js, React oder Angular)
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)