Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 WS 2012 Software-Engineering II UML.

Ähnliche Präsentationen


Präsentation zum Thema: "1 WS 2012 Software-Engineering II UML."—  Präsentation transkript:

1 1 WS 2012 Software-Engineering II UML

2 2 WS 2012 Themenübersicht »Objektorientierung »Aspektorientierung »Vorgehensmodelle »UML »Analyse- & Entwurfsmuster »Objektorientiertes Testen »Versionsverwaltung »Refactoring »Labor (Praktischer Teil)

3 3 WS 2012 UML UML 2.0 Christoph Kecher Galileo Computing 424 Seiten ISBN: (Deutsch)

4 4 WS 2012 UML – Was ist das? »Unified Modelling Language »Allgemein verwendbare Modellierungsnotation »Im Laufe vieler Jahre entstanden »Unabhängig von Programmiersprachen »Unabhängig von Vorgehensmodellen »Eigenschaften »Einfach »Verständlich »Ausdrucksstark »Standardisiert

5 5 WS 2012 Diagrammtypen »Klassendiagramm »Objektdiagramm »Paketdiagramm »… »Modellieren statische, zeitunabhängige Gegebenheiten »Use-Case-Diagramm »Aktivitäts-Diagramm »Zustandsdiagramm »Sequenzdiagramm »… »Modellieren Verhalten und zeitabhängige Gegebenheiten Strukturdiagramme Verhaltensdiagramme

6 6 WS 2012 Use-Case-Diagramm »Modellieret Funktionalität des zu entwickelnden Systems »Zeitpunkt: Analysephase »Bildet Grundlage für weitere Modelle »Hohes Abstraktionsniveau »Sicht eines externen Anwenders »Modelliert, welche Anwendungsfälle die Software bieten wird und nicht wie es Realisiert werden kann

7 7 WS 2012 Akteur »Modelliert einen Typ oder eine Rolle, die ein externer Benutzer oder ein externes System einnimmt »Mehrere Akteure sind möglich

8 8 WS 2012 Anwendungsfall »Spezifiziert eine Aktion oder eine Menge von Aktionen, die von einem Subsystem zur Verfügung gestellt wird Anwendungsfall Subsystem

9 9 WS 2012 Assoziation »Modelliert Beziehungen zwischen Anwendungsfällen »Wird angewandt, wenn Akteure Anwendungsfälle ausführen dürfen »Anmerkung: Da Aktoren externe Elemente in Use- Cases representieren, werden sie außerhalb der Subsystemgrenzen positioniert

10 10 WS 2012 Generalisierung »Ein Akteur erbt alle Eigenschaften eines anderen Akteurs »Kann auch für Anwendungsfälle verwendet werden

11 11 WS 2012 Include »Modelliert das unbedingte Einbinden eines Anwendungsfalles in einen anderen »Jedes Mal, wenn ein Anwendungsfall ausgeführt wird, müssen alle mit > assoziierten Anwendenfälle ausgeführt werden »Im Bsp.: Das Planen einer Vorlesung beinhaltet demnach immer das Vorbereiten des Vorlesungsinhaltes, das Halten der Vorlesung und das Festlegen der Prüfungsleistung

12 12 WS 2012 Extends »Modelliert das bedingte Einbinden eines Anwendungsfalles in einen Anderen »Ein bedingt eingebundener Anwendungsfall kann (muss aber nicht) bei der Ausführung des einbindenden Anwendungsfalles durchgeführt werden »Achtung: Der Pfeil zeigt von dem bedingt eingebundenen Anwendungsfall auf den Einbindenden

13 13 WS 2012 Extension Points »Definieren, welchen Teil eines Anwendungsfalles eine Extends- Beziehung bedingt erweitert Extension Point Extension Point

14 14 WS 2012 Aktivitätsdiagramm »Fokus auf Aktionen, die durchgeführt werden können »Analyse-Phase: »Modellierung von Geschäftsprozessen »Zeigt Reihenfolge von Prozessen und Tätigkeiten auf »Erleichtert Analyse der Geschäftsprozesse »Können zur Umsetzung verwendet werden »Sicht des Anwenders »Entwurfs-Phase »Modellierung von internen Systemprozessen »Wichtigster Einsatz der AD »Umfangreiche Abläufe, komplexe Algorithmen »Implementierungs-Phase: »Realisierungsvorlage »Test-Phase: »Grundlage für Testfälle

15 15 WS 2012 Aktion »Ausführbarer Knoten, der Funktionalität bietet »Grundlegende Einheit eines Aktivitätsdiagrammes

16 16 WS 2012 Kontrollfluss »Gerichtete Verbindung zw. Aktionsknoten »Definiert die Reihenfolge der Aktivitäten Kontrollfluss

17 17 WS 2012 Aktivitätsbereich »Ordnet Aktivitäten eindeutig Akteuren zu (Siehe Use-Case- Diagramm) »Alle Aktionen, die hier modelliert werden, müssen im Use-Case- Diagramm zuvor definiert worden sein »Umgekehrt ist es jedoch möglich, dass eine in einem Use-Case- Diagramm definierte Aktion nicht in einem Aktivitätsdiagramm verfeinert wird Akteur

18 18 WS 2012 Entscheidungsknoten »Modellieren Entscheidungsfälle Startpunkt Endpunkt

19 19 WS 2012 Gabelung / Zusammenführung »Deutet parellele Abläufe an Gabelung Zusammen- führung

20 20 WS 2012 Zustandsdiagramm »Ahnlich dem Aktivitätsdiagramm »Ähnliche Symbolik »Konzentriert sich im Gegensatz zum Aktivitätsdiagramm nicht auf Aktionen sondern (zustandsabhängige) Reaktionen von Systemen

21 21 WS 2012 Zustandsdiagramm BSP.: Event Interne Aktion Transition

22 22 WS 2012 Sequenzdiagramm »Modellieren zeitabhängige Interaktionen zwischen Objekten »Im Vergleich zu Aktivitätsdiagrammien liegt hier der Fokus auf den Nachrichtenaustausch, nicht die verschiedenen Ablaufpfade »Analysephase: Darstellungen der Geschäftsprozesse auf Nachrichtenebene »Entwurfsphase: Interaktionen von Systemen oder Aktoren »Bsp: Kommunikation Benutzer mit GUI

23 23 WS 2012 Lebenslinie »Eine Lebenslinie stellt einen Teilnehmer einer Interaktion dar »Durch ein Stop-Symbol wird dargestellt, dass eine Lebenslinie terminiert »Eine gestrichelte Linie stellt einen passiven bereich einer Lebenslinie dar Lebenslinie Stop-Symbol passive Lebenslinie

24 24 WS 2012 Create-Nachricht »Ein Objekt wird erstellt Nachricht

25 25 WS 2012 Nachricht mit Rückantwort Nachricht Rückantwort

26 26 WS 2012 Klassendiagramm »Zentrales Konzept der UML »Modellierung von Klassen und deren Zusammenhänge »Analysephase: Relativ einfache Diagramme für Kommunikation mit Vorgesetzten / Partnern »Entwurfsphase: Detailliert, legt spätere Programmstruktur fest »Definieren nicht, in welcher Reihenfolge Klassen miteinander kommunizieren.

27 27 WS 2012 Klassen I Klassenname Attribute Methoden Access Modifiers Datentyp Private – Protected # Package ~ Public +

28 28 WS 2012 Klassen II class BADozent { private String name; private String geburtsDatum; public void setName( String name ) { … } public void benote( BAStudent student ) { … } vs. »einfach, übersichtlich »Für fachunkundige lesbar »Ohne programmiersprachen- spezifische Elemente

29 29 WS 2012 Klassen III Default-Wert Typ mit Angabe der Multiplizität (statisches) Klassenattribut

30 30 WS 2012 (Binäre) Assoziation »Spezifiziert eine semantische Beziehung zwischen zwei Klassen »BAStudent und BADozent kennen sich gegenseitig, können interagieren

31 31 WS 2012 Assoziation - Name »Durch einen Assoziationsnamen kann man die Beziehung genauer spezifizieren (e.g. benotet) Assoziationsname Anmerkung: Dies würde heißen, dass auch der BAStudent den BADozent benoten kann

32 32 WS 2012 Assoziation - Navigierbarkeit »Gerichtete Assoziationen sind binäre Assoziationen, die die Navigierbarkeit einschränken »Ein navigierbares Ende definiert, dass die Klasse am anderen Assoziationsende Kenntnis über die Klasse besitzt »Ein nicht navigierbares Ende verbietet solch eine Kenntnis nicht navigierbarnavigierbar BADozent enthält eine Abhängigkeit zu BAStudent. Umgekehrt besteht keine Abhängigkeit

33 33 WS 2012 Assoziation - Multiplizität »Durch Hinzufügen von Multiplizitäten kann definiert werden, wieviele Referenzen des anderen Typs existieren können. »Multiplizitäts-Formen: »Beliebig viele * »Feste Zahl z.B. 1 »Zahlenbereich z.B oder 1..* »Im Beispiel: »Ein BADozent kann einen bis 40 Studenten benoten »Ein BAStudent kann von einem bis 15 Dozenten benotet werden

34 34 WS 2012 Assoziation - Rollen »Definieren die Rollen der Klassen bei der Assoziation »Eine Klasse kann »an mehreren Assoziationen teilhaben »dabei in verschiedene Rollen schlüpfen »Die Rolle wird oft nach dem Attributnamen der Referenz benannt Sichtbarkeit der Rolle Rolle

35 35 WS 2012 Assoziation: Aggregation »Spezielle Form der binären Assoziation »Beschreibt, dass eine Klasse ein Teil einer anderen ist »Ein Studiengang kann auch ohne BA- Studenten existieren (auch wenn das nichts Gutes für den Studiengang verheißt)

36 36 WS 2012 Assoziation: Komposition »Starke Form der Aggregation »Sagt aus, dass die Verbindung zwischen den Klassen untrennbar ist. »Wird das komponierende Objekt zerstört können die komponierte Objekte nicht weiterexistieren. »Im Beispiel: »Ein Kurs kann ohne BA-Studenten nicht existieren

37 37 WS 2012 Assoziation: Generalisierung »Mithilfe der Generalisierung ist es möglich, Vererbung zu modellieren »Der Pfeil zeigt stets auf die Superklasse

38 38 WS 2012 Abstrakte Methoden »Durch kursives Schreiben eines Methoden- oder Klassennamens wird dargestellt, dass es sich um eine abstrakte Eigenschaft handelt »Optional wird unterhalb des Klassennamens auch {abstract} notiert abstrakt

39 39 WS 2012 Stereotyp »Können in allen Diagrammarten verwendet werden »Spezifizieren Art des Elementes »Verändern nicht die Semantik »Verändern die Auskunft über Zweck und Rolle des Elementes >

40 40 WS 2012 Gängige Stereotypen > »Dient als Werkzeugkasten für weitere Klassen (e.g. java.util.*) > »Schnittstellendefinition > »Definiert einen Datentypen, der Elemente beinhalten kann (e.g. java.util.Vector) > »Gibt an, dass das Element vom anderen verwendet wird

41 41 WS 2012 Schnittstellen I »Mit Schnittstellen kann man die in Java existierenden Interfaces modellieren »Sie besitzen wie zu erwarten einen Namen und Schnittstellen-Operationen »Oft werden Schnittstellen auch mit dem Stereotyp > oberhalb des Namens gekennzeichnet Name Operationen PartyPerson +feiern(): void

42 42 WS 2012 Schnittstellen II »Durch einen gestrichelten geschlossenen Pfeil kann modelliert werden, dass eine Klasse ein Interface realisiert (implementiert). »Gelegentlich wird dies auch durch die Notation von > am Pfeil betont

43 43 WS 2012 Schnittstellen III Werden Interfaces von anderen Klassen verwendet, modelliert man dies mit einer >-Abhängigkeit

44 44 WS 2012 Objektdiagramm »Basiert auf ein Klassendiagramm »Dient zur Veranschaulichung von Klassendiagrammen »Stellt die instanziierten Objekte zu einem speziellen Zeitpunkt dar »Enthält nur Attribute, keine Methoden »Darf nur Objekte beinhalten, deren Klassen im zugrundeliegenden Klassendiagramm definiert wurden »Darf nur Attribute beinhalten, die diese Klassen definiert haben »Kann unvollständig sein und nur Attribute umfassen, die für den Zustand von Bedeutung sind

45 45 WS 2012 Objektdiagramm KlassendiagrammObjektdiagramm Objektname Zugehörige Klasse Attributname Attributwert Objekt

46 46 WS 2012 Link »Pendant zur Assoziation im Klassendiagramm »Verbinden genau zwei Objekte »Bei 1:n- Multiplizitäten werden Links zu den einzelnen Instanzen modelliert Link

47 47 WS 2012 Namenlose Objekte »Objektnamen können weggelassen werden, wenn sie im Kontext nicht wichtig erscheinen Namenlose Instanz

48 48 WS 2012 Rollen »Entsprechen den Rollen des Klassendiagramms »Werkzeug der Wahl um Objektreferenzen zu modellieren

49 49 WS 2012 Paketdiagramm »Frühe Phasen der Softwareentwicklung (Analyse/Design) »Horizontale Strukturierung »Gruppiert Klassen in Pakete »Klassifizierung von Klassen »Vertikale Strukturierung »Gruppiert Pakete in Unterpakete »Bessere Übersicht (Zoomen)

50 50 WS 2012 Horizontale Strukturierung Pakete

51 51 WS 2012 Vertikale Strukturierung Unterpakete

52 52 WS 2012 Notizen »Notizen sind ein zentrales Element der UML »Sie können in jeder Art von Diagramm verwendet werden »Sie sollen deskriptiv die modellierten Gegebenheiten verdeutlichen Notiz

53 53 WS 2012 Tools »ArgoUML, Open Source »MagicDraw UML, Kommerziell »PlantUML, Open Source »Innovator, Kommerziell »... und viele mehr »Achten Sie bei der Wahl der Tools, ob diese UML 2.0 korrekt darstellen! »Bei PlantUML ist eine Anpassung der Konfiguration nötig.


Herunterladen ppt "1 WS 2012 Software-Engineering II UML."

Ähnliche Präsentationen


Google-Anzeigen