Softwareprogrammeurs ontwerp soms computerprogramma's in een modulaire indeling, met onderling verbonden structuren genaamd "modules", die samen het uitvoeren van een taak. Binnen deze modules voorspellen maatregelen van koppeling en samenhang software bruikbaarheid door te laten zien hoe verschillende delen van een programma zijn onderling afhankelijke of verbonden.
Koppeling ten opzichte van cohesie
In de informatica, "koppeling" verwijst naar hoe modules vloeit en "samenhang" verwijst naar hoe modules intrarelate. Met andere woorden, gaat de koppeling met externe relaties tussen modules, terwijl cohesie naar relaties tussen elementen in de modules verwijst.
Koppeling van de lage en hoge cohesie maken
In een modulaire computerprogramma is het ideaal dat lage koppeling en hoge samenhang. Hoge samenhang geeft aan of een module goed functioneert; al haar elementen werken samen om een gemeenschappelijk doel te bereiken. Lage koppeling betekent dat de modules niet vertrouwen op elkaar functioneren of dupliceren van taken.
Verbetering van de samenhang
Ter verwezenlijking van hoge cohesie, behoren functionele en sequentiële samenhang tot de beste methoden. Functionele samenhang treedt op wanneer twee of meer elementen dezelfde functie uitvoeren. Sequentiële cohesie verwijst naar de lineaire volgorde van elementen; een volgt de andere. Met andere woorden, worden elementen gebruikt in een bepaalde volgorde.
Limiet koppeling
De aanvaardbaarste koppelingen worden in die modules informatie van elkaar overnemen of doorgeven van informatie via de opgegeven parameters. Deze situaties worden genoemd "onderklasse koppeling" en "parameter koppeling," respectievelijk. Met de koppeling van de subklasse, wordt één module geeft informatie naar een andere module, terwijl in de parameter koppelen, informatie doorgegeven tussen modules via parameters.