Modulkapcsolódás

A szoftverfejlesztésben a kapcsolódás a szoftvermodulok közötti kölcsönös függőség mértéke. Két szorosan összekapcsolt modul erősen függ egymástól. Két lazán kapcsolt modul azonban nem függ egymástól. A nem kapcsolt modulok egyáltalán nem függnek egymástól egymáson belül.

A csatolási technikák különböző típusait az ábra mutatja:

A jó tervezés az, amelynek alacsony a csatolása. A csatolást a modulok közötti kapcsolatok számával mérjük. Vagyis a csatolás nő, ha a modulok közötti hívások száma nő, vagy ha a megosztott adatok mennyisége nagy. Így elmondható, hogy a magas csatolású tervezés több hibával jár.

A modulkapcsolás típusai

1. Nincs közvetlen csatolás: Nincs közvetlen csatolás az M1 és az M2 között.

Ez esetben a modulok különböző moduloknak vannak alárendelve. Ezért nincs közvetlen csatolás.

2. Adatkapcsolás: Amikor az egyik modul adatai átkerülnek egy másik modulba, ezt nevezzük adatcsatolásnak.

3. Bélyegcsatolás: Két modul bélyegcsatolás, ha összetett adatelemek, például struktúra, objektumok stb. használatával kommunikálnak. Ha a modul nem globális adatstruktúrát vagy teljes struktúrát ad át egy másik modulnak, akkor azt mondjuk, hogy bélyegcsatoltak. Például a C nyelvben a struktúra változó vagy a C++ nyelvben az objektum átadása egy modulnak.

4. Vezérlési csatolás: Vezérlési csatolás két modul között akkor áll fenn, ha az egyik modulból származó adatokat arra használják, hogy egy másik modulban az utasításvégrehajtás struktúráját irányítsák.

5. Külső csatolás: Külső csatolás akkor keletkezik, ha két modul osztozik egy külsőleg előírt adatformátumon, kommunikációs protokollon vagy eszközinterfészen. Ez a külső eszközökkel és eszközökkel való kommunikációhoz kapcsolódik.

6. Közös csatolás: Két modul akkor közös csatolású, ha bizonyos globális adatelemeken keresztül osztoznak információkon.

7. Tartalmi csatolás: Tartalmi csatolás két modul között akkor áll fenn, ha közös kódot használnak, például egy elágazás az egyik modulból egy másik modulba.

Modulkohézió

A számítógépes programozásban a kohézió azt határozza meg, hogy egy modul elemei milyen mértékben tartoznak össze. A kohézió tehát a funkcionalitás darabjai közötti kapcsolatok erősségét méri egy adott modulon belül. Például a nagy kohéziójú rendszerekben a funkcionalitás erősen kapcsolódik egymáshoz.

A kohézió egy ordinális típusú mérés, és általában “nagy kohézió” vagy “alacsony kohézió”-ként írják le.

A modulok kohéziójának típusai

  1. Funkcionális kohézió: Funkcionális kohézióról akkor beszélünk, ha egy modul különböző elemei egyetlen funkció elérése érdekében működnek együtt.
  2. Szekvenciális kohézió: Egy modulról azt mondjuk, hogy szekvenciális kohézióval rendelkezik, ha a modul elemei a szekvencia komponenseit alkotják, ahol a szekvencia egyik komponensének kimenete a következő komponens bemenete.
  3. Kommunikációs kohézió: Egy modulról akkor mondjuk, hogy kommunikatív kohézióval rendelkezik, ha a modul minden feladata ugyanarra az adatstruktúrára hivatkozik, vagy ugyanazt az adatstruktúrát frissíti, pl. egy tömbön vagy egy vermen definiált függvények halmazát.
  4. Procedurális kohézió: Egy modulról akkor beszélünk procedurális kohézióról, ha a modul céljainak halmaza egy olyan eljárás minden része, amelyben egy cél eléréséhez meghatározott lépéssorozatot kell végrehajtani, pl. egy üzenet dekódolásának algoritmusa.
  5. Időbeli kohézió: Ha egy modul olyan függvényeket tartalmaz, amelyeket az köt össze, hogy az összes metódust ugyanabban az időben kell végrehajtani, akkor azt mondjuk, hogy a modul időbeli kohéziót mutat.
  6. Logikai kohézió: Egy modulról azt mondjuk, hogy logikailag összetartó, ha a modul minden eleme hasonló műveletet hajt végre. Például Hibakezelés, adatbevitel és adatkimenet stb.
  7. Véletlenszerű kohézió: Egy modulról azt mondjuk, hogy véletlenszerű kohézióval rendelkezik, ha olyan feladatokat hajt végre, amelyek nagyon lazán kapcsolódnak egymáshoz, ha egyáltalán kapcsolódnak egymáshoz.

Kapcsolódás és kohézió megkülönböztetése

Kapcsolódás Kohézió
A kapcsolódást modulok közötti kötődésnek is nevezik. A kohéziót modulon belüli kötődésnek is nevezik.
A csatolás a modulok közötti kapcsolatokat mutatja. A kohézió a modulon belüli kapcsolatot mutatja.
A csatolás a modulok közötti relatív függetlenséget mutatja. A kohézió a modul relatív funkcionális erejét mutatja.
A létrehozás során törekedni kell az alacsony csatolásra, azaz, a modulok közötti függőség legyen kisebb. A létrehozás során törekedni kell a magas kohézióra, azaz a kohéziós komponens/modul egyetlen funkcióra összpontosít (azaz egyközpontúság), kevés kölcsönhatással a rendszer többi moduljával.
A csatolásban a modulok kapcsolódnak a többi modulhoz. A kohézióban a modul egyetlen dologra összpontosít.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.