ohjelmistosuunnittelun laadun parantaminen on oliokeskeisen ohjelmistokehitysjärjestelmän keskeinen tutkimushaaste. Koheesio on yksi keskeisistä tekijöistä, joka auttaa arvioimaan ohjelmistojärjestelmän laatua ja modulaarisuutta suunnittelutasolla. Se auttaa luomaan ohjelmistokomponentteja, jotka ovat suoraan uudelleenkäytettäviä teollisuudelle, koska ne ovat vähemmän riippuvaisia muista komponenteista. Tässä asiakirjassa ehdotetaan uutta koheesiomittaria oliopohjaisille ohjelmistoille, nimeltään Usage Pattern Based Cohesion (UPBC), joka lasketaan moduulitasolla. Tässä asiakirjassa luokkaa pidetään aluksi moduulina, ja myöhemmin luokkaryhmää (eli pakettia) pidetään moduulina, jonka tavoitteena on parantaa yleistä yhteenkuuluvuutta. Tämä metriikka hyödyntää eri jäsenfunktioiden vuorovaikutuksista poimittuja usein käytettyjä malleja (FUP) moduulin koossapitävyyden kuvaamiseksi. Lisäksi mitattua koheesioarvoa käytetään moduulien ryhmittelyyn, jotta voidaan lisätä yhteenkuuluvuutta ja vähentää kytkentää moduulien välillä samanaikaisesti. Ryhmittely suoritetaan käyttämällä äskettäin ehdotettua ryhmittelyalgoritmia nimeltä FUPClust (Frequent Usage Pattern based Clustering), joka perustuu moduulien välisiin FUP-vuorovaikutuksiin. Ehdotettua lähestymistapaa sovelletaan kahteen Java-ohjelmistojärjestelmään, ja saadut tulokset osoittavat ohjelmistojärjestelmän yhtenäisyyden parantuneen merkittävästi.