Software Engineering in der Praxis



Ähnliche Dokumente
Software Engineering in der Praxis

Software Engineering in der Praxis

Objektorientiertes Design

Software Engineering in der Praxis

Software Engineering in der Praxis Praktische Übungen

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

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

Unified Modeling Language (UML)

Klassendiagramm. (class diagram)

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

UML 2.0 Das umfassende Handbuch

Das umfassende Handbuch

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

Vorlesung Programmieren

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

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

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

Objektorientierte Analyse

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

Software Engineering in der Praxis

Unternehmensmodellierung

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

SEQUENZDIAGRAMM. Christoph Süsens

UML (Unified Modelling Language) von Christian Bartl

Softwaretechnik SS 2006

Klausur Software Engineering für WI (EuI)

Unified Modeling Language (UML )

4. Übung zu Software Engineering

Systems Engineering mit SysML/UML

Übungen zur Softwaretechnik

NACHRICHTENTECHNISCHER SYSTEME

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Gliederung des Vortrages

Softwareentwicklungspraktikum Sommersemester Grobentwurf

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

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

RUP Analyse und Design: Überblick

Rhapsody in J Modellierung von Echtzeitsystemen

Software-Engineering

Software Engineering Interaktionsdiagramme

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

Unified Modeling Language

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

Unified Modeling Language 2

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Objektorientierte Programmierung OOP

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

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer

SWE5 Übungen zu Software-Engineering

Software Engineering Analyse und Analysemuster

Requirements Engineering I

PRÜFUNG. Grundlagen der Softwaretechnik

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

Methodische objektorientierte Softwareentwicklung

2. Tutorium zu Softwaretechnik I

Programmierung von Steuerungen künftig objektorientiert?

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

Vorlesung Programmieren

Grundlagen der Softwaretechnik

Software Engineering in der Praxis

Übung 4. Musterlösungen

Vorlesung "Software-Engineering"

Vgl. Oestereich Kap 2.7 Seiten

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

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

Objektorientierte Softwareentwicklung

Übung 1. Ziel: Statisches Modell (Klassendiagramm) aus allgemeiner Beschreibung erstellen.

Praktikum Software Engineering

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

SWT MN Vorlesung Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster

7. Analyse-Phase: Datenmodellierung Software Engineering

3. Konzepte der objektorientierten Programmierung

Erfahrungsbericht: Einsatz objektorientierter Methoden in Flugkörper-Software

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Analyse und Design mit U ML 2.3

Software Engineering I

Analyse und Design mituml2.1

I nhaltsverzeichnis. 2 Pragmatischer Modellierungsprözess SYSMOD Fallbeispiel Die Systemidee 43.

Übersicht der UML Diagramme

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

Softwaretechnik Unified Modeling Language (UML)

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Software Engineering in der Praxis

Modellbasierte Softwareentwicklung

INSPIRE - Modellierung

Studientag 1793 Software Engineering I. 6. Juli 2014

Objektorientiertes Software-Engineering

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Use Cases. Use Cases

Inhaltsverzeichnis.

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle

PRÜFUNG. Grundlagen der Softwaretechnik

Einführung in die objektorientierte Programmierung

Softwaretechnik SS 2006

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

Code-Erzeugung aus UML-Klassendiagrammen

Objektorientierte Analyse

Transkript:

Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16

Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 2 / 16

1 Inhalt 2 Nachlese Lernziele der letzten Woche(n) Objektorientierte Analyse 3 Objektorientiertes Design Strukturmodellierung Verhaltensmodellierung Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 3 / 16

Model Checking CTL-Formeln NuSMV: Synchrone und asynchrone Automaten Lebendigkeit als Begriff mit Abstufungen NuSMV: Nichtdeterminismus interaktive Simulation und automatischer Beweis Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 4 / 16

Analysewerkzeuge der UML Anwendungsfalldiagramme Bestimmung, welche Leistungen des Systems erbracht werden Vorwiegend aktionsorientiert Sicht auf die Systemgrenzen Aktivitätsdiagramme Kontroll- und Datenfluss kann dargestellt werden Swimlane ordnet Aktionen und Kontrollflusselemente zu Systemstrukturen Zustandsautomaten / Statecharts Zu jedem Zeitpunkt eindeutiger Systemzustand Ereignisse können Übergänge auslösen: Trigger [Guard] / Effekt Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 5 / 16

Analysewerkzeuge der UML Anwendungsfalldiagramme Bestimmung, welche Leistungen des Systems erbracht werden Vorwiegend aktionsorientiert Sicht auf die Systemgrenzen Aktivitätsdiagramme Kontroll- und Datenfluss kann dargestellt werden Swimlane ordnet Aktionen und Kontrollflusselemente zu Systemstrukturen Zustandsautomaten / Statecharts Zu jedem Zeitpunkt eindeutiger Systemzustand Ereignisse können Übergänge auslösen: Trigger [Guard] / Effekt Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 5 / 16

Analysewerkzeuge der UML Anwendungsfalldiagramme Bestimmung, welche Leistungen des Systems erbracht werden Vorwiegend aktionsorientiert Sicht auf die Systemgrenzen Aktivitätsdiagramme Kontroll- und Datenfluss kann dargestellt werden Swimlane ordnet Aktionen und Kontrollflusselemente zu Systemstrukturen Zustandsautomaten / Statecharts Zu jedem Zeitpunkt eindeutiger Systemzustand Ereignisse können Übergänge auslösen: Trigger [Guard] / Effekt Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 5 / 16

Abgrenzung Objektorientierte Analyse als Lernprozess Heute: gestalterischer Design-Prozess Vorgehensmodell: meist keine streng getrennten Phasen zum Teil gleiche Werkzeuge (s. Aktivitätsdiagramme) Ziel des Objektorientierten Designs Modellieren, wie das System die Aufgaben löst Nahe an der Implementierung Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 6 / 16

Abgrenzung Objektorientierte Analyse als Lernprozess Heute: gestalterischer Design-Prozess Vorgehensmodell: meist keine streng getrennten Phasen zum Teil gleiche Werkzeuge (s. Aktivitätsdiagramme) Ziel des Objektorientierten Designs Modellieren, wie das System die Aufgaben löst Nahe an der Implementierung Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 6 / 16

Abgrenzung Objektorientierte Analyse als Lernprozess Heute: gestalterischer Design-Prozess Vorgehensmodell: meist keine streng getrennten Phasen zum Teil gleiche Werkzeuge (s. Aktivitätsdiagramme) Ziel des Objektorientierten Designs Modellieren, wie das System die Aufgaben löst Nahe an der Implementierung Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 6 / 16

Abgrenzung Objektorientierte Analyse als Lernprozess Heute: gestalterischer Design-Prozess Vorgehensmodell: meist keine streng getrennten Phasen zum Teil gleiche Werkzeuge (s. Aktivitätsdiagramme) Ziel des Objektorientierten Designs Modellieren, wie das System die Aufgaben löst Nahe an der Implementierung Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 6 / 16

Strukturmodellierung in der UML Klassendiagramme Komponentendiagramme Objektdiagramme Paketdiagramme, Kompositionsstrukturdiagramme, Verteilungsdiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 7 / 16

Strukturmodellierung in der UML Klassendiagramme Komponentendiagramme Objektdiagramme Paketdiagramme, Kompositionsstrukturdiagramme, Verteilungsdiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 7 / 16

Strukturmodellierung in der UML Klassendiagramme Komponentendiagramme Objektdiagramme Paketdiagramme, Kompositionsstrukturdiagramme, Verteilungsdiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 7 / 16

Strukturmodellierung in der UML Klassendiagramme Komponentendiagramme Objektdiagramme Paketdiagramme, Kompositionsstrukturdiagramme, Verteilungsdiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 7 / 16

Komponentendiagramme Komponente»A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment«1 Komponentendiagramme stellen die Struktur eines Systems zur Laufzeit dar Schnittstellen, Ports ( Kommunikationspunkte ),... 1 http://www.omg.org/technology/documents/modeling_spec_ catalog.htm#uml Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 8 / 16

Beispiel Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 9 / 16

Klassendiagramme Klassen: Kapselung von Attributen und Operationen Schnittstellen: meist nur Operationen (UML2: auch Attribute) Beziehungen: Generalisierung, Vererbung Realisierung, Implementierung Komposition Aggregation Assoziation Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 10 / 16

Klassendiagramme Klassen: Kapselung von Attributen und Operationen Schnittstellen: meist nur Operationen (UML2: auch Attribute) Beziehungen: Generalisierung, Vererbung Realisierung, Implementierung Komposition Aggregation Assoziation Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 10 / 16

Klassendiagramme Klassen: Kapselung von Attributen und Operationen Schnittstellen: meist nur Operationen (UML2: auch Attribute) Beziehungen: Generalisierung, Vererbung Realisierung, Implementierung Komposition Aggregation Assoziation Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 10 / 16

Klassendiagramme Klassen: Kapselung von Attributen und Operationen Schnittstellen: meist nur Operationen (UML2: auch Attribute) Beziehungen: Generalisierung, Vererbung Realisierung, Implementierung Komposition Aggregation Assoziation Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 10 / 16

Klassendiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 11 / 16

Verhaltensmodellierung in der UML Aktivitätsmodell»Was geschieht in welcher Reihenfolge?«z.B. Aktivitätsdiagramm Interaktionsmodell»Wann ruft wer wen wie auf?«z.b. Sequenzdiagramm Zustandsmodell... uvm»wie reagiert ein Objekt auf Ereignisse?«Zustandsautomaten Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 12 / 16

Verhaltensmodellierung in der UML Aktivitätsmodell»Was geschieht in welcher Reihenfolge?«z.B. Aktivitätsdiagramm Interaktionsmodell»Wann ruft wer wen wie auf?«z.b. Sequenzdiagramm Zustandsmodell... uvm»wie reagiert ein Objekt auf Ereignisse?«Zustandsautomaten Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 12 / 16

Verhaltensmodellierung in der UML Aktivitätsmodell»Was geschieht in welcher Reihenfolge?«z.B. Aktivitätsdiagramm Interaktionsmodell»Wann ruft wer wen wie auf?«z.b. Sequenzdiagramm Zustandsmodell... uvm»wie reagiert ein Objekt auf Ereignisse?«Zustandsautomaten Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 12 / 16

Verhaltensmodellierung in der UML Aktivitätsmodell»Was geschieht in welcher Reihenfolge?«z.B. Aktivitätsdiagramm Interaktionsmodell»Wann ruft wer wen wie auf?«z.b. Sequenzdiagramm Zustandsmodell... uvm»wie reagiert ein Objekt auf Ereignisse?«Zustandsautomaten Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 12 / 16

UML-Zustandsautomaten Zustände: Name, Verhalten (3 ) Übergänge: Trigger [Guards] / Verhalten Entscheidungen Pseudozustände, Historien, Hierarchien, Regionen... Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 13 / 16

UML-Zustandsautomaten Zustände: Name, Verhalten (3 ) Übergänge: Trigger [Guards] / Verhalten Entscheidungen Pseudozustände, Historien, Hierarchien, Regionen... Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 13 / 16

UML-Zustandsautomaten Zustände: Name, Verhalten (3 ) Übergänge: Trigger [Guards] / Verhalten Entscheidungen Pseudozustände, Historien, Hierarchien, Regionen... Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 13 / 16

UML-Zustandsautomaten Zustände: Name, Verhalten (3 ) Übergänge: Trigger [Guards] / Verhalten Entscheidungen Pseudozustände, Historien, Hierarchien, Regionen... Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 13 / 16

Zustandsautomat Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 14 / 16

Sequenzdiagramm Stellt ein oder mehrere Szenarien als eine Interaktion dar Objekte, Lebenslinien, Nachrichten (Methoden) darüber hinaus: Kontrollfluss und Schachtelung optionale Ausführung alternative Ausführungen Referenzen auf andere Interaktionsdiagramme Sprungmarken Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 15 / 16

Sequenzdiagramm Stellt ein oder mehrere Szenarien als eine Interaktion dar Objekte, Lebenslinien, Nachrichten (Methoden) darüber hinaus: Kontrollfluss und Schachtelung optionale Ausführung alternative Ausführungen Referenzen auf andere Interaktionsdiagramme Sprungmarken Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 15 / 16

Sequenzdiagramm Stellt ein oder mehrere Szenarien als eine Interaktion dar Objekte, Lebenslinien, Nachrichten (Methoden) darüber hinaus: Kontrollfluss und Schachtelung optionale Ausführung alternative Ausführungen Referenzen auf andere Interaktionsdiagramme Sprungmarken Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 15 / 16

Sequenzdiagramme Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 16 / 16