Title: WISE
1WISE Eine Methodik für die Entwicklung
webbasierter Anwendungen
- Im Rahmen des Seminars Software Engineering"
- Alexander Hachmann
2Agenda
- Einleitung / Motivation
- Entwicklung in der Praxis
- Idee des WISE Ansatzes
- Der WISE Ansatz Eine komponentenorientierte
Vorgehensweise - Zusammenfassung / Fazit
3Einleitung / Motivation
- seit Einführung des WWW Anforderungen an
webbasierte Anwendungen stark verändert - in den Anfängen reine Vermittlung von
Informationen - heutzutage kommerzielle Anwendungen
- dadurch steigender Aufwand von Entwicklung und
Pflege
4Motivation / Charakteristika heutiger
Webanwendungen
- Beinhalten sowohl informationsvermittelnde als
auch applikationsorientierte Bestandteile - Hohe multimediale Ausprägung
- Hoher Stellenwert von Besucherrollen
- Ständige Aktualisierung notwendig (kurzer
Lebenszyklus) - Bei der Entwicklung Häufig Mitarbeiter
verschiedener Disziplinen beteiligt
5Entwicklung in der Praxis
- Gestiegene Anforderungen an Entwicklung machen
den Einsatz von methodischen Vorgehensweisen
sinnvoll - Dennoch methodische Vorgehensweise bei der
Entwicklung in der Praxis kaum verbreitet - Implementierung erfolgt zumeist ad-hoc oder auf
Basis unternehmensinterner Modellierungsmethoden - Durch Tools wie HTML-Editoren Fokussierung auf
Implementierung
- Gründe für geringe Akzeptanz wissenschaftlicher
Methoden - große Komplexität der vorhandenen
wissenschaftlichen Methoden - geringe Orientierung am Design der späteren
Webanwendung
6Projekt WISE
- Verbund aus Universitäten und Unternehmen
- Projektpartner
7Der WISE Ansatz - Ziele
- Unterstützung aller Entwicklungsphasen in einem
Ansatz - Automatische Weiterverarbeitung
- Grafische Entwurfsmodelle
- Implizite Verständlichkeit der grafischen Modelle
- Prototyping jederzeit möglich
- Änderungen und Modifikationen an
unterschiedlichen Bereichen der Webanwendung
unabhängig voneinander möglich (Daten und
Navigation/Design) - Dadurch Neuprogrammierung auch bei grundlegenden
inhaltlichen oder grafischen Änderungen nicht
notwendig
8Phasen des Web-Engineering
Quelle Wi05
- Ziel systematischer Aufbau, so dass alle
relevanten Entwurfsbereiche in einem integrierten
Ansatz angeboten werden können
9Durchgängiges Beispiel
- Beispielunternehmen fiktiver mittelständischer
Kraftfahrzeughersteller - Produkte Motorräder und Automobile
- Beispiel erhebt keinen Anspruch auf genaue
Abbildung der Realität - Dient der Vermittlung der Methodik
10Analyse
- Analyse grundlegender Größen als Basis für die
Entwicklung - Definition der Ziele (Was soll mit der Website
erreicht werden?) - Identifikation relevanter Nutzergruppen
- Untersuchung der Rahmenbedingungen
- Festlegung der strategischen Ausrichtung
11Analyse (im Beispiel)
- Zielsetzungen
- Bereitstellung aktueller Informationen für alte
und neue Kunden - Werben neuer Kunden durch professionelle
Außendarstellung - Werben neuer Mitarbeiter
- Interaktionsmöglichkeiten für Besucher
- Bestellung
- Kontakt
- Relevante Nutzergruppen
- Kunden
- Potentielle Mitarbeiter
12Anforderungsspezifikation
- Formulierung wichtiger Anforderungen
- Darzustellende Themen
- Informationsstrutkur
- Funtkionalität
- Usability
- Im Beispiel
- Kernthemen Produkte aus den Bereichen Automobil
und Motorrad - Formulare und Dienste für die Interaktionsmöglichk
eiten müssen vorhanden sein
13Modellierungsphase
- Kern der komponentenorientierten Vorgehenswese
- Unterteilung in 4 Teilschritte
- Spezifisches (überführbares) Modell für jeden
Teilschritt
14Modellierungsphase
Quelle Eine Vorgehensweise zur systematischen
Modellierung webbasierter Anwendungen, M. Wissen,
2005
- Phase 1 konzeptuelles Modell (Themenstruktur)
- Phase 2 Navigationsmodell (optische Orientierung
am Design der Website) - Phase 3 Sichtenmodell (Berücksichtigung von
Besucherrollen) - Phase 4 Präsentationsmodell (grafische Aspekte)
15Konzeptuelles Modell
- Basis für die Inhalte der Website
- Informationsbestand im Unternehmen wird in
Ontologie aufgearbeitet - Ontologie
- Wissensrepräsentation
- Informationsbestand wird in Oberthemen (Konzepte)
eingeteilt - Beziehungen zwischen Konzepten über Assoziationen
- Vorhandenes Wissen wird übersichtliche und
kategorisiert dargestellt - Über Assoziationen ist Navigation innerhalb der
Ontologie möglich - Diese entspricht jedoch nicht zwingend der
Navigation innerhalb der Webanwendung - Dient vielmehr der systematischen Analyse aller
relevanten Themenfelder
16Konzeptuelles Modell
- Ontologie (Fortsetzung)
- Logische Basis für die spätere Navigationsstruktur
- In der Wissenschaft gibt es eine Vielzahl von
Ansätzen für die Erstellung von Ontologien (hier
für Verständnis nicht erforderlich) - Hier Erstellung zu betrachten als manueller
Prozess - Speicherung der Ontologie in der Datenbank
- Ontologie für Website permanent verfügbar
17Konzeptuelles Modell (Beispiel)
- Modell muss für die Navigation erweitert werden
18Konzeptuelles Modell (Beispiel)
Themenmodell der Ebene 1
19Instanzierung der Inhalte
- Inhalte in Form von Instanzen in der Datenbank
- Korrekte Auswahl der Instanzen durch Relationen
Quelle Wi05
20Navigationsmodell
- Besteht aus 2 Typen von Komponenten
- Strukturelle Komponenten
- Positionierung der Elemente
- Seitenaufbau
- Inhaltspezifische Komponenten
21Navigationsmodell (Struktur)
- Alle Inhalte werden in Containern organisiert
- Verschachtelte Darstellung möglich
Quelle Wi05
- Jeder Container kann Menge von Subcontainern
haben - Subcontainer werden als eigenständige Container
betrachtet - Darstellungsformen der Subcontainer
- Nur ein Container Sichtbar (Realisierung über
XOR-Verknüpfung) - Mehrere Sichtbar (Subcontainer als Partitionen
ihres Containers)
22Navigationsmodell (Struktur)
Quelle Wi05
- Platzhalter als weitere Strukturierungsmöglichkeit
23Navigationsmodell (inhaltsspezifische Komponenten)
- Werden nicht unmittelbar in Containern gehalten
- Werden durch Modellklassen beschrieben, die
Containern zugeordnet sind - Container kann neben Subcontainern beliebig viele
Modellklassen enthalten - Modellklassen
- Primitive Klassen
- Inhalte nicht weiter zerlegbar
- Z.B. Texte, Bilder
- Navigationale Klassen
- Verantwortlich für größere Menüstrukturen
- Einfache Links können auch für primitive Klassen
definiert werden
24Navigationsmodell (inhaltsspezifische Komponenten)
Quelle Wi05
- Navigationsrelationen können zusätzlich
Broadcasting-Mechanismen auslösen
Quelle Wi05
- Dadurch beispielsweise Zuweisung von
Benutzerrollen möglich
25Navigationsmodell (inhaltsspezifische Komponenten)
Statische und dynamische Inhalte der Modellklassen
- Statisch stehen zum Zeitpunkt der Modellierung
fest - Dynamisch ergeben sich zur Laufzeit
- Durch Navigationspfade
- Durch Eingaben des Benutzers
? im Weiteren als Kontext bezeichnet
- Jeder Container wird mit einem Kontext
initialisiert - Dadurch Herleitung der dynamische Inhalte möglich
(z.B. für navigationale Klassen)
26Navigationsmodell (inhaltsspezifische Komponenten)
- Weitere Klassen
- Zustandsklassen
- Abstrakte Serviceklassen
- Integration existierender Applikationsmodule oder
Web Services (beispielsweise für Suchfunktion)
27Navigationsmodell (Beispiel)
28Navigationsmodell (Beispiel)
29Navigationsmodell (Beispiel)
- Darstellung in Indexform
- Weitere Darstellungsformen möglich (Tabs,
Baumstrukturen) - Hier alle Produkte des Kraftfahrzeugherstellers
- Festlegung zur Modellierungszeit alle Konzepte,
die mit dem Konzept Produkte über die
Assoziation beinhaltet verbunden sind, sollen
angezeigt werden
- Zusätzliche Angabe Tiefe (hier 1)
- Durch Rückgriff auf konzeptuelles Modell
Flexibilität - Bei Auswahl eines Navigationselements Übergabe
des Kontextes an B12
30Navigationsmodell (Beispiel)
31Navigationsmodell
Navigationale Klassen allgemein
- Zur Modellierungszeit
- Festlegung des Zielkonzepts
- Assoziation zum Ursprungskonzept
- Zur Laufzeit
- Ermittlung der Instanzmenge
32Sichtenmodell
- Berücksichtigung benutzerbezogener Informationen
- Technische Rahmenbedingungen (z.B. Bandbreite)
- Orts- und zeitbezogene Informationen (z.B.
Aufenthaltsort, Uhrzeit) - Sozialer Kontext (z.B. Besucherrollen)
- Zugriffsklassen
- Benutzergruppe (Rolle)
- Bedingung
Quelle Wi05
- Bei vielen Zugriffsklassen Liste der
Modellklassen mit zugehörigen Zugriffsklassen
33Präsentationsmodell
- Nötig für grafische Formatierungen
Quelle Wi05
34Test und Evaluation
- Durch Prototyping jederzeit möglich
- Sofortige Kontrolle modellierter Komponenten
- Geeignetes Softwaretool nötig
35Technische Unterstützung
- Softwaretool ist bisher nur in der Prototypphase
- Themen- und Navigationsmodell können größtenteils
zeichnerisch erstellt werden - Import- und Exportfunktion für Wiederverwendbarkei
t modellierter Komponenten - BuildWeb Komponente zur Erstellung der
Website-Vorlage - HTML
- JSP-Erweiterungen
- Javascript
- Abschließende Festlegung der endgültigen
grafischen Formatierungen erfolgt manuell
36Zusammenfassung
Der WISE-Ansatz
- Alle Bereiche der Entwicklung in einem
integrierten Ansatz - Getrennte Behandlung von Daten und Design.
- Modellierung mittels grafischer Modelle
- Unterstützung durch geeignetes Software-Tool
37Fazit
Zur Erinnerung Ziel der Vorgehensweise
systematisches Vorgehen in einem durchgängigen
Ansatz
Konzeptuelles Modell
- Ontologie als Basis aller Inhalte
- Aber Ergänzungen und Selektion für das
Themenmodell nötig - Sinn der Ontologie daher zumindest abgeschwächt
Hoher Aufwand - Besser sofortiges Themenmodell
38Fazit
Navigationsmodell / Sichtenmodell
- Nachträgliche Modellierung der Sichten kann zu
Inkonsistenzen führen
Software-Tool
- Nicht überprüfbar
- Guter Ansatz Zeichnerische Erstellung aller
benötigten Modelle
39Vielen Dank
Fragen?