2. Mod - 2.2 Wozu OOAD? Flashcards

1
Q

Welche Anforderungen soll Software erfüllen?

A

funktionalen Anforderungen

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

Nenne Bsp. für nicht-funktionale Anforderungen

A

Plattformen, Wartbarkeit, Zuverlässigkeit, Erweiterbarkeit, Skalierbarkeit, Wiederverwendbarkeit,…

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

Was ist sinnvoll bevor die erste Zeile Code geschrieben wird?

A

systematisch die Anforderungen an ein System zu analysieren und seinen Aufbau zu entwerfen

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

Nenne 2 (mögliche) Schritte zu guter Software

A
  1. Sei sicher das deine Software auch dass macht was der Kunde möchte
  2. Basic Objekt-Orientierungs Prinzipien für die Flexibilität apply
  3. Streben nach einem wartbaren, wieder verwendbaren Design

(Nur eine von mehreren möglichen Vorgehensweisen)

  • wäre schlecht los zu programmieren und dann erst über Design der Software nachzudenken
  • alle drei Schritte sollten sich auf Design und nicht auf Implementierung beziehen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was könnte hilfreich bei der Überlegung des Designs sein?

A

manchmal hilfreich, sich beim Design schon Codefragmente in Zielprogrammiersprache zu überlegen, um Alternativen klarer zu sehen

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

Was sollte der erste Schritt bei der Erstellung einer Software sein?

A

Kunden befragen

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

Was sollte der zweite Schritt bei der Erstellung einer Software sein?

A

OO (objekt-orientierte) Prinzipien anwenden

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

Worauf sollte bei der Benennung der Objekte geachtet werden?

A

Objekte sollen das sein und tun was ihre Bezeichnung erwarten lässt

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

Worauf deuten Objekte hin, die häufig mir leeren Attributen verwendet werden?

A

dass eine Klasse mehreren Zwecken dient

- ein Konzept pro Klasse

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

Was erleichtert Kapselung?

A

spätere Veränderungen

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

Was sollte der dritte Schritt bei der Erstellung einer Software sein?

A

Wiederverwendbarkeit und Wartbarkeit im Auge behalten

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

Welche Frage sollte man sich stellen wenn man über Wiederverwendbarkeit nachdenkt?

A

Wie könnte man die Klassen so modellieren, dass bei zukünftigen neuen Attributen nur noch eine Klasse geändert werden muss?

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

Was ist “Delegation”?

A

Die Klasse die nicht zuständig ist, sollte die Aufgabe auf die zuständige Klasse abwälzen

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

Was bedeutet “lossely coupled”?

A

Im Ergebnis sind Klassen nicht mehr eng voneinander abhängig - man sagt dann, sie sind nur noch lose miteinander verbunden

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

Erklärung “Seperation of Concerns”

A

die Unterteilung eines Computerprogramms in verschiedene Abschnitte. Jeder Abschnitt befasst sich mit einem separaten Anliegen, einer Reihe von Informationen, die den Code eines Computerprogramms betreffen.

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

Sind bei einem Modell noch schnell und kostengünstig Änderungen möglich?

A

Solange die Lösung nicht als fertige Applikation vorliegt, sondern nur als Modell, sind aber ach grundlegende Änderungen noch schnell und kostengünstig möglich

17
Q

Modelle sind kein Selbstzweck, sondern dienen dazu, …

A

… Kunden zufriedenzustellen: Programm tut was es soll. Programm kann mit vertretbarem Aufwand verändert werden
… Entwickler profitiert auch: Teile des Programms können für nächsten Kunden widerverwendet werden