Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Einleitung Entwurf und Modellierung von verteilten Anwendungen Programmänderung –MDA anstelle von ODP als Beispiel Überblick –Software-Entwurf allgemein –ODP (1 Folie) –Model-driven architecture (MDA) UML –Fazit
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Software Engineering Aufteilung der Anwendungsentwicklung in Phasen 1.Anforderungsanalyse 2.Design (Grob-/Fein-) Entwicklung einer logischen Systemstruktur Systemarchitektur als Grundlage einer Implementierung 3.Implementierung 4.Test, Integration,...
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Anforderungsanalyse Fachliche Aspekte –Was soll die Anwendung leisten? Nicht-funktionale Anforderungen –Verwendung von Standards, Performance, Erweiterbarkeit,... Anforderungsanalyse (requirements engineering) –Anforderungsbeschreibung („Lastenheft“) –Funktionale Spezifikation („Pflichtenheft“), inkl. Benutzeroberfäche etc.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Design Aspekte Welche Architektur? Verteilung der Komponenten Art der Kommunikation Synchronisation und Konsistenz Identifikation von Schnittstellen Registrierung von Diensten und Namensauflösung Welche Fehlersemantik? Sicherheitsmechanismen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Modell (I) Sicherstellung, dass IT-System auch das macht was es soll Definition Modell: „A model is a description of (part of) a system written in a well-defined language“ [MDA Explained] „A well-defined language is a language with well-defined form (syntax), and meaning (semantics), which is suitable for automated interpretation by a computer“ [MDA Explained]
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Modell (II) Verschiedene Typen (z.B. Geschäftsmodell) Unterschiedliche Abstaktionsniveaus Überprüfung durch verschiedene Sichten –Architektur-, Interaktions-, Fehlersichten, Sicherheit usw. Im Folgenden –Model-driven architecture (MDA) –Vorher noch sehr kurz zu...
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Open Distributed Processing (ODP) Referenzmodell der ISO für verteilte Anwendungen –Verteilung als Ausgangspunkt Reduzierung der Komplexität durch Einführung von Abstraktionsschichten („viewpoints“), u.a. –computation vp. (logische Verteilung) –engineering vp. (physikalische Vert.) –technology vp. (technisches Subsystem)
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Model Driven Architecture (MDA) Standard der Object Management Group (OMG) Konzept für strukturierte und dokumentierte Entwicklung –insbesondere auch Integration Verwendung von Architekturmodellen Nicht nur für verteilte Systeme, aber dafür besonders geeignet
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, MDA Konzept Platform independent model (PIM) Codegenerierung, Implementierung Platform specific model (PSM) Geschäftsfunktionen Einzelheiten der Realisierung
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Schritt: Entwicklung eines PIM PIM modelliert die Funktionalität und das Verhalten einer Softwarelösung Keine Angaben von technologischen Details Spezifikation von Komponenten, Klassen,... Verwendung von UML zur Modellierung
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, UML Unified Modeling Language (UML) –Standardisierung verschiedener Vorgänger-Ansätze –aktuell: UML 2.0 –weite Verbreitung Objektorientiert, eher für Feindesign Kein Prozess ( MDA), sondern „nur“ Notation Fülle verschiedener Diagrammtypen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, UML Diagramme Anwendungsfalldiagramme (use cases) –Analysierte Funkionalitäten Deployment-Diagramm –Bestandteile eines Systems Klassen- und Komponentendiagramme –statische Struktur einer Anwendung Ablaufdiagramme (z.B. sequence) Zustandsdiagramme –interne Verhalten einer Komponente ...
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Beispiel: Sequenzdiagramm
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Abbildung auf PSM Abbildung von PIM auf Plattform specific model (PSM) Platform independent model (PIM) PSM: Web Services Modell PSM: Sun RPC Modell PSM: Java EJB Modell
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Codegenerierung Platform independent model (PIM) PSM: Web Services Modell PSM: Sun RPC Modell PSM: Java EJB Modell SOAP/WSDL Konstrukte RPCL Definition,... Java Packages und Klassen
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, MDA Ziele Strikte Trennung von System- spezifikation und –implementierung Automatisierung durch Werkzeuge Transformationen zwischen verschie- denen Modellen –Model-to-model (PIM PSM) –Model-to-code (PSM Code) Flexibilität Unterstützung im gesamten Software- lebenszyklus
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, Fazit Überblick über Entwurf verteilter Anwendungen MDA als konkrete Methodik Literaturhinweis: [MDA Explained] A.Kleppe, J.Warmer, W.Bast: „MDA Explained“, Addison-Wesley Als Nächstes: –WSDL als Abschluß Kap. 5 –Kap. 6: Basismechanismen