Softwaretechnik SS Vorlesungseinheit

Ähnliche Dokumente
Softwaretechnik SS 2006

OOA-Dynamische Konzepte

Unified Modeling Language (UML )

Übungen Softwaretechnik I

Software Engineering in der Praxis

Unified Modeling Language 2

Objektorientierte Softwareentwicklung

UML (Unified Modelling Language) von Christian Bartl

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Objektorientierte Analyse (OOA) Inhaltsübersicht

UML 2.0 Das umfassende Handbuch

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Software Engineering in der Praxis

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Unified Modeling Language (UML)

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Software-Engineering

Unified Modeling Language. Lerneinheit 2. UML - Diagramme. Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg. überarbeitet UML 2.0

Sequenz- und Kommunikationsdiagrammen. Systemmodellierung mit SysML von Michel Manthey

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

SEQUENZDIAGRAMM. Christoph Süsens

Vgl. Oestereich Kap 2.1 Seiten

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011

Oracle JDeveloper 10 g

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

UML 2 glasklar Praxiswissen für die UML-Modellierung

Orientierte Modellierung mit der Unified Modeling Language

Interaktionsdiagramme in UML

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Rhapsody in J Modellierung von Echtzeitsystemen

UML - Aktivitätsdiagramm

UML fürs Pflichtenheft

Inhaltsverzeichnis.

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Vorlesung Programmieren

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Analyse und Modellierung von Informationssystemen

Softwaretechnik SS 2006

Von UML 1.x nach UML 2.0

Software-Engineering SS03. Zustandsautomat

Modellierung von Web Anwendungen mit UML

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar Grundlagen. Neubearbeitung 2010

Gliederung des Vortrages

Software- und Systementwicklung

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

Software Engineering in der Praxis Praktische Übungen

Unternehmensmodellierung

UML konzentriert. Eine kompakte Einführung in die Standard-Objektmodellierungssprache. Martin Fowler. ADDISON-WESLEY An imprint of Pearson Education

Softwaretechnik Unified Modeling Language (UML)

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Methoden des Software Engineering

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Objektorientierte Analyse & Design

UML. Weiteres Vorgehen im Projekt

3. Analysephase Anforderungen, Anwendungsfälle Softwaretechnik (CNAM)

Aktivitätsdiagramm (Activity Diagram)

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Systemanalyse. - Seminar für AI/DM 3 im Wintersemester 2004/05 -

OOA.3.1 Funktionsanalyse mit Anwendungsfalldiagrammen (Szenarienanalyse)

Klausur zur Vorlesung Softwaretechnik

Übersicht der UML Diagramme

Klassendiagramm. (class diagram)

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen

Klausur Softwaretechnologie WS 2014/15

Klausurvorbereitung Software Engineering TFH Berlin

Software Engineering Interaktionsdiagramme

Universität Karlsruhe (TH)

Vorlesung Software-Engineering I

Software Engineering I

2. Übung zu Software Engineering

Aufgabe 1: Sequenzdiagramm Gegeben ist das in Abbildung 1 dargestellte (vereinfachte) Sequenzdiagramm mit sechs Ereignissen (a-f ).

J.2 Objektorientiertes Modellieren mit UML

Vorlesung Informatik II

PRÜFUNG. Grundlagen der Softwaretechnik

3. Tutorium zu Softwaretechnik I

Softwaretechnik 1 Tutorium

Obligatorische Literatur. Überblick Teil III: Objektorientierte Analyse (OOA) 35.1 Anwendungsfalldiagramme

UML mit Enterprise Architect

Programmieren in Java

Aufgabe 1 (Anwendungsfalldiagramm)

Geschäftsabläufe und Beziehungen zwischen. (Mitarbeitende / Geschäftsobjekte)

RUP Analyse und Design: Überblick

Beispielklausur B MPGI 3

Einführung in die OOP mit Java

6. Zustandsorientierte Modellierung

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Johannes Hofer. SCL und OOP. mit dem TIA Portal. Ein Leitfaden für eine objektorientierte Arbeitsweise. 2., neu bearbeitete Auflage VDE VERLAG GMBH

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

1. Erläutere ausführlich, welche Beziehung zwischen den Klassen bzw. Interfaces

Workflows: Anforderungserhebung und analyse

Teil II: OOP und JAVA (Vorlesung 9)

OOD. [Objekt Orientiertes Design] Version 1.0. OSBS- OnlineShopBewertungsSystem

Geschäftsprozesse modellieren mit Innovator Business

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Transkript:

Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006

Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt. Vorgehensmodelle (insbes. RUP) Best-Practices Projektmanagement (?) OO-Grundbegriffe (UML) (Geschäftsprozeßmodellierung) Analyse / OOA Entwurf / OOD Entwurfsmuster Implementierung ( ) QM-Grundlagen Produktqualität (Testen, Reviews) Prozeßqualität (CMMI, ISO) Exemplarische Umsetzung ausgewählter Aspekte im Praktikum 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 2

Softwaretechnik (SWT) SS 2006 Lernziele der 7. Vorlesungseinheit Wiederholung der Umsetzung von UML-Assoziationen in C++ Wichtige dynamische UML-Diagramme kennen und anwenden können Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Zustands(übergangs)diagramm Aktivitätsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 3

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 4

Vom Klassendiagramm zum C++-Code UML-Notation C++-gerechte Notation C++-Code 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 5

Die Umsetzung von Assoziationen in der UML in C++-Code UML-Klassendiagramm Realisierung in C++ 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 6

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 7

Die Diagramme der UML 2.0 im Überblick Quelle: M. Jeckle 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 8

Die UML eignet sich zur durchgängigen (OO)-Modellierung statischer und dynamischer Aspekte bis zur Implementierung Statische Diagramme (Struktur-Diagramme) Klassendiagramm Objektdiagramm Paketdiagramm Dynamische Diagramme (Verhaltens-Diagramme) Use-Case-Diagramm Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm (bis UML 1.4: Kollaborationsdiagramm) Zustands(übergangs)diagramm Aktivitätendiagramm Implementationsdiagramme (behandeln wir nicht im Rahmen dieser Vorlesung) Komponentendiagramm Verteilungsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 9

Szenarios bilden die Grundlage für die Erstellung dynamischer Diagramme Szenario Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen ist Diese Schritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern Sie beginnen mit dem auslösenden Ereignis und werden fortgesetzt, bis das Ziel erreicht ist oder aufgegeben wird Ein Anwendungsfall kann durch eine Kollektion von Szenarios dokumentiert werden Jedes Szenario wird durch eine oder mehrere Bedingungen definiert, die zu einem speziellen Ablauf des jeweiligen Anwendungsfalls führen. Akteur: ist außerhalb des Systems liegende Rolle, z.b. Benutzer oder externes System. Der Akteur löst ein Szenario aus. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 10

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Sequenzdiagramme Kollaborationsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 11

Die Darstellung von Szenarien erfolgt in der UML mit Interaktionsdiagrammen auf 2 Arten Szenario als textuelle Beschreibung Eine Touristin A übermittelt erst das Reiseziel und dann den Reisetermin an das Informationssystem Travel. Das System nennt ihr darauf den Preis der Reise. Sie ist einverstanden und gibt den Buchungsauftrag. Nach dessen Eingang erhält sie eine Bestätigung. Die Interaktionen dieses Szenarios können mit Interaktionsdiagrammen graphisch dargestellt werden: Sequenzdiagramm (zeitliche Abfolge ist wichtig) Kommunikationsdiagramm (logische Abfolge ist wichtig) 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 12

UML Darstellung von Szenarien als Interaktionsdiagramme Sequenzdiagramm (Zeitliche Abfolge!) A: Tourist Travel: System Reiseziel Reisetermin Reisepreis Buchungsauftrag Bestätigung Kommunikationsdiagramm (Informationsaustausch) 1. Reiseziel 2. Reisetermin 4. Buchungsauftrag A: Tourist Travel: System 3. Reisepreis 5. Bestätigung 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 13

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 14

Zustandautomaten (StateCharts) Bei technischen Systemen ist es oft nützlich, wenn man die verschiedenen Zustände und die zulässigen Zustandsübergänge geeignet modellieren könnte. Erweiterung des Konzeptes der endlichen Automaten führt zum Zustandsautomat: Zustände und Zustandsübergänge Schachtelung in Super- und Subzustände Parallele Komposition von Zuständen Variablen, Kommunikation per Broadcast beispielsweise für technische Systeme viel verwendet Beispiele für Tools: StateMate, Rhapsody 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 15

Modellierung von Objektzuständen mithilfe von Zustandsdiagrammen Zustand beschreibt Eigenschaften des Objekts zu einem bestimmten Zeitpunkt Attributwerte Beziehungen zu anderen Objekten Zustandsname soll daher kein Verb sein, sondern Adjektiv / Partizip Ereignis tritt zu einem bestimmten Zeitpunkt auf, keine Dauer neuer Attributwert Signal (z.b. Abschluss einer Operation) Ereignis häufig als Botschaft anzusehen Name kann entfallen, da Aktion (=Operation) gleichnamig 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 16

Zustands-(übergangs)diagramme in der UML Quelle: Rational Corp. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 17

Zustandsautomaten in der OO-Welt: Lebenszyklus eines Buch-Objektes in einem Bibliothekssystem Buch defekt / entfernen() präsent neues Buch liegt vor / erfassen() after (Abholf rist vorbei) Ausleihw unsch / ausleihen() Leser gibt Buch z urück / zurückgeben() Buch erfassen() ausleihen() zurückgeben() vorbestellen() ent fer nen() Buch v erloren / entfernen() Ausleihw unsch / vorbestellen() ausgel iehen Leser holt Buch ab / ausleihen() zur Abholung berei t vorbest ell t Leser gibt Buch zurück / zurückgeben() 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 18

Modellierung von Objektzuständen: Beispiel Objektlebenszyklus Tank Beispiel eines Objekt-Lebenszyklus neues Soll / Soll einstellen leer Tank #maxfuellhoehe -sollfuellhoehe -istfuellhoehe +fuellen() +leeren() #solleinstellen() füllend do: füllen voll leerend do: leeren starte füllen ist voll starte leeren ist leer 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 19

Beispiel: Zustandsautomat einer Digitaluhr in Tabellenform Zustandstabelle Tabelle mit 4 Spalten: Aktueller Zustand Ereignis (Eingabe) Aktion (Ausgabe) Folgezustand Beispiel Digitaluhr als Tabelle Zustand Ereignis Aktion Folgezustand Normalzeit Knopf 1 Stunden blinken Stunden stellen Stunden stellen Knopf 1 Minuten blinken Minuten stellen Stunden stellen Knopf 2 Stunden erhöhen Stunden stellen Minuten stellen Knopf 1 Sekunden blinken Sekunden stellen Minuten stellen Knopf 2 Minuten erhöhen Minuten stellen Sekunden stellen Knopf 1 Normalanzeige Normalzeit Sekunden stellen Knopf 2 Sekunden stellen Sekunden stellen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 20

Beispiel: Zustandsautomat einer Digitaluhr Start Knopf 1 gedrückt / Stunden blinken Normalzeit Knopf 1 gedrückt / Normalanzeige Stunden stellen Sekunden stellen Knopf 2 gedrückt / Stunden erhöhen Knopf 1 gedrückt / Minuten blinken Minuten stellen Knopf 1 gedrückt / Sekunden blinken Knopf 2 gedrückt / Minuten erhöhen Knopf 2 gedrückt / Sekunden stellen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 21

Zustandsautomaten und Zustandsdiagramme: Anwendung Zustandsautomaten......eignen sich gut dazu, das Verhalten von Elementen, z.b. von Objekten oder Interaktionen, zu beschreiben...werden am häufigsten dazu eingesetzt, den Lebenszyklus eines Objektes zu modellieren Alle Objekte einer Klasse besitzen denselben Zustandsautomaten Jedes Objekt kann einen individuellen Zustand einnehmen I. Allg. ist es nicht notwendig, für jede Klasse einen Zustandsautomaten aufzustellen. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 22

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 23

Aktivitätsdiagramme sind eine Variante des Zustandsdiagramms und eignen sich gut zur Geschäftsprozessmodellierung Vergleichbar mit den»alten«flussdiagrammen bzw. Programmablaufplänen (PAPs). Eignen sich deshalb gut für Kontrollfluß-Darstellungen Dienen zur Beschreibung von Abläufen: Was tun einzelne Schritte eines Ablaufs In welcher Reihenfolge werden sie ausgeführt Wer ist für einen Schritt verantwortlich (optional) Einsatzfelder: Beschreibung eines Anwendungsfalls Beschreibung des Zusammenspiels von Anwendungsfällen Beschreibung von Geschäftsprozessen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 24

Aktivitätsdiagramme benutzen die folgenden Symbole Aktivität n Die 4 Konnektoren von UML- Aktivitätsdiagrammen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 25

Beispiel für ein einfaches Aktivitätsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 26

Aktivitäten und Übergänge im Aktivitätsdiagramm sind ähnlich, aber doch anders als bei Zustandsdiagrammen Aktivität: ist Zustand mit interner Aktion entspricht Zustand bei Zustandsautomaten Übergänge modellieren Kontroll- und Objektfluss, z.b. bei Anwendungsfällen beim Zusammenspiel verschiedener Methoden zur Beschreibung des Ablaufs in einer Methode Übergänge nicht abhängig von Ereignissen Bedingungen möglich Aufteilung und Synchronisation durch Balken zusätzlich Synchronisationsbedingungen möglich 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 27

Aktivitäten und Übergänge: Beispiel Teepause - mit Guard Conditions zur Steuerung der Verzweigungen Wasser kochen Tee auswählen [Wasser siedet] Tee in Filter tun [Tee grün] 10 Min. warten [Tee schwarz] Tee aufgießen 3 Min. warten Tasse holen Filter entfernen Tasse füllen Tasse nehmen Tee trinken Tasse abstellen [nicht leer] [leer] PIWIN lesen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 28

Swimlanes erlauben die Definition von Rollen und Verantwortlichkeiten in Aktivitätsdiagrammen Verantwortlichkeitsbereiche entsprechen Handelnden Gast Bedienung Theke Platz nehmen Zeitung nehmen Kaffee bestellen Bestellung aufnehmen Kaffee bereiten servieren Zeitung lesen Kaffee trinken Rechnung schreiben bezahlen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 29

Fragen? 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 30