Model-Driven Development in der Praxis mit objectif Herzlich willkommen
Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in Java Online Shop in Java: Vom plattformunabhängigen Modell bis zum Deployment mit objectif Online Shop in Java: Realisierung von fachlichen Änderungen Projektspezifische Modelltransformationen entwickeln: Vorgehen Nutzen Aufwand
stellt sich vor
microtool stellt sich vor Der Erfolg Ihrer IT-Projekte ist unser Ziel Den Erfolg bestimmen die Menschen die Softwaretechnik das Projektmanagement microtool seit über 20 Jahren Spezialist für Tools & Verfahren der Softwaretechnik und des IT-Projektmanagements 4
microtool stellt sich vor microtool Softwaretechnik objectif für Model-Driven Development (MDD) mit der UML Modelle und Code hoch integriert Modelle und Code hoch integriert Tools case/4/0 für strukturierte Entwicklung, Datenmodellierung und Data-Warehouse-Modellierung sehr lebendiger Klassiker sehr lebendiger Klassiker Entwicklung kundenspezifischer Modelltransformationen Entwicklung individueller Tool-Funktionen Beratung und Coaching für Einführung von UML, MDD und SOA Dienstleistungen 5
microtool stellt sich vor microtool IT-Projektmanagement in-step für prozessbasiertes Management von IT Projekten Projektinfrastruktur für die Kollaboration im Team organisationsweite Projektdatenbank integrierte Funktionen für Kernprozesse wie Projekt-, Anforderungs- und Konfigurationsmanagement Prozessmanagement für den erfolgreichen Einsatz von Prozessen Prozessvorlagen für V-Modell XT, PRINCE2, iterative und agile Entwicklung Einführung und Umsetzung von Prozessen Entwicklung kundenspezifischer Prozesse und individueller Tool-Funktionen Beratung und Coaching zur Verbesserung der Prozessreife Tools Dienstleistungen 6
Model-Driven Development die Grundlagen
Model-Driven Development die Grundlagen Ziele, Strategie, Erfolgsfaktor Das Ziel: Die Entwicklungsgeschwindigkeit in Projekten steigern Die Strategie: Abstraktion durch plattformunabhängige Modellierung Automation durch plattformspezifische Modelltransformation Der Erfolgsfaktor = Modellieren : Transformieren : Editieren 8
Model-Driven Development die Grundlagen MDD das Grundprinzip Fachliches, plattformunabhängiges Modell mit Markierung nach UML-Profil Automatische Modelltransformation mit objectif Plattformspezifisches Modell mit Architektur und Code 9
Model-Driven Development die Grundlagen Domäne und Sprache für Modelltransformationen Die Domäne ist Wissen über Software-Architekturen Die Sprache ist die UML mit Stereotypen und Properties Modellelement mit PIM Stereotyp Transformationsbeziehung mit PIM/PSM Stereotyp Modellelement mit PSM Stereotyp 10
Model-Driven Development die Grundlagen Iterative Modelltransformationen mit Roundtrip Engineering PIM Element PIM Element Iterative Transformation mit Create, Update und Delete Navigieren PSM Element PSM Element Generierte Code-Blöcke Editierbare Code-Blöcke Generieren Generieren IDE mit Source Code Reverse Engineering 11
Model-Driven Development die Grundlagen Scope einer Transformation Presentation Service Entity PIM Control Session Persistence PSM Für die Domäne Software-Architektur = Eine Transformation für einen Layer 12
Model-Driven Development von Web-Anwendungen in Java
Model-Driven Development einer Web-Anwendung in Java Scope & Anforderungen Scope der Transformationen: Web-Anwendung mit Präsentationsfluss ServiceClasses EntityClasses Technische Anforderungen: Skalierbarkeit Verteilbarkeit Transaktionssicherheit Security Java-Standards 14
Model-Driven Development einer Web-Anwendung in Java Die Software-Architektur der Web-Anwendung Presentation Layer Business Layer Persistence Layer JSP Struts Hibernate Servlet Container J2EE Container JDBC Database EJB 3.0 orientiert 15
Model-Driven Development einer Web-Anwendung in Java Das PIM der Web-Anwendung UML-Statechart UML-ClassDiagramm WebPage Request/ Method ServiceClass Method EntityClass EntityClass WebPage Property 16
Model-Driven Development einer Web-Anwendung in Java Die Transformation von EntityClasses EntityClass Property EntityClass Persistent Class Persistent Class Properties CreateMethod FindMethods AssociationProperties Hibernate Mapping File Data Access Object Interface für Dependency Inversion Data Access Object Data Access Object Data Transfer Object Data Transfer Object Session Factory für Container Managed Transactions 17
Model-Driven Development einer Web-Anwendung in Java Transformation von ServiceClasses ServiceClass Service Method EJB Session Bean Session Method DataTransferObject als Rückgabetyp EJB Remote Interface EJB Home EJB Home Service Locator Service Locator Deployment auf Client 18
Model-Driven Development einer Web-Anwendung in Java Transformation des Präsentationsflusses WebPage Request/ Service Forward WebPage Action Class Action Class Lookup SessionBean Call SessionMethod Return Forward Form Beans Form Beans Struts Config File 19
Online Shop in Java Live Vom plattformunabhängigen Modell bis zum Deployment mit objectif
Model-Driven Development Projektspezifische Modelltransformationen entwickeln: Vorgehen Nutzen Aufwand
Model-Driven Development Vorgehen, Nutzen, Aufwand Entwicklung von Modelltransformationen: Die Vorgehensschritte Transformationen an Referenzimplementierung prüfen Transformationen implementieren Referenzimplementierung manuell entwickeln UML-Profile und Transformationen definieren Referenzarchitektur entwerfen 22
Model-Driven Development Vorgehen, Nutzen, Aufwand Modellgetriebener, iterativer Entwicklungsprozess Anforderungen definieren Release 1 entwickeln Transformationen entwickeln Iteration 1 durchführen Iteration 2 Anforderungen zu Iteration 1 implementieren Transformationen für Iteration 2 verbessern 23
Model-Driven Development Vorgehen, Nutzen, Aufwand Der messbare Nutzen Das Ziel: Geschwindigkeit Die Strategie: Abstraktion & Automation Ergebnisse für den Online Shop in Java Editierte PIM-Elemente : generierte PSM-Elemente = 20 : 80 Editierte LoC : generierte LoC = 10 : 90 24
Model-Driven Development Vorgehen, Nutzen, Aufwand Der Aufwand in der Praxis Entwicklung der Referenzimplementierung und der Modelltransformationen: 20 40 Personentage pro Layer Einführung der gezeigten Transformationen für Web-Anwendungen in Java: 10 Personentage Überlassung des Source Codes bestehender Transformationen 25
Model-Driven Development Vorgehen, Nutzen, Aufwand Verfügbare Transformationen Presentation Flow Struts Business Logic EJB Session Beans Presentation Flow Java Server Faces* Business Process BPEL, Web Service* Transformationen für Presentation Layer * September 2006 Transformationen für Service Layer * September 2006 Business Classes Hibernate Business Classes Gentle.NET Transformationen für Persistence Layer UML Statecharts Quantum C++ UML Statecharts C# Classes Transformationen für Automaten 26
Herzlichen Dank und viel Erfolg in Ihren Projekten www.objectif.de