verbetering van de kwaliteit van het softwareontwerp is een belangrijke onderzoeksuitdaging in objectgeoriënteerd softwareontwikkelingssysteem. Cohesie is een van de belangrijkste spect die helpt bij het evalueren van de kwaliteit en modulariteit van een software systeem op ontwerp niveau. Het helpt om softwarecomponenten te maken die direct herbruikbaar zijn voor de industrie omdat ze minder afhankelijk zijn van andere componenten. In dit artikel wordt een nieuwe cohesiemetrie voor objectgeoriënteerde software voorgesteld, genaamd Usage Pattern Based Cohesion (UPBC), die wordt berekend op moduleniveau. Deze paper beschouwt klasse als een module in eerste instantie en vervolgens groep van klassen (dat wil zeggen een pakket) wordt beschouwd als een module met als doel het verbeteren van de algehele samenhang. Deze metriek maakt gebruik van de frequente gebruikspatronen (FUP) geëxtraheerd uit verschillende Lid functies interacties om de samenhang van de module vast te leggen. Verder wordt de gemeten cohesiewaarde gebruikt voor het clusteren van modules om de samenhang te vergroten en de koppeling tussen modules tegelijkertijd te verminderen. De clustering wordt uitgevoerd door gebruik te maken van een nieuw voorgesteld clustering algoritme genaamd FUPClust (frequently Usage Pattern based Clustering) gebaseerd op FUP interacties tussen modules. De voorgestelde aanpak wordt toegepast op twee Java software systemen en de verkregen resultaten laten een aanzienlijke verbetering zien in de samenhang van het software systeem.