Vorlesung Software Engineering

Ähnliche Dokumente
NACHRICHTENTECHNISCHER SYSTEME

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Die Unified Modeling Language UML

Requirements Engineering I

Unified Modeling Language 2

Von UML 1.x nach UML 2.0

Requirements Engineering I

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Model Driven Development im Überblick

Eclipse Modeling Framework

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Jochen Bauer

Model Driven Architecture (MDA)

Model Driven Architecture Praxisbeispiel

Vorlesung Programmieren

MDA-Praktikum, Einführung

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

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

Software Factories SS Prof. Dr. Dirk Müller. 6 Eclipse Modeling Framework

Unified Modeling Language (UML )

Vorlesung Software Engineering I

UML (Unified Modelling Language) von Christian Bartl

Oracle JDeveloper 10 g

INSPIRE - Modellierung

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

Vorlesung Programmieren

Vorlesung Software Engineering I

Werkzeugunabhängigkeit bei der Modellierung Schwierigkeiten und mögliche Lösungsansätze

Objektorientierte Systementwicklung

Poseidon for UML. Einführung. Andreas Blunk

Notationen zur Prozessmodellierung

Einführung in die objektorientierte Programmierung

Vortrag von: Ilias Agorakis & Robert Roginer

Model Driven Architecture

Unified Modeling Language

Model-Driven Software Engineering (HS 2011)

Analyse und Modellierung von Informationssystemen

Grundlagen von MOF. Alexander Gepting 1

Struktur der UML-Spezifikationen

Common Warehouse Metamodel und Imperfektion

Unified Modelling Language

UML 2 glasklar Praxiswissen für die UML-Modellierung

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Modellgetriebene Softwareentwicklung

Rückblick: Entity-Relationship-Modell

Potentiale modellgetriebener Softwareentwicklung

Tamagotchi-Spezifikation in UML

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

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

Einführung in die Programmierung

Konzeptionelle Modellierung von XML-Dokumenttypen

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

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

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

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

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

Model Driven Architecture

2 Softwarearchitektur in der Organisationsstruktur 25

Regelbasierte Entwicklung betrieblicher Informationssysteme

Einführung in das Eclipse Modeling Framework (EMF)

COPE COuPled Evolution of metamodels and models

27. Oktober 2005 Florian Marwede

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

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

Einführung in das Eclipse Modeling Framework (EMF)

Comelio GmbH - Goethestr Berlin. Course Catalog

Analyse und Design mit U ML 2.3

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Abschnitt 1. BPM als Lingua franca. Management, Fachbereiche und IT Ist BPM ein Weg zur (Auf-)Lösung der Sprachbarriere?

Metamodellierung mit MOF und Ecore

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

Fundamental Modeling Concepts

Michael Piechotta - CASE Tools. openarchitecture Ware

Systems Engineering mit SysML/UML

Requirements Engineering I

Software-Refactoring. 29. Mai 2013

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

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

Die 7 Todsünden der UML-Modellierung Andreas Ditze

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

MDRE die nächste Generation des Requirements Engineerings

Analyse und Design mituml2.1

Universität Karlsruhe (TH)

Programmiermethodik. Übung 2

Objektorientiertes Programmieren

Kapitel 2 - Die Definitionsphase

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

Struktur der UML-Spezifikationen

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Grundlagen der modellgetriebenen Softwareentwicklung. Teil 2: Modellierung

Formale Modellierung Vorlesung vom : Beyond JML

Thema 5 Domain Specific Languages

Ausarbeitung Referat zur MDA

Softwareentwicklung mit UML

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Softwaretechnik Model Driven Architecture Metamodellierung

Software- und Systementwicklung

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT

Transkript:

Vorlesung Software Engineering 6 Unified Modeling Language: Einführung Prof. Dr. Dirk Müller

Übersicht Einführung Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung Objekt-orientierte Analyse UML Ziele, Grenzen, Geschichte, Metamodellierung, Bewertung Anwendungsfalldiagramm Klassendiagramm Aktivitätsdiagramm Zustandsdiagramm 2/18

Ziele Unified Modeling Language: vereinheitlichte Modellierungssprache Vereinheitlichte Modellierung, Dokumentation, Spezifizierung und Visualisierung komplexer (Software-)Systeme Notationen für statische und dynamische Elemente Notationsübersicht auf 4 DIN-A4-Seiten [5] besonders für objektorientiertes Vorgehen geeignet Quelle: [3], S. 4 3/18

nicht perfekt (Beabsichtigte) Grenzen der UML nicht vollständig keine Programmiersprache keine rein formale Sprache It is important to note that the current description is not a completely formal specification of the language because to do so would have added significant complexity without clear benefit. [1], S. 21 nicht dediziert für eine Domäne kein vollständiger Ersatz für textuelle Beschreibungen keine Methode, kein Entwicklungsprozess Quelle: [3], S. 4 4/18

Geschichte Quelle: http://commons.wikimedia.org/wiki/file:oo-historie-2.svg Download am 27.05.2014, Lizenz: CC-BY-SA-3.0 5/18

Diagrammarten in der UML 2.4.1 statische Elemente Generalisierung dynamische Elemente Quelle: http://upload.wikimedia.org/wikipedia/de/5/53/uml-diagrammhierarchie.png Download am 27.05.2014 6/18

Metamodellierung meta in relativer, nicht absoluter Bedeutung M3 hat sich selbst als Metamodell, sonst unendlicher Regress Meta Object Facility (MOF): von der Object Management Group (OMG) propagierte Metadaten- Architektur Quelle: http://upload.wikimedia.org/wikipedia/commons/9/93/m0-m3.png Download am 27.05.2014 7/18

Metamodell der Generalisierung Klassendiagramm Paketdiagramm Quelle: [1], S. 49 8/18

Ziele der Metamodellierung Formalisierung mit MOF-Konformität ermöglicht: Austausch von Modellen Modellgetriebene Softwareentwicklung (MDSD) mit automatischer Codegenerierung Modelltransformationen Modell-Refactoring [4] M2M, M2T Anwendung: Austausch von Diagrammen Dozent name nummer adresse Hauptanwendung: MDSD Student name matrikelnummer Extrahiere Oberklasse AkademischerUniangehoeriger name Dozent nummer adresse Student matrikelnummer 9/18

Repräsentation von UML-Elementen Konkrete Syntax Datenaustausch mit Menschen Datenaustausch mit anderer Software Quelle: [3], S. 14 10/18

Austausch von Modellen und Diagrammen XML Metadata Interchange (XMI) sollte Interoperabilität gewährleisten in UML 1.x nur für abstrakte Syntax realisiert konkrete Syntax (z.b. Diagrammlayout) erst ab UML 2.0 über UML 2.0 Diagram Interchange Versionswirrwarr; Studie ergab, dass kleines Klassendiagramm nur in 5 von 42 Fällen erfolgreich transportiert wurde (7 Tools) Umsetzung durch Tool-Hersteller sehr schleppend problemloser Wechsel zu anderem Tool widerspricht ganz und gar wirtschaftlichen Interessen (Lock-in-Effekt) Ausweg sind M2M-Transformationen mit der MOF QVT (Query View Transformation), da so Anpassung an Implementierung der UML im konkreten Werkzeug möglich Quelle: [3], S. 19 f. 11/18

Ziele der Spezifikation der UML Korrektheit Wohlgeformtheitsregeln sollen helfen, Probleme/Fehler in der abstrakten Syntax zu finden Genauigkeit Ausnahmen: Semantic Variation Point und Presentation Option Syntax und Semantik so genau, dass keine Mehrdeutigkeiten für Implementierer (Werkzeuge) oder Nutzer auftreten Prägnanz nicht zu detailliert, keine L'art pour l'art, nichts Überflüssiges Konsistenz Komplementierung des Metamodell-Ansatzes durch Hinzufügen wesentlicher Details in widerspruchsfreier Weise Verständlichkeit natürliche Sprache zur Beschreibung der Semantik Currently, the semantics are not considered essential for the development of tools; however, this will probably change in the future. [1], S. 21 Quelle: [1], S. 21 f. 12/18

Freiheitsgrad: Semantic Variation Point Semantik manchmal mit Lücken, um mehr Flexibilität zu gewährleisten (Erweiterbarkeit mit Stereotypen und Profilen) Changeable default: Standardsemantik ist angegeben, kann aber in einem Profil überschrieben werden z.b. Regeln für einen Automaten im Zustandsdiagramm Multiple choice: explizit mehrere gleichberechtigte Varianten z.b. Behandlung unerwarteter Ereignisse im Zustandsautomaten (a) ignorieren (b) explizit ablehnen (c) zurückstellen Undefined: völlige Freiheit bei Implementierung z.b. Auswahl einer Methodenimplementierung bei Polymorphie vgl. Sprache C Quelle: [1], S. 23 f. 13/18

Freiheitsgrad: Presentation Option konkrete Syntax häufig mit Varianten der Visualisierung prinzipiell Geschmackssache aber: kein Wechsel der Varianten innerhalb eines Projekts Beispiel: Generalisierungsbeziehung zwischen Klassen Quelle: [1], S. 52 14/18

Anwendung und Erfolge UML wird in der Industrie genutzt Kommunikation standardisiert und vereinfacht Produktivität steigt nicht alle 14 Diagrammarten populär Klassen-, Anwendungsfall- und Aktivitätsdiagramm grundlegend Erfolgsgeschichten z. B. unter http://www.uml.org/uml_success_stories/index.htm 15/18

Kritik zu umfangreich somit auch schwer (vollständig) erlernbar mit dem Anspruch einer allgemeinen Modellierungssprache muss sie umfangreich sein exzessiver Einsatz zur Modellierung jedes kleinen Details unpassende Anwendung der Sprache, Missbrauch nicht präzise genug formale Semantik war nicht Ziel Kompromiss mit Lesbarkeit It is important to note that the specification of UML as a metamodel does not preclude it from being specified via a mathematically formal language (e. g., Object-Z or VDM) at a later time. [1], S. 11 16/18

Zusammenfassung UML dominierende Sprache für die Softwaresystem- Modellierung 14 Diagrammarten: 7 statische und 7 dynamische keine Programmiersprache, keine rein formale Sprache abstrakte und konkrete Syntax Formalisierung der Syntax durch Metamodellierung ermöglicht Anwendung in der MDSD Semantik meist natürlichsprachlich erklärt Lücken (Semantic Variation Point, Presentation Option) ermöglichen Anpassung an Domäne mittels Stereotypen oder Profilen 17/18

Literatur [1] OMG Unified Modeling Language (OMG UML), Infrastructure Version 2.4.1, August 2011, Download am 27.05.2014, http://www.omg.org/spec/uml/2.4.1/infrastructure/pdf/ [2] OMG Unified Modeling LanguageTM (OMG UML), Superstructure Version 2.4.1, August 2011, Download am 27.05.2014, http://www.omg.org/spec/uml/2.4.1/superstructure/pdf/ [3] Chris Rupp, Stefan Queins: UML 2 glasklar, Hanser Verlag, 2012, 4. Auflage [4] T. Mens, G. Taentzer, D. Müller: Model-Driven Software Refactoring. In: Model-Driven Software Development: Integrating Quality Assurance, Hrsg.: J. Rech & C. Bunse, IGI Global, Hershey, pp. 170-203, ISBN13: 978-1-60566-006-6, 2008 [5] OOSE, UML-2.5-Notationsübersicht, 2013, Download am 20.11.2016, http://www.oose.de/wp-content/uploads/2012/05/uml-notationsübersicht-2.5.pdf 18/18