Web Engineering-Seminar Methodenvergleich Philipp Kanis Marco Jäckels 1
Gliederung 1. Einführung 1.1 Warum Methodenvergleich 1.2 Anforderungen an Modellierungssprachen 2. Methodenüberblick 2.1 UWE 2.2 OO-H 2.3 Web ML 2.4 Erster Vergleich 3. Dimensionen des Web Engineering 3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene Content 3.3 Umsetzung der Ebene Hypertext 3.4 Umsetzung der Ebene Präsentation 2
Gliederung 4. Vor- und Nachteile 4.1 UWE 4.2 OO-H 4.3 Web ML 5. Fazit 5.1 Beobachtungen 5.2 Wahl einer geeigneten Methode 5.3 Unsere Empfehlung 3
Gliederung 1. Einführung 1.1 Warum Methodenvergleich 1.2 Anforderungen an Modellierungssprachen 2. Methodenüberblick 2.1 UWE 2.2 OO-H 2.3 Web ML 2.4 Erster Vergleich 3. Dimensionen des Web Engineering 3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene Content 3.3 Umsetzung der Ebene Hypertext 3.4 Umsetzung der Ebene Präsentation 4
Warum Methoden Vergleich Steigende Anforderung im Web Engineering Integrierte und vollständige Modellierung Effiziente Erstellung von Prototypen (Mock-Ups) Kurze Entwicklungszeit eines Webauftrittes Problem: Wahl einer geeigneten Modellierungsmethode für die Entwicklung von Webanwendungen. 5
Anforderungen an Modellierungsmethoden Verständlichkeit (für den Auftraggeber) Ausdrucksstärke soll dabei erhalten bleiben (Leicht zu Implementieren) Mächtiges und leistungsfähiges Tool Leicht zu handhaben Automatische Code-Generierung Beinhaltung aller nötigen Informationen Sollte alle 3 Ebenen des Web Engineerings abdecken 6
Gliederung 1. Einführung 1.1 Warum Methodenvergleich 1.2 Anforderungen an Modellierungssprachen 2. Methodenüberblick 2.1 UWE 2.2 OO-H 2.3 Web ML 2.4 Erster Vergleich 3. Dimensionen des Web Engineering 3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene Content 3.3 Umsetzung der Ebene Hypertext 3.4 Umsetzung der Ebene Präsentation 7
Modellierungsmethoden im Überblick 93-99 95-00 2000 2003 8
Methoden UWE (1) Entwickelt von Dr. Nora Koch (2000) Objektorientierte Methode Iterativer und inkrementeller Ansatz Basiert vollständig auf UML bzw. USDP - 2 Erweiterungsmöglichkeiten Light weight extensions und heavy weight extensions CASE Tool: OpenUWE» (ArgoUWE Plugin für ArgoUML)» Letzte Version: ArgoUWE 0.16 22.02.06 9
Methoden UWE (2) UWE unterteilt sich in 5 Modellierungsschritte: 1. Use Case Model 2. Conceptual Model 3. Navigation Model 4. Presentation Model 5. Process Model => Resultierende Ergebnisse stellen die Grundlage aller nachfolgenden Modelle dar. 10
Methoden OO-H (1) Entwickelt von Gómez, Cachero & Pastor (2003) Objektorientierte Methode Basiert auf UML + eigene Notation Erweitert um 2 neue Sichten: NAD (Navigation Access Diagramm) APD (Abstract Presentation Diagram) CASE Tool: Visual Wade Letztes Update: Version 1.2.163 23.10.2006 11
Methoden OO-H (2) OO-H Methode besteht aus folgenden 5 Schritten: 12
Methoden Web ML (1) Entwickelt von Dipartimento di Elettronica e Informazione at Politecnico di Milano, Universität Mailand (2000) Konzeptuelle Modellierungssprache Datenorientierte Methode Basiert auf UML und ER-Modell Iteratives Vorgehensmodell CASE Tool: WebRatio Site Development Studio Letztes Update: Version 4.3 26.09.2006 WebRatio 5.0 in der Entwicklung 13
Methoden Web ML (2) Web ML besteht aus 4 Modellierungsschritte 1. 2. 3. 4. 14
Unterschiede UWE OO UML Semi OO-H OO Modellierung UML +Eigene Notation Voll ER + UML Voll 15 Modellierungsparadima Notation WebML Datenorientiert Anforderungs- Content- Hypertext- Präsentations- Personalisierung CASE Tool Code Generierung
Gliederung 1. Einführung 1.1 Warum Methodenvergleich 1.2 Anforderungen an Modellierungssprachen 2. Methodenüberblick 2.1 UWE 2.2 OO-H 2.3 Web ML 2.4 Erster Vergleich 3. Dimensionen des Web Engineering 3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene Content 3.3 Umsetzung der Ebene Hypertext 3.4 Umsetzung der Ebene Präsentation 16
Der Web Engineering Prozess 17
Der Web Engineering Prozess Wir beschränken uns beim Vergleich auf die einzelnen Ebenen, da die Modellierungstools genau diese Ebenen abdecken sollen 18
Ebenen des Web Engineering Was sind die einzelnen Ebenen? Ebene 1 Content Informationsstruktur und Anwendungslogik Ebene 2 Hypertext Gliederung der Seite (Knoten und Verweise) Ebene 3 Präsentation Gestaltung der Benutzerschnittstelle 19
Ebenen des Web Engineering Ebene 1 - Content Datenmodell, das sowohl Programmierer wie auch Auftraggeber versteht beides auf einmal ist schwer umzusetzen Ziel: Datenmodellierung als Grundlage des Systems Struktur der Anwendung modellieren 20
Ebenen des Web Engineering Ebene 2 - Hypertext Seitenstruktur darstellen (Linkstruktur) Reine Strukturdarstellung (noch kein Aussehen der Seite modelliert Ziel: Darstellung der Linkstruktur (Hypertextstruktur) Navigationspfade festlegen 21
Ebenen des Web Engineering Ebene 3 - Präsentation Modell, dass sowohl die technischen Details abdeckt, wie auch das Aussehen der Seite veranschaulicht (Aussehen und technische Informationen in einem Modell unterbringen) Ziel: Gestaltung der Struktur und des Verhaltens der Benutzerschnittstelle Aufbau und Aussehen der Seite festlegen 22
Umsetzung der Ebenen Im Folgenden wird die Umsetzung der einzelnen Ebenen durch die jeweiligen Methoden beschrieben. 23
Content UWE Ebene 1 Content UWE (Klassendiagramm) 24
Content UWE Ebene 1 Content UWE (Use Cases) 25
Content UWE Ebene 1 Content UWE (Prozessmodellierung) 26
Content OO-H Ebene 1 Content OO-H Auch hier klassisches UML-Klassendiagramm Use Cases stellen Userdiagramm dar (wie bei UWE) 27
Content Web ML Ebene 1 Content Web ML (Datenmodell) klassisches UML- Klassendiagramm 28
Content Web ML Ebene 1 Content Web ML (Benutzermodell) Autoren H Autor Autor_Index Alle_Autoren M. Ende M. Ende Kurzinfo Alle_Bücher Autor L Autor Autor Buch Allgemeine_Infos Mitarbeiter_Infos Kontakt Öffnungszeit Dienstplan Zeitkonto D D 29
Content Web ML Ebene 1 Content Web ML (Content Management Modell) Autor-Page Buch-Page M. Ende ConAutBuc OK Momo KO AutortoBuch Autor <M. Ende> <Momo> Buch 30
Content Zusammenfassung Ebene 1 - Content Alle Methoden verwenden UML-Klassendiagramme Klassendiagramme stellen Daten dar UseCase-Diagramme stellen die möglichen Benutzeraktionen dar Web ML tut sich hervor, durch den besseren Umgang mit datenintensiven Anwendungen Bei der Wahl der geeigneten Methode sollte danach entschieden werden, wie datenintensiv die Webanwendung werden soll 31
Hypertext UWE Ebene 2 Hypertext - UWE Mögliche Verweise Navigationsverweise Prozessverweise Externe Verweise Lediglich Erweiterung des Contentmodell durch Einfügung von Linkstrukturen 32
Hypettext OO-H Ebene 2 Hypertext OO-H (1) Mögliche Verweise Funktionale Verweise Interne Verweise Externe Verweise Externe Dienste 33
Hypertext OO-H Ebene 2 Hypertext OO-H (2) 34
Hypertext Web ML Ebene 2 Hypertext Web ML Autoren H Autor Autor_Index Alle_Autoren M. Ende M. Ende Kurzinfo Alle_Bücher Autor L Autor Autor Buch Allgemeine_Infos Kontakt D Öffnungszeit Mögliche Verweise kontextuelle Verweise Nicht kontextuelle Verweise Intra-Seiten-Verweise Inter-Seiten-Verweise 35
Hypertext Zusammenfassung Ebene 2 - Hypertext Unterschiedliche Umsetzung in allen Methoden (aber auf UML basierend) Starke Abweichungen in Übersichtlichkeit und Verständlichkeit Die Hypertext-Ebene spielt eine größere Rolle bei der Wahl der Methode 36
Präsentation UWE Ebene 3 Präsentation - UWE 37
Präsentation OO-H Ebene 3 Präsentation OO-H Auch keine Umsetzung im angebotenen Werkzeug (VisualWade) 38
Präsentation Web ML Ebene 3 Präsentation Web ML ABER: WebRatio setzt Präsentation- Ebene durch Style Sheets um 39
Präsentation Zusammenfassung Ebene 3 - Präsentation Umsetzung der Präsentations-Ebene nur in UWE ABER: Die anderen Methoden bieten die Option sich externer Werkzeuge zu bedienen Die Präsentationsebene stellt den größten Unterschied der Methoden dar Wird diese Ebene als wichtig empfunden, so ist sie ausschlaggebend für die Wahl der Methode 40
Gliederung 4. Vor- und Nachteile 4.1 UWE 4.2 OO-H 4.3 Web ML 5. Fazit 5.1 Beobachtungen 5.2 Wahl einer geeigneten Methode 5.3 Unsere Empfehlung 41
Vor- und Nachteile der Methoden UWE Vorteile UML-basiert (UML ist standardisiert) Kontextualität / Adaptivität Geschlossenheit des Modells automatisches Erzeugen von Rumpfklassen aus den Modellen durch ein Werkzeug (OpenUWE) Präsentationsmodell ist vorhanden 42
Vor- und Nachteile der Methoden UWE Nachteile Fehlender Praxisbezug (rein akademisches Modell) Für potentielle Kunden schwer zu verstehen Werkzeug ist teilweise unausgereift und zu komplex Präsentationsmodell ist nicht mächtig genug Keine Weiterentwicklung von ArgoUWE 43
Vor- und Nachteile der Methoden OO-H Vorteile UML-basiert (UML ist standardisiert) automatisches Erzeugen lauffähiger Klassen durch ein Werkzeug (VisualWade) Gut geeignet für wenig komplexe (Teil-) Projekte 44
Vor- und Nachteile der Methoden OO-H Nachteile Fehlender Praxisbezug (rein akademisches Modell) Verständnisprobleme für potentielle Kunden Werkzeug teilweise unausgereift und zu komplex Kein Präsentationsmodell Keine Weiterentwicklung von VisualWade 45
Vor- und Nachteile der Methoden WebML Vorteile UML-basiert (UML ist standardisiert) ER-Modell wird eingebunden Automatische Erzeugung lauffähiger Klassen durch ein Werkzeug (WebRatio) Verständlichere Notation Geeignet für datenintensive Webanwendungen 46
Vor- und Nachteile der Methoden WebML Nachteile Weitgehend akademisches Modell (jedoch mehr Praxisbezug als UWE und OO-H) Werkzeug (WebRatio) ist komplex (nicht benutzerfreundlich) Kein eigenes Präsentationsmodell (aber WebRatio bietet ein Präsentations-Modell mittels Style Sheets) Zu aufwändig bei nicht datenintensiven Seiten 47
Gliederung 4. Vor- und Nachteile 4.1 UWE 4.2 OO-H 4.3 Web ML 5. Fazit 5.1 Beobachtungen 5.2 Wahl einer geeigneten Methode 5.3 Unsere Empfehlung 48
Fazit - Beobachtungen UML als Basis für alle vorgestellten Modellierungsarten (Web ML erweitert UML am umfangreichsten) Es gibt keine optimale Methode Werkzeugunterstützung ist für eine Methode essentiell Zahl der Methoden um einiges höher Kleine statische Projekte: => Methoden sind hierfür zu komplex (-> Photoshop?) 49
Fazit - Wahl einer geeigneten Methode Wahl einer Modellierungsmethode in Abhängigkeit von: Größe und Umfang des Projektes Erklärbarkeit gegenüber dem Auftraggeber Güte der Tools Bisherige Erfahrungen Vorwissen 50
Fazit - Unser Favorit Empfehlung: Web ML Gründe: Heutige Webanwendungen sind überwiegend datenintensiv WebRatio als ausgereiftes Tool Fehlende Präsentations-Ebene kann durch entliehene Modelle ersetzt werden Stetige Weiterentwicklung von Web ML 51
Vielen Dank für Ihre Aufmerksamkeit Noch Fragen 52