Post on 18-Oct-2020
transcript
11
Web Engineering-Seminar
Philipp Kanis Marco Jäckels
Methodenvergleich
22
Gliederung
1. Einführung1.1 Warum Methodenvergleich1.2 Anforderungen an Modellierungssprachen
2. Methodenüberblick2.1 UWE2.2 OO-H2.3 Web ML2.4 Erster Vergleich
3. Dimensionen des Web Engineering3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene „Content“3.3 Umsetzung der Ebene „Hypertext“3.4 Umsetzung der Ebene „Präsentation
33
Gliederung
4. Vor- und Nachteile4.1 UWE4.2 OO-H4.3 Web ML
5. Fazit5.1 Beobachtungen5.2 Wahl einer geeigneten Methode5.3 Unsere Empfehlung
44
Gliederung
1. Einführung1.1 Warum Methodenvergleich1.2 Anforderungen an Modellierungssprachen
2. Methodenüberblick2.1 UWE2.2 OO-H2.3 Web ML2.4 Erster Vergleich
3. Dimensionen des Web Engineering3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene „Content“3.3 Umsetzung der Ebene „Hypertext“3.4 Umsetzung der Ebene „Präsentation
5
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ürdie Entwicklung von Webanwendungen.
6
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
77
Gliederung
1. Einführung1.1 Warum Methodenvergleich1.2 Anforderungen an Modellierungssprachen
2. Methodenüberblick2.1 UWE2.2 OO-H2.3 Web ML2.4 Erster Vergleich
3. Dimensionen des Web Engineering3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene „Content“3.3 Umsetzung der Ebene „Hypertext“3.4 Umsetzung der Ebene „Präsentation
8
Modellierungsmethoden im Überblick
´93-´99
´95-´00
2000
2003
9
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
10
Methoden – UWE (2)
• UWE unterteilt sich in 5 Modellierungsschritte:
1. Use Case Model2. Conceptual Model3. Navigation Model4. Presentation Model5. Process Model
=> Resultierende Ergebnisse stellen die Grundlage aller nachfolgenden Modelle dar.
11
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
12
Methoden – OO-H (2)
OO-H Methode besteht aus folgenden 5 Schritten:
13
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
14
Methoden – Web ML (2)
Web ML besteht aus 4 Modellierungsschritte
1.
2.
3.
4.
15
Unterschiede
UWE OO UML Semi
OO-H OOUML +EigeneNotation Voll
WebML Daten-orientiert
ER +UML Voll
Mod
ellier
ungs
parad
ima
Notatio
nAnf
orde
rung
s-Co
ntent-
Hypert
ext-
Präs
entat
ions-
Perso
nalis
ierun
gCA
SE T
ool
Code
Gen
erieru
ng
Modellierung
1616
Gliederung
1. Einführung1.1 Warum Methodenvergleich1.2 Anforderungen an Modellierungssprachen
2. Methodenüberblick2.1 UWE2.2 OO-H2.3 Web ML2.4 Erster Vergleich
3. Dimensionen des Web Engineering3.1 Ebenen des Web Engineering 3.2 Umsetzung der Ebene „Content“3.3 Umsetzung der Ebene „Hypertext“3.4 Umsetzung der Ebene „Präsentation
17
Der Web Engineering Prozess
18
Der Web Engineering Prozess
Wir beschränken uns beim Vergleich auf die einzelnen Ebenen, da die Modellierungstools genau diese Ebenen abdecken sollen
19
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
20
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
21
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
22
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 Benutzer-
schnittstelle• Aufbau und Aussehen der Seite festlegen
23
Umsetzung der Ebenen
Im Folgenden wird die Umsetzung der einzelnen Ebenen durch die jeweiligen Methoden beschrieben.
24
Content – UWE
Ebene 1 – Content – UWE (Klassendiagramm)
25
Content – UWE
Ebene 1 – Content – UWE (Use Cases)
26
Content – UWE
Ebene 1 – Content – UWE (Prozessmodellierung)
27
Content – OO-H
Ebene 1 – Content – OO-H
Auch hier klassisches UML-Klassen-diagramm
Use Cases stellen Userdiagramm dar (wie bei UWE)
28
Content – Web ML
Ebene 1 – Content – Web ML (Datenmodell)
klassisches UML-Klassendiagramm
29
Content – Web ML
Ebene 1 – Content – Web ML (Benutzermodell)
Autoren Autor
Kontakt Öffnungszeit
H
Allgemeine_Infos
Autor_Index
Autor
M. EndeKurzinfo
Alle_Bücher
Buch
Alle_Autoren
Autor
L
Autor
M. Ende
D
Dienstplan Zeitkonto
Mitarbeiter_Infos
D
30
Content – Web ML
Ebene 1 – Content – Web ML (Content Management Modell)
Autor-Page Buch-Page
OK
KOAutor Buch
M. Ende MomoConAutBuc
<M. Ende><Momo>
AutortoBuch
31
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
32
Hypertext – UWE
Ebene 2 – Hypertext - UWE
Lediglich Erweiterung des Contentmodell durch Einfügung von Linkstrukturen
Mögliche Verweise• Navigationsverweise• Prozessverweise• Externe Verweise
33
Hypettext – OO-H
Ebene 2 – Hypertext – OO-H (1)
Mögliche Verweise• Funktionale Verweise• Interne Verweise• Externe Verweise• Externe Dienste
34
Hypertext – OO-H
Ebene 2 – Hypertext – OO-H (2)
35
Hypertext – Web ML
Ebene 2 – Hypertext – Web MLAutoren Autor
Kontakt Öffnungszeit
H
Allgemeine_Infos
Autor_Index
Autor
M. EndeKurzinfo
Alle_Bücher
Buch
Alle_Autoren
Autor
L
Autor
M. Ende
D
Mögliche Verweise• kontextuelle Verweise• Nicht kontextuelle
Verweise• Intra-Seiten-Verweise• Inter-Seiten-Verweise
36
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
37
Präsentation – UWE
Ebene 3 – Präsentation - UWE
38
Präsentation – OO-H
Ebene 3 – Präsentation – OO-H
Auch keine Umsetzung im angebotenen Werkzeug (VisualWade)
39
Präsentation – Web ML
Ebene 3 – Präsentation – Web ML
ABER:
WebRatio setzt Präsentation-Ebene durch Style Sheets um
40
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
4141
Gliederung
4. Vor- und Nachteile4.1 UWE4.2 OO-H4.3 Web ML
5. Fazit5.1 Beobachtungen5.2 Wahl einer geeigneten Methode5.3 Unsere Empfehlung
42
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
43
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
44
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
45
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
46
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
47
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
4848
Gliederung
4. Vor- und Nachteile4.1 UWE4.2 OO-H4.3 Web ML
5. Fazit5.1 Beobachtungen5.2 Wahl einer geeigneten Methode5.3 Unsere Empfehlung
49
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 ?)
50
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
51
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
52
Vielen Dank für Ihre Aufmerksamkeit
Noch Fragen