Wenn du eine Hundehأ¼tte bauen willst, so reicht es Prof. Dr. Nikolaus Wulff 1 Wenn du eine...

download Wenn du eine Hundehأ¼tte bauen willst, so reicht es Prof. Dr. Nikolaus Wulff 1 Wenn du eine Hundehأ¼tte

of 75

  • date post

    11-Jul-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Wenn du eine Hundehأ¼tte bauen willst, so reicht es Prof. Dr. Nikolaus Wulff 1 Wenn du eine...

  • Prof. Dr. Nikolaus Wulff 1

    Wenn du eine Hundehütte bauen willst, so reicht es aus sich ein paar Bretter, Nägel und als Handwerkzeug eine Säge, einen Hammer und einen Zollstock zu besorgen. Mit grosser Wahrscheinlichkeit wird nach wenigen Stunden eine halbwegs passable Hundehütte entstehen.

    So lange sie gross genug ist, wird der Hund glücklich sein. Falls nicht, ist es kein Problem wieder von vorne anzufangen oder den Hund zu tauschen ...

    Wenn du ein Hochhaus bauen willst ist dieser Ansatz idiotisch!

    Grady Booch

  • Prof. Dr. Nikolaus Wulff

    Softwaredesign Softwaredesign mit der UML mit der UML Eine Einführung in die Unified Modelling Language

  • Prof. Dr. Nikolaus Wulff 3

    Agenda

    • UML Historie • Modellbildung • • Use Cases & Anforderungen • Klassen & Assoziationen • Dynamische Aspekte • Struktur und Verteilung

  • Prof. Dr. Nikolaus Wulff 4

    Modelle in der Naturwissenschaft

    • Das Erstellen von Modellen ist typisch für die Naturwissenschaften Physik, Chemie etc.

    • Diese Modelle werden meist durch mathematische Gleichungen beschrieben.

    • Häufig werden Modelle zum besseren Verständnis durch entsprechende Grafiken dargestellt.

  • Prof. Dr. Nikolaus Wulff 5

    Problem der Modellbildung • In der Softwareentwicklung gibt es im

    Allgemeinen keine „Naturgesetze“ und somit keine verbindliche Vorschrift wie Modelle erstellt werden.

    • Die UML bietet lediglich eine einheitliche Notation, wie man SWE Modelle abbildet.

    • Dies sagt jedoch wenig dazu, wie man ein Modell findet und entwickelt.

  • Prof. Dr. Nikolaus Wulff 6

    Softwaredesign ist Arbeit

    • Die UML ist ein wichtiger Schritt zu einer gemeinsamen Sprache in der Informatik.

    • Dies erleichtert die Kommunikation und den Wissensaustausch.

    • Sie hebt die Semantik auf eine höhere Ebene und bietet einen besseren Abstraktionsgrad.

    • Jedoch: Gute Software wird nach wie vor von guten Entwicklern gemacht.

    • Und dennoch gilt: Gute Entwickler verwenden die UML!

  • Prof. Dr. Nikolaus Wulff 7

    Softwareentwicklung ist Modellbildung

    Anforderungs- Modelle

    Use Case Modelle

    Anforderer

    Oberflächen- Modelle

    Benutzer

    Klassenmodelle

    Objektmodelle

    HW/SW Systeme

    Implementierungs- Modelle

    Sprachen

    Test- Modelle

    Subsysteme

    Sicherheits- systeme

    Datenbank

    Modelle nicht als Wasserfall sondern inkrementell entwickeln!

  • Prof. Dr. Nikolaus Wulff 8

    UML ist Ansichtssache...

    • UML ist eine visuelle Modellierungssprache. • Ein System wird unter vielen verschiedenen

    Blickwinkeln modelliert. • Für jede Blickrichtung gibt es eine geeignete

    Darstellung bzw. einen Diagrammtyp. • Nicht alle Diagramme sind in jedem Projekt gleich

    wichtig • => sinnvoller Einsatz der Diagramme, je nach

    Problemstellung

  • Prof. Dr. Nikolaus Wulff 9

    Prinzipien der Modellierung

    • Die Wahl der Modelle hat einen signifikanten Einfluss auf die Qualität der Lösung.

    • Jedes Modell lässt sich unterschiedlich detailliert beschreiben.

    • Die besten Modelle zeichnen sich durch ihren hohen Bezug zur Realität aus.

    • Kein einzelnes Modell ist ausreichend. Jedes nicht triviale System wird durch mehrere, kleine lose gekoppelte Modelle beschrieben.

  • Prof. Dr. Nikolaus Wulff 10

    Charakteristika der UML • Die UML beinhaltet:

    – Informelle Semantik – Abstrakte Syntax – Konkrete Notation – Die UML ist eine Modellierungssprache

    • Das leistet die UML nicht: – Sie ist kein Vorgehensmodell. – Sie ist keine Methodik.   Einsatz der UML muss an eine Methodik angepasst

    werden • Beschränkte Erweiterbarkeit:

    – Stereotypen – Tagged Values – Constraints

  • Prof. Dr. Nikolaus Wulff 11

    Modellebenen der Architektur

    Implementierung & Komponenten

    Verteilung & Maschinen

    Prozesse & Threads

    Analyse & Design

    Use Case / Anforderungen

  • Prof. Dr. Nikolaus Wulff 12

    Gliederung der UML

    • Die Diagrammtypen der UML lassen sich grob klassifizieren:

    Statische Sicht Klassendiagramm Komponentendiagramm Deploymentdiagramm

    Dynamische Sicht

    Use Case Diagramm Sequenzdiagramm Kollaborationsdiagramm Zustandsdiagramm

    Prozess Sicht Aktivitätendiagramm

  • Prof. Dr. Nikolaus Wulff 13

    Diagramme der UML (I)

    Diagramm Aktivität Einsatzgebiet Use Case Anforderung,

    Festlegung, Erstellung, Übergabe

    Geschäftsprozesse, allgemeine Einsatzmöglichkeiten

    Klassendia- gramm

    Festlegung, Erstellung

    So gut wie überall; das Klassendiagramm ist das wichtigste Diagramm der UML

    Interaktions- diagramm

     Sequenzdia- gramm

     Kollaborations- diagramm

    Anforderung, Festlegung, Erstellung, Übergabe

    Zeigt den Nachrichtenfluß und damit die Zusammenarbeit der Objekte im zeitlichen Ablauf.

     Zeitliche Aufrufstruktur mit wenigen Klassen

     Zeitliche Aufrufstruktur mit wenigen Nachrichten

    Zustands- diagramm

    Anforderung, Festlegung, Erstellung, Übergabe

    Darstellung des dynamischen Verhaltens

  • Prof. Dr. Nikolaus Wulff 14

    Use Case / Szenario • Ein Use Case beschreibt vom Anfang bis zum Ende,

    wie ein Benutzer mit dem System agiert, um ein bestimmtes Ziel zu erreichen,.

    • Die „W“-Fragen zum Finden eines Use Case lauten: – Wer (= > Akteur) macht – Was (=> Aktion) mit – Wem (=> Teil/Komponente des Systems) – Wozu (=> Endresultat)

    • Es geht nicht darum wie das System etwas macht! • Es geht um das Systemverhalten aus Sicht der

    Benutzerziele.

  • Prof. Dr. Nikolaus Wulff 15

    Szenarien, Varianten & Stories

    • Ein erster Ansatz zu einem Use Case lässt sich durch das Schreiben von kurzen Szenarien oder (Stories in der XP Syntax) finden.

    • Der Benutzer beschreibt in seiner Sprache wie er mit dem System umgeht bzw. umgehen möchte.

    • Häufig wird unterteilt nach Ist-Zustand und einer zukünftigen System Vision.

    • Im Prinzip geht es immer um das Gleiche: • Finde heraus, was der Anforderer wirklich vom

    System möchte ...

  • Prof. Dr. Nikolaus Wulff 16

    Use Case & Anforderung

    • Die verschiedenen Anforderungen der Benutzer sind meistens an bestimmte Arbeitsschritte gebunden.

    • Ein Use Case beschreibt aus Benutzersicht einen bestimmten Weg durch das System.

    • Verschiedene Arbeitsschritte werden in einem Use Case durchlaufen.

    • Dieser Ablauf wird in einer Use Case Beschreibung dokumentiert.

  • Prof. Dr. Nikolaus Wulff 17

    Use Case Beispiel Finanzierung berechnen

    Kurzbeschreibung Die Finanzierungskonditionen eines Leasingpaketes wird nach Anfrage der Leasinggesellschaft durchgeführt.

    Beteiligte Akteure SB Sachbearbeiter Leasing-Abteilung SYS Das EDV System zur „Leasing (Re)Finanzierung“

    Auslöser Anfrage eine Leasinggesellschaft Eingaben Leasinggesellschaft und Leasingvertrag Ausgaben Angebot(e) für eine Finanzierung Vorbedingungen Leasinggesellschaft muss mit ihren Konditionen im System bekannt

    sein Nachbedingungen Angebotsmappe ist der Leasinggesellschaft zugeordnet Häufigkeit Tag: 10- 20 / SB Woche: Monat: Jahr:

    Ablauf:

    1. SB Sucht die LG aus 1.1. Eingabe der LV Daten 1.2. Durchführung der Berechnung 1.3. 2. 2.1.

    Ausnahmen und Varianten

    A1.4. SB Neue Leasinggesellschaft A1.4.1 V1.8. V1.8.1

    Qualitätssicherung

  • Prof. Dr. Nikolaus Wulff 18

    Use Case Diagramm

    • Use Cases lassen sich mit Diagrammen visualisieren. (=> besserer Überblick)

    • Diese Diagramme ersetzen jedoch nicht eine vollständige Use Case Beschreibung.

    • Die Summe aller Use Cases deckt die gesamte Funktionalität des Systems aus der Sicht der verschiedenen Benutzer(rollen) ab.

    • => alle Benutzerziele müssen erreicht sein.

  • Prof. Dr. Nikolaus Wulff 19

    Use Case Diagramm (II)

    • In der obersten Sicht werden die beteiligten Akteure (=> Benutzer, externe Systeme) und ihre Kommunikation mit dem System dargestellt.

    • Dies markiert zu gleich die Systemgrenzen. • Auch die externen Systeme und Benutzer im

    System müssen richtig modelliert werden. – => „Dialoge“ für Benutzer – => technische Schnittstellen für Systeme

  • Prof. Dr. Nikolaus Wulff 20

    Use Case Strukturierung • Use Cases können mit den Beziehungen

    – uses / includes (Benutzt-Beziehung) – extends (Spezialisierungs-Beziehung)

    strukturiert und „wiederverwendet“ werden. • Die visuelle Notation sieht hierzu die selben

    Symbole, wie in den Klassendiagrammen für die Vererbung vor.

    • Die Beziehung selbst wird durch die Stereotypen includes und extends kenntlich gemacht.

  • Prof. Dr. Nikolaus Wulff 21

    UCD: Vertragerstellung

    Systemgrenze

    «uses»

    «uses»«include»

    «include»

    ext. System als Akteur modelliert