LE 5 | UML - Unified Modeling Language - TK [überarbeitet 20150702 / TK] Flashcards

1
Q

Welche Diagrammarten gibt es?

A
  • Strukturdiagramme (statisch)
    • Use-Case
    • Paketdiagramm
    • Klassendiagfamm
    • Objektdiagramm
  • Architekturdlagramme (statisch)
    • Verteilungsdiagramm
    • Komponentendiagramm
    • Kompositionsdiagramm
    • Subsystemdiagramm
  • Verhaltensdiagramme (dynamisch)
    • Aktivitätsdiagramm
    • Zustandsdiagramm
  • Interaktionsdiagramm (dynamisch)
    • Sequenzdiagramm
    • lnteraktionsübersicht
    • Kommunikationsdiagramm
    • Zeitdiagramm
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Diagrammreihenfolge ist am Besten?

A
  1. Use-Case
  2. Deployment
  3. Package
  4. Component
  5. Class
  6. Com posite/Subsystem/Object
  7. Activity
  8. Sequence
  9. State
  10. Interaction-Overview
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was versteht man unter dem Verteilungsdiagramm (Deployment)

A
  • statisches Diagram
  • Physische Verteilung der Hard- und Software des Systems
  • z.B. TollCollect
    • verschiedene Rechenzentren
    • Sateliten Geräte auf Autobahnen
    • Geräte an den Raststätten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Beschreibe das Komponentendiagramm

A
  • statisches Diagram
  • Aus welchen Komponenten besteht das System?
  • Die konkrete Struktur des Systems
  • Keinesfalls Details
  • Abhängigkeiten und Schnittstellen spezifizieren
  • Notation: Rechteck mit “Lego-Symbol”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beschreibe das Paketdiagramm

A
  • statisches Diagram
  • Zeigt die hierarchische Struktur der Elemente
  • Zeigt Schichten und Blöcke auf
  • Patterns und Schichten werden transparent
  • Abhängigkeiten modellieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beschreibe das Klassendiagram!

A
  • Visualisierung von Klassen
  • Beziehungen der Klassen
  • Innere Struktur der Klassen:
    • Stereotypen (werden in << stereotyp >> geschrieben) können sowohl an Klassen als auch an Beziehungen gesetzt werden
    • interface
    • abstract
    • send
    • instantiate
    • stateless
  • Signaturen (Sichtbarkeit, Rückgabe, Parameter)
  • Sichtbarkeiten
      • public
    • # protected
      • private
    • ~ package
  • Zuerst Name dann Typ (person : String)
  • Beziehungen zwischen Klassen y
    • Assoziation
    • Aggregation
    • Komposition
  • Eine Klasse ist abhängig von einer anderen Klasse, wenn sie diese zwingend benötigt um ihre Aufgabe zu erfüllen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beschreibe das Objektdiagram!

A
  • Zeigt den Beispielhaften Zustand eines oder mehrerer Objekte im System
  • Quasi ein Instanzdiagramm in dem konkrete Werte angegeben werden können
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Beschreibe das Use-Case-Diagramm!

A
  • Möglichst einfach zeigen was mit dem System gemacht werden soll
  • Beschreibt Arbeitsabläufe im System die möglich sein sollten
  • Zusammenhängende Anwendungsfälle in einem Kasten
  • Akteure werden als Strichmännchen gezeichnet
  • Use-Cases als Kreise
  • Mit ungerichteten Kanten verbunden
  • Gestrichelter Pfeil stellt eine Realisierung da
  • Extends und include analog zur Programmierung
  • Spezialisierungspfeil (analog Klassendiagramm) kann ein genereller Anwendungsfall in weitere Subanwendungsfälle unterteilen (Spezialisierung)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Beschreibe das Aktivitätsdiagram

A

Aktivitätsdiagramm

  • Zeigt die Abfolge durch die ein Anwender im System geleitet werden kann
  • Es gibt:
    • Startknoten .
    • Endknoten
    • Aktionsknoten
    • Objektknoten
      • Zeigen an, an welcher Stelle welche Objekte vorhanden sind
      • Nicht häufig eingesetzt
    • Kontrollknoten
      • Verzweigung/ Zusammenführung
      • Splittung (fork)/Synchronisation (join)
  • Bedingungen können in eckigen Klammern angegeben werden [x > 0]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Beschreibe das Zustandsdiagramm

A

Zustandsdiagramm

  • Beschreibt das Verhalten des Systems bei bestimmten Ereignissen
  • Es gibt:
    • Zustände
    • Transitionen
    • Regionen/Bereiche
    • Start- und Endzustand
  • Zustände werden mit Namen versehen
  • Es können folgende Angaben über Zustände gemacht werden
    • Entry -> Eintrittsaktivität
    • Exit -> Austrittsaktivität
    • Do -> anhaltende Aktivität
    • Trigger -> Verzögerung und Auslöser
  • Guards sind Bedingungen die an eine Transition geschrieben werden kann [blub found], [timeout], etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Beschreibe das Sequenzdiagramm

A
  • Zeigt wie Klassen interagieren
  • Sachverhalte werden transparenter
  • Zeigt die Nachrichten zwischen Klassen im zeitlichen Ablauf
  • Objekte werden oben angeordnet und besitzen Lebenslinien ~
  • lnstanziierte Objekte werden als Kasten auf der Linie dargestellt
  • Nachrichten zwischen Objekten als horizontale Pfeile
    • Synchron: gefüllte Pfeilspitze
    • Asynchron: nicht gefüllte Pfeilspitze
    • Gestrichelte Linie: Antwort/Return
  • Verzweigungen, Schleifen, etc. werden durch „Kästen“ eingezeichnet und mit „loop”, „alt”, etc. gekennzeichnet
  • Zwei Arten von Kommunikarionsschemata:
    • Centralized Control: Ein Objekt macht die Arbeit, andere arbeiten zu
    • Distributed Control: Objekte sind gleichberechtigt/ keine zentrale Kontrolle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Beschreibe das Interaktionsdiagram

A
  • Mischform eines Aktivitätsdiagrammes
  • Einzelne Aktivitäten werden durch ein Interaktionsdiagramm näher beschrieben
  • Zustände werden vergrößert dargestellt und eingebettet
  • Kommt zum Einsatz wenn Zustände sehr komplex sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Beschreibe das Kommunikationsdiagram

A
  • Stellt komplexe Abläufe in der Kommunikation dar
  • Immer dann benutzt, wenn Inhalte der Zustände, Daten, Übergänge unwichtig sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Beschreibe das Zeitdiagramm!

A
  • Meist nur für embedded oder e-technische Anwendungen
  • Zeitliche Darstellung von Vorgängen
  • Wie signale auf Oszilloskop
  • Enthalten:
    • Zeitverlaufslinien
    • Bedingungen
    • Nachrichten die zu Zustandsänderungen führen können
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist UML?

A
  • Unified Modeling Language = Verfahren zur Modellentwicklung von Softwaresystemen
  • Entstand: 1996
  • Derzeit aktuell: 2.1.2 (Nov. 2007)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Nenne vier Tools mit dessen Hilfe UML entwickelt werden kann

A
  • Together
  • Magic Draw
  • Rational Rose
  • Omondo
17
Q

Welche Diagrammtypen werden unterschieden?

A
  • statische
  • dynamische
18
Q

Nenne 7 statische Diagrammarten

A
  1. Strukturdiagram
    • Paketdia
    • Klassendia
    • Objektdia
  2. Architekurdiagram
    • Einsatz- und Verteilungsdia (Deployment)
    • Komponentendia
    • Kompositionsstruktodia
    • Subsystemdia
19
Q

Nenne dynamische Diagrammarten!

A
  1. Verhaltendiagram
    • Aktivitätsdiagram
    • Zustandsdiagram
  2. Use Case Diagram
  3. Interaktionsdiagram
    • Sequenzdia
    • Interaktionsübersicht
    • Kommunikationsdia
    • Zeitdia
20
Q

Warum sind Paketdiagramme wichtig?

A
  • “Spielwiese” für Entwickler um Testcode entwickeln zu können
  • können die wirkliche Systemarchitektur wiederpiegeln => steigert die Transparenz
  • Modelierung von Abhängigkeiten