MDA mit AndroMDA

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    MDA mit AndroMDA - Presentation Transcript

    1. MDA mit AndroMDA Praxiserfahrungen Torsten Lunze, Communardo Software GmbH
    2. Inhalt
      • Motivation
      • Kurzeinstieg in AndroMDA
      • Einsatz im Projekt
      • Erfahrungen aus dem Projekteinsatz
      • Fazit
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    3. Motivation
      • Welchen Vorteil bringt uns eine MDA Lösung?
      • Anforderungen
        • Aufwand für Einarbeitung und Einrichtung im Verhältnis stehend zum Nutzen (Return of Investment)
        • Einfach handhabbar auch für neue Entwickler
        • Die Generierung und der Buildprozess muss stabil funktionieren
        • Das Modellierungstool muss bezahlbar bleiben
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    4. Inhalt
      • Motivation
      • Kurzeinstieg in AndroMDA
      • Einsatz im Projekt
      • Erfahrungen aus dem Projekteinsatz
      • Fazit
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    5. Einstieg in AndroMDA
      • Java Sourceforge Projekt
        • Version 3.2 im weiteren verwendet
      • Modellierung erfolgt über UML
        • Anpassungen durch UML Profile (Stereotypen und Tagged Values)
      • Generierung anhand von Velocity Templates
      • Bündelung von Templates und Konfigurationen in Cartridges
      • Anpassung an generierten Code durch
        • Vererbung
        • Mergemappings
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    6. Cartridges
      • Vorgefertige Cartridges:
        • (N)Hibernate
        • EJB3
        • Spring
        • Webservices (AXIS, Xfire)
        • Struts
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie AndroMDA und Cartridges können direkt verwendet werden ohne Generator oder Templates anzupassen oder zu erstellen.
    7. Andromda Generationsprozess © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    8. Andromda Standardarchitektur © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    9. © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie => Modelliert Generiert
    10. Inhalt
      • Motivation
      • Kurzeinstieg in AndroMDA
      • Einsatz im Projekt
      • Erfahrungen aus dem Projekteinsatz
      • Fazit
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    11. Einsatz im Projekt
      • Setup des Projektes
      • Buildmanagement
      • Teamwork
      • Versionskontrolle
      • Releasemanagement
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    12. Setup von AndroMDA
      • Verwendung von AndroMDA 3.2 mit Cartridges
        • Hibernate
        • Spring
        • BPM4Struts
      • Modellierung mit MagicDraw 9.5
      • AndroMDA bietet einen Projektgenerator für Maven 2
      • Cartridges müssen ebenfalls versioniert werden
      • Initiale geringe Anpassungen
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    13. Buildmanagement
      • Integration der Generierung in Maven 2
      • Kleine Änderung im Modell
        • Ziel: Nur die Dateien neu generieren, die davon betroffen sind
        • Lösung:
        •  Generierung nur eines bestimmten Packages
        •  Generierung nur durch ausgewählte Cartridges
        • Die Festlegung was neu generiert werden soll, wird nicht automatisch sondern muss vom Entwickler getroffen werden.
    14. Versionierung
      • Problem: XML Format eines Modells komplex
        • Mergen nahezu unmöglich
      • Lösung:
        • Aufsplitten der Modelle in Schichten (FE/Service/Backend) und Komponenten (User/Evaluation/Security…)
        • Mehrere Modelldateien
        • Nutzen von Locks in Versionskontrollen
      • Alternativ:
        • Teamworkserver (Checkin/Checkout über MagicDraw)
      • Generierte Dateien nicht in Versionskontrolle
    15. Releasemanagement
      • Neues Release 2 wird entwickelt.
      • Das Modell für Release 2 wird umfangreich angepasst.
      • Es tritt ein Bug im Release 1 auf.
      • Der Bugfix benötigt eine Änderung des Modells für Release 1.
      • Die Änderung muss auch in Release 2 nachgezogen werden…
      • Automatismus?
    16. Probleme
      • Konfliktlösung in Modellierung falls Entwickler gleichzeitig ein Modell bearbeitet haben
      • BPM4Struts Cartridge zu unübersichtlich verwendbar
        • Modellierung zu umständlich mit MagicDraw
        • Zusätzlich hoher Lernaufwand um Cartridge zu verstehen
      • Bugs die durch Cartridge / Generator erzeugt werden sind schwieriger zu beheben
      • Lösungen die an Standardarchitektur vorbeigehen:
        • Erstellung von nichtgenerierten Klassen
        • Keine Modellierung im Modell
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    17. Inhalt
      • Motivation
      • Kurzeinstieg in AndroMDA
      • Einsatz im Projekt
      • Erfahrungen aus dem Projekteinsatz
      • Fazit
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    18. Einfluss auf Softwareprozess
      • Learning Curve: „Lernen statt Arbeiten“
        • Lernaufwand höher: Zu verstehen was wird wie wo generiert
        • Dafür Einsparung von Arbeit: Kleine Anpassung im Modell  Große Änderung im Code (anstatt per Hand)
      • Bei der Konfiguration des Projektes:
        • Auswahl der zu nutzenden Cartridges
        • Anpassung, Erweiterung an Architekturforderungen
      • Während des Projektes:
        • Fehlerbehebung und Anpassung der Cartridges
        • Zu entscheiden: Passe ich die Implementierung an oder suche ich eine generische Lösung durch Veränderung der Cartridges?
      • Nachdem Projekt:
        • Einfluss der Erfahrungen
        • Wiederverwendung in neuen Projekten
    19. Verbreitung im Unternehmen
      • Einstieg in AndroMDA für Softwareentwickler erleichtern
        • Vorträge
        • Workshops
      • Einsatz von AndroMDA in neuen Java Projekten
        •  Durch ähnliche Architektur von AndroMDA Projekten ist die Einarbeitung in ein anderes AndroMDA Projekt deutlich einfacher
      • Erstellung und Nutzung einer Cartridge für Coremedia (CMS System)
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    20. Andromda - Vorteile
      • Vorgefertige Cartridges (Hibernate, Spring) sind Out Of The Box verwendbar
      • Müssen in anderen System i. d. R. erst von Hand geschrieben werden
        • Sehr aufwändig
      • Anpassbarkeit gegeben
      • Schnelles Entwickeln: Modell Code (abgesehen von Setup Aufwand)
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    21. Andromda - Nachteile
      • Muss mit den vorgefertigten generierten Konzept der 3-Schichten-Architektur leben
      • Trennung des Plattformspezifisches Modell nicht gegeben (für Andromda 4 geplant)
      • Verknüpfung von mehreren AndroMDA Projekten nur durch Anpassung von Cartridges
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    22. Vorteile MDA
      • Langfristige/Kurzfristige Vorteile (je nach Dauer des Projekts von Bedeutung):
      • Fehleranfälligkeit und Code-Qualität  Ja
      • Integration und Interoperabilität  Nicht relevant
      • Portabilität  Praktisch schwierig
      • Konsistenz zwischen Code und Modellen  Ja
      • Aufwand vs. Kosten
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    23. Open issues
      • Stabilität des Datenmodells
        • Auswirkungen auf Datenbank
      • Entfremdung des Entwicklers vom Code
      • Herstellerabhängigkeit durch Verwendung der Tools
      • Modellierung im Team
      • Releasemanagement
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    24. Inhalt
      • Motivation
      • Kurzeinstieg in AndroMDA
      • Einsatz im Projekt
      • Erfahrungen aus dem Projekteinsatz
      • Fazit
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    25. Fazit
      • Templates / Cartridges in AndroMDA können direkt gentutzt werden
      • Ohne Anpassung von Generation möglich Webanwendungen zu generieren
      • Ansatz in kurz- und mittelfristigen Projekten sinnvoll
      • Bei großen Projekten führen die Open Issues (insb. Teamwork und Releasemanagement) zu Problemen
      © Communardo Software GmbH · Fon +49 (0) 351 833820 · info@communardo.de · www.communardo.de Folie
    26. Vielen Dank
      • www.humannetworkcompetence.de
      • www.communardo.de
      • www.xing.com/profile/torsten_lunze

    jugsaxonyjugsaxony, 2 years ago

    custom

    727 views, 0 favs, 1 embeds more stats

    More Info

    © All Rights Reserved

    Go to text version
    • Total Views 727
      • 726 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 1 views on http://www.software-saxony.de

    more

    All embeds
    • 1 views on http://www.software-saxony.de

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel