10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung Modell-Transformation Model Driven Architecture (MDA)

Größe: px
Ab Seite anzeigen:

Download "10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung. 10.1 Modell-Transformation. 10.1.1 Model Driven Architecture (MDA)"

Transkript

1 10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung 10.1 Modell-Transformation SEW, Prof. Uwe Aßmann 1 Modellgrenzen am Beispiel INNOVATOR Innovator kann gleichzeitig für Analyse-, Entwurfs- und Implementierungsmodelle eingesetzt werden, sowie für Transformationen dazwischen Model Driven Architecture (MDA) SEW, Prof. Uwe Aßmann 2 Prof. U. Aßmann, SEW 3 SEW, Prof. Uwe Aßmann 4

2 MDA-Transformationsprozess PIM und PSM gemäß der MDA Ziel: Aus plattformunabhängigem (independent) Metamodell PIM sind mittels Regeln, Techniken plattformspezifi sche (specifi c) Modelle PSM zu entwerfen, zu generieren, zu implementieren oder zu portieren, um neue objektorientierte Anwendungen für eine bestimmte (Komponenten-)Plattform zu erhalten. Quelle: Ein weiteres Ziel von MDA ist die Integration solcher Technologien wie CORBA, J2EE,.Net und XML als Plattform. Unter einem Modell wird die Repräsentation einer Funktion, einer Struktur oder das Verhalten eines Systems verstanden, die modellgetrieben auf eine bestimmte Plattform transformiert werden sollen. Source Language defi ned in Source Model PIM depends upon Transformation Specifi cation defi ned by Transformation depends upon Target Language defi ned in Target Model PSM Kleppe, A., Warmer, J., Bast, W.: MDA Explained - Practice and Promise of the Model Driven Architecture; Addison Wesley 2003 (Draft ) Das MDA-Metamodell Prof. U. Aßmann, SEW 5 Für die unterschiedlichen Abstraktionsebenen PIM und PSM stehen verschiedene Beschreibungsmittel zur Verfügung: Fachkonzept auch CIM (Computation independent model) Plattformunabhängiges Modell (UML, OCL, XMI) Plattformspezifi sches Modell Basiskomponenten (JB) Steuerungskomponenten Infrastrukturkomponenten (EJB, CCM, COM+,.NET) Anwendungskomponenten Programmierung (oop) PIM PSM Ein PSM berücksichtigt die jeweilige Basistechnologie, auf der ein PIM zum Einsatz kommen kann (CORBA-Broker,.NET-Spezifi ka oder das Web-Service-Protokoll SOAP). Auch PSMs können mit der UML modelliert werden. In jedem Fall werden aus den PSMs die Codegerüste erzeugt, die die Komponenten-Entwickler dann weiter bearbeiten. Quelle: Warum JANUS MDA und MDA JANUS ist; Whitepaper der Firma otris Software AG Dortmund; URL: Model Management Prof. U. Aßmann, SEW 6 UML MOF andere Sprachen <<dargestellt mit>> <<dargestellt mit>> <<dargestellt mit>> Metamodel <<basiert auf>> <<beschrieben mit>> PIM Mapping von PIM zu PSM PIM Mapping Techniken Mapping von PIM zu PIM <<unabhängig von>> Refactoring vom PSM zu PIM <<beschrieben mit>> PSM <<hängt ab von>> Infrastruktur In der MDA müssen Modelle verwaltet werden: Modellalgebren. Lookup. Dif, comm, union, compose Versionsmanagement Konfgurationsmanagement Das führt auf Modellinfrastrukturen, Beispiel ModelBus Verteiltes Repository für Modelle <<basiert auf>> PSM = plattformspezifi sches Modell PSI = plattformspezifi sche Implementation PSM Mapping Techniken Mapping von PSM zu PSM Transformationen bezeichnet man auch als Abbildungen (mappings). Mapping von PIM zu PIM schafft neue Business Viewpoints, von PSM zu PIM Abstraktionen aus plattformabhängigen Implementierungen und zwischen PSM weiteren Verfeinerungen oder Zielplattformen. Prof. U. Aßmann, SEW 7 Prof. U. Aßmann, SEW 8

3 Model Managemant Funktionen Tools im ModelBus Bewertungsaspekte von MDA-Tools Tool Service Parameter Multiplizität Type UML- fi ndclass ClassName in [1..1] primitivetype (String) Repository Class out [1..1] specifi cmodeltype (Foundation::Core::Class) fi ndpackage PackageName in [1..1] primitivetype (String) Package out [1..1] specifi cmodeltype (Model_Management::Package) UML to transform sourcemodel in [1..*] specifi cmodeltype EJB (Model_Management::Package) targetmodel out [1..*] specifi cmodeltype (EJB:: EjbComponent) Code generatesingle EJBComponent in [1..1] specifi cmodeltype Generation Component (EJB:: EjbComponent) generate EJBComponent in [1..*] specifi cmodeltype Components (EJB:: EjbComponent) Unterstützung der Sprachen UML 2.0, OCL, XMI, CWM (MOF 2.0-basiert) Import, Export und Validierung von Modellen auf Basis ihres Austauschs mit XMI 2.0 Mapping zu einer Programmiersprache wie z. B. JMI Model-to-Model Mapping bzw. Transformation (z. B. PIM zu PSM) Model-to-Code Transformation (PIM zu PSI) Validierung der Modelle sowohl für Im-/Export als auch für die Transformation Erweiterungsmöglichkeiten der UML-Profi le durch explizite Metamodellierung sowie Modellprüfung Forward-, Reverse- bzw. Roundtrip-Engineering auf der Code-Ebene in Protected Regions Unterstützung zur Generierung grafi scher Benutzungsschnittstellen Automatische Generierung der Dokumentation Modellierung von Testfällen und automatische Generierung der Testdaten Eigenständige MDA-Tools, wenn sie (Meta-)Modellierung, Transformation und Code- Generierung unterstützen MDA-Suite, wenn sie CASE- bzw. UML-Umgebungen integrieren Quelle: Blanc, X., Gervais, M.-P., Sriplakich, P.: Model Bus: Towards the Interoperability of Modelling Tools; in Aßmann, U. u.a.: Model Driven Architecture, Springer Verlag 2005 Werkzeugfunktionen am Bsp. ArcStyler Prof. U. Aßmann, SEW 9 Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006 Vorgehen und Unterstützung beim ArcStyler Prof. U. Aßmann, SEW 10 Object Modeler erfasst Anforderungen unabhängig von Plattform (funktionale, essentielle Anforderungen) Basis CRC-Cards Technologie Pattern Refi nement Assistent überführt Fachmodell interaktiv in PIM UML-Modell (Basis MagicDraw oder Rational Rose) mit Annotation der essentiellen Design-Entscheidungen Verfeinerung des Fachmodells top down in untergeordnete UML-Diagramme und Quellcodegenerierung ebenfalls mit UML-Tool (MagicDraw) Codevervollständigung und Optimierung für jeweiligen Applikationsserver mit Cartriges und Tool ArcStyler von Interactive Objects Software GmbH Freiburg Komponentengenerierung für Oberfl äche sowie weitere Projekt- und Konfi gurations- dateien mit JBuilder. Schnittstelle zu IDE ist Standard Ant Build Process Datenbankgenerierung über Skripte zum Erstellen der DB-Schemas möglich. Das Werkzeug ArcStyler ist im Zusammenspiel mit MagicDraw (oder Rational Rose...) ein leistungsfähiges Werkzeugsystem(MDA-Suite), mit dem sich zum Beispiel J2EE- Applikationen gemäß den Konzepten der MDA entwickeln lassen. Quelle: Versteegen, G.: Wege aus der Plattformabhängigkeit - Hoffnungsträger Model Driven Architecture; Computerwoche 29(2002) Nr. 5 vom 1. Febr Prof. U. Aßmann, SEW 11 Prof. U. Aßmann, SEW 12

4 Cartridges und generierte Artifakte Kurzbeschreibung weiterer MDA-Tools Name Typ Austauschform. Zielsprachen IDE integr. IBM Rational Suite XMI, Rose Java, C++ Eclipse Software Architect Compuware Suite XMI, JDBC, Java, SQL, VisualStudio, OptimalJ XML Schema, XML JBuilder, versch. IDL Eclipse AndroMDA Frame- XMI Java, SQL, Eclipse work anpassbar Open Frame- XMI beliebig durch Eclipse Architecture work Anpassung Ware BITplan Frame- XMI Java, Obj. Pascal, Eclipse, smart work C, C++, C#, Cobol, Ultra Edit, Generator IDL, SQL, Vis. Basic VIM Quelle: Butze, D.: Entwicklung eines Praktikums für die werkzeugestützte Softwareentwicklung nach der Model-Driven-Architecture; Großer Beleg an der Fakultät Informatik der TU Dresden 2004 Prof. U. Aßmann, SEW Werkzeuge zur Arbeit mit Komponenten und Patterns Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006 Prof. U. Aßmann, SEW 14 Anforderungen an Werkzeuge zur Arbeit mit Komponenten Die Idealvorstellung wäre ein Software Information System (SIS) mit folgenden Eigenschaften: Beschreibung von vorhandenen Komponenten (im Repository) Beschreibung von vorhandenen Komponentenframeworks spezifisches Wissen(Expertensystem) für verschiedene Anwendungsbereiche (domain knowledge) Werkzeuge zur Navigation und Komponentenauswahl(Component Retrieving) strukturierte Editoren zur visuellen Zusammenstellung von Komponenten Assistenten(Wizards) zur Generierung von Grundgerüsten an Implementationscode Transformatoren zur Übertragung einer Komponente in eine andere Technik Generatoren zur Automatisierung der Implementations- und Codierungsphase Scriptsprachen zur Verfeinerung bzw. Anpassung bereits fertiggestellter Komponenten Werkzeuge zum automatisierten Zusammenbau (Montage) SEW, Prof. Uwe Aßmann 15 Quelle: Griffel, F.: Componentware - Konzepte und Techniken eines Softwareparadigmas; dpunkt.verlag 1998 Prof. U. Aßmann, SEW 16

5 Werkzeugaufgaben am Beispiel objektorientierter Klassenbibliotheken oder Frameworks Visualisierung von objektorientierten Komponenten- oder Programmstrukturen statisch (Zustandsbeschreibung der Attribute) dynamisch (Verhaltensbeschreibung der Methoden) statischen objektorientierten Strukturen Codestruktur Datenstrukturen Objektstrukturen Kontrollstrukturen Methodenstrukturen Objektstrukturen zwischen internen Attributen v. Objekten externen Relationen zw. Obj. Darstellen, Navigieren entlang Relationen, Vergrößern, Verschieben Methodenstrukturen { des Fokus interne Kontrollstruktur der Operationen externer Aufruf von Methoden bzw. Operatoren objektorientiertem Programmcode Einrückdiagramme (Verschachtelungen mit Farbe, Schriftarten) Tempates (formatierte Eingabeschablonen) Werkzeugaufgaben am Beispiel objektorientierter Klassenbibliotheken oder Frameworks(2) Visualisierung von dynamischen objektorientierten Strukturen Datenfl ußmodell Folge auf Objekt angewandter Operatoren und Attributwertänderungen Kontrollfl ußmodell Abfolge von Nachrichten(Nachrichtenfl uß) zu Methoden- oder Funktionsaufrufen Ereignissen und Zuständen textuelle Protokollierung ihres Eintreffens (Tracing) Abfolge von Momentaufnahmen (Snapshots) sich ändernden Zuständen (Animationen und Simulationen) Methoden- und Funktionsinterpretation Darstellung Methodendefi nition und Modifi kation Inspektion beteiligter Objekte bzw. Argumente Darstellung der Aufrufhierarchie als Keller (Aufruf-Stack) Programmausführung Eintreten in gesetzte Haltepunkte (Breakpoint) explizite Programmunterbrechung durch Nutzer (Interrupt) Auftreten eines Programmfehlers Fortsetzen und Abbrechen des Programmablaufs Quelle: Herczeg, J.: Methoden und Werkzeuge zur visuellen objektorientierten Programmierung, Diss. Universität Stuttgart 1995) Prof. U. Aßmann, SEW 17 Werkzeug-Grundtypen für objektorientierte Komponenten- bzw. Klassenbibliotheken Quelle: Herczeg, J.: Methoden und Werkzeuge zur visuellen objektorientierten Programmierung, Diss. Universität Stuttgart 1995) Anwendungs- und Komponenten-Entwicklung: buy or build? Prof. U. Aßmann, SEW 18 Editoren: Erstellen und Modifi zieren statischer Komponentenstrukturen Textdarstellung mit speziellen Visualisierungstechniken wie Ein- rückdiagrammen und Templates Browser: Visualisierung von externen Komponenten-, Objekt- und Methodenstrukturen Navigieren und Explorieren in diesen Strukturen Erlaubte Manipulationen mit speziellen graphischen Editoren möglich Inspektoren: Visualisierung und Modifi kationen interner Komponentenstrukturen Darstellung und Modifi kation von Attributen und Instanzvariablen Tracer: Visualisierung dynamischer Komponentenstrukturen, wie Funktions- und Methodenaufrufe Navigation in dynamischen und auch statischen Komponentenstrukturen Weitere einzusetzende Werkzeuge siehe Klassen von CASE-Tools(1. Vorl.) Specifi c Business Requirements Generic Business Requirements APPLICATION PROCESS Sow Reuse Harvest Services COMPONENT PROCESS SOLUTIONS COMPONENTS Quelle: nach Herczeg, J.: Methoden und Werkzeuge zur visuellen objektorientierten Programmierung, Diss. Universität Stuttgart 1995 Prof. U. Aßmann, SEW 19 Quelle: SELECT Enterprise; Demo Prof. U. Aßmann, SEW 20

6 Aufgaben des SELECT Component Manager Zusammenspiel von SELECT Enterprise und Component Manager Hilft Nutzern, Designern und Entwicklern Komponenten zu verwalten, zu publizieren und Wiederzuverwenden mittels Bereitstellung folgender Funktionen: Publizieren neuer Komponenten(Anforderungen, Spezifi kation, Interfaces) zum Zwecke der Wiederverwendung Speicherung von Informationen über ein breites Gebiet von Komponenten COM, CORBA, EJB und aller eingeschlossenen Funktionen Verwaltung der Komplexität der Versionsbeziehungen und aller Abhängigkeiten zwischen den Komponenten Wiederauffi ndung(sophisticad) aller Komponenten mit einer universellen Suchmaschine einschließlich des Zugriffs zu ihnen entsprechend den spezifi zierten Anforderungen Verwalten der Repositories im Netz, Nutzerregistrierung und Zugriffssteuerung zur Sicherung einer automatisierten Komponenten-Änderung, ausgelöst durch Sicherung der Verwaltung aller Komponentenbeschreibungen, wie Hilfe-Files, Installetionsanleitungen direkt aus dem Repository Visualisierung der Komponentenabhängigkeiten und der Komponentenversorgung mittels Browsern und Drag-and-Drop Entwurf und Verwaltung der Komponentenverbreitung mittels automatischer Generierung von UML-Diagrammen. CONSUME (Application Development) Business Process Model - Process Hierarchy Diagram - Process Thread Diagram Use Case Model Use Case Diagram Architecture Model Architecture Diagram Component Model - Object Sequence Diagram - Component Interface Diagram Publish Specifi cation Use Specifi cation MANAGE SELECT Component Manager Interface Design Publish Component SUPPLY (Component Development) Use Case Model - Use Case Diagram - Object Collaboration Diagram Class Model - Object Sequence Diagram - Class Diagram - State Diagram Code Generation Java Synchronizer Built Component Synchronization Quelle: Alip, M.: Entwicklung eines Werkzeug-Praktikums zur komponentenorientierten Softwareentwicklung; Diplomarbeit an der Fakultät Informatik der TU Dresden 2004 Prof. U. Aßmann, SEW 21 Vorgehensmethodik zur Wiederverwendung mit dem Component Manager UI Design & Code Application Quelle: SELECT Perspective: Hilfethemen Prof. U. Aßmann, SEW Funktionen des Source Code Engineering am Beispiel SNiFF+ Quelle: SELECT Perspective: Hilfethemen Prof. U. Aßmann, SEW 23 SEW, Prof. Uwe Aßmann 24

7 Entwicklungsumgebung SNiFF+ Source Code Engineering mit SNiFF+ SNiFF+ ist offene, erweiterbare und anpassbare Cross-Programmierumgebung mit dem Hauptziel, für große Multi-Entwickler-Projekte eine effektive Unterstützung ein-schließlich einer komfortablen, adaptierbaren Benutzungsschnittstelle bereitzustellen. Codeverständlichkeit und Browsing Filterungs- und Visualisierungstechniken helfen die Vielzahl von Files, Symbolen und Codezeilen zu beherrschen, indem eigene sprachsensitive und fehlertolerante Parser geboten werden. Alle Code-Änderungen werden durch Browser-Tools direkt angezeigt, so daß eine Recompilierung unnötig ist. Projekt- und Code-Verwaltung für Teams Ein leistungsfähiges Projekt- und Arbeitsplatz-Konzept gestattet Bearbeitung sehr großer Projekte und effektive Kooperation in Teams. Eine effi ziente Replikation und ein File-Sharing mit Versionskontrolle(VC) zwischen den Nutzern wird unterstützt. Werkzeug- und Steuerintegration Die Integration externer Werkzeuge (vom Editor bis zum VC-Tool) wird mittels eines Adapters am SNiFF+ -Interface gewährleistet. Cross-Plattform Unterstützung Arbeit in heterogenen Entwicklungsumgebungen und einfache Portierung auf andere Plattformen (integriert in das Projektmanagement). Source Code Engineering bildet die Grundlage, um Quellcode schnellstmöglich zu bearbeiten und Softwareprojekte ständig aktuell zu halten: schnelles Erfassen und Verstehen komplexer Abhängigkeiten und Bezie-hungen im gesamten Quellcode (mittels Browsern und Filtern) leichte punktgenaue Navigation durch Tausende von Files und Millionen Lines of Code (z.b. mit Browsern und Such-Tools) detaillierte Analyse innerhalb quasi unendlicher Listen Auffi nden aller rufenden und gerufenen Funktionsbeziehungen, des Lesens oder Schreibens von Variablen als Basis der Wiederverwendung bzw. des Reengineerings existierenden Quellcodes kürzere Entwicklungszyklen einheitliche Entwicklung in Multilanguage Environments schnellere, unterstützte Einarbeitung der (Anfänger-)Entwickler in neue und existierende Projekte Organisation einer effektiven Teamarbeit und -verwaltung für große Projekte Leicht zu bedienende und konsistente Werkzeuge auf möglichst vielen Plattformen (Windows und unterschiedliche UNIX-Derivate) Eingliederung von Dateisystemen als Unterprojekte wird gestattet. Quelle: Hutschenreiter, J.: Werkzeuggestützte Entwicklung und Verwaltung größerer Softwareprojekte, Fa. CSC Ploenzke AG; Vortrag der GI-Regionalgruppe Dresden am Prof. U. Aßmann, SEW 25 Prof. U. Aßmann, SEW 26 Versions- und Konfi gurations- Management SNiFF+ Gesamtüberblick Projekt- Management Launch Pad Projekt Editor Confi guration Manager Diff/Merge Tool Symbol Browser SNiFF+ Versions- und Konfi gurations- Systemadapter Hierarchy Browser Quellcode-Verstehen und -Browsen Class Browser Interne Daten- und Steuerungsintegration Zentrales Data Repository Access Interface Cross Referencer Retriever Build (Make) und Compiler Adapter Include Browser SNiFF+ Symbol- Tabelle API Entwicklung Editor oder externer Emacs Shell Debugger Documentation Editor Parser Adapter Code- Aufbau Dokumentations- Aufbau Debuggen S N i F F + - Werkzeuge: PE (1) Project Editor (PE) verwaltet Projekt-Dateien und -Attribute (einschl. Laufzeitparameter der Entwicklungsumgebung) auf Basis einer abstrakten File-Level-Sicht in einer natürlichen hierarchischen Form(Projekt, Teilprojekt, Filetypen (Quellcode, Binär-, Make-, Test,- Dok.-Files usw.) und gestattet damit eine exakte und komplette Defi nition von Projektelementen. Der PE ist die zentrale Zugriffsbasis für die Arbeitsumgebung auf File-Ebene und Ausgangspunkt für die (z.b. sensitiven) Aufrufe weiterer SNiFF+-Tools (z.b. Browser). hilfreiche leistungsfähige Filter Externes Versionsund Konfi gurations- Managementtool sniffaccess CASE-Tools sniffappcomm... Debugger... Make und Compiler... sniff parser Verwaltete Datei-Objekte (hier Projekt OfficeApp ) Projekt-Baum Quelle: entnommen aus Online-Hilfe von SNiFF+: Index-Punkt SNiFF+ Architektur - SNiFF+ Umgebung Hersteller: Wind River Inc., Alameda, California, USA Hinweis: Keine Browser für die dynamische Sicht vorhanden! Prof. U. Aßmann, SEW 27 Abbildung: Project Editor Prof. U. Aßmann, SEW 28

8 S N i F F + - Werkzeuge: HB (2) S N i F F + - Werkzeuge: CB (3) Hierarchy Browser zeigt die Klassen-Vererbungs-Hierarchie und stellt bei direktem Quellcode-Bezug Filtermechanismen zur Auswahl der Klassen und Hierarchieanzeige-Eigenschaften bereit. Abbildung: Hierarchy Browser Class Browser liefert zusammenfassenden Überblick über alle Klassen- Informationen (ähnlich Symbolbrowser) im Zusammenspiel mit Filtermechanismen. Abbildung: Class Browser Interface (runde Ecken, schräge Schrift) Klasse ( normal ) Methoden Attribute abstrakte Klasse (schräge blaue Schrift) implementierende / erbende Klassen anonyme Klassen (OuterClassName$InnerClassName) sensitiver Java-Quelltext mit ausgewählter Klasse Prof. U. Aßmann, SEW 29 Indikatoren ( Kürzel = dienen der Typisierung, Farben = Sichtbarkeit, Schrägbalken = virtuelle Methode, Foto-Ecken = Überschreibe-Modus, Schrift = schräg>abstrakt, fett>mit Teilen, die Filterkriterien entsprechen ) Prof. U. Aßmann, SEW 30 S N i F F + - Werkzeuge: SB (4) S N i F F + - Werkzeuge: CR (5) Symbol Browser liefert Überblick über alle Symbole (s. Class Browser), wie Variable, Funktionen, Methoden, Klassen, Schnittstellen usw. im Quellcode (auf File- od. Projekt-Ebene). Durch das Einschalten von Filtern (z.b. Symboltyp bzw. andere Kriterien) wird die Code- Durchsuche erleichtert. (De-)Konstruktor- Methode Klasse Cross Referencer (ähnlich HB) ermittelt alle Arten unterschiedlicher Bezugnahmen (Komponenten- und Aufruf-Beziehungen in beide Richtungen) und stellt sie für Auswertungen (z.b. Auswirkung von Codeänderung im Projekt) bereit. Packages referenziert -Pfeil referenziert von -Pfeil (allg.) Methode genutzt als Komponententyp ( H -Relation = hat ein ) Abbildung: Symbol Browser Prof. U. Aßmann, SEW 31 sensitiver Java- Quelltext mit ausgewählter Methode Prof. U. Aßmann, SEW 32

9 Tool Integration Framework with SNiFF+ End Möglichkeit der Integration unterschiedlicher Werkzeuge, wie Editoren, Compiler, Debugger, Konfi gurationsmanagement und Versionssteuerungs-tools je nach Ausprägung bestimmter Gewohnheiten der Entwickler. Mit der offenen graphischen Benutzungsschnittstelle(GUI) können wahl-weise auch unterschiedliche Interfaces zu anderen Plattformen und wichti-gen Tools einbezogen werden. Es wird eine Aufbau-Verwaltung(build management) geboten auf Grundla-ge der Unterstützung komplexer Projekte(Proj.-Attribute), der Teamarbeit sowie der parallelen Verwaltung von Konfi gurationen(automatically make) und Plattformen. Möglichkeit der Kopplung mit CASE-Tools insbesondere für die frühen Phasen zur Integration grafi scher Spezifi kationen in die Entwicklungsum-gebung. Einbeziehung von Prototyping-Werkzeugen, sogenannten Rapid Appli-cation Development(RAD)-Tools zur Umsetzung einer partizipativen Pro-jektentwicklung ausgehend von der Benutzungsschnittstelle. Nutzung des Remote Control Interface zum adaptergesteuerten Zugriff auf externe Tools auf entfernten Plattformen. Quelle: URL: Hersteller: Wind River Inc., Alameda, California, USA Prof. U. Aßmann, SEW 33 Vorschlag eines Werkzeugkastens für den musterbasierten Entwurf von Framework-Applikationen 2 Class Hierarchy Browser Hypertexteditor muster-basierte Komponentenbeschreibung muster-basiertes Dokumentationstool Entwurfsmuster- Beschreibung (am Beispiel von ET++) Grafi keditor Hypertexteditor Source Code Browser elektronischer Entwurfsmusterkatalog Entwurfsmuster- Beschreibung muster-basierte Strukturbeschreibung muster-basierter Entwurfstool 4 Grafi keditor Hypertexteditor Source Code Browser Source Code Browser Hypertexteditor muster-basiertes Struktur- Dokumentationstool Entwurfsmuster- Beschreibung muster-basierte Strukturbeschreibung Quelle: Göpfert, A.: Software-Entwicklungswerkzeuge zur Nutzung von Design-Mustern; Diplomarbeit TU Dresden, Fakultät Informatik Prof. U. Aßmann, SEW 35 Notwendigkeit der oo-transformation Quelle: Rumbaugh, J. u. a.: Objektorientiertes Modellieren und Entwerfen; Hanser-Verlag 1994, S.140 Prof. U. Aßmann, SEW 34 Benötigte Attribute zur Implementation der vorhandenen (bi- oder unidirektiona- len) Objektassoziationen? Notwendige Attribute zur Umsetzung von Aggregationsstrukturen (Ist für Teilobjekt die Kenntnis des Gesamtheitsobjektes notwendig?) Sollen ableitbare Attribute oder zusätzliche Objektverbindungen modelliert werden (Effi zienz)? Welche Abstimmung der Objekte (synchron oder asynchron) wird verlangt? Braucht man nebenläufi ge Prozesse? Notwendige Klassen zum Erzeugen persistenter Objekte, zum Speichern und zur Kommunikation mit einer Datenbank? Realisierung als zentrales oder verteiltes System? Wie kommen Nachrichten im verteilten Fall an die richtige Stelle? Nutzung welcher Komponententechnologie? Notwendige Klassenobjekte zur Ausnahme- und Fehlerbehandlung (Administration)? Notwendige Klassen für Benutzungsschnittstelle und Kommunikation mit anderen Systemen (Infrastruktur)? Bei Zerlegung des entstehenden Programms in eine Modulstruktur, welche (Übersetzungs-)Abhängigkeiten bestehen zwischen den Moduln? Prof. U. Aßmann, SEW 36

10 Beispiel Application Framewerk Eclipse JFace und Eclipse Hergestellt durch Open Source-Gemeinde unter Führung von IBM und Mitwirkung von Borland, Oracle, Together, Rational (ca. 150 Mitglieder) aber zunächst ohne Sun (Gegensatz zu AWT, Swing) und Microsoft Stellt eine Bibliothek wiederverwendbarer Software-Komponenten in Form eines umfang-reichen Frameworks für Java-Applikationen zur Verfügung Enthält ein Anwendungsframework JFace mit einfachen Funktionen zur effi zienten Implementierung von GUI-Benutzeroberfl ächen auf der Basis von SWT (Standard Window Toolkit), eines GUI-Framework basierend auf der MVC-Architektur Vorgefertigte Actions defi nieren eine Semantik für Benutzeraktionen Bietet eine umfangreiche Plugin-Architektur, in der eine Vielzahl von Plugins verschiedener Entwickler, z.b. die Java-IDE selbst, aber auch Plugins für C++, COBOL, RPG(in Vorbereitung) bereitgestellt werden Zur Erstellung von Eclipse-Projekten werden eine Vielzahl von Werkzeugen, wie textbasierte und grafi sche (implementierbare) Editoren statische und dynamische Browser Viewer zur Visualisierung der internen Objektstruktur und der dynamischen Objektzustände und viele weitere Werkzeuge zur Verfügung gestellt externe Werkzeuge Prof. U. Aßmann, SEW 37 Quelle: Daum, B.: Java-Entwicklung mit Eclipse 2 Anwendungen und Plugins implementiernen mit SWT und JFace; dpunkt.verlag2003 Prof. U. Aßmann, SEW 38 Hauptwerkzeuge für die Eclipse-Plattform Java-Entwicklungswerkzeuge(JDT): Worbench-Editoren wie - Text-Editor - Schema-Editor (für XML) - graphischer (composition) Editor Browser wie - Hierarchie-Browser - Package Explorer (Navigator) - weitere konfi gurierbar Browsing-Perspektive erlaubt Sichten auf Projekte, Packages, Typen und Methoden bzw. Felder Viewer - JUnit-Viewer - Property-Viewer - CVS Repository Viewer - Search-Viewer - weitere anlegbar über JavaPackage als Table- oder Tree-View z.b. zum Visualisieren von Aufbau, Filterung, Sortierung sowie Aktualisierung von Listen, Tabellen und Bäumen - Outline-Viewer (an die Workbench lassen sich mehrere Fenster oben und unten wie vom Nutzer gewünscht andocken) Plug-In-Entwicklungsumgebung(PDE): erlaubt die Einbindung unterschiedlichster Werkzeuge für Softwareentwicklung wie Together, MagicDraw, JavaCC, ClearCase, JellySWT(XML-basierte Scriptsprache für SWT) und viele andere Prof. U. Aßmann, SEW 39

37. Werkzeuge für die Model- Driven Architecture

37. Werkzeuge für die Model- Driven Architecture 37. Werkzeuge für die Model- Driven Architecture Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de

Mehr

47. Werkzeuge für die modellgetriebene Architektur (Model- Driven Architecture, MDA)

47. Werkzeuge für die modellgetriebene Architektur (Model- Driven Architecture, MDA) 47. Werkzeuge für die modellgetriebene Architektur (Model- Driven Architecture, MDA) Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

64. Tools for Model-Driven Architecture (MDA) (Werkzeuge für die modellgetriebene Architektur)

64. Tools for Model-Driven Architecture (MDA) (Werkzeuge für die modellgetriebene Architektur) 64. Tools for Model-Driven Architecture (MDA) (Werkzeuge für die modellgetriebene Architektur) Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

A Domain Specific Language for Project Execution Models

A Domain Specific Language for Project Execution Models A Domain Specific Language for Project Execution Models Eugen Wachtel, Marco Kuhrmann, Georg Kalus Institut für Informatik Software & Systems Engineering Inhalt Einführung und Hintergrund Problembereiche

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Neue Funktionen in Innovator 11 R5

Neue Funktionen in Innovator 11 R5 Neue Funktionen in Innovator 11 R5 Innovator for Enterprise Architects, Java Harvester und Prüfassistent 12.11.2013 Agenda 1 2 3 Einführung Was ist neu in Innovator 11 R5? Szenario Enterprise Architektur

Mehr

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

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

INNOVATOR im Entwicklungsprozess

INNOVATOR im Entwicklungsprozess Erfahrungsbericht INNOVATOR im Entwicklungsprozess Basis für Host- und Java-Anwendungen Dr. Carl-Werner Oehlrich, Principal Consultant MID GmbH Das Modellierungswerkzeug INNOVATOR Geschäftsprozess-Modellierung

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung In dieser Demo verwendet Alex die Visualisierungs- und Modellfunktionen von Rational Software Architect, um die Architektur der Anwendung zu betrachten und festzulegen, wie die Änderung Sofort kaufen bestmöglich

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

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

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Kurzfassung der Studienarbeit

Kurzfassung der Studienarbeit Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder

Mehr

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Swisstopo-Kolloquium 11.04.2008 TU München, 13. März 2007 Inhalt 1. Anforderungen, Voraussetzungen, Grundlagen 2. Instrumente

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

Mehr

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung

10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung 10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung SEW, Prof. Uwe Aßmann 1 10.1 Modell-Transformation SEW, Prof. Uwe Aßmann 2 Modellgrenzen am Beispiel INNOVATOR Innovator kann gleichzeitig

Mehr

10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung. SEW, Prof. Uwe Aßmann 1

10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung. SEW, Prof. Uwe Aßmann 1 10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung SEW, Prof. Uwe Aßmann 1 10.1 Modell-Transformation SEW, Prof. Uwe Aßmann 2 Modellgrenzen am Beispiel INNOVATOR Innovator kann gleichzeitig

Mehr

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

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

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Produktinformation DaVinci Developer

Produktinformation DaVinci Developer Produktinformation DaVinci Developer Inhaltsverzeichnis 1 DaVinci Developer - Entwurf von AUTOSAR Softwarekomponenten... 3 1.1 Die Vorteile von DaVinci Developer im Überblick... 3 1.2 Anwendungsgebiete...

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace Konfiguration System ClearCase ClearQuest Unified Change Konfiguration System ClearCase Merkmale eines Konfiguration Systems (KM) Buildoptimierung UCM-Unified Change Der Software-sprozess Projekt definiert

Mehr

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 (LQOHLWXQJ Mit der SAP Testworkbench und dem Testtool ecatt können Anwender von SAP Software auf Basis des SAP Web Application Servers ab

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Björn Heinemann Leiter Entwicklung Energiewirtschaft Björn Heinemann Leiter Entwicklung Energiewirtschaft Basis eclipse RCP eclipse platform project als Basis mit frameworks und services RCP Rich Client Platform zur Umsetzung einer Anwendung mit Benutzeroberfläche

Mehr

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011 Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Hilfe und Support. Statische Hilfe. Inhaltsverzeichnis der Hilfetexte. Reihe TextGrid-Tutorials

Hilfe und Support. Statische Hilfe. Inhaltsverzeichnis der Hilfetexte. Reihe TextGrid-Tutorials Reihe TextGrid-Tutorials Hilfe und Support Das TextGridLab bietet ein integriertes Online-Hilfesystem an, das als Ganzes geöffnet oder nach Schlüsselwörtern durchsucht werden kann, sowie eine kontextbezogene

Mehr

IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen

IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen Vorlesung - IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.3.1 Management komplexer Integrationslösungen Seite 1 Typische Situation in Integrationsprojekten Verwendung komplexer und teuerer Integrationsframeworks.

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Design mit CASE-Tools

Design mit CASE-Tools Geodatabase Objekt Modell Teil 2: Design mit CASE-Tools Andreas Greithanner Team Entwicklung Kranzberg 2002 ESRI Geoinformatik GmbH Agenda Was ist CASE? Entwicklung eines Datenmodells Anlegen verschiedener

Mehr

FIS: Projektdaten auf den Internetseiten ausgeben

FIS: Projektdaten auf den Internetseiten ausgeben Rechenzentrum FIS: Projektdaten auf den Internetseiten ausgeben Ist ein Forschungsprojekt im Forschungsinformationssystem (FIS) erfasst und für die Veröffentlichung freigegeben, können Sie einige Daten

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an? WEBAPPLIKATIONEN MIT PHP Wo gibt es Hilfe? Wie fang ich an? Tools Webapplikationen bestehen aus Textdateien Lassen sich in Texteditoren schreiben Alternativen: Eclipse (PDT) Netbeans (Dynamic Languages)

Mehr

APAS ist das Ergebnis unserer langjährigen Erfahrung im Bereich der Mess-, Prüf- und Automatisierungstechnik.

APAS ist das Ergebnis unserer langjährigen Erfahrung im Bereich der Mess-, Prüf- und Automatisierungstechnik. APAS - AMS Prüf- und Automatisierungs-System - APAS ist das Ergebnis unserer langjährigen Erfahrung im Bereich der Mess-, Prüf- und Automatisierungstechnik. APAS zeichnet sich durch folgende Eigenschaften

Mehr

SAP SharePoint Integration. e1 Business Solutions GmbH

SAP SharePoint Integration. e1 Business Solutions GmbH SAP SharePoint Integration e1 Business Solutions GmbH Inhalt Duet Enterprise Überblick Duet Enterprise Use Cases Duet Enterprise Technologie Duet Enterprise Entwicklungs-Prozess Duet Enterprise Vorteile

Mehr

Viele gute Stellen sind frei. Besetzen Sie eine.

Viele gute Stellen sind frei. Besetzen Sie eine. Viele gute Stellen sind frei. Besetzen Sie eine. Die Innovations Softwaretechnologie GmbH mit Hauptsitz am Bodensee ist Wir suchen gute Java Entwickler. Kommen Sie zu uns als: Informatiker(in) (Diplom/Bachelor/Master)

Mehr

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen

Mehr

Toolgestützte Prozessdokumentation. Prozessorientiertes E-Government, 28.10.2005 Joel Meir, jmeir@csc.com, +41 31 998 46 46

Toolgestützte Prozessdokumentation. Prozessorientiertes E-Government, 28.10.2005 Joel Meir, jmeir@csc.com, +41 31 998 46 46 Toolgestützte Prozessdokumentation Prozessorientiertes E-Government, 28.10.2005 Joel Meir, jmeir@csc.com, +41 31 998 46 46 Wir bieten unseren Kunden End-to-End Lösungen an Consulting Systems Integration

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20

Mehr

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006 Oliver Böhm MKS GmbH Agenda Überblick Der Entwicklungsprozess: Requirements

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

Mehr

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG. Referent: Lutz Bauer, Senior Systemberater, MT AG

OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG. Referent: Lutz Bauer, Senior Systemberater, MT AG OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG Referent: Lutz Bauer, Senior Systemberater, MT AG Inhaltsverzeichnis Kurzvorstellung Data Warehouse Bayer Healthcare

Mehr

Übersicht der Funktionen Für Projekte - Programme - PMO (eine kleine Auswahl)

Übersicht der Funktionen Für Projekte - Programme - PMO (eine kleine Auswahl) Übersicht der Funktionen Für Projekte - Programme - PMO (eine kleine Auswahl) Die Tools von clearpmo.de stellen alle zentralen Funktionen zur Verfügung, die ein professionelles Projektmanagement und Projektcontrolling

Mehr

ADVISOR - Moodle: Eine E-Learning Anwendung mit eduweaver. Sabrina Fochler Universität Wien. 15. September, 2006

ADVISOR - Moodle: Eine E-Learning Anwendung mit eduweaver. Sabrina Fochler Universität Wien. 15. September, 2006 ADVISOR - : Eine E-Learning Anwendung mit eduweaver Sabrina Fochler Universität Wien 15. September, 2006 Gliederung 1 Das Projekt EduBITE 2 ADVISOR und die Methode eduweaver 3 4 5 Learning Management Systeme

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Vector Software. Verwendung des VectorCAST/Requirement Gateways mit DOORS > > >

Vector Software. Verwendung des VectorCAST/Requirement Gateways mit DOORS > > > Vector Software W H I T E P A P E R Verwendung des VectorCAST/Requirement Gateways mit DOORS Einleitung VectorCAST/Requirements Gateway ist ein an Add-on Modul für VectorCAST/C++ und VectorCAST/Ada Modul

Mehr

IBM Software Demos WebSphere Dashboard Framework

IBM Software Demos WebSphere Dashboard Framework IBM ist ein leistungsstarkes, flexibles Tool zur Erstellung aktiver Dashboards. Da Dashboards schnell und einfach erstellt werden können, werden Entwicklungs- und Wartungskosten verringert. Maureen

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert.

Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert. Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert. Diplomvortrag Frank Langanke Arbeitsbereich Softwaretechnik Software Engineering

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Generatives Programmieren

Generatives Programmieren Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence WS 2013-14 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.10.2013 Business Intelligence Praktikum

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

Mehr

eclipse und Komponenten

eclipse und Komponenten Christian bossk Holle & Markus Breitländer Fh-Dortmund Fb Informatik SS04 Geschichte von eclipse April 1999 Eclipse wird von OTI und IBM entwickelt November 2001 Eclipse wird Open Source Lizensiert unter

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung R. Gitzel, M. Schwind Agenda! Überblick/Motivation! Hintergrund! Technische Umsetzung! Zentrale Ergebnisse 2 Überblick Ziele! Know-how-Aufbau/Stand

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) 1 e-business Patterns??? e-business Patterns Architekturen, die sich über die Zeit bewährt haben. Pattern-Fundgrube web-basierte

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

P23R4FLEX Das P23R-Prinzip in der Umweltdatenberichterstattung. Ulrike Schüler Forum Prozessketten, Mannheim, 16. Mai 2013

P23R4FLEX Das P23R-Prinzip in der Umweltdatenberichterstattung. Ulrike Schüler Forum Prozessketten, Mannheim, 16. Mai 2013 Das P23R-Prinzip in der Umweltdatenberichterstattung Ulrike Schüler Forum Prozessketten, Mannheim, 16. Mai 2013 1 Berichtsprozesse im Umweltbereich national, vielfach europäisch und international festgelegt

Mehr