10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung

Größe: px
Ab Seite anzeigen:

Download "10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung"

Transkript

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

2 Modellgrenzen am Beispiel INNOVATOR Innovator kann gleichzeitig für Analyse-, Entwurfs- und Implementierungsmodelle eingesetzt werden, sowie für Transformationen dazwischen Prof. U. Aßmann, SEW Model Driven Architecture (MDA) SEW, Prof. Uwe Aßmann 4

3 MDA-Transformationsprozess 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. 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 depends upon Transformation Specifi cation depends upon Target Language defi ned in defi ned by defi ned in Source Model Transformation Target Model PIM PSM Quelle: Kleppe, A., Warmer, J., Bast, W.: MDA Explained - Practice and Promise of the Model Driven Architecture; Addison Wesley 2003 (Draft ) Prof. U. Aßmann, SEW 5 PIM und PSM gemäß der MDA 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: Prof. U. Aßmann, SEW 6

4 Das MDA-Metamodell <<basiert auf>> PIM Mapping Techniken Mapping von PIM zu PIM UML <<dargestellt mit>> 1..n <<beschrieben mit>> PIM 1..n <<unabhängig von>> MOF <<dargestellt mit>> Metamodel 1..n Mapping von PIM zu PSM Refactoring vom PSM zu PIM andere Sprachen <<dargestellt mit>> 1..n 1..n <<beschrieben mit>> 1..n PSM <<hängt ab von>> Infrastruktur <<basiert auf>> 1..n 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 Model Management 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 Prof. U. Aßmann, SEW 8

5 Model Managemant Funktionen Tools im ModelBus 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) 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 Bewertungsaspekte von MDA-Tools Prof. U. Aßmann, SEW 9 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: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006 Prof. U. Aßmann, SEW 10

6 Werkzeugfunktionen am Bsp. ArcStyler 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 Vorgehen und Unterstützung beim ArcStyler Prof. U. Aßmann, SEW 11 Prof. U. Aßmann, SEW 12

7 Cartridges und generierte Artifakte 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 13 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: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006 Prof. U. Aßmann, SEW 14

8 10.3 Werkzeuge zur Arbeit mit Komponenten und Patterns SEW, Prof. Uwe Aßmann 15 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) Quelle: Griffel, F.: Componentware - Konzepte und Techniken eines Softwareparadigmas; dpunkt.verlag 1998 Prof. U. Aßmann, SEW 16

9 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) Quelle: Herczeg, J.: Methoden und Werkzeuge zur visuellen objektorientierten Programmierung, Diss. Universität Stuttgart 1995) Prof. U. Aßmann, SEW 17 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 18

10 Werkzeug-Grundtypen für objektorientierte Komponenten- bzw. Klassenbibliotheken 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.) Quelle: nach 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 19 Specifi c Business Requirements APPLICATION PROCESS SOLUTIONS Sow Reuse Harvest Services Generic Business Requirements COMPONENTS COMPONENT PROCESS Quelle: SELECT Enterprise; Demo Prof. U. Aßmann, SEW 20

11 Aufgaben des SELECT 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. 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 Zusammenspiel von SELECT Enterprise und Component Manager CONSUME (Application Development) Business Process Model - Process Hierarchy Diagram - Process Thread Diagram MANAGE SUPPLY (Component Development) Use Case Model - Use Case Diagram - Object Collaboration Diagram Use Case Model Use Case Diagram Architecture Model Interface Design Class Model - Object Sequence Diagram - Class Diagram - State Diagram Architecture Diagram Code Generation Synchronization Component Model - Object Sequence Diagram - Component Interface Diagram Publish Specifi cation Use Specifi cation SELECT Component Manager Publish Component Java Synchronizer Built Component UI Design & Code Application Quelle: SELECT Perspective: Hilfethemen Prof. U. Aßmann, SEW 22

12 Vorgehensmethodik zur Wiederverwendung mit dem Component Manager Quelle: SELECT Perspective: Hilfethemen Prof. U. Aßmann, SEW Funktionen des Source Code Engineering am Beispiel SNiFF+ SEW, Prof. Uwe Aßmann 24

13 Entwicklungsumgebung 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). Quelle: Hutschenreiter, J.: Werkzeuggestützte Entwicklung und Verwaltung größerer Softwareprojekte, Fa. CSC Ploenzke AG; Vortrag der GI-Regionalgruppe Dresden am Source Code Engineering mit SNiFF+ Prof. U. Aßmann, SEW 25 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. Prof. U. Aßmann, SEW 26

14 SNiFF+ Gesamtüberblick Projekt- Management Quellcode-Verstehen und -Browsen Entwicklung Launch Pad Symbol Browser Hierarchy Browser Class Browser Cross Referencer Retriever Include Browser Editor oder externer Emacs Code- Aufbau Versions- und Konfi gurations- Management Projekt Editor Confi guration Manager Diff/Merge Tool SNiFF+ Versions- und Konfi gurations- Systemadapter Interne Daten- und Steuerungsintegration Zentrales Data Repository Access Interface Build (Make) und Compiler Adapter SNiFF+ Symbol- Tabelle API Shell Debugger Documentation Editor Parser Adapter Dokumentations- Aufbau Debuggen Externes Versionsund Konfi gurations- Managementtool sniffaccess CASE-Tools sniffappcomm... Debugger... Make und Compiler... sniff parser 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 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 Verwaltete Datei-Objekte (hier Projekt OfficeApp ) Projekt-Baum Abbildung: Project Editor Prof. U. Aßmann, SEW 28

15 S N i F F + - Werkzeuge: HB (2) 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 Interface (runde Ecken, schräge Schrift) Klasse ( normal ) 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 S N i F F + - Werkzeuge: CB (3) Class Browser liefert zusammenfassenden Überblick über alle Klassen- Informationen (ähnlich Symbolbrowser) im Zusammenspiel mit Filtermechanismen. Abbildung: Class Browser Methoden Attribute 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

16 S N i F F + - Werkzeuge: SB (4) 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. Packages Abbildung: Symbol Browser Prof. U. Aßmann, SEW 31 S N i F F + - Werkzeuge: CR (5) 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. (De-)Konstruktor- Methode Klasse referenziert -Pfeil referenziert von -Pfeil (allg.) Methode genutzt als Komponententyp ( H -Relation = hat ein ) sensitiver Java- Quelltext mit ausgewählter Methode Prof. U. Aßmann, SEW 32

17 Tool Integration Framework with SNiFF+ 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 End Prof. U. Aßmann, SEW 34

18 Vorschlag eines Werkzeugkastens für den musterbasierten Entwurf von Framework-Applikationen 2 Class Hierarchy Browser Hypertexteditor muster-basiertes Dokumentationstool Entwurfsmuster- Beschreibung (am Beispiel von ET++) muster-basierte Strukturbeschreibung Grafi keditor Hypertexteditor Source Code Browser Source Code Browser Hypertexteditor muster-basiertes Struktur- Dokumentationstool Entwurfsmuster- Beschreibung 3 muster-basierte Komponentenbeschreibung elektronischer Entwurfsmusterkatalog Entwurfsmuster- Beschreibung 1 muster-basierte Strukturbeschreibung muster-basierter Entwurfstool 4 Grafi keditor Hypertexteditor Source Code Browser Quelle: Göpfert, A.: Software-Entwicklungswerkzeuge zur Nutzung von Design-Mustern; Diplomarbeit TU Dresden, Fakultät Informatik 1996 Notwendigkeit der oo-transformation Prof. U. Aßmann, SEW 35 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? Quelle: Rumbaugh, J. u. a.: Objektorientiertes Modellieren und Entwerfen; Hanser-Verlag 1994, S.140 Prof. U. Aßmann, SEW 36

19 Beispiel Application Framewerk 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 Prof. U. Aßmann, SEW 37 JFace und Eclipse externe Werkzeuge Quelle: Daum, B.: Java-Entwicklung mit Eclipse 2 Anwendungen und Plugins implementiernen mit SWT und JFace; dpunkt.verlag2003 Prof. U. Aßmann, SEW 38

20 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

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

10. Werkzeuge für den objektorientierten Entwurf und Wiederverwendung. 10.1 Modell-Transformation. 10.1.1 Model Driven Architecture (MDA) 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-

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

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

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

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

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Entwicklungswerkzeuge

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

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme Gerhard Wanner (wanner@hft-stuttgart.de) Stefan Stefan Siegl Siegl (s.siegl@novatec-gmbh.de) Agenda Model Driven Architecture (MDA) Einführung/Übersicht/Motivation

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

MDRE die nächste Generation des Requirements Engineerings

MDRE die nächste Generation des Requirements Engineerings MDRE die nächste Generation des Requirements Engineerings Tom Krauß, GEBIT Solutions GmbH Copyright 2007 GEBIT Solutions Agenda Requirements Engineering heute eine Bestandsaufnahme Modell-Driven Requirements

Mehr

Ausarbeitung Referat zur MDA

Ausarbeitung Referat zur MDA Model Driven Architecture (MDA) Florian Betreuer: Marco Musconi Software Engeneering Project WS 2006/07 07. Februar 2007 SEPR WS 2006/07 Seite 1 Inhaltsverzeichnis Historie 3 CASE 3 Objektorientierung

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

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

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

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

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

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

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

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

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung zur Thematik der Präsentationstechniken 2. Termin Präsentationstechniken Heute: 1 (Thema: Eclipse) für Kurzvorträge 2 Einführung in Präsentationstechniken 3 Gruppeneinteilung und Themenzuordnung Nächstes

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

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

Visual Studio 2010 Neues für Architekten

Visual Studio 2010 Neues für Architekten 1 conplement AG 2009. All rights reserved. NIK Technologieseminar Visual Studio 2010 und.net 4.0 inside Visual Studio 2010 Neues für Architekten 16. November 2009 Thomas Hemmer Daniel Meixner conplement

Mehr

Dirk Reinemann Working Student Sales Consulting

Dirk Reinemann Working Student Sales Consulting JDeveloper 12c in 30 Minutes Dirk Reinemann Working Student Sales Consulting Program Agenda 1. Integrated Development Environment 2. Java Development 3. Web Development 4. Team Development 5. Application

Mehr

Oracle SQL Developer Data Modeling

Oracle SQL Developer Data Modeling Oracle SQL Developer Data Modeling DOAG Regio Rhein-Neckar Oracle Deutschland GmbH The following is intended to outline our general product direction. It is intended for information

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

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

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Problemseminar ModelDrivenSoftwareDevelopment

Problemseminar ModelDrivenSoftwareDevelopment Problemseminar ModelDrivenSoftwareDevelopment Metamodellierungswerkzeuge Björn Dassow Aufbau Definition Beschreibung Metamodellierung Kurzer Überblick über EMF, GME, MetaEdit+ Interoperabilitätsbetrachtung

Mehr

Eclipse und Java Einheit 01: Einführung in Eclipse

Eclipse und Java Einheit 01: Einführung in Eclipse Eclipse und Java Einheit 01: Einführung in Eclipse Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Hintergrundwissen

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

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

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

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

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

transportation SYMTES Testen mit System www.ics-ag.de

transportation SYMTES Testen mit System www.ics-ag.de transportation SYMTES Testen mit System 1 Motivation Seit mehreren Jahrzehnten ist die ICS AG in Sachen Test in verschiedensten Projekten und bei zahlreichen Kunden unterwegs. Bei eingebetteten Anwendungen

Mehr

Java 6 lernen mit Eclipse

Java 6 lernen mit Eclipse Gottfried Wolmeringer Java 6 lernen mit Eclipse Galileo Press Danksagung 15 Vorwort 17 Hinweise zur Benutzung des Buches 18 Learning by Doing 19 TEIL I Grundlagen 1.1 Warumprogrammieren? 23 1.2 Was ist

Mehr

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution Thomas Seiler Product Manager Technology BISON Schweiz AG Agenda Vergleich - Business Software Framework zu.net Framework

Mehr

46 Softwarearchitektur mit dem Quasar-Architekturstil

46 Softwarearchitektur mit dem Quasar-Architekturstil 46 Softwarearchitektur mit dem Quasar-Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://st.inf.tu-dresden.de

Mehr

Grundlagen des Software Engineering

Grundlagen des Software Engineering Gustav Pomberger und Günther Blaschek Grundlagen des Software Engineering Prototyping und objektorientierte Software-Entwicklung Mit 101 Abbildungen Technische Universität Darmstadt FACHBEREICH INFORMATIK

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Integrationskonzepte für die HP Quality Center Plattform. Vivit 2009

Integrationskonzepte für die HP Quality Center Plattform. Vivit 2009 Integrationskonzepte für die HP Quality Center Plattform Thomas Jähnig Vivit 2009 Gliederung Einführung HP QualityCenter Synchronizer Plattform Implementierung eigener Adapter Alternativen Excel Import/Export

Mehr

Control System Studio CSS

Control System Studio CSS Control System Studio CSS Überblick Was ist CSS? Motivation Design Applikationen Entwicklungsbeispiel Kollaboration/ Entwicklung Demo Was ist CSS? CSS ist: ein Framework für Plug-ins zur Entwicklung von

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

Development auf der Plattform SAP HANA

Development auf der Plattform SAP HANA Development auf der Plattform SAP HANA SAP HANA Architektur SAP HANA Studio Modellierung auf SAP HANA Web basierte Data Access Role und Berechtigung SAP HANA Plattform SAP HANA als Appliance SAP HANA in

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

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

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

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

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

XE IDE Cloud Web. secure Data Agile. RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts. Daniel Wolf Delphi-Praxis

XE IDE Cloud Web. secure Data Agile. RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts. Daniel Wolf Delphi-Praxis RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts Daniel Wolf Delphi-Praxis Matthias Eißing Embarcadero Germany GmbH XE IDE Cloud Web 1 secure Data Agile Agenda Neues in der IDE, RTL

Mehr

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

Mehr

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1. CARSTEN EMRATH Abschluss Diplom (FH) Fach Angewandte Informatik Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4 (SCJP) Geburtsjahr 1971 Profil-Stand Januar 2016 Triona Information

Mehr

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath ) Schulung ) AUTOR Zoltan Horvath Orientation in Objects GmbH ) Beratung ) Veröffentlicht am: 26.2.2010 ÜBERSICHT ECLIPSE MODELING PROJECT ) Entwicklung ) ) Artikel ) Das Eclipse Modeling Project dient

Mehr

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio.

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio. Abschlussbericht Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio Christian Weber Agenda Motivation (3-5) Vorgehen (6-7) Konzeptionelle

Mehr

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

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

Reporting Lösungen für APEX wähle Deine Waffen weise

Reporting Lösungen für APEX wähle Deine Waffen weise Reporting Lösungen für APEX wähle Deine Waffen weise Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, Reporting, JasperReports, PL/PDF, BI Publisher, OPAL:XP, Doxxy, Oracle Rest Data Services

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

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Qualifikationsprofil:

Qualifikationsprofil: Qualifikationsprofil: ANWE Jahrgang 1968 Nationalität Deutsch Fremdsprachen Englisch, Spanisch (Grundkenntnisse) Ausbildung Dipl. Informatiker Zertifikate Technische Kenntnisse: D B S C R u b a n GmbH

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

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

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE Business Components for Java (BC4J) Marco Grawunder ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application

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

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung 30.10.2008 Dr. Georg Pietrek, itemis AG Inhalt Wer ist itemis? Modellgetriebene Entwicklung Ein Praxis-Beispiel Fazit 2 Vorstellung IT-Dienstleister Software-Entwicklung

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

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

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

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder Best Practices für RM/RE in einem Prozess Framework Thomas Schröder 1 Die Herausforderung bewährte Praktiken effektiv zu nutzen Unterschiedliche Quellen in unterschiedlichen Formaten Schwierig anzupassen

Mehr

Model Driven Software Development

Model Driven Software Development Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender

Mehr

Changelog objectif 7.0 Service Pack 3

Changelog objectif 7.0 Service Pack 3 Changelog objectif 7.0 Service Pack 3 Mit dem Service Pack 3 zu objectif haben wir wieder zahlreiche Neuerungen in objectif integriert und eine ganze Reihe von Fehlern behoben. Lesen Sie hier im Detail,

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

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Herausforderung: Entwicklungsmethodik und technisches Umfeld Model Driven Software Development Herausforderung: Entwicklungsmethodik und technisches Umfeld Referent: Christoph Schmidt-Casdorff Seite 2 / 42 Inhaltsverzeichnis 1. Werkzeuglandschaft 1.1 Language Workbench

Mehr

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1 Faktor-IPS Modellgetriebene Softwareentwicklung mit Faktor-IPS Seite 1 Faktor-IPS Faktor-IPS ist ein Werkzeug zur modellgetriebenen Entwicklung versicherungsfachlicher Systeme Bestandssysteme Außendienstsysteme

Mehr

Wann lohnt sich GUI- Testautomatisierung?

Wann lohnt sich GUI- Testautomatisierung? Wann lohnt sich GUI- Testautomatisierung? Martin Moser, Gregor Schmid Quality First Software GmbH qfs@qfs.de Tel: +49 8171 919870 2006-2007 Quality First Software GmbH 26.02.2007 1 Überblick Hintergrund

Mehr

Invoca Systems. Application Development Framework. Systemdokumentation. Vers. 1.2.2 / 08.02.2005. copyright (c) by Invoca Systems, 4304 Giebenach

Invoca Systems. Application Development Framework. Systemdokumentation. Vers. 1.2.2 / 08.02.2005. copyright (c) by Invoca Systems, 4304 Giebenach Invoca Systems Application Development Framework Systemdokumentation Vers. 1.2.2 / 08.02.2005 Konzepte: Architektur (Backend Applicationserver Client) Java-Database Objectrelational Mapping (=> Doku) Java

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

Adobe Flex & Grails RIA, REST und XML

Adobe Flex & Grails RIA, REST und XML Adobe Flex & Grails RIA, REST und XML Pascal Schudel Consultant pascal.schudel@trivadis.com Mischa Kölliker Principal Consultant mischa.koelliker@trivadis.com JUGS Zürich, 8. Juli 2010 Basel Bern Lausanne

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

In den folgenden tabellarischen Übersichten finden Sie Kenntnisse und Fähigkeiten unseres Entwickler-Teams und unserer Berater.

In den folgenden tabellarischen Übersichten finden Sie Kenntnisse und Fähigkeiten unseres Entwickler-Teams und unserer Berater. Sehr geehrter Interessent, als unabhängiger IT-Dienstleister bietet die Intermoves AG seit mehr als 15 Jahren Beratung, Projektmanagement, Entwicklung, Service und Betrieb im Bereich betrieblicher und

Mehr

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org>

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org> Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

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

Methoden zur Visualisierung von ereignisdiskreten Analysedaten

Methoden zur Visualisierung von ereignisdiskreten Analysedaten Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Methoden zur Visualisierung von ereignisdiskreten Analysedaten Referent: Hendrik Freund Betreuer: Vladimir

Mehr

Werkzeuge einer MDSD Entwicklungsumgebung für große Softwareproduktlinien Teil 2: Realisierung. itemis AG 2010 All rights reserved

Werkzeuge einer MDSD Entwicklungsumgebung für große Softwareproduktlinien Teil 2: Realisierung. itemis AG 2010 All rights reserved Werkzeuge einer MDSD Entwicklungsumgebung für große Softwareproduktlinien Teil 2: Realisierung Anforderungen Für den Modellierer Verständlich Reduziert Nachvollziehbar Integriert Sicher Anforderungen 2

Mehr

Berater-Profil 2349. Senior Web-Developer (OO-Analyse und -Design) Sun Certified Java Programmer

Berater-Profil 2349. Senior Web-Developer (OO-Analyse und -Design) Sun Certified Java Programmer BeraterProfil 2349 Senior WebDeveloper (OOAnalyse und Design) Sun Certified Java Programmer Ausbildung Studium Informatik (4 Semester) Studium Mathematik (4 Semester) EDVErfahrung seit 1996 Verfügbar ab

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

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

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Usecase Meta Model Comparison and Model Migration Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme Einführung in den Atlas Model Weaver (AMW) theoretisch und praktisch Anwendungsgebiete Wo

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr

Mehr

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr