Modulkobling

I softwareteknik er kobling graden af indbyrdes afhængighed mellem softwaremoduler. To moduler, der er tæt koblet, er stærkt afhængige af hinanden. To moduler, der er løst koblet, er derimod ikke afhængige af hinanden. Ukoblede moduler har slet ingen indbyrdes afhængighed inden for dem.

De forskellige typer af koblingsteknikker er vist i fig:

Et godt design er det, der har lav kobling. Kobling måles ved antallet af relationer mellem modulerne. Det vil sige, at koblingen stiger, når antallet af opkald mellem modulerne stiger, eller når mængden af delte data er stor. Man kan således sige, at et design med høj kobling vil have flere fejl.

Typer af modulkobling

1. Ingen direkte kobling: Der er ingen direkte kobling mellem M1 og M2.

I dette tilfælde er modulerne underordnede under forskellige moduler. Derfor er der ingen direkte kobling.

2. Datakobling: Når data fra et modul videregives til et andet modul, kaldes dette datakobling.

3. Stempelkobling: To moduler er stempelkoblet, hvis de kommunikerer ved hjælp af sammensatte dataelementer som f.eks. struktur, objekter osv. Når modulet videregiver ikke-globale datastrukturer eller hele strukturer til et andet modul, siges de at være stempelkoblet. F.eks. ved at videregive strukturvariable i C eller objekt i C++-sprog til et modul.

4. Kontrolkobling: Kontrolkobling: Der er tale om kontrolkobling mellem to moduler, hvis data fra et modul anvendes til at styre strukturen for udførelse af instruktioner i et andet.

5. Ekstern kobling: Ekstern kobling: Ekstern kobling opstår, når to moduler deler et eksternt pålagt dataformat, kommunikationsprotokoller eller enhedsgrænseflade. Dette er relateret til kommunikation til eksterne værktøjer og enheder.

6. Fælles kobling: To moduler er fælles koblet, hvis de deler oplysninger gennem nogle globale dataelementer.

7. Indholdskobling: Indholdskobling: Der er indholdskobling mellem to moduler, hvis de deler kode, f.eks. en forgrening fra et modul til et andet modul.

Modulkohærens

I computerprogrammering defineres kohærens til den grad, i hvilken elementerne i et modul hører sammen. Samhørighed måler således styrken af forbindelserne mellem funktionalitetselementer inden for et givet modul. I systemer med høj kohæsion er funktionaliteten f.eks. stærkt forbundet.

Kohæsion er en ordinaltype af måling og beskrives generelt som “høj kohæsion” eller “lav kohæsion.”

Typer af modulers kohæsion

  1. Funktionel kohæsion: Funktionel sammenhængskraft: Der er tale om funktionel sammenhængskraft, hvis de forskellige elementer i et modul samarbejder om at opnå en enkelt funktion.
  2. Sekventiel sammenhængskraft: Der er tale om funktionel sammenhængskraft, hvis de forskellige elementer i et modul samarbejder om at opnå en enkelt funktion: Et modul siges at besidde sekventiel samhørighed, hvis elementerne i et modul udgør komponenterne i sekvensen, hvor output fra en komponent i sekvensen er input til den næste.
  3. Kommunikativ samhørighed: Et modul siges at besidde sekventiel samhørighed, hvis elementerne i et modul udgør komponenterne i sekvensen, hvor output fra en komponent i sekvensen er input til den næste: Et modul siges at have kommunikativ sammenhæng, hvis alle opgaver i modulet henviser til eller opdaterer den samme datastruktur, f.eks. sættet af funktioner defineret på et array eller en stak.
  4. Proceduremæssig sammenhæng: Et modul siges at være proceduremæssigt sammenhængende, hvis modulets sæt af formål er alle dele af en procedure, hvor en bestemt sekvens af trin skal udføres for at nå et mål, f.eks. algoritmen til afkodning af en besked.
  5. Tidsmæssig sammenhæng: Når et modul omfatter funktioner, der er forbundet ved, at alle metoderne skal udføres på samme tid, siges modulet at udvise tidsmæssig sammenhæng.
  6. Logisk sammenhæng: Et modul siges at være logisk sammenhængende, hvis alle modulets elementer udfører en lignende operation. F.eks. fejlhåndtering, dataindgang og dataudgang osv.
  7. Sammenhæng: Et modul siges at have tilfældig sammenhæng, hvis det udfører et sæt opgaver, der er forbundet med hinanden meget løst, hvis de overhovedet er forbundet med hinanden.

Differentiere mellem kobling og samhørighed

Kobling Kohæsion
Kobling kaldes også for inter-modulbinding. Kohæsion kaldes også for intra-modulbinding.
Kobling viser forbindelserne mellem modulerne. Kohesion viser forbindelserne inden for modulet.
Kobling viser den relative uafhængighed mellem modulerne. Kohesion viser modulets relative funktionelle styrke.
Ved oprettelsen bør man tilstræbe en lav kobling, dvs, afhængigheden mellem modulerne bør være mindre. Ved oprettelsen bør du tilstræbe høj kohæsion, dvs. at en kohæsionskomponent/et modul fokuserer på en enkelt funktion (dvs. enøjethed) med lidt interaktion med andre moduler i systemet.
Med kobling er modulerne knyttet til de andre moduler. Med kohæsion fokuserer modulet på en enkelt ting.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.