Katalog
concept#Architektur#Software Engineering#Entwicklungsprinzipien#Softwarearchitektur

Kopplung & Kohäsion

Kopplung und Kohäsion sind Grundprinzipien der Softwarearchitektur, die die Interaktion zwischen Modulen beeinflussen.

Kopplung beschreibt, wie stark Module miteinander verbunden sind, während Kohäsion die interne Konsistenz eines Moduls bezeichnet.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

DatenbankenAPIsCloud-Plattformen

Prinzipien & Ziele

Hohe KohäsionNiedrige KopplungModularer Aufbau
Umsetzung
Unternehmen, Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Dynamik in der Architektur
  • Fehlerhafte Interaktionen zwischen Modulen
  • Hohe Abhängigkeiten
  • Regelmäßige Überprüfung der Architektur
  • Einbeziehung des gesamten Teams
  • Einfache Schnittstellen entwerfen

I/O & Ressourcen

  • Anforderungen an die Software
  • Architekturdiagramme
  • Ressourcenzuteilung
  • Funktionale Software
  • Verbesserte Architektur
  • Hohe Kohäsionswerte

Beschreibung

Kopplung beschreibt, wie stark Module miteinander verbunden sind, während Kohäsion die interne Konsistenz eines Moduls bezeichnet. Hohe Kohäsion und niedrige Kopplung sind erstrebenswerte Eigenschaften, die die Wartbarkeit und Flexibilität von Software erhöhen.

  • Verbesserte Wartbarkeit
  • Erhöhte Flexibilität
  • Besseres Testen

  • Kann komplex sein
  • Erfordert sorgfältige Planung
  • Kann zu Overhead führen

  • Kundenzufriedenheitsbewertungen

    Messung der Kundenzufriedenheit mit der Software.

  • Durchlaufzeiten für Änderungen

    Zeit, die benötigt wird, um Änderungen in der Anwendung zu implementieren.

  • Fehlerquoten

    Anzahl der aufgetretenen Fehler und ihre Auswirkungen.

E-Commerce-Plattform

Eine modulare E-Commerce-Plattform, die verschiedene Dienstleistungen über Mikroservices bereitstellt.

Finanzanwendung

Eine Finanzanwendung, die durch hohe Kohäsion und niedrige Kopplung eine verbesserte Benutzererfahrung bietet.

Inhaltsverwaltungssystem

Ein Modul-basiertes System zur Verwaltung digitaler Inhalte.

1

Erstellen von Architekturdiagrammen

2

Dokumentation der Module

3

Schulung des Teams

⚠️ Technische Schulden & Engpässe

  • Veraltete Abhängigkeiten
  • Technische Schulden bei der Modularisierung
  • Unzureichende Testabdeckung
Engpass bei der IntegrationFehlende DokumentationKomplexe Abhängigkeiten
  • Vernachlässigung der Modulgrenzen
  • Übermäßige Verwendung globaler Variablen
  • Schlechte Dokumentation der Module
  • Zu viele Abhängigkeiten schaffen
  • Nicht getestete Module implementieren
  • Änderungswünsche ohne Analyse umsetzen
Kenntnisse in der SoftwarearchitekturErfahrungen mit agilen MethodenFähigkeiten im Testen
Veränderungen in den GeschäftsanforderungenTechnologische InnovationenWettbewerbsdruck
  • Budgetbeschränkungen
  • Zeitliche Einschränkungen
  • Technologische Beschränkungen