Kohäsion und Kopplung Beide messen die Beziehung zwischen den Elementen von Computersoftware. Kohäsionsfonds misst , wie die Komponenten eines Software-Moduls oder einer Klasse von Software-Objekten aufeinander zu beziehen . Kupplung misst die Beziehung zwischen den einzelnen Klassen und Module . Gute Programmierkenntnisse erhöht Zusammenhalt und verringert die Menge der Kupplung . Zusammenhalt
Eine Klasse oder Modul hat eine hohe Kohäsion , wenn alle Aufgaben , Daten und Methoden enthält es eng verwandt sind . Wenn ein Projekt - Scheduling-Modul enthält nur Methoden oder Funktionen in Bezug auf Planung , es ist hochkohäsive , wenn es enthält auch Organigrammen und eine Kunden-Datenbank , ist es weniger Zusammenhalt. Um den Zusammenhalt zu messen, berechnen die Anzahl der Felder, die gemeinsame Methoden - Unterprogramme - in einer Klasse für den Zugriff auf und vergleicht sie mit der Anzahl der unabhängigen Felder, die sie verwenden. Je größer die Zahl der gemeinsamen Felder , desto größer ist der Zusammenhalt
Bedeutung
Wenn ein Modul , um mehrere Operationen zu behandeln - . Sicherheit, Infrastruktur , Netzwerk- Regeln - wird es schwieriger, mit , als wenn alles in der Modul konzentriert sich auf einen einzigen Zweck zu arbeiten. Mit einem Low- Zusammenhalt Modell , müssen Sie eventuell mehrere zusammenhängende Änderungen zu machen, weil jeder Teil braucht eine andere Lösung oder Patch. Umgekehrt, wenn Funktionen in mehrere Dateien anstatt einer einzigen zusammenhängenden Dateien unterteilt sind, müssen Sie möglicherweise wiederholt identische Änderungen für jede Datei anstelle eines einzigen fix in einer einzigen Datei zu machen.
Kupplung
Wenn Ihr Software-Design nutzt enge Kopplung zwischen Klassen oder Subsysteme , dh sie verbunden sind : System A kann nicht immer ihren Dienst verrichten , ohne zu wissen , was Informationen über System B tut, und ein verändern B bedeutet A muss auch ändern. Mit losen Kopplung , können Sie System A leichter ändern. Es ist auch schwieriger, den Code für eine Studie , wenn Sie nicht verstehen, ohne die Analyse der Code für B und ihrer Beziehung.
Efficiency
Low Kupplung macht Codierung mehr effizient, weil Sie wiederverwenden können mehr Code : Wenn System A und System B nicht voneinander abhängig sind , können Sie den Code für einen von ihnen in ein anderes Programm kopieren, ohne Schwierigkeiten . Software , die doppelte Codierung für doppelte Funktionen enthält, ist ein weiteres Zeichen für Ineffizienz. Sie sind oft besser dran, wenn Sie das Programm neu zu schreiben , um doppelte Funktionen zu beseitigen, dann weisen Sie die Funktion, um einen eigenen zusammenhängenden Modul . Je niedriger das Niveau der Kopplung werden die leichter wie radikale Veränderungen .