Tamagotchi-Spezifikation in UML

Ähnliche Dokumente
Die Unified Modeling Language UML

Requirements Engineering I

Gliederung des Vortrages

UML (Unified Modelling Language) von Christian Bartl

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

Requirements Engineering I

Oracle JDeveloper 10 g

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

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

Die Unified Modeling Language (UML)

Unified Modeling Language (UML )

INSPIRE - Modellierung

Requirements Engineering I

Analyse und Modellierung von Informationssystemen

Unified Modeling Language 2

J.2 Objektorientiertes Modellieren mit UML

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

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

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

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

Objektorientierte Softwareentwicklung

Vorlesung Programmieren

Einführung in die objektorientierte Programmierung

Rhapsody in J Modellierung von Echtzeitsystemen

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

Objektorientierte Softwareentwicklung

NACHRICHTENTECHNISCHER SYSTEME

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

Unified Modeling Language (UML)

Unified Modeling Language

Software-Engineering

Software-Engineering. Software-Engineering im NDS-I besteht aus drei Modulen: SWE I Prozess & Projekt. SWE II Modellieren mit UML

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

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

Vorlesung Programmieren

Notationen zur Prozessmodellierung

Objektorientierte Systementwicklung

Software- und Systementwicklung

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

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Software-Engineering

12. Vorgehensmodelle Softwaretechnik (CNAM)

Einführung in die Programmierung

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Analyse und Modellierung von Informationssystemen

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

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Inhaltsverzeichnis.

Kapitel 2 - Die Definitionsphase

Martin Fowler, Kendali Scott. UML - konzentriert. Die Standardobjektmodellierungssprache anwenden

Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung im SS 2007

4. Mentorium. UML-Modellierung (Lösungshinweise)

Analyse und Design mit U ML 2.3

Konzept und Umsetzung

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

Universität Karlsruhe (TH)

Einführung in die Unified Modeling Language (UML)

Unified Modelling Language

Von UML 1.x nach UML 2.0

Modellierung von Web Anwendungen mit UML

2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

SOFTWAREPROJEKT (WI) Anforderungsanalyse. Projektveranstaltung im Wintersemester 2012/13 FG System- und Softwareengineering Dr.-Ing.

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

Software-Engineering

Analyse und Modellierung von Informationssystemen

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

Rückblick: Entity-Relationship-Modell

Realität zu modellieren eine

Übungen Softwaretechnik I

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

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

Modellierung von Softwaresystemen

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Techniken der Projektentwicklungen

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

Software-Praktikum. Überblick und Zeitplan

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

Objektorientierte Analyse

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

Softwaretechnik 2015/2016

Einführung in die Wirtschaftsinformatik

Übung Einführung in die Softwaretechnik

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

Methodische objektorientierte Softwareentwicklung

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

Objektorientierte Systementwicklung mit der Unified Modeling Language (UML) Vorgehensmodelle für die objektorientierte Systementwicklung

RUP Analyse und Design: Überblick

Poseidon for UML. Einführung. Andreas Blunk

Comelio GmbH - Goethestr Berlin. Kurskatalog

Softwaretechnik Unified Modeling Language (UML)

UML. Unified Modeling Language. Prof. Mario Jeckle. Fachhochschule Furtwangen

Speech Therapy Aphasia Rehabilitation Star Workbook III: Expressive Language By Amanda P Anderson

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Softwareentwicklung mit UML

Sommersemester Analyse II: Verhalten (Zustandsautomaten)

Vorlesung Informationssysteme

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Regelbasierte Entwicklung betrieblicher Informationssysteme

Transkript:

Tamagotchi-Spezifikation in UML Christian Becker Steffen Glomb Michael Graf

Gliederung Grundlagen Notation Werkzeug Modellierung Details der Spezifikation Erfahrungen Beurteilung von Notation und Werkzeug Review Typische Fehler Fazit 2(21)

Grundlagen - UML als Notation Notation: UML (Unified Modeling Language), Version 1.1 Autoren: James Rumbaugh, Grady Booch, Ivar Jacobson u.a. Partner: Rational, IBM, Microsoft, HP, Oracle u.a. Ziel: Vereinigung bestehender OO-Entwicklungstechniken Erleichterung des Entwurfs beliebiger, komplexer Systeme Vorgehen: Nicht vorgeschrieben (UML ist nur Notation) Verwendung bekannter OO-Heuristiken 3(21)

Grundlagen - Entwicklungsgeschichte der UML Andere Methoden Booch 91 OMT-1 OOSE Fragmentierung Booch 93 OMT-2 OOPSLA 95 Unified Method 0.8 Unifizierung Juni 96, Oktober 96 UML 0.9 & 0.91 UML Partner Januar 97 UML 1.0 Herbst 97 UML 1.1 Standardisierung Juli 98 UML 1.2 Industrialisierung 4(21)

Grundlagen - Konzepte der UML Drei Dimensionen der Modellierung: Strukturelle Sicht Klassendiagramm Komponentendiagramm Funktionale Sicht Anwendungsfalldiagramm Aktivitätsdiagramm Verhaltenssicht Zustandsdiagramm Sequenzdiagramm Kollaborationsdiagramm 5(21)

Grundlagen - Werkzeug Werkzeug: Rhapsody, Version 2.0.1 Hersteller: i-logix Basis: C++ Unterstützte UML - Diagramme: Anwendungsfalldiagramme ( Use Case Diagrams ) Klassendiagramme ( Object Model Diagrams ) Sequenzdiagramme ( Sequence Diagrams ) Zustandsdiagramme ( Statecharts ) 6(21)

Grundlagen - Werkzeug (2) Merkmale des Werkzeugs: Code-nahe Entwicklung Konsistenzcheck Codegenerierung Simulation mittels animierter Zustands- und Sequenzdiagramme 7(21)

Modellierung - Vorgehensweise Vorgehensweise: Unterteilung in Konzeptions- und Realisierungsphase Konzeptionsphase (ohne Werkzeug): Brainstorming Anwendungsfälle identifiziert Klassendiagramm aufgestellt Sequenzdiagramme zur Klärung von Abläufen 8(21)

Modellierung - Vorgehensweise (2) Konzeptionsphase Realisierungsphase Alle B-Anforderungen umgesetzt? nein ja Weiter mit Review Anwendungsfälle Klassendiagramm B-Anforderungen Inkrement festlegen Klassendiagramm erweitern/ anpassen ja nein Zustandsdiagramm erweitern/ anpassen Simulation des Inkrements Fehler? 9(21)

Modellierung - Arbeitsteilung Die Aufteilung der Anforderungen wird von Notation und Werkzeug unterstützt: Klassen als separate Verantwortungsbereiche Identifikation von Entwurfsinkrementen Versionsverwaltung mit Rhapsody möglich Dennoch keine Aufteilung der Seminargruppe: Werkzeug nur auf einem Rechner installiert Nur ein Gruppenmitglied hat Schulung erhalten Fehlervermeidung durch direkte Rückkopplung in der Gruppe 10(21)

Modellierung - Umfang der Spezifikation Umsetzung der Spezifikation: Alle Anforderungen wurden umgesetzt Vereinfachte Benutzungsschnittstelle Größe des Dokuments: 2 Klassendiagramme mit 20 Klassen 16 Zustandsdiagramme 5 Sequenzdiagramme 16.000 Zeilen Code (generiert) 11(21)

Erfahrungen - Beurteilung der UML Erfahrungen: Große Diagrammvielfalt Leicht erlernbare Notation Für schrittweise verfeinerten Entwurf geeignet Unterstützung bei der Vorgehensweise fehlt Schwierigkeit bei der Festlegung der Klassen 12(21)

Erfahrungen - Beurteilung von Rhapsody Stärken: Intuitive Bedienbarkeit Automatischer Konsistenzcheck Animierte Simulation Einfache Fehlerlokalisierung Schwächen: Online-Hilfe und Dokumentation mangelhaft Keine Undo -Funktion Aktionen innerhalb von Zuständen nicht sichtbar 13(21)

Erfahrungen - Beurteilung von Rhapsody (2) Wünschenswerte Erweiterungen: Unterstützung weiterer UML-Diagrammtypen Simulator-Frontend Größere Compilerauswahl Verwendungsnachweis Verbessertes Drucken 14(21)

Erfahrungen - Review Vorgehensweise: Werkzeuggestütztes Review Bedienung des Werkzeugs durch jeweilige Expertengruppe Ohne Kenntnis der eigentlichen Notation Überdeckung der Spezifikation mit Benutzeranforderungen 15(21)

Erfahrungen - Review (2) Verständlichkeit: Rhapsody: Animierte Simulation erleichtert Verfolgbarkeit des Systemverhaltens Review auf Ausdruck kaum möglich SCR*: Überblick aufgrund Zwang zu umständlicher Modellierung schwierig Systemverhalten wegen Anzeigefehlern schlecht nachvollziehbar 16(21)

Erfahrungen - Review (3) Verfolgbarkeit: Rhapsody: Einige Anforderungen auf mehrere Zustandsdiagramme abgebildet Verwendungsnachweis wäre hilfreich SCR*: Spezifikation schlecht überprüfbar, da Variablen manuell zu setzen Variablenexplosion erschwert Verfolgbarkeit 17(21)

Erfahrungen - Typische Fehler Notation: Klasse Tamagotchi anfangs zu groß entworfen Szenarien zu spät eingesetzt Werkzeug: Multiplizität der Assoziationen vergessen Schwierigkeit bei der Reihenfolge der Konstruktoraufrufe Notwendige Includes vergessen 18(21)

Erfahrungen - Aufwand Einarbeitung: 40 Stunden Aufwand (zu gleichen Teilen für UML und Rhapsody) UML gut erlernbar, da auf bekanntem Konzept basierend Rhapsody schlecht dokumentiert, aber intuitiv bedienbar Modellierung des Tamagotchi: 230 Stunden Gesamtaufwand (Realisierung, Simulation und Review) Mehraufwand wegen unzureichend dokumentiertem Werkzeug Größter zeitlicher Anteil: Realisierung 19(21)

Fazit Einschätzung von UML: Identifizierung von Objekten entspricht der menschlichen Denkweise Schrittweise Entwicklung wird unterstützt Nebenläufiges Verhalten läßt sich gut beschreiben Einschätzung von Rhapsody: Übersichtliche Handhabung erleichtert Entwicklung Unterstützt Erstellung konsistenter Spezifikationen Code-nahes Arbeiten erfordert C++ -Kenntnisse Review auf ausgedruckten Diagrammen kaum möglich (fehlende Details) 20(21)

Literaturhinweise Objektorientierte Softwareentwicklung mit UML, Bernd Oestereich, Verlag Oldenbourg UML konzentriert, Martin Fowler u. Kendall Scott, Verlag Addison-Wesley-Longman Referenzwebsite: www.rational.com Adapting the Fusion Process to Support the UML, Colin Atkinson, Object Magazine, Sigs Publications, Nov. 97 21(21)