3-4 Kohäsion und Kopplung Flashcards

1
Q

Definieren Sie den Begriff Kopplung.

A

Der Grad der Interaktion zwischen zwei Komponenten wird als Kopplung der beiden Komponenten bezeichnet.

Sie ist ein Qualitätsmerkmal der SW-Architektur.

Ziel des SW-Grobentwurfs muss deshalb eine möglichst geringe Kopplung sein, da die Modularisierung an Transparenz und Wartbarkeit gewinnt, wenn zwischen den Komponenten nur wenige und einfache Abhängigkeiten existieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definieren Sie den Begriff Kohäsion.

A

Der Grad der funktionalen Bindung innerhalb einer Komponente wird als Kohäsion bezeichnet.

Eine niedrige Kopplung erzielt man, wenn stark zusammenhängende (Teil-)Funktionalitäten in einer gemeinsamen Komponente untergebracht werden.

Ziel des SW-Grobentwurfs muss deshalb eine möglichst hohe Kohäsion sein, da die Modularisierung an Transparenz und Wartbarkeit gewinnt, wenn jede Komponente nur aus stark funktional zusammenhängenden Teilen besteht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zählen Sie die Kopplungsarten auf, in der Reihenfolge Gut zu Schlecht.

A
  1. Data (Good)
  2. Stamp
  3. Control
  4. Common
  5. Content (Bad)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Erklären Sie grob den Begriff Content Coupling.

A

Zwei Module p und q sind inhaltsgekoppelt, wenn ein Modul p unmittelbare Auswirkungen auf den Inhalt bzw. auf den auszuführenden Codeteil eines anderen Moduls q haben kann.

Dabei beruht die Inhaltskopplung nicht auf einem eigentlichen Aufruf von q durch p; vielmehr wird die Ausführung von evtl. modifizierten Codeteilen von q durch p direkt initiiert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Erklären Sie grob den Begriff Common Coupling.

A

Zwei Module sind datenextern (global, über globale Daten) gekoppelt, falls beide auf gemeinsame globale Daten schreibend und lesend zugreifen können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Nennen Sie Nachteile des Common Coupling.

A
  • Module haben Seiteneffekte, sind schlecht lesbar
  • Module haben Zugriff auf mehr Daten als nötig
  • Module sind nur im globalen Kontext verständlich
  • Schwierig wiederzuverwenden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Erklären Sie grob den Begriff Control Coupling.

A

Zwei Module besitzen Kontrollkopplung, wenn p ein kontrollflussbestimmendes Element an Modul q übermittelt.

Tritt typischerweise bei Modulen mit logischer Kohäsion auf.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist der Unterschied zwischen Control und Content Coupling?

A

Im Unterschied zur Inhaltskopplung ist bei der Globalkopplung das aufgerufene Modul q für die Ausführung seines Codes selbst verantwortlich, natürlich unter Berücksichtigung des von p übermittelten Datums.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nennen Sie Nachteile des Control Coupling.

A
  • führt zur Abhängigkeit der beiden gekoppelten Module.
  • widerspricht dem black box Prinzip.
  • die Wiederverwendbarkeit ist eingeschränkt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Erklären Sie grob den Begriff Stamp Coupling.

A

Zwei Module besitzen Datenstrukturkopplung, falls eine Datenstruktur als Parameter übergeben wird das aufgerufene Modul aber nur Teile (!) der Datenstruktur verwendet.

Werden alle Teile der Datenstruktur verwendet, besteht also keine Datenstrukturkopplung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nennen Sie Nachteile des Stamp Coupling.

A
  • erzeugt Abhängigkeit zwischen ansonsten unabhängigen Modulen
  • bei Änderungsvorgängen unangenehm, begünstigt die Gefahr der Fehlerentstehung.
  • es werden mehr Daten übermittelt als nötig.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Erklären Sie grob den Begriff Data Coupling.

A

Zwei Module sind datengekoppelt, wenn sie Informationen über Parameter austauschen, die homogene Daten sind:

  • POD
  • data structures (all elements used)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nennen Sie Vorteile des Data Coupling.

A
  • Schwierigkeiten anderer Kopplungsarten nicht vorhanden.
  • vereinfachte Wartung.
  • keine unnötigen Verschachtelungen von Daten und / oder Kontrollfluss.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Zählen Sie die Kohäsionsarten auf, in der Reihenfolge Gut zu Schlecht.

A
  1. Informational, Functional (Good)
  2. Sequential
  3. Communicational
  4. Procedural
  5. Temporal
  6. Logical
  7. Coincidental (Bad)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Erklären Sie grob den Begriff Coincidental Cohesion.

A

Ein Modul hat zufällige Kohäsion wenn es mehrere, vollkommen unzusammenhängende Aktionen durchführt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Erklären Sie grob den Begriff Logical Cohesion.

A

Ein Modul hat logische Kohäsion, wenn es eine Menge verwandter (zum Teil alternativer) Funktionalitäten anbietet.

17
Q

Erklären Sie grob den Begriff Temporal Cohesion.

A

Ein Modul hat zeitliche Kohäsion, wenn es eine Reihe von Aktionen in zeitlichem Zusammenhang ausführt.

(Die Reihenfolge ist dabei irrelevant)

18
Q

Erklären Sie grob den Begriff Procedural Cohesion.

A

Ein Modul hat prozedurale Kohäsion, wenn es eine Reihe von Aktionen auf unterschiedlichen Daten in zeitlicher Abfolge durchführt.

(Die Reihenfolge ist dabei relevant)

19
Q

Erklären Sie grob den Begriff Communicative Cohesion.

A

Ein Modul hat kommunikative Bindung, wenn es eine Reihe von Aktionen auf gemeinsame Daten ausführt.

(Die Reihenfolge ist dabei irrelevant)

20
Q

Erklären Sie grob den Begriff Sequential Cohesion.

A

Ein Modul hat sequentielle Kohäsion, wenn es eine Reihe von Aktionen in sequentieller Abfolge ausführt.

(Ausgabedaten werden als Eingabedaten weiterverarbeitet)

21
Q

Erklären Sie grob den Begriff Functional Cohesion.

A

Ein Modul hat funktionale Kohäsion, wenn alle seine Elemente zur Ausführung einer und nur einer Aufgabe beitragen.

22
Q

Erklären Sie grob den Begriff Informational Cohesion.

A

Ein Modul hat Informationskohäsion, wenn es eine Reihe von Operationen, jede mit eigenem Eingang / Ausgang und unabhängigem Code, auf der selben Datenstruktur durchführen kann.

23
Q

Fassen Sie die Kohäsionsgrade in der Reihenfolge gut zu schlecht kurz zusammen.

A

informational - unabhängige Codes, selbe Datenstruktur (ADT)
funktional - alle Funktionalitäten monolithisch zusammengefasst

sequentiell - output -> input
kommunikativ - gem. Datennutzung

prozedural - funktionale Reihenfolge
zeitlich - zeitlicher Zusammenhang

logisch - gewisser logischer Zshg., z. B. über Eingabefunktionen
keine / zufällig - Funktionalitäten ohne Bezug zueinander