Objektorientierte Analyse am Beispiel Silent Kitchen Company



Ähnliche Dokumente
UML. Weiteres Vorgehen im Projekt

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

Softwaretechnik 2015/2016

Objektorientierte Analyse (OOA) Inhaltsübersicht

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

3. Objektorientierte Analyse

Kurzeinführung in UML

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

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

UML -Klassendiagramme

Interaktionsdiagramme in UML

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Strukturierte Analyse vs. Objektorientierte Analyse. Brit Engel Martin Uhlig

Vorlesung Programmieren

UML (Unified Modelling Language) von Christian Bartl

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

Java Einführung Objektorientierte Grundkonzepte

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

FACHHOCHSCHULE MANNHEIM

4. Übung zu Software Engineering

Einführung in die objektorientierte Programmierung

Klassendiagramm im Rahmen der objekt-orientierten Analyse

Teil II: OOP und JAVA (Vorlesung 9)

Realität zu modellieren eine

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

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

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

Techniken der Projektentwicklungen

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

Übungen Softwaretechnik I

Grundkurs C++ Objektmodellierung

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

Unified Modeling Language (UML )

OOSE11 OOA: Klassen- und Objektdiagramme

Einführung in die Programmierung

Unified Modeling Language (UML)

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

Unified Modeling Language 2

Analyse und Modellierung von Informationssystemen

Exkurs 1: Hintergrund zu Java und UML

Objektorientierte Analyse & Design

Klassendiagramm. (class diagram)

PRÜFUNG. Grundlagen der Softwaretechnik

Oracle JDeveloper 10 g

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

OOSE_05 MODELLIERUNG MIT DER UML

Die Unified Modeling Language (UML)

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

3. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten

3. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

Aktivitätsdiagramm. 1 b b,c a,d b,d b,d 2 a,b,d a,d a,c a,b,c b,c 3 a c,d a,b a,d a,b 4 c,d c b,c a,d d 5 c,d a,c a,b d c

Objektorientiertes Design

Objektorientierte Modellierung (1)

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

Unified Modelling Language

Media Engineering. Objektorientierte Modellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de

Seite Objektorientierte Analyse. Methodik der Objektorientierten Analyse. Operation

Analyse und Design mituml2

Erfahrungsbericht: Einsatz objektorientierter Methoden in Flugkörper-Software

NACHRICHTENTECHNISCHER SYSTEME

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Software-Engineering

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

Softwaretechnik. Zusammenfassung der Methodik der Vorlesung im Wintersemester 2010/2011

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

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

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

Objektorientierte Analyse (OOA) Übersicht

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

Einführung in die OOP mit Java

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

Das UML Benutzerhandbuch

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

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009

12. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten

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

Formale Modellierung Vorlesung vom : Beyond JML

Assoziationen in Java

Rückblick: Entity-Relationship-Modell

Anwendungsfalldiagramm UseCaseDiagramm

Literatur. 3. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten. Die Rolle von Entwurfsmethoden in der Softwareentwicklung.

Kapitel 3: Statische Analyse mit FUSION

3. Erste Schritte in der Objektorientierte Analyse mit CRC-Karten

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

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

Analyse und Design mituml2.1

VL4: Softwareprojekt - Modellierung/Design Teil 2. Inhalt. 1. Einleitung

Objektorientierte Analyse

Das umfassende Handbuch

RUP Analyse und Design: Überblick

J.2 Objektorientiertes Modellieren mit UML

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

Vorlesung Programmieren

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

Das UML Benutzerhandbuch

Glossar für das Fach Informatik

Transkript:

Objektorientierte Analyse am Beispiel Silent Kitchen Company Anforderungsanalyse Die objektorientierte Analyse (OOA) beginnt mit der Anforderungsanalyse. Es soll der Problemraum erkannt, erfasst und definiert werden. Hier sind mögliche Klassen und ihre Beziehungen untereinander zu identifizieren. Das Analyse-Modell beschreibt dann den Soll- Konzept des neuen Softwareproduktes. Das Auffinden der benötigten Klassen ist im Allgemeinen nicht ganz so einfach. Man sollte sich dabei immer vor Augen haben, das man sich fragt woran (an welchen Objekten) das System etwas tut und nicht wie es das System tut. Weitere nützliche Fragen könnten sein: - Aus welchen Teilen besteht ein System? - Was haben die Teile für Aufgaben? - Welche Beziehungen haben die Teile untereinander? Im geschriebenen Text der Anforderung sollte man sich zunächst alle relevanten Substantive unterstreichen. Diese unterstrichenen Wörter sind dann mögliche Klassenkandidaten, die ein einzelnes Objekt repräsentieren. Im Beispiel sind folgende Wörter mögliche Klassenkandidaten: Verkaufsstelle, Verkaufsstellenleiter, Fertiggericht, Bestellung, Bestellformular, Vertrag, Kunde, Buchhaltung, Chefbuchhalter, Rechnung und Küche Bei mehreren Bearbeitern an einem Softwareprojekt ist es u.u. jetzt sinnvoll die CRC-Karten Methode anzuwenden, in der man auf verschiedene Karteikarten jeweils ein Objekt und seine Beziehungen untereinander beschreibt. Es sollte ein Rollenspiel durchgeführt werden und einige Anwendungsfälle durchgespielt werden und dabei die CRC-Karten vervollständigt werden. Klassenname: Oberklassen: Unterklassen: Verantwortlichkeiten: Mithelfer: Klassenname: Definition/Beschreibung: Attribute: Vorderseite Struktur einer CRC-Karte Rückseite 1

Die Anwendung der CRC-Karten-Methode wird hier am Objekt Kunde dargestellt. Kunde - - Bestellung aufgeben Vertrag abschließen Rechnung bezahlen Verkaufsstelle Verkaufstellenleiter Verkaufsstelle Kunde Der Kunde ist das zentrale Objekt bei einer Bestellung und Bezahlung seiner Bestellung Kundennummer Name Vorname Vorderseite CRC-Karte für den Kunden Rückseite Nach dem man dies gemacht kann man dann zur statischen Modellierung mit UML übergehen. Statische Modellierung mit UML Bei der statischen Modellierung mit UML beginnt man die herausgefundenen Klassen und Beziehungen in ein Klassendiagramm zu überführen. Es müssen die vorhandenen Assoziationen, Aggregationen und Kompositionen der einzelnen Klassen berücksichtigt werden. Weiterhin sind Multiplizitäten zwischen den Klassen anzugeben. In den einzelnen Klassen gibt es Attribute und Methoden. Klasse 1 -Attribut1:int -Attribut2:int Klasse 2 -Attribut1:int 1 Rolle 1..* +Methode1():void +Methode1():void Beispiel eines Klassendiagramms 2

Klassendiagramm für das Beispiel 3

Dynamische Modellierung Bei der dynamischen Modellierung mit UML gibt es verschiedene Diagrammtypen: - Use Case Diagramme - Sequenzdiagramme - Aktivitätsdiagramme - Zustandsdiagramme Use Case Diagramme Use Case Diagramme dienen dazu dem Programmentwickler die Terminologie des Anwendungsgebietes besser zu verstehen. Es sollten typische Arbeitsabläufe gezeigt werden sowie Ausnahme- und Sonderfälle, wobei die Systemgrenze vorher festzulegen ist. In diesem Fall ist die Systemgrenze die Verkaufsstelle. Der Kunde agiert mit der Verkaufsstelle. Im Modell ist es egal mit wem aus der Verkaufsstelle der Kunde einen Vertrag abschließt oder bei welchem Mitarbeiter er die Bestellung abgibt. Eine Detaillierung dessen ist in weiteren Use Case Diagrammen möglich. Jetzt wurde als Systemgrenze das Büro des Verkaufsstellenleiters gewählt. Es werden detailliertere Angaben zur Arbeitsweise der Verkaufsstelle dargestellt. 4

In diesem Use Case Diagramm ist die Systemgrenze die Buchführungsabteilung. Sequenzdiagramme Sequenzdiagramme werden verwendet um einen bestimmten Ablauf bzw. eine bestimmte Situation darzustellen. Es gibt ein bestimmtes Szenario wider und zeigt die einzelnen Botschaften, die die Objekte untereinander austauschen. So wird im Beispiel erst das neue Vertrags-Objekt angelegt, wenn alle Bedingungen erfüllt sind. 5

Aktivitätsdiagramme Aktivitätsdiagramme beschreiben Abläufe innerhalb eines Systems mit Aktivitäten. Diese Aktivitäten können nacheinander aber auch nebenläufig aktiv sein. Es können auch Verzweigungen und Synchronisationspunkte definiert sein. Weiterhin ist es möglich Aktivitäten wieder in Unteraktivitäten zu untergliedern. Zustandsdiagramme Ein Zustandsdiagramm stellt den Lebenszyklus eines Objektes dar. Zustandsdiagramme sind nur sinnvoll, wenn ein Objekt innerhalb seines Lebenszyklus seinen inneren Zustand ändert. 6