Designmethoden
1. Softwarearchitektur
- Schichtenarchitektur: Strukturierung des Systems in Schichten (z.B. Präsentationsschicht, Logikschicht, Datenschicht).
- Microservices: Aufteilung des Systems in kleine, unabhängige Dienste, die über APIs kommunizieren.
- Serviceorientierte Architektur (SOA): Verwendung von Diensten, die über Netzwerkprotokolle kommunizieren.
2. Entwurfsmuster (Design Patterns)
- Singleton: Sicherstellung, dass eine Klasse nur eine Instanz hat.
- Factory: Erzeugung von Objekten ohne Angabe der exakten Klasse des zu erzeugenden Objekts.
- Observer: Definieren einer Eins-zu-Viele-Abhängigkeit zwischen Objekten.
- Model-View-Controller (MVC): Trennung der Datenlogik, Benutzeroberfläche und Steuerung.
3. Domain-Driven Design (DDD)
- Entity: Objekte mit einer eindeutigen Identität.
- Value Object: Objekte ohne Identität, die durch ihren Wert definiert werden.
- Aggregate: Gruppierung von Entitäten und Value Objects, die zusammen konsistent behandelt werden.
4. Prototyping
- Low-Fidelity Prototyping: Schnell erstellte, einfache Modelle zur Visualisierung und Diskussion von Ideen.
- High-Fidelity Prototyping: Detaillierte, interaktive Modelle, die dem endgültigen Produkt sehr nahe kommen.
Modellierungstechniken
- UML-Diagramme: Klassendiagramme, Sequenzdiagramme, Anwendungsfalldiagramme, Aktivitätsdiagramme usw.
- ER-Diagramme: Entity-Relationship-Diagramme zur Modellierung von Datenbanken.
- Statecharts: Diagramme zur Darstellung von Zustandsautomaten.