Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WISE – Eine Methodik für die Entwicklung webbasierter Anwendungen

Ähnliche Präsentationen


Präsentation zum Thema: "WISE – Eine Methodik für die Entwicklung webbasierter Anwendungen"—  Präsentation transkript:

1 WISE – Eine Methodik für die Entwicklung webbasierter Anwendungen
Im Rahmen des Seminars „Software Engineering" Alexander Hachmann

2 Agenda Einleitung / Motivation Entwicklung in der Praxis
Idee des WISE – Ansatzes Der WISE Ansatz – Eine komponentenorientierte Vorgehensweise Zusammenfassung / Fazit

3 Einleitung / 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

4 Motivation / 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

5 Entwicklung 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

6 Projekt WISE Verbund aus Universitäten und Unternehmen Projektpartner:
Projektträger:

7 Der 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

8 Phasen des Web-Engineering
Quelle: [Wi05] Ziel: systematischer Aufbau, so dass alle relevanten Entwurfsbereiche in einem integrierten Ansatz angeboten werden können

9 Durchgä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

10 Analyse 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

11 Analyse (im Beispiel) Zielsetzungen: Relevante Nutzergruppen:
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

12 Anforderungsspezifikation
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öglichkeiten müssen vorhanden sein

13 Modellierungsphase Kern der komponentenorientierten Vorgehenswese
Unterteilung in 4 Teilschritte Spezifisches (überführbares) Modell für jeden Teilschritt

14 Modellierungsphase Phase 1: konzeptuelles Modell (Themenstruktur)
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)

15 Konzeptuelles 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

16 Konzeptuelles 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

17 Konzeptuelles Modell (Beispiel)
Modell muss für die Navigation erweitert werden

18 Konzeptuelles Modell (Beispiel)
Themenmodell der Ebene 1:

19 Instanzierung der Inhalte
Inhalte in Form von Instanzen in der Datenbank Korrekte Auswahl der Instanzen durch Relationen Quelle: [Wi05]

20 Navigationsmodell Besteht aus 2 Typen von Komponenten
Strukturelle Komponenten Positionierung der Elemente Seitenaufbau Inhaltspezifische Komponenten

21 Navigationsmodell (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)

22 Navigationsmodell (Struktur)
Quelle: [Wi05] Platzhalter als weitere Strukturierungsmöglichkeit

23 Navigationsmodell (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

24 Navigationsmodell (inhaltsspezifische Komponenten)
Quelle: [Wi05] Navigationsrelationen können zusätzlich Broadcasting-Mechanismen auslösen Quelle: [Wi05] Dadurch beispielsweise Zuweisung von Benutzerrollen möglich

25 Navigationsmodell (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)

26 Navigationsmodell (inhaltsspezifische Komponenten)
Weitere Klassen: Zustandsklassen Abstrakte Serviceklassen Integration existierender Applikationsmodule oder Web Services (beispielsweise für Suchfunktion)

27 Navigationsmodell (Beispiel)

28 Navigationsmodell (Beispiel)

29 Navigationsmodell (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

30 Navigationsmodell (Beispiel)

31 Navigationale Klassen allgemein:
Navigationsmodell Navigationale Klassen allgemein: Zur Modellierungszeit: Festlegung des Zielkonzepts Assoziation zum Ursprungskonzept Zur Laufzeit: Ermittlung der Instanzmenge

32 Sichtenmodell 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

33 Präsentationsmodell Nötig für grafische Formatierungen Quelle: [Wi05]

34 Test und Evaluation Durch Prototyping jederzeit möglich
Sofortige Kontrolle modellierter Komponenten Geeignetes Softwaretool nötig

35 Technische Unterstützung
Softwaretool ist bisher nur in der Prototypphase Themen- und Navigationsmodell können größtenteils zeichnerisch erstellt werden Import- und Exportfunktion für Wiederverwendbarkeit modellierter Komponenten BuildWeb Komponente zur Erstellung der Website-Vorlage HTML JSP-Erweiterungen Javascript Abschließende Festlegung der endgültigen grafischen Formatierungen erfolgt manuell

36 Zusammenfassung 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

37 Fazit 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

38 Navigationsmodell / Sichtenmodell:
Fazit 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

39 Vielen Dank Fragen?


Herunterladen ppt "WISE – Eine Methodik für die Entwicklung webbasierter Anwendungen"

Ähnliche Präsentationen


Google-Anzeigen