WISE – Eine Methodik für die Entwicklung webbasierter Anwendungen

Slides:



Advertisements
Ähnliche Präsentationen
Integrations- und Funktionstests im Rahmen des V-Modelles
Advertisements

Das V - Modell - Überblick
Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Datenmodellierung Externe Phase Informationsstruktur
Die Softwarelebenszyklen
Das „Vorgehensmodell“
Produktmodelle im Service Engineering
8 Behandlung von Begriffen 8.1 Grundlagen aus Logik und Psychologie
Ontologien- Query 1 Teil2
DEPARTMENT FÜR INFORMATIK
Vorstellung von PaderWAVE Generierung von Web-Anwendungen aus visuellen Spezifikationen, SS04 Projektgruppe der AG Kastens.
Untersuchung und szenariobasierte Entwicklung von Websites zur Orientierung in Universitätsstudiengängen unter Berücksichtigung von Prinzipien des Web.
Seminar Software-Engineering für softwareintensive Systeme
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Nutzung und Bedeutung von Business Intelligence und Business Intelligence Methoden und -Werkzeugen Durch die Analyse des BI mit dem Fokus der Managementunterstützung.
RUP-Elemente (Schlüsselkonzepte)
DOM (Document Object Model)
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Indoor Navigation Performance Analysis
Rational Unified Process (RUP) - Definitionen
Vortrag 11: Reengineering - Refactoring
eXtreme Programming (XP)
Persönliche Homepages von LehrstuhlinhaberInnen Fakultät für Sozialwissenschaften Ruhr-Universität Bochum Eine Untersuchung auch unter Berücksichtigung.
Access 2000 Datenbanken.
Concurrent Versions System
Datenmodellierung - Aufbau einer Datenbank -
Konzept der Fort- und Weiterbildung für die SeelsorgerInnen im Bistum Münster Hauptabteilung 500, Seelsorge - Personal Gruppe 512, Fortbildung Hermann.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - Grenzen soziotechnischer Modellierung - Gst-IS Thomas Herrmann Lehrstuhl Informations-
Vorabinformationen zum Experteninterview
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
12. Vorlesung: Aktivitätsdiagramme
Synergieeffekte durch softwaregestützte Prozessmodelle
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
Prototypentwicklung für ein Testmanagementsystem
Service Design by EstherKnaus® Der Benchmark für Dienstleistungen
Evaluation von softwaregestützten Modellierungsmöglichkeiten innerhalb der Analysephase von Fortbildungsmaßnahmen Kolloquium - Thomas Vogt –
Musterlösungen Übungsblatt 5
Allgemeines zu Datenbanken
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Verbundprojekt OUTSHORE Studie und Methodikentwicklung zur Beurteilung der Erfolgsfaktoren bei der Vergabe von Softwareprojekten an Niedriglohnländer.
Fachkonzepte in der UML
Birgit Wittenberg Kompetenzzentrum eLearning Niedersachsen
ICT-Projektmanagement & OE Magisterstudium Wirtschaftsinformatik
Content Management System
____________________________________________________________________________________________________________________________________________ Arbeit, Bildung.
GIS Design: A Hermeneutic View (Michael D. Gould)
Klassen und Klassenstruktur
Software Engineering Grundlagen
Eike Schallehn, Martin Endig
Das Essener-Lern-Modell
1 Strukturierung von Situationen (Strukturierung als Lernkomponente) Thomas Höpfel Seminar für Rechtstheorie und Rechtsinformatik WS 2004/05.
1 RICHTER + RICHTER GbR Unternehmensberatung Entengasse 7, D Aschaffenburg Tel: +49 (0) Fax: +49 (0) mailto:
made by Aberer, Spiegel & Tschegg
DABay – Neuerung im Modul Bescheide
Rechen- und Kommunikationszentrum (RZ) Laptopleihpool des Rechenzentrums Aktuelle Umsetzung und Verbesserungspotential Julia Sauer Seminarvortrag Stand:
Comprehensive Information Base (CIB) – ein Prototyp zur semantischen Datenintegration Stefan Arts
© WZL/Fraunhofer IPT Entwicklung einer Profilbörse für Konfigurationen von Smartphones Vortrag der Seminararbeit von Patrick Posor Aachen, den
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

Konzeptuelles Modell (Beispiel) Themenmodell der Ebene 1:

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

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

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)

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

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

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

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)

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

Navigationsmodell (Beispiel)

Navigationsmodell (Beispiel)

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

Navigationsmodell (Beispiel)

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

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

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

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

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

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

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

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

Vielen Dank Fragen?