Software-Engineering



Ähnliche Dokumente
Software-Engineering

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

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

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

Software Engineering in der Praxis

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

Vorlesung Programmieren

Unified Modeling Language (UML)

Klausur Software-Engineering SS 2005 Iwanowski

Gliederung des Vortrages

Software Engineering in der Praxis

SEQUENZDIAGRAMM. Christoph Süsens

RUP Analyse und Design: Überblick

Requirements Engineering I

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Software-Engineering SS03. Zustandsautomat

Klassendiagramm. (class diagram)

UML (Unified Modelling Language) von Christian Bartl

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Unified Modeling Language (UML )

4. Übung zu Software Engineering

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

UML 2.0 Das umfassende Handbuch

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Das umfassende Handbuch

4. AuD Tafelübung T-C3

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Programmieren in Java

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Software Engineering I

Unternehmensmodellierung

1 Mathematische Grundlagen

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Software-Engineering

Softwaretechnik SS 2006

Use Cases. Use Cases

Produktskizze. 28. November 2005 Projektgruppe Syspect

Grundlagen der Softwaretechnik

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Übungen zur Softwaretechnik

Software Engineering in der Praxis Praktische Übungen

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Rhapsody in J Modellierung von Echtzeitsystemen

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

PRÜFUNG. Grundlagen der Softwaretechnik

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

Klausur "OOAD" im SS Name, Vorname: Matrikel-Nr:

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Zwischenablage (Bilder, Texte,...)

Software-Engineering

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Systemdenken und Gestaltungsmethodik System-Modellierung

Business Process Model and Notation

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

UML 2 glasklar Praxiswissen für die UML-Modellierung

Grundlagen Software Engineering

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

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

2. Tutorium zu Softwaretechnik I

Software Engineering Interaktionsdiagramme

SWE5 Übungen zu Software-Engineering

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

UML - Tutorial. Hubert Baumgartner.

Konzepte der Informatik

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Vorlesung "Software-Engineering"

Motivation. Motivation

Objektorientierte Programmierung

Arbeiten mit UMLed und Delphi

Datenbankmodelle 1. Das Entity-Relationship-Modell

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

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Lehrer: Einschreibemethoden

Professionelle Seminare im Bereich MS-Office

Software-Engineering

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Professionelle Seminare im Bereich MS-Office

Geld Verdienen im Internet leicht gemacht

Unified Modeling Language

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnik Unified Modeling Language (UML)

Benutzerhandbuch - Elterliche Kontrolle

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

SMS-Tool. Seite 1 von 8

Transkript:

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 2 UML: Was ist das? UML = Unified Modelling Language ist ein Standard, kein Case-Tool (CASE = Computer Aided Software Engineering) entworfen von James Rumbaugh, Ivar Jacobsen, Grady Booch führt Konzepte zusammen, die ursprünglich unabhängig voneinander entwickelt worden sind wird durch das CASE-Tool Rational Rose unterstützt Konkurrenzprodukte: Together, etc. Kern ist die Beschreibung von Systemen (real und Software) mit objektorientierter Terminologie bietet zusätzlich Beschreibungsmöglichkeiten für Prozesse Anspruch: Software wird nach Beschreibung in UML automatisch erstellt

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 3 UML: Historie aus: Wolfgang Zuser / Thomas Grechenik / Monika Köhle: Software Engineering mit UML und dem Unified Process, Kap. 7, Pearson Studium 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 4 UML: Bestandteile = use case diagram = Verteilungsdiagramm = deployment diagram Paketdiagramm = Kommunikationsdiagramm? Kompositionsstrukturdiagramm nach: Wolfgang Zuser / Thomas Grechenik / Monika Köhle: Software Engineering mit UML und dem Unified Process, Kap. 7, Pearson Studium 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 5 UML: Klassendiagramme Anmerkungen zu Beziehungen: Die allgemeine Beziehungsklasse Assoziationen dient zur Beschreibung nicht näher spezifizierte Beziehungen. Eine ungerichtete Assoziation zwischen zwei Klassen beschreibt die Beteiligung beider Klassen an einer Beziehung im Sinne einer ER- Assoziation. Die spezielle Beziehung Aggregation beschreibt Teilobjekte: Es ist sinnvoll, dass solche Teilobjekte die Werte von Attributen des zusammengesetzten Objektes sind. Die spezielle Assoziation Komposition bedeutet: Ein Wegfall des zusammengesetzten Objekts hat den Wegfall des Teilobjekts zur Folge. Die spezielle Assoziation Generalisierung hat die Vererbung der Attribute und Methoden auf die spezialisierten Klassen zur Folge.

UML: Klassendiagramme Unterschied in UML-Klassendiagrammen zwischen Systemanalyse und Softwareentwurf: Richtungspfeile bei allgemeinen Assoziationen sind erst im Softwareentwurf sinnvoll: Sie entsprechen der Erreichbarkeit eines implementierten Objekts von dem anderen Objekt aus. Eine gerichtete Assoziation von einer Klasse A nach Klasse B wird genau dann verwendet, wenn ein Attribut oder eine Methode von A die Kenntnis der Klasse B benötigt. Zusammenfassung: In der Systemanalyse sollten grundsätzlich ungerichtete Assoziationen verwendet werden. Im Softwareentwurf sollten grundsätzlich gerichtete Assoziationen (unioder bidirektional) verwendet werden. Bei den Beziehungsklassen Aggregation, Komposition und Generalisierung gibt es keine Unterschiede zwischen Systemanalyse und Softwareentwurf. FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 6

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 7 UML: Use-Case-Diagramme zur Beschreibung und Spezifikation von Systemen 1. Beispiel: Shop

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 8 Erklärung der Symbole: UML: Use-Case-Diagramme Aktor (Strichmännchen): Jemand der mit dem System interagiert (d. h. außerhalb des Systems): muss keine natürliche Person sein Use case (Ellipse): Anwendungsfall : Nach außen sichtbare Teilfunktionalität des Systems Kann in nachfolgenden Beschreibungen hierarchisch verfeinert werden Zwischen zwei Aktoren muss mindestens ein use case sein! System (Rechteck): Zusammenfassung von use cases Unterscheidung von innen und außen

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 9 UML: Use-Case-Diagramme 2. Beispiel: Einfache Uhr aus: Bernd Brügge / Allen H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Kap. 2, Pearson Studium 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 10 UML: Use-Case-Diagramme Ziele einer Use-Case-Beschreibung: Zur hierarchischen Beschreibung eines Systems Grobe Beschreibung einzelner Transaktionen Weitere Beschreibungsmöglichkeiten für Beziehungen zwischen use cases: extends : Beschreibung einer Teilfunktionalität, die aber nicht immer ausgeführt wird (verzweigt sich bei so genannten Extension points des ursprünglichen use cases) includes : Teilprozess, der von mehreren use cases benutzt werden kann

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 11 UML: Use-Case-Diagramme 2. Beispiel (erweitert): Einfache Uhr Extension points: Tageslicht Zeit ablesen <<extend>> <<include>> Beleuchtung einschalten Condition: {dunkel} Extension point: Tageslicht Uhrbenutzer Zeit einstellen <<include>> Knopf drücken Batterie wechseln Uhrmacher

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 12 UML: Sequenzdiagramme zur Beschreibung des Ablaufs von Transaktionen und Interaktionen Transaktion: Menge von Nachrichten, die zwischen einer Gruppe von Objekten ausgetauscht werden, um eine bestimmte Operation oder ein bestimmtes Ergebnis zu veranlassen. In vielen Anwendungsfällen müssen Transaktionen unteilbar sein und weitere Anforderungen erfüllen (z.b. im Anwendungsfall Datenbanken) Interaktion: Der Austausch einer einzelnen Nachricht

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 13 UML: Sequenzdiagramme 1. Beispiel: Veranstaltungsbuchung am Kiosk per Kreditkarte

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 14 UML: Sequenzdiagramme 2. Beispiel: Fahrkartenbuchung für registrierte Kunden

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 15 3. Beispiel: Einfache Uhr UML: Sequenzdiagramme aus: Bernd Brügge / Allen H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Kap. 2, Pearson Studium 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 16 UML: Zustandsübergangsdiagramme (Statecharts) zur Beschreibung von dynamischen Objekten des Systems Zustandsübergangsdiagramme beschreiben: die Lebenshistorie von Objekten einer Klasse die Ereignisse, die einen Übergang (Transition) von einem Zustand zu einem anderen veranlassen die Aktionen, die sich aus diesem Zustandswechsel ergeben Ereignis Zustand Zustand Anfangszustandsmarke Transition Transition Ereignis Transition Aktion Aktion Aktion Aktion Ereignis Endzustandsmarke

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 17 UML: Zustandsübergangsdiagramme (Statecharts) Klassifizierung der Aktionen: Generell wird eine Aktion bezeichnet durch: Ereignis / Aktion entry-aktionen werden immer ausgeführt beim Betreten des Zustandes exit-aktionen werden immer ausgeführt beim Verlassen des Zustandes interne Aktion Aktion, die durch irgendein anderes Ereignis ausgelöst wird, aber nicht den Zustand verlässt. do-aktivität (längere) Aktion, die ausgeführt wird, während der Zustand andauert wird entweder beendet durch vorgesehene Beendigung der Aktion oder durch Auftreten eines Ereignisses, das einen Zustandsübergang verursacht entspricht einer internen Aktion, die unmittelbar ausgeführt wird (also ohne spezielles Ereignis)

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 18 UML: Zustandsübergangsdiagramme (Statecharts) 1. Beispiel: Verkehrsampel rot gelb grün entry / rotes Licht an entry / timeout = 0 do / timeout = timeout + 1 exit / rotes Licht aus when (timeout = 2) entry / gelbes Licht an entry / timeout = 0 do / timeout = timeout + 1 exit / gelbes Licht aus entry / grünes Licht an entry / timeout = 0 when do / timeout = timeout + 1 (timeout = 30) exit / grünes Licht aus when (time 22:00) when (time 6:30) when (timeout = 30) and (time 22:00) blinkend do / Endlosschleife: gelbes Licht an gelbes Licht aus exit / gelbes Licht aus rotgelb entry / rotes und gelbes Licht an entry / timeout = 0 do / timeout = timeout + 1 exit / rotes und gelbes Licht aus when (timeout = 2)

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 19 UML: Zustandsübergangsdiagramme (Statecharts) 2. Beispiel: Stellen einer Uhr Korrigieren Sie die Ungenauigkeiten! aus: Bernd Brügge / Allen H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Kap. 2, Pearson Studium 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 20 UML: Aktivitätsdiagramme (Version UML2) Aktivitätsdiagramme als Alternative zu Zustandsdiagrammen: Transitionen werden grundsätzlich durch die Beendigung von Aktionen ausgelöst spezielle Notation für parallele Abläufe wesentlich mächtigerer Beschreibungsapparat Anleihen von Petri-Netzen: Tokenkonzept (potentiell unendlich viele, Tokens werden im Diagramm aber nicht dargestellt) Maximalgewichte für Kanten und Maximalkapazitäten für Objekte semantische Bedeutung von parallelen Abläufen

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 21 UML: Aktivitätsdiagramme (Version UML2) Elemente von Aktivitätsdiagrammen: Aktionsknoten: kleinste ausführbare Funktionseinheit Objektknoten: Datenbehälter (zum Weitergeben) Kontrollknoten: für Entscheidung und Zusammenführung im Kontrollfluss Synchronisationsbalken: für nichtdeterministische Verzweigung und Synchronisation Aktivitätsbereiche: Zusammenfassung von Teildiagrammen zu höheren Einheiten Startzustand: Einsetzpunkt der Aktivität (muss nicht eindeutig sein) Ablaufende: Ende eines Kontrollflusses (andere können noch aktiv sein) Endzustand: Ende der gesamten Aktivität

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 22 Beispiel: Ausgiebige Party UML: Aktivitätsdiagramme (Version UML2) aus: Mario Jeckle et al.: UML2 glasklar, Hanser 2004

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 23 Strukturdiagramme: Zusammenfassung: UML Klassendiagramme mit Beziehungen und Hierarchien: objektorientierte Systembeschreibung Objektdiagramme: Ausschnitte der Klassendiagramme mit bestimmten Zuständen Paketdiagramme: Zusammenfassung größerer Einheiten nach logischen Gesichtspunkten Kompositionsstrukturdiagramme: Hierarchische Zusammensetzung von Strukturen Komponentendiagramm: Modulare Zusammensetzung über die Schnittstellen Verteilungsdiagramm: Verteilung der Systemkomponenten zur Laufzeit Klassifizierung nach Mario Jeckle

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 24 Verhaltensdiagramme: Zusammenfassung: UML Use Cases: Beschreibung von Anwendungsszenarien (Außensicht auf das System) Sequenzdiagramme: Beschreibung von Prozessabfolgen Zustandsübergangsdiagramme: Beschreibung von Zustandsabfolgen Aktivitätsdiagramme: spezielle Zustands-Aktivitäts-Beschreibungen Kooperationsdiagramme: Prozessorientierter Zusammenhang der verschiedenen Komponenten Timingdiagramm: Exakte Modellierung der Abfolge der Zustände Interaktionsdiagramm: Generalisierung von Interaktionen (Sequenz- und Kommunikationsdiagramm) Klassifizierung nach Mario Jeckle

FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 25 Literaturempfehlungen für UML Heide Balzert, UML 2 kompakt, Spektrum 2005, ISBN 3-8274-1389-3 Bernd Brügge / Allen H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, Pearson Studium 2004, ISBN 3-8273-7082-5 Mario Jeckle / Chris Rupp / Jürgen Hahn / Barabara Zengler / Stefan Queins: UML2 glasklar, Hanser 2004, ISBN: 3-446-22575-7 Vortrag zum Buch unter: http://www.jeckle.de/files/giarch.pdf Jochen Seemann / Jürgen Wolff von Gudenberg: Software-Entwurf mit UML, Springer-Verlag 2006 (2. Auflage), ISBN 3-540-30949-7 Wolfgang Zuser / Thomas Grechenik / Monika Köhle: Software Engineering mit UML und dem Unified Process, Pearson Studium 2004, ISBN 3-8273-7090-6