att öka programvarudesignkvaliteten är en viktig forskningsutmaning i objektorienterat mjukvaruutvecklingssystem. Sammanhållning är en av de viktigaste spect som hjälper till att utvärdera kvaliteten och modulariteten hos ett mjukvarusystem på designnivå. Det bidrar till att skapa programvarukomponenter som är direkt återanvändbara till industrin på grund av deras mindre beroende av andra komponenter. I detta dokument föreslås en ny sammanhållningsmått för objektorienterad programvara, benämnd Usage Pattern Based Cohesion (UPBC), som beräknas på modulnivå. Denna uppsats betraktar klass som en modul initialt och därefter grupp av klasser (dvs. ett paket) betraktas som en modul med syfte att förbättra den totala sammanhållningen. Denna metriska använder de frekventa användningsmönstren (FUP) extraherade från olika medlemsfunktionsinteraktioner för att fånga modulens sammanhållning. Vidare används det uppmätta sammanhållningsvärdet för att utföra kluster av moduler för att öka sammanhållningen och minska kopplingen mellan moduler samtidigt. Klustringen utförs med hjälp av en nyligen föreslagen klustringsalgoritm som kallas FUPClust (Frequent Usage Pattern based Clustering) baserat på FUP-interaktioner mellan moduler. Det föreslagna tillvägagångssättet tillämpas på två Java-mjukvarusystem och de erhållna resultaten visar en signifikant förbättring av mjukvarusystemets sammanhållning.