Übungen Softwaretechnik I

Ähnliche Dokumente
UML (Unified Modelling Language) von Christian Bartl

OOA-Dynamische Konzepte

Geoinformation I Datenmodellierung

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

Analyse und Entwurf objektorientierter Systeme

Einführung in die objektorientierte Programmierung

INSPIRE - Modellierung

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

Teil II: OOP und JAVA (Vorlesung 9)

Techniken der Projektentwicklungen

4. Übung zu Software Engineering

NACHRICHTENTECHNISCHER SYSTEME

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

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

Orientierte Modellierung mit der Unified Modeling Language

Java Einführung Objektorientierte Grundkonzepte

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Das umfassende Handbuch

UML. Weiteres Vorgehen im Projekt

Objektorientierte Modellierung (1)

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

Lösung zur Zusatzaufgabe Bankensoftware

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

Vorlesung Programmieren

Softwaretechnik 2015/2016

10. Programmierungs-Phase: Objektorientierung Software Engineering

Beziehungen zwischen Objekten

Unified Modeling Language 2

Objektorientierte Programmierung OOP

UML -Klassendiagramme

Objektorientierte Analyse (OOA) Übersicht

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

Softwaretechnik SS Vorlesungseinheit

Java-Programmierung mit NetBeans

Objektorientierte Analyse (OOA) Inhaltsübersicht

Software Engineering in der Praxis

Analyse und Design mit U ML 2.3

Objektorientiertes Design

Objektorientierte Softwareentwicklung

UML - Tutorial. Hubert Baumgartner.

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

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Unified Modeling Language (UML)

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

UML 2.0 Das umfassende Handbuch

Oracle JDeveloper 10 g

Rückblick: Entity-Relationship-Modell

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

Kapitel 2 - Die Definitionsphase

PRÜFUNG. Grundlagen der Softwaretechnik

Objektorientierte Analyse

PRÜFUNG. Grundlagen der Softwaretechnik

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

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

Softwaretechnik SS 2006

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Use Cases. Use Cases

Kurzeinführung in UML

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Software- und Systementwicklung

Unified Modeling Language (UML )

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Objektorientierte Systementwicklung

Universität Karlsruhe (TH)

Vorlesung Informationssysteme

Software-Engineering

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)

Software Engineering in der Praxis

Objektorientierte Analyse (OOA) Strukturmodellierung

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

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Objektorientierte Analyse (OOA) OOA-Pattern

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

Grundbegriffe der Objektorientierung

OOSE11 OOA: Klassen- und Objektdiagramme

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Modellierungstipps für die Anwendungsfallmodellierung

35.1 Anwendungsfalldiagramme

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

Klassendiagramm. (class diagram)

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Übungsaufgaben Softwaretechnologie

Systemmodellierung mit SysML - Stereotypen und Profile

Analyse und Entwurf objektorientierter Systeme

Einführung in die Programmierung

Software Engineering I

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

2. Übung zu Software Engineering

3. Konzepte der objektorientierten Programmierung

Workflows: Anforderungserhebung und analyse

Anwendungsfall. Das Anwendungsfall-Diagramm (Use-Cases/Use-Case Diagramm) Die Anwendungsfall-Beschreibung. Dr. Beatrice Amrhein

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

OOSE 9 OOA: Klassen und Objektdiagramme (Hörsaalübung)

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Programmieren in Java

Transkript:

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der UML UML dient zur Modellierung objektorientierter (Software-)Systeme Was bedeutet objektorientiert? Bei der objektorientierten Entwicklung werden die in der realen Welt vorkommenden Gegenstände und Begriffe als Objekte betrachtet. Objekt Gegenstand, der im allgemeinen aus dem Vokabular des Problem- oder Lösungsbereichs stammt. Zusammenfassung mehrerer Objekte zu einer. Eine definiert gleichartige Objekte, beschreibt Gemeinsamkeiten im Verhalten und in der Struktur und liefert den Bauplan für ein Objekt. Objekt vs. Ein Objekt ist eine eindeutige, konkrete Einheit, die in Zeit und Raum existiert, während eine die Abstraktion des Wesentlichen von Objekten an sich ist. IAS, Universität Stuttgart 2

Objekt vs. Name : Größe : Farbe : Huhn Eier legen() gackern() Berta Objekte Elfriede Kunigunde Elsa IAS, Universität Stuttgart 3 Definition - Objekt Ein Objekt (object)... besitzt einen bestimmten Zustand reagiert mit einem definierten Verhalten auf seine Umgebung besitzt eine Identität, die es von allen anderen Objekten unterscheidet kann ein oder mehrere andere Objekte kennen (Verbindungen bzw. links) UML-Notation für Objekt Attribut1 Attribut2 Objekt IAS, Universität Stuttgart 4

Definition - Eine... definiert für eine Kollektion von Objekten deren Struktur (Attribute), Verhalten (Operationen) und Beziehungen (relationships). besitzt einen Mechanismus, um neue Objekte zu erzeugen (object factory). UML-Notation für IAS, Universität Stuttgart 5 Definition - Attribute Attribute beschreiben die Daten, die von den Objekten einer angenommen werden können. Jedes Attribut ist von einem bestimmten Typ. Alle Objekte einer besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte. UML-Notation für Attribute Attribut1 Attribut2 IAS, Universität Stuttgart 6

Definition - Operation Eine Operation beschreibt eine ausführbare Tätigkeit. Alle Objekte einer verwenden dieselben Operationen. Jede Operation kann auf alle Attribute eines Objekts dieser direkt zugreifen. Die Menge aller Operationen wird als das Verhalten der oder als die Schnittstelle der bezeichnet. UML-Notation für Operation Attribut1 Attribut2 Operation1 () Operation2 () IAS, Universität Stuttgart 7 Definition - Assoziation Definition: Eine Assoziation modelliert Verbindungen zwischen Objekten einer oder mehrerer n. Eine Assoziation modelliert stets Verbindungen zwischen Objekten, nicht zwischen n UML- Notation für Assoziation Assoziation Linie zwischen einer oder zwei n An jedem Ende der Linie steht die Wertigkeit bzw. Kardinalität (multiplicity) 1 1..* IAS, Universität Stuttgart 8

3 Arten von Assoziationen Einfache Assoziation (ordinary association) Aggregation (aggregation) Komposition (composite aggregation) Aggregation Lässt sich durch ist Teil von bzw. besteht aus beschreiben (Ganzes und Teile, whole part) UML- Notation für Aggregation Ganzes * * Teil Auto 1 4..5 Rad IAS, Universität Stuttgart 9 Komposition Starke Aggregation Kardialität der Aggregatklasse = 1 Ein Teil darf nur einem Ganzen zugeordnet sein Dynamische Semantik des Ganzen gilt auch für seine Teile (propagation semantics) Wird das Ganze gelöscht, werden automatisch seine Teile gelöscht (they live and die with it) UML-Notation für Komposition Ganzes 1 * Teil Bildschirm 1 * Pixel IAS, Universität Stuttgart 10

Definition - Vererbung Definition: Eine Vererbung (generalization) ist eine Beziehung zwischen einer allgemeinen (Basisklasse) und einer spezialisierten. - Die spezialisierte ist vollständig konsistent mit der Basisklasse, enthält aber zusätzliche Informationen (Attribute, Operationen, Assoziationen) - Allgemeine = Oberklasse (super class) - Spezialisierte = Unterklasse (sub class) UML- Notation für Vererbung Super Person Sub Student IAS, Universität Stuttgart 11 Definition - Anwendungsfall Ein Anwendungsfall (Use Case) besteht aus mehreren zusammenhängenden Aufgaben, die von einem Akteur durchgeführt werden, um ein Ziel zu erreichen bzw. ein gewünschtes Ergebnis zu erstellen. Anwendungsfall in einem Informationssystem Sequenz von zusammengehörenden Transaktionen, die von einem Akteur im Dialog mit einem System durchgeführt werden, um ein Ergebnis von messbarem Wert zu erhalten Alle Anwendungsfälle zusammen dokumentieren alle Möglichkeiten der Benutzung des Systems (Use Case Model) Ziel von Anwendungsfällen Spezifikation der ergebnisorientierten Arbeitsabläufe bei Benutzung der zu realisierenden Software IAS, Universität Stuttgart 12

Was ist ein Akteur (actor)? Rolle, die ein Benutzer des Systems spielt Häufig eine Person Kann auch Organisationseinheit oder anderes System sein Befindet sich immer außerhalb des Systems Akteur hat Einfluss auf das System Notation Akteur (actor) Akteur 1 Akteur 2 IAS, Universität Stuttgart 13 Anwendungsfall-Spezifikationsschablone (Use Case Template) Anwendungsfall: <Name des Anwendungsfalls> Ziel: <Zielsetzung bei erfolgreicher Ausführung des Anwendungsfalls> Kategorie: <primär (notwendig, häufig benötigt) sekundär (notwendig, selten benötigt) optional (nützlich, nicht unbedingt notwendig)> Vorbedingung: <erwarteter Zustand, bevor der Anwendungsfall beginnt> Nachbedingung Erfolg: Nachbedingung Fehlschlag: Akteure: Auslösendes Ereignis: Beschreibung: <Hier wird der Standardfall beschrieben> 1 <Erste Aktion> 2 <Zweite Aktion> Erweiterungen: 1a <Erweiterung des Funktionsumfangs der ersten Aktion> Alternativen: 1a <Alternative Ausführung der ersten Aktion> IAS, Universität Stuttgart 14

3r uet k A p met sy S 2r 1r uet uet k A k A Anwendungsfalldiagramm (Use Case Diagram) Notation Anwendungsfall1-1ßez or stf G ähcse - p 2ßez or stf G ähcse Anwendungsfall2 Anwendungsfall3 - p 3ßez or stf G ähcse Übersicht über die Beziehungen zwischen Akteuren und Anwendungsfällen IAS, Universität Stuttgart 15 Beziehungen im Anwendungsfalldiagramm - Extend-Beziehung Auftrag durchführen <<extend>> Auftrag mit Nachlieferung ausführen Erweiterung eines vorhandenen Anwendungsfalls - Include-Beziehung Von Einkauf - Wareneingang bearbeiten <<include>> Von Produktion - Wareneingang bearbeiten <<include>> Zwei Anwendungsfälle besitzen gemeinsames Verhalten Ware einlagern Extends- und Include-Beziehungen vermeiden redundante Anwendungsfall-Spezifikationen IAS, Universität Stuttgart 16

Definition - Szenario Ein Szenario (Scenario) ist eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen ist. - Die Verarbeitungsschritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern - Szenarien beginnen mit dem auslösenden Ereignis und werden fortgesetzt bis das Ziel erreicht ist oder aufgegeben wird Szenarios werden durch Interaktionsdiagramme (Interaction Diagram) dargestellt UML bietet zwei Arten von Interaktionsdiagrammen an Sequenzdiagramm (Sequence Diagram) Kommunikationsdiagramm (Communication Diagram) IAS, Universität Stuttgart 17 Notation Sequenzdiagramm (sequence diagram) IAS, Universität Stuttgart 18

Sequenzdiagramm Zwei Dimensionen Vertikale repräsentiert die Zeit Horizontal werden die Objekte eingetragen Jedes Objekt wird dargestellt durch Objektsymbol Vertikal gestrichelte Linie (Objektlinie) Bedingung (condition) [<Bedingung>] Operation() Wiederholung (iteration) *Operation() oder * [<Bedingung>] Operation() IAS, Universität Stuttgart 19