02 - OOAD mit der UML Flashcards

1
Q

3 (Mögliche) Schritte zur Guten Software

A

1) Den Kunden befragen
2) OO-Prinzipien Anwenden
3) Wiederverwendbarkeit und Wartbarkeit im Auge behalten

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

Was ist bei Schritt 1: “Den Kunden Befragen” zu beachten?

A

1) Keine technischen Fragen stellen - das ist unserer Job
2) Sich Zeit lassen und möglich nichts überspringen
3) Sich auf die Kundenanforderungen Fokussieren und wie es aussehen sollte

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

Zweck: OOAD

A

1) Modelle dienen dazu den Kunden zufriedenzustellen: und zwar dass das Programm tut,was es soll. Desweiteren sollte das Programm mit vertretbarem Aufwand verändert werden. Zu guter letzt profitiert der Entwickler auch, wenn Teile des Programms für den nächsten Kunden wiederverwendet werden können.

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

Definition: UML

A

Ein grafisches Modell um den technischen Aufbau eines Systems besser zu verstehen und darüber diskutieren zu können. Die UML ist ein Modellierungsstandard in der Softwareindustrie um dies zu ermöglichen.

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

Vorteile der UML (5)

A

1) <b>Eindeutigkeit</b>: Wer zeichnet, muss sich festlegen und ist gezwungen, sich über die Alternativen Gedanken zu machen.
2) <b>Verständlichkeit</b>: Wie in allen Lebensbereichen erleichtern graphische Modelle das Verständnis komplexer Zusammenhänge.
3) <b>Ausdrucksstärke</b>: Die vielen verschiedenen UML-Diagramme betonen verschiedene Aspekte. Sie erlauben es, sich auf einen Teilaspekt zu konzentrieren, ergeben zusammen aber auch einen umfassenden Blick auf ein System.
4) <b>Standardisierung</b>: Weltweit anerkannt und verbreitet. Da fast jeder, der sich mit dem Thema objektorientierter Softwareentwicklung auskennt, auch die UML kennt, vereinfacht sie die Kommunikation in den Projekten.
5) <b>Plattformunabhängigkeit</b>: UMLs werden so gestaltet, das man sich beim Fertigen modell nicht auf eine Plattform festlegt. Dies macht das ganze Modell flexibler und verständlicher.

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

Kriterien für die Auswahl der UML Diagramme

A

1) Zweck
2) Zielgruppe
3) Im welchem Verhältnis stehen Kosten und Nutzen eines Modells?

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

Was bilden UML modelle ab?

A

Sie können sowohl ein Geschäftssystem als auch ein IT-System beschreiben. Vor Beginn der Modellierung steht immer die Frage: Was genau ist das zu modellierende System und welchen Zweck soll es erfüllen?

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

Definition: Screen-Prototypes

A

Eine weitere Methode von der Analyse und Design Phase eines Softwareprojekts. Sie konzentriert sich auf dass was der Endbenutzer sieht. So können sich die Endbenutzer leichter ein Bild vom zu entwickelndem System machen und klären somit weitere Mißverständisse bei der Anforderungsanalyse auf.

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

Schritte der Objektorientierten Analyse (6)

A

1) Anforderungen des Kunden verstanden haben
2) Mit dem Kunden sprechen
3) Mit anderen Beteiligten sprechen
4) Fragen stellen
5) Im Team diskutieren
6) Die Aufgabe aus unterschiedlichen Blickwinkeln betrachten

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

Definition: Use-Cases

A

Eine Semi-Strukturierte Methode: in der Form von Dokumenten, die einer gegebenen Struktur folgen, die beschreiben wie Akteure mit dem zu entwerfenden System in einem bestimmten Fall interagiert.

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

Was kennzeichnet ein Use-Case (4)

A

1) Bringt dem Anwender einen bestimmten Nutzen
2) Ein definiertes Anfang und Ende
3) Ein Akteur außerhalb des Systems initiiert es
4) Muss alle Pfade vom Ausgangspunkt bis zum Ziel enthalten.

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

Aufbau von Use-Case-Dokumenten (11)

A

1) Name und ID
2) Status
3) Version
4) Description
5) Actors
6) Basic Flow
7) Alternate Flows
8) Trigger
9) Preconditions
10) Postconditions
11) Related Use-Cases

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

Definition: Use-Case-Diagramme

A

Use-Case-Diagramme helfen bei der Analyse auf sehr hoher Ebene Features und Use-Cases für ein System zu identifizieren. Ein Use-Case-Diagramm beschriebt die Interaktion zwischen einem Akteur und einem System. Normalerweise werden sie vor den Use-Case-Dokumenten skizziert.

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

Eigenschaften eines Use-Case-Diagramms (3)

A

1) Sie abstrahieren von Details
2) Geben nur Auskunft über was das System tut, nicht wie
3) Keine Reihenfolger der Use-Cases wird definiert

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

Zweck von Use-Case-Diagrammen

A

Use-Case-Diagramme beschreiben die Kernfunktionalitäten eines Systems, indem ein großes Rechteck das System ist und Akteure außerhalb dieses Rechtecks mit Einzelteilen des Systems interagieren.

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

Elemente eines Use-Case-Diagramms (5)

A

1) Akteure
2) Use-Cases
3) System
4) Assoziation
5) Beziehungen zwischen Anwendungsfällen <> und <>
6) Generalisierung

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

Definition: Akteur (Use-Case-Diagramm)

A

Die Rolle eines externen Benutzers oder ein externen Systems, der mit dem System interagiert. Er steht aber im Diagramm außerhalb des Systems und ist eine generische Einheit die nicht mit spezifischen Namensgebungen benannt werden sollte.

18
Q

Definition: Use-Case

A

Eine Funktionalität des betrachteten Systems, die ein Akteur nutzt. Es besteht aus einer Menge von Aktionen und bringt dem Akteur in irgendeiner Form einen Nutzen.

19
Q

Definition: Assoziation

A

Eine Beziehung zwischen einem Akteur und einem Anwendungsfall, den er nutzt. Der Pfeil zeigt in die Richtung des Use-Cases (Akteure sind Initiator).

20
Q

Definition: < < extend > >

A

Eine <> Beziehung zwischen 2 Use-Cases bedeuted, das eines der beiden nur unter einer bestimmten Bedingung stattfinden kann.

21
Q

Definition: < < include > >

A

Eine weitere Beziehung zwischen 2 Use-Cases, wo das eine nur mithilfe des anderen initiiert werden kann.

22
Q

Definition: Generalisierungen

A

Wenn sich 2 Akteure ähneln kann man sie sinnvoller weise Generalisieren.

23
Q

Zweck: Klassendiagramme

A

Sie beschreiben die Struktur eines objektorientierten Sstems und können der Diskussion mit dem Anwender dienen, solange man sich nur auf einige Klassen beschränkt. Vor allem beschreiben Klassendiagramme auch die interne Struktur eines Systems als Vorlage für die Entwicklung. Deswegen müssen sie alle Details enthalten.

24
Q

Bestandteile: Klassendiagramme (2)

A

1) Klassen die für ähnliche Objekte zusammengefasst werden. Sie enthalten Attribute und Methoden.
2) Verschiedene Pfeile um die Beziehungen zwischen Klassen darzustellen.

25
Q

Definition: Assoziation

A

Eine Assoziation stellt eine Beziehung zwischen zwei Klassen dar (A gehört zu B). An den beteiligten Klassen steht jeweils eine Kardinalität, de angibt wie viele Objekte an einer Assoziation beteiligt sein können.

26
Q

Definition: Aggregation

A

Eine form der Assoziation, bei der sich ein Objekt der einen Klasse u.a. aus einem Objekt der anderen Klasse zusammensetzt (A besteht aus B,C,D usw.). Dieses Objekt kann aber auch ohne seine Teile existieren.

27
Q

Definition: Komposition

A

Komposition ist eine Aggregation (A besteht aus B,C,D usw.) bei der ein Onjekt untrennbar mit einem Ganzen verbunden ist. Wenn das ganze aufhört zu existieren, endet auch die Existenz der Teile.

28
Q

Sichtbarkeit bei Klassendiagrammen (4)

A

1) + public
2) # protected
3) ~ package
4) - private

29
Q

Multiplizität für Attribute in Klassendiagrammen

A

Steht anstatt der Assoziation in einem Klassendiagramm. Es wird aber nicht für Attribute mit elementaren Werten verwendet.

30
Q

Eigenschaften für Attribute in Klassendiagrammen (2)

A

1) {readOnly} - Der Attributwert kann nicht geändert werden

2) {unique} - Jeder Attributwert darf bei maximal einem Objekt vorkommen.

31
Q

Syntax: Attribute in Klassendiagrammen

A

Sichtbarkeit / Name :Typ Multiplizität = Defaultwert {Eigenschaft}

32
Q

Syntax: Methoden in Klassendiagrammen

A

Sichtbarkeit Name (Parameterliste ) :Rückgabetyp {Eigenschaft}

33
Q

Übergabearten für Parameter in Klassendiagrammen

A

1) in - Alle elementare Datentypen
2) out - Werden nicht modelliert.
3) inout - Parameter mit Klassen als Typ

34
Q

Definition: Call-by-Value

A

Hier wird alles das an die Methode übergeben wird nicht verändert. Die Veränderte version wird an die Garbage Collection gesendet und es wird eine Kopie vom Ursprungszustand gemacht.

35
Q

Definition: Call-by-Reference

A

Hier wird bei einem Methodenaufruf der Originale Parameter verändert, da direkt auf eine Objekt referenziert wird.

36
Q

Eigenschaften für Parameter und Rückgabetypen in Klassendiagrammen (2)

A

1) {sequence} - Tupel: Die werte sind geordnet

2) {bag} - Menge: Die Werte sind ungeordnet. Eine Reihenfolge ist nicht definiert

37
Q

Assoziationen mit XOR-Einschränkungen

A

Sie besagt, dass Objekte der beteiligten Klassen nur an einer der Assoziationen beteiligt sein dürfen.

38
Q

Implementierung von Assoziationen

A

Objekte einer Klasse bekommen ein Attribut das auf ein Objekt der anderen Klasse verweist. Die multiplizitäten geben an wie viele Objekte der anderen Klasse es geben soll.

39
Q

Navigierbarkeit Assoziationen

A

Die Navigierbarkeit einer Assoziation gibt an, in welcher Richtung die Klassen auf diese Art Kenntnis voneinander haben. Ist kein Pfeil angegeben, muss sich der Implementierer entscheiden ob die Assoziation verboten oder vorgeschrieben wird.

40
Q

Qualifizierer einer Assoziation

A

Geben an, anhand welcher Attribute einem Objekt der Klasse ein Objekt der assoziierten Klasse zugeordnet sind.