Moduulien kytkentä

Ohjelmistotekniikassa kytkentä on ohjelmistomoduulien keskinäisen riippuvuuden aste. Kaksi tiukasti kytkettyä moduulia ovat vahvasti riippuvaisia toisistaan. Sen sijaan kaksi löyhästi kytkettyä moduulia eivät ole riippuvaisia toisistaan. Kytkemättömillä moduuleilla ei ole lainkaan keskinäistä riippuvuutta niiden sisällä.

Kuvassa on esitetty erityyppisiä kytkentätekniikoita:

Hyvä suunnittelu on sellainen, jossa on vähän kytkentää. Kytkentää mitataan moduulien välisten suhteiden määrällä. Toisin sanoen kytkentä kasvaa, kun moduulien välisten kutsujen määrä kasvaa tai jaetun datan määrä on suuri. Näin ollen voidaan sanoa, että suunnittelussa, jossa on suuri kytkentä, on enemmän virheitä.

Moduulien kytkennän tyypit

1. Ei suoraa kytkentää: M1:n ja M2:n välillä ei ole suoraa kytkentää.

Tällöin moduulit ovat eri moduulien alaisia. Siksi ei suoraa kytkentää.

2. Datakytkentä: Kun yhden moduulin tietoja välitetään toiselle moduulille, tätä kutsutaan datakytkennäksi.

3. Leimakytkentä: Kaksi moduulia on leimakytkentäisiä, jos ne kommunikoivat käyttäen yhdistettyjä tietoeriä, kuten rakennetta, objekteja jne. Kun moduuli välittää toiselle moduulille ei-globaalin tietorakenteen tai kokonaisen rakenteen, niiden sanotaan olevan leimakytkettyjä. Esimerkiksi C-kielen rakennemuuttujan tai C++-kielen objektin siirtäminen moduuliin.

4. Ohjauskytkentä: Ohjauskytkentä on olemassa kahden moduulin välillä, jos yhden moduulin tietoja käytetään ohjaamaan käskyn suorituksen rakennetta toisessa moduulissa.

5. Ulkoinen kytkentä: Ulkoinen kytkentä syntyy, kun kahdella moduulilla on yhteinen ulkoisesti määrätty dataformaatti, viestintäprotokolla tai laiteliitäntä. Tämä liittyy kommunikointiin ulkoisten työkalujen ja laitteiden kanssa.

6. Yhteinen kytkentä: Kaksi moduulia on yhteisesti kytkettyjä, jos ne jakavat tietoa joidenkin globaalien tietoerien kautta.

7. Sisältökytkentä: Sisällöllinen kytkentä on olemassa kahden moduulin välillä, jos ne jakavat koodia, esimerkiksi haarautuminen yhdestä moduulista toiseen moduuliin.

Moduulin koheesio

Tietokoneohjelmoinnissa koheesio määrittelee sen, missä määrin moduulin elementit kuuluvat yhteen. Näin ollen koheesio mittaa tietyn moduulin sisällä olevien toiminnallisuuden osien välisten suhteiden voimakkuutta. Esimerkiksi erittäin koheesiokykyisissä järjestelmissä toiminnallisuus on vahvasti sidoksissa toisiinsa.

Koheesio on ordinaalinen mittaustyyppi, ja sitä kuvataan yleisesti ”korkeana koheesiona” tai ”matalana koheesiona”.

Moduulien koheesiotyypit

  1. Toiminnallinen koheesio: Toiminnallisesta koheesiosta puhutaan, jos moduulin eri elementit tekevät yhteistyötä yhden toiminnon saavuttamiseksi.
  2. Sekventiaalinen koheesio: Moduulilla sanotaan olevan sekventiaalinen koheesio, jos moduulin elementit muodostavat sekvenssin komponentteja, joissa yhden sekvenssin komponentin tuotos on syötteenä seuraavalle.
  3. Kommunikatiivinen koheesio: Moduulilla sanotaan olevan kommunikatiivinen koheesio, jos kaikki moduulin tehtävät viittaavat samaan tietorakenteeseen tai päivittävät samaa tietorakennetta, esim. joukko funktioita, jotka on määritelty matriisille tai pinolle.
  4. Proseduraalinen koheesio: Moduulin sanotaan olevan proseduraalinen koheesio, jos moduulin tarkoitusjoukko on kaikki osa proseduuria, jossa tietty vaiheiden sarja on suoritettava päämäärän saavuttamiseksi, esim. algoritmi viestin dekoodausta varten.
  5. Temporaalinen koheesio: Kun moduuli sisältää toimintoja, joita yhdistää se, että kaikki metodit on suoritettava samaan aikaan, moduulin sanotaan olevan temporaalisesti koheesiossa.
  6. Looginen koheesio: Moduulin sanotaan olevan loogisesti yhtenäinen, jos kaikki moduulin elementit suorittavat samanlaisen toiminnon. Esimerkiksi virheenkäsittely, tietojen syöttö ja lähtö jne.
  7. Sattumanvarainen koheesio: Moduulin sanotaan olevan sattumanvaraisesti yhtenäinen, jos se suorittaa joukon tehtäviä, jotka liittyvät toisiinsa hyvin löyhästi, jos ollenkaan.

Kytkennän ja koheesion erottelu

Kytkentä Koheesio
Kytkentää kutsutaan myös moduulien väliseksi sidonnaisuudeksi (Inter-Module Binding). Koheesiota kutsutaan myös moduulin sisäiseksi sidonnaisuudeksi.
Kytkentä osoittaa moduulien väliset suhteet. Koheesio osoittaa moduulin sisäiset suhteet.
Kytkentä osoittaa moduulien keskinäisen suhteellisen riippumattomuuden. Koheesio osoittaa moduulin suhteellisen toiminnallisen vahvuuden.
Laadittaessa kannattaa pyrkiä matalaan kytkentään, ts, moduulien välisen riippuvuuden tulisi olla vähäisempää. Laadittaessa tulisi pyrkiä korkeaan koheesioon, eli koheesiokomponentti/moduuli keskittyy yhteen ainoaan toimintoon (ts. yksitoikkoisuus) ja vuorovaikutus järjestelmän muiden moduulien kanssa on vähäistä.
Kytkeytyneisyydessä moduulit ovat kytköksissä toisiin moduuleihin. Koheesiossa moduuli keskittyy yhteen ainoaan asiaan.

Vastaa

Sähköpostiosoitettasi ei julkaista.