Katalog
concept#Architektur#Software Engineering#Kohäsion

Hohe Kohäsion

Hohe Kohäsion bezieht sich auf die Stärke der Zusammengehörigkeit von Elementen innerhalb eines Moduls.

Hohe Kohäsion ist ein Prinzip in der Softwarearchitektur, das darauf abzielt, dass Module eng verwandte Funktionen ausführen.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Design
  • Reif

Technischer Kontext

Versionierungstools wie GitContinuous Integration/Continuous Deployment-SystemeTestautomatisierungstools

Prinzipien & Ziele

ModularisierungInterne KohärenzWartungsfreundlichkeit
Umsetzung
Team, Domäne

Use Cases & Szenarien

Kompromisse

  • Missverständniste bei der Modularisierung.
  • Fehlende Integration zwischen hoch kohäsiven Modulen.
  • Unzureichende Dokumentation kann zu Verwirrung führen.
  • Regelmäßige Code-Reviews durchführen.
  • Modulgrenzen klar definieren.
  • Dokumentation aktuell halten.

I/O & Ressourcen

  • Vorhandene Dokumentation für die Anwendung
  • Anforderungsdokumente
  • Rückmeldungen von Benutzern
  • Sauberer, gut strukturierter Code
  • Dokumentationen für Module
  • Benutzerfreundliche Schnittstellen

Beschreibung

Hohe Kohäsion ist ein Prinzip in der Softwarearchitektur, das darauf abzielt, dass Module eng verwandte Funktionen ausführen. Dies führt zu besserer Wartbarkeit, Wiederverwendbarkeit und Verständlichkeit des Codes, da Änderungen in einem hoch kohäsiven Modul weniger Auswirkungen auf andere Module haben.

  • Erhöhte Wartbarkeit
  • Bessere Wiederverwendbarkeit
  • Klarere Struktur

  • Übermäßige Modularisierung kann die Leistung beeinträchtigen.
  • Hohe Kohäsion kann in einigen Situationen Zuverlässigkeit gefährden.
  • Schwierigkeiten bei der Anpassung bestehender Module.

  • Modulanzahl

    Anzahl der entwickelten Module, die hohe Kohäsion aufweisen.

  • Code-Wiederverwendbarkeitsrate

    Prozentsatz des Codes, der wiederverwendet wird.

  • Wartungsaufwand

    Der Aufwand, der für die Pflege und Wartung des Codes benötigt wird.

E-Commerce-Plattform

Ein modulbasiertes E-Commerce-System, das hohe Kohäsion fördert, indem es verwandte Funktionen in separaten Modulen gruppiert.

Content-Management-System

Ein CMS, das gut strukturierte Module aufweist, um die Wartbarkeit und Wiederverwendbarkeit für Redakteure und Entwickler zu erleichtern.

Finanzanwendung

Eine Anwendung, die hohe Kohäsion nutzt, um eine klare Trennung zwischen den verschiedenen finanziellen Prozessen und Funktionen zu erreichen.

1

Erstellen eines vollständigen Architekturplans

2

Entwickeln und Testen von Modulen

3

Rückmeldungen von Stakeholdern einholen

⚠️ Technische Schulden & Engpässe

  • Veralteter Code, der nicht refaktoriert wurde.
  • Schwache Tests, die das Vertrauen beeinträchtigen.
  • Mangelnde Dokumentation führt zu Wissensverlust.
Komplexe Abhängigkeiten zwischen ModulenSchwierigkeiten bei der Schulung neuer MitarbeiterMissverständnisse über Modulgrenzen
  • Funktionen, die in einem einzigen Modul überladen sind.
  • Missachtung von modularen Prinzipien.
  • Mangelnde Dokumentation für Module.
  • Wert auf Modularität legen, aber nicht auf Kohäsion.
  • Fehlende Integration vernachlässigen.
  • Bei der Implementierung von Modulen schlampig sein.
Kenntnisse in Software-ArchitekturErfahrung in der ModularisierungFähigkeit zur Dokumentation von Modulen
Modularität der SoftwarearchitekturBest Practices für SoftwareentwicklungIntegrationstests für kohäsive Module
  • Kollaboration zwischen Entwicklungsteams ist erforderlich.
  • Eindeutige Dokumentation muss vorhanden sein.
  • Die Software muss mit bestehenden Systemen integriert werden.