Poseidon for UML Einführung Andreas Blunk
Gliederung 1) Editionen/Lizenzen 2) Die Programmoberfläche 3) Modelle speichern 4) Einführung am lebenden Objekt 5) Generierung (Doc & Code) 6) Funktionsumfang der Editionen 7) Abschlussbemerkungen 2
(1) Editionen/Lizenzen verschiedene Editionen Basis: Community Edition nur für Lernzwecke, kein kommerzieller Einsatz aktuelle Version: 3.1 (aber: nur teilweise UML 2.0 Diagramme) volle UML 2.0 Unterstützung in späteren Versionen 3
(2) Die Programmoberfläche 4 Arbeitsbereiche 4
(2) Die Programmoberfläche Navigations-Ansicht verschiedene Möglichkeiten der Navigation durch das Modell unterschiedliche Sichten jede Sicht organisiert das Modell in einer spezifischen Struktur Sichten enthalten jeweils nur relevante Elemente 5
(2) Die Programmoberfläche Diagramm-Ansicht Anzeigen und Bearbeiten der Diagramme des Modell Toolbar (variiert je nach Diagramm-Typ) zusätzliche Diagramme in Registern 6
(2) Die Programmoberfläche Detail-Ansicht Zugang zu Eigenschaften der Elemente Navigation zwischen Elementen 7
(2) Die Programmoberfläche Vogelperspektive Übersicht über alle Elemente des Diagramms, falls dieses zu groß wird 8
(3) Modelle speichern Funktionsweise ziemlich klar Aber: verschiedene Speicherformate erklärungsbedürftig offene Standards, auch beim Speichern Standard für Austausch von Modellen zwischen Tools ist Teil der UML-Spezifikation der OMG basiert auf XML mit speziellen Erweiterungen/Regeln, daher als XMI (XML Metadata Interchange) bezeichnet Aber: XMI speichert keine Layout-Informationen (Anordnung von Elementen, Farbinformationen ) XMI Layout Kompression.zuml 9
(4) Einführung am lebenden Objekt! 10
(5) Codegenerierung Ziel der gesamten Modellierung Unterstützung vieler Typen von Ausgabecode: Java, HTML, jede Art von Programmiersprache nur das Programm-Skelett wird generiert (klar) aber auch automatische Codegenerierung für setter- und getter-methoden 11
(5) Codegenerierung Unterpunkte UMLdoc Reverse Engineering (Java) Roundtrip Engineering (Java) 12
(5) Codegenerierung UMLdoc HTML-Dokumentation des Modell ähnlich JavaDoc, aber: JavaDoc dokumentiert nur den Code /** /** **@param url url an an absolute URL URL giving the the base location of of the the image **@param name the the location of of the the image, relative to to the the url urlargument * @return the image at the specified URL */ public Image getimage(url url, String name) { UMLdoc dagegen: * @return the image the specified URL */ gleiche Informationen wie JavaDoc public Image getimage(url url, String name) { dazu Klassen-, Use-Case-, Aktivitätsund Zustandsdiagramme des } Modell } 13
(5) Codegenerierung UMLdoc 14
(5) Codegenerierung Reverse Engineering Problem: ein Programm soll erweitert werden, aber nur der Quellcode liegt vor (kein Modell) Lösung: Code-Analyse und Modell-Generierung mit Reverse-Engineering-Tool Poseidon: nur Unterstützung für JAVA-Quellcode, erst ab Standard-Edition einsetzbar 15
(5) Codegenerierung Roundtrip Engineering Erweiterung des Reverse Engineering verbindet existierenden Code zu einem existierenden Modell Code kann außerhalb bearbeitet werden, Änderungen werden dann ins Modell integriert Codegenerierung Code Änderungen einfügen Modell Änderungen (Eclipse) Änderungen (Poseidon) 16
(6) Funktionsumfang der Editionen Community Standard Professional (Embedded) Enterprise Nur für Lernzwecke Kein kommerzieller Einsatz Java-Codegenerierung (Forward Engineering) 17
(6) Funktionsumfang der Editionen Community Standard Professional (Embedded) Enterprise Reverse Engineering Java UMLdoc (HTML Export) Plug-In Support 18
(6) Funktionsumfang der Editionen Community Standard Professional (Embedded) Enterprise Eclipse IDE Integration Roundtrip Engineering Java Codegenerierung für viele andere Sprachen (Template-basiert...) 19
(6) Funktionsumfang der Editionen Community Standard Professional (Embedded) Enterprise Team-Unterstützung und Versionskontrolle gemeinsame Entwicklungsumgebung basierend auf Client-Server-Architektur 20
(7) Abschlussbemerkungen Dokumentation von Gentleware (englisch): http://www.gentleware.com/fileadmin/media/ archives/userguides/poseidon_users_guid e/book1.html 21
Fragen NARF? 22