#42 Modularisierung Flashcards

1
Q

Welche Probleme können bei der Entwicklung großer Programme entstehen und wie kann man Abhilfe für diese schaffen?

A

Probleme:
- Große Quelldateien sind unübersichtlich und schlecht zu warten
- Editieren und Compilieren dauert wesentlich länger
- Eine voneinander unabhängige Arbeit der Teammitglieder ist nur
schwer möglich
Abhilfe:
Aufteilung des Programms/Quelltextes in mehrere Dateien/Module
- Wiederverwendbarkeit (ein Modul in mehreren Programmen)
- Aufteilung auf mehrere Personen
- Nur geänderte Module müssen übersetzt werden

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

Welche Design-Kriterien sollten bei der Erstellung von Modulen beachtet werden?

A
  • Module bestehen aus einzelnen Funktionen
  • Hoher Zusammenhang: Die Funktionen eines Moduls sollten inhaltlich
    zusammenhängen
  • Geringe Kopplung: Nur wenige Funktionen sollten zur Kommunikation des
    Moduls nach außen notwendig sein
  • Wiederverwendbarkeit von Modulen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was muss beachtet werden um die Kommunikation zwischen Modulen zu gewährleisten?

A
  • Funktionen und Variablen eines Moduls, die von anderen Programmteilen
    benutzt werden, müssen in dem importierenden Modul deklariert werden.
  • Deklarationen in Header-Dateien (Dateiendung .h), die mit #include
    eingebunden werden.
    Eine Header-Datei enthält:
  • # define- und #include-Befehle
  • globale und externe Variablen
  • Prototypen von globalen und externen Funktionen
  • Selbstdefinierte Datentypen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind Funktionsprototypen?

A

Ein Funktionsprototyp ist die Deklaration einer Funktion mit ihren typisierten Parametern und
Rückgabewert ohne Funktionsrumpf.
- Syntax wie Funktionskopf, Abschluss mit Semikolon.
Beispiele:
int quadrat(int x);
void ausgabe();

  • Funktionsdefinition (Funktionsrumpf) muss später folgen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly