Modellierung mit UML 2

33 %
67 %
Information about Modellierung mit UML 2
Education

Published on July 1, 2008

Author: giombetti

Source: authorstream.com

Modellierung mit UML 2 : Modellierung mit UML 2 01.07.2008 Folie 1 Modellierung mit UML 2 Marc Giombetti Model-Driven DevelopmentProseminar im Sommersemester 2005 Was ist UML? : Modellierung mit UML 2 01.07.2008 Folie 2 Was ist UML? Die UML (Unified Modeling Language) ist eine von der Object Management Group (OMG) entwickelte Beschreibungsspache um Strukturen und Abläufe in Softwaresystemen zu: modellieren dokumentieren spezifizieren visualisieren Sie entstand anfangs durch die Zusammenführung verschiedener Modellierungstechniken, die alle eine hohe Praxisrelevanz hatten: unified – Eine Sprache für alles. → Breiteres Anwendungsgebiet: gute Lesbarkeit viel Semantik allmögliche Systemaspekte / Sichten ... Begründer: Boch, Rumbough und Jacobson Was ist Modellbasierte Entwicklung? : Modellierung mit UML 2 01.07.2008 Folie 3 Was ist Modellbasierte Entwicklung? Unterscheidung: Modell: vereinfachtes Abbild der Wirklichkeit. Diagramm: grafische Darstellung von Daten oder Informationen. Sicht: Gewisse Perspektive auf ein Modell. Stellt nur die für den jeweiligen Standpunkt relevanten Aspekte dar. (→ Abstraktion) Was ist Modellbasierte Entwicklung? : Modellierung mit UML 2 01.07.2008 Folie 4 Was ist Modellbasierte Entwicklung? Automatisierung bei der Softwareerstellung. Infrastrukturcode, Teilsysteme oder ganze Anwendungen generativ aus formalen Methoden ableitbar. Modellierung einer Domäne (z.B Business-Bereich) Entwicklung ausschließlich unter Verwendung von Operationen auf dem konzeptuellen Produktmodell. Einige Vorteile: Stakeholder nehmen im Prozess Teil. Modellportabilität über Metamodelle. Macht Komplexität beherrschbar. Was ist Modellbasierte Entwicklung? : Modellierung mit UML 2 01.07.2008 Folie 5 Was ist Modellbasierte Entwicklung? Die Modellwelt: Modelle sind ein natürlicher Weg um komplexe Vorgänge und Systeme zu verstehen, damit sie dann in die Realität überführt werden können. Entstehung vieler Modelle, doch Die Kombination bereitet Schwierigkeiten Inkonsistenzen Komplizierter Planungsprozess (→“Unordnung“) → Idee: Wichtigste Modellnotationen in einer Sprache strukturiert zusammenführen und vereinigen → UML Die Manipulation des Modells ist nur mittels Diagrammen möglich. Die UML Diagramme stellen lediglich eine Sicht auf ein Modell dar. Diagrammtypen : Modellierung mit UML 2 01.07.2008 Folie 6 Diagrammtypen 13 Diagrammtypen, unterteilt in: statische Diagramme (Strukturdiagramme) dynamische Diagramme (Verhaltensdiagramme) Use-Case-Diagramm : Modellierung mit UML 2 01.07.2008 Folie 7 Use-Case-Diagramm Use-Case-Diagramme (dt: Anwendungsfall-Diagramme) beschreiben die Leistungen des Systems für: seine Umwelt Nachbarsysteme Stakeholder Beschreibung aus der Sicht eines Aussenstehenden. ( → Black-Box-Sicht) Oftmals zur ersten Skizzierung eines Projektes verwendet. (→ Hohes Abstraktionsniveau) einfaches Notationsmittel ( → auch für Laien (z.B. Kunden) intuitiv verständlich)) → Hauptsächlich Analysemodell Use-Case-Diagramm - Beispiel : Modellierung mit UML 2 01.07.2008 Folie 8 Use-Case-Diagramm - Beispiel Use-Cases auf einer Einweihungsfeier: Klassendiagramm : Modellierung mit UML 2 01.07.2008 Folie 9 Klassendiagramm Klassendiagramme beschreiben: Beziehungen (Schnittstellen, Assoziationen, Abhängigkeiten, Generalisierungen) zwischen Klassen und Typen. Operationen / Methoden Attribute Zur Modellierung der statischen Struktur des Systems (statisches Diagramm). Bildet die Brücke zu den dynamischen Diagrammen. Meistverwendetes Diagramm (selten unverzichtbar, Kern der UML). Ersetzt immer mehr die klassische Entity Relationship Notation. Darstellung: Klassendiagramm - Beispiel : Modellierung mit UML 2 01.07.2008 Folie 10 Klassendiagramm - Beispiel Metamodell zur Überführung eines Analyse- in ein Designmodell : Modellierung mit UML 2 01.07.2008 Folie 11 Metamodell zur Überführung eines Analyse- in ein Designmodell Codegenerierung : Modellierung mit UML 2 01.07.2008 Folie 12 Codegenerierung Ziel jeder Modellierung ist irgendwann die Umsetzung des Modells in Programmiercode. Codegenerierung: Überführung eines UML-Modells in Programmiercode einer gewissen Sprache mittels Transformationsregeln. Die Überführungsregeln ergeben sich aus dem Metamodell der UML als auch aus dem Metamodell der Zielprogrammiersprache. Überführung meistens mit geeigneten Tools. Ein Tool ist besser je mehr Überführungsregeln es unterstützt (→ Round-Trip Engineering): Tau/Developer Poseidon for UML Codegenerierung – Beispiel : Modellierung mit UML 2 01.07.2008 Folie 13 Codegenerierung – Beispiel Codegenerierung – Beispiel : Modellierung mit UML 2 01.07.2008 Folie 14 Codegenerierung – Beispiel Java-Code des modellierten Partybeispiels : public abstract class Person {        // Eigenschaften        public String name;        public int alter;        public void trinke(int c) {                 // Programmiercode        } }class Partyteilnehmer extends Person {        // Eigenschaften        public Boolean betrunken = false;        public void feiere() {                 // Programmiercode        }  } class Partyveranstalter extends Person {        private int budget;        public void zahleRechnung(Euro betrag) {                //Programmiercode        } }  class Gastgeber ...        //Mehrfachvererbung ist in Java nicht darstellbar Grenzen und Probleme : Modellierung mit UML 2 01.07.2008 Folie 15 Grenzen und Probleme Die Object Constraint Language (OCL) bringt viel Semantik in die Diagramme → Vereinfacht die Überführung in Quellcode, aber: Überführung eines Modells per „Knopfdruck“ in fertigen Programmiercode ist nicht möglich. Diagramme müssen interpretationsfrei sein. Es ist nicht möglich ein leicht verständliches einfaches Diagramm zu haben, das zugleich alle Details enthält. In der UML 2 Spezifikation ist nicht genau angegeben, wie ein Modell in Programmiercode überführt werden muss. ( → Überführung = Abhängig von UML-Tool) Fazit : Modellierung mit UML 2 01.07.2008 Folie 16 Fazit Die UML 2 ist eine Sprache mit sehr hoher Praxisrelevanz im Softwareengineering („lingua franca des Softwareengineerings“) Gelungene Zusammenführung praxisrelevanter und weitverbreiteter Modellierungstechniken. Keine Methode! – Satz von Notationen zur Formulierung aus einer allgemeinen Sprache. Entweder einfache, gut lesbare übersichtliche Diagramme, oder präzise komplexe Diagramme die prüfbar und automatisierbar sind. UML wird der Anforderung nicht ganz gerecht, eine Sprache für alles zu sein, daher entstehen Erweiterungen: UML-RT (Echtzeitfähigkeit) xUML UML Profile Direkte Quellcodeerzeugung ist nur bedingt möglich. (Rumpf / Dynamik) Kontakt Informationen : Modellierung mit UML 2 01.07.2008 Folie 17 Kontakt Informationen Marc Giombetti m_giombe@informatik.uni-kl.de Fragen ? Zusatzfolie: Vom Platform Independent Model (PIM) zum Platform Specific Model (PSM) : Modellierung mit UML 2 01.07.2008 Folie 18 Zusatzfolie: Vom Platform Independent Model (PIM) zum Platform Specific Model (PSM) Problemlösung oftmals gleich; nur die Umsetzung ist variabel. Beispiel: Die modellierte Party ist immer die Gleiche, aber → Realisierung in Java, C++, C# usw verschieden. Ein Algorithmus und seine Implementierung in einer Sprache. Um ein PIM in ein PSM zu überführen, werden zusätzliche Informationen über die Plattform gebraucht. Grundsatz: Trennung von technologieunabhängigen und technologiebezogenen Notationen und Konzepten. Erspart: Arbeit, Zeit und Geld bei der Portierung auf andere Plattformen. Zusatzfolie: Ziele der UML : Modellierung mit UML 2 01.07.2008 Folie 19 Zusatzfolie: Ziele der UML Die wichtigsten Ziele der UML 2 lassen sich in 3 Kategorien aufteilen: Übersichtlichkeit Eliminierung verschiedener Modellkonstrukte Weniger Basiskonzepte, dafür aber konsequente Wiederverwendung (der Basiskonzepte) Präzisionssteigerung UML 2 basiert weitgehend auf der Object Constraint Language (OCL) (Semantiksteigerung) Einheitliches Meta-Modell Ausführbarkeit executable UML (xUML) Überführung verschiedener Modelle in Programmiercode durch eindeutige deterministische interpretationsfreie Diagramme Zusatzfolie: Klassendiagramm - Präzisierung : Modellierung mit UML 2 01.07.2008 Folie 20 Zusatzfolie: Klassendiagramm - Präzisierung Es gibt 2 Arten von Klassendiagrammen Konzeptuell-analytische Modellierung abstrakte Sicht auf das System → Übersicht / Verständlichkeit technische Details sind unwichtig (keine Operationen, keine Schnittstellen usw) Verwendung: frühe Projektphase Logische, Design-orientierte Modellierung sehr hohe Präzision → Detailgenauigkeit Beinhaltet technische Informationen → Quellcodeerzeugzung Verwendung: spätere Projektphase Zusatzfolie: Klassendiagramm - Notation : Modellierung mit UML 2 01.07.2008 Folie 21 Zusatzfolie: Klassendiagramm - Notation Klassendiagramme und die Notation für: Abhängigkeiten Assoziationen Realisierung Schnittstellen Notizzettel für Kommentare (keine semantische Wirkung)

Add a comment

Related presentations

Related pages

Unified Modeling Language – Wikipedia

Die UML 2.0 Infrastructure Specification legt das Fundament für UML2, ... B. Rumpe, Modellierung mit UML. Springer Verlag, 2004, ISBN 3-540-20904-2;
Read more

Modellierung mit UML - Teil 2: Konzepte | Datentypen ...

Ein Datentyp ist eine Abstraktion im Kontext einer Programmiersprache. Ein Datentyp hat einen eindeutigen Namen, der ihn von anderen Datentypen ...
Read more

B. Rumpe: Modellierung mit UML - SE@RWTH : MBSE

Übersicht Inhaltsverzeichnis Vorwort 1 Einführung 1.1 Ziele der beiden Bücher 1.2 Überblick 1.3 Notationelle Konventionen 1.4 Einordnung der UML/P
Read more

Objektorientierte Modellierung mit UML 2 und Model Driven ...

Nutzen Sie die UML 2 mit ihren Kompositionsstruktur-, Sequenz-, Klassen-, Aktivitäts- und Zustandsdiagrammen auch für Ihre objektorientierte Modellierung ...
Read more

Software-Entwurf mit UML 2: Objektorientierte Modellierung ...

Jochen Seemann - Software-Entwurf mit UML 2: Objektorientierte Modellierung mit Beispielen in Java jetzt kaufen. ISBN: 9783540309499, Bücher - Weitere ...
Read more

Modellierung mit UML - Teil 2: Konzepte | Ereignisklassen ...

Bild 11: Beispiele für das Senden von Nachrichten (UML-Sequenzdiagramm). Das Uhr-Objekt sendet die gibZeit()-Nachricht an ein Zeit-Objekt, um die aktuelle ...
Read more

B. Rumpe: Modellierung mit UML - SE@RWTH : MBSE

2.2.2 Methoden. Im dritten Feld einer Klassenrepräsentation werden Methoden mit Namen, Signaturen und ggf. Modifikatoren für Methoden dargestellt.
Read more

Objektorientierte Modellierung mit UML 2

Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken-Historisch kulturwissenschaftliche Informationsverarbeitung-Universität zu Köln
Read more

UML 2 glasklar: Praxiswissen für die UML-Modellierung ...

Chris Rupp - UML 2 glasklar: Praxiswissen für die UML-Modellierung jetzt kaufen. ISBN: 9783446430570, Bücher - Projektmanagement
Read more

Leitprogramm Informatik: Modellieren mit UML

Leitprogramm Informatik: Modellieren mit UML Schultyp: Gymnasium Klasse: 12 GK Informatik Fachliche Vorkenntnisse: Objektorientierte Programmierung
Read more