einführung in die wirtschaftsinformatik - uni-trier.de · 1 web engineering-seminar denis blagov,...
Post on 11-Sep-2019
6 Views
Preview:
TRANSCRIPT
11
Web Engineering-Seminar
Denis Blagov, Stephan Kempin
Probleme bei der Modellierung von Web Anwendungen
22
Gliederung
1. Einführung
2. Warum Modellieren?
2.1 Wer verwendet Modelle? 2.2 Wer arbeitet beim Web-Engineering mit Modellen?2.3 Model Driven Development2.4 Unterschiede zwischen Software- und Web-Engineering2.5 Besonderheiten des Web-Engineering2.6 Historische Fakten2.7 Modellierungssprachen heute
33
Gliederung
3. Allgemeine Probleme beim Modellieren3.1 Modelle als Problem3.2 Die drei Ebenen der Modellierung
3.2.1 Präsentation3.2.2 Hypertext3.2.3 Content
4. Erweiterte Probleme beim Modellieren4.1 Kontextualität User4.2 Kontextualität Heterogene Systeme4.3 Verfügbarkeitsanforderungen4.4 Integrationsaspekt Alt-Applikationen4.5 Multidiziplinarität Teamprobleme4.6 Auftraggeberseitige Probleme
44
Gliederung
5. Fazit
5
Einführung
Was ist ein Modell?
6
Einführung
Was ist ein Modell?
• Definition:
„Ein Modell ist ein System, das als Repräsentant eines komplizierten Originals auf Grund mit diesem gemeinsamer, für eine bestimmte Aufgabe wesentlicher Eigenschaften von einem dritten System benutzt, ausgewählt oder geschaffen wird, um letzterem die Erfassung oder Beherrschung des Originals zu ermöglichen oder zu erleichtern, beziehungsweise um es zu ersetzen.„
Klaus Dieter Wüsteneck
7
Einführung
Was ist ein Modell?
• Ein Modell ist ein Muster, Plan, Darstellung oder Beschreibung erstellt um die Struktur oder Wirkungsweise eines Objekts, Systems oder Konzeptes darzustellen
• Umfasst in der Wirtschaftsinformatik auch betriebswirtschaftliche Einheiten und sozi-technische Systeme
• Teilweise aus der Informatik entliehen und angepasst (UML, ER, Organigramm, EPK, etc.)
8
Einführung
9
Einführung
Was ist Modellierung?
• Modellierung ist somit das erstellen eines Modells
• Wird verwendet in Analyse- und Designphase, sowie zur Dokumentation
• Nutzt:• Notationsform (Syntax)• Regeln & Richtlinien• Grafische Repräsentation• Sprache
1010
Gliederung
1. Einführung
2. Warum Modellieren?
2.1 Wer verwendet Modelle? 2.2 Wer arbeitet beim Web-Engineering mit Modellen?2.3 Model Driven Development2.4 Unterschiede zwischen Software- und Web-Engineering2.5 Besonderheiten des Web-Engineering2.6 Historische Fakten2.7 Modellierungssprachen heute
11
Warum Modellieren?
Wer verwendet Modelle?
• Ingenieurswissenschaftliche Disziplinen verwenden Modelle mit großem Erfolg
• Vorteile:• Dokumentation von Entwurfsentscheidungen• Kommunikation innerhalb von Projektteams
• Ziel:• Spezifikation des zu erstellenden Systems
• Ergebnis:• Modelle: vereinfachte und lesbare (z.B. visuelle) Darstellung
der relevanten Aspekte des zu erstellenden Systems
12
Warum Modellieren?
Wer arbeitet beim Web-Engineering mit Modellen?
• Der Auftraggeber soll an ihnen den Entwurf des Produktes verstehen
• Die Programmierer implementieren anhand der Modelle
• Modelle sollen der Dokumentation dienen, für das Wartungs-und Pflegepersonal
13
Warum Modellieren?
Model Driven Development
• Modell als Ausgangspunkt für den Softwareentwicklungsprozess• Änderungen zuerst am Modell• automatische Transformationen
• technisches Modell und Code zum geänderten Modell synchron halten
• Informationen bezüglich der Anwendung oder der Systemumgebung werden im Modell statt im Code gepflegt.
• Da Modelle auch für Nicht-Entwickler, wie beispielsweise Fachabteilungen, verständlich sein sollten, könnten alle Interessensgruppen am Entwicklungsprozess beteiligt werden.
14
Warum Modellieren?
Unterschiede zwischen Software- und Web-Engineering
• Das Web ist schnelllebiger → es werden kürzere Entwicklungszyklen verlangt
• Web-Applikationen unterliegen anderen Gesichtspunkten → Öffentlickeit, Vergleichbarkeit, usw.
• Web-Applikationen stehen in härterer Konkurrenz
• Verwendung von Hypermedia, Browsern als Endgeräte, Netzwerkarchitektur, usw.
15
Warum Modellieren?
Besonderheiten des Web-Engineering
• Web-Engineering ist eine neue Disziplin
• Wissenschaft hat noch keine ultima ratio gefunden
• Viele Anwendungen werden aus Erfahrung der Programmierer erstellt, sind nicht modular und schwer zu pflegen
• Dabei ist das Problem nicht neu
16
Warum Modellieren?
Historische Fakten
• In den 60er Jahren gab es bereits eine solche Entwicklung- Entwicklung auf Erfahrung- Keine Dokumentation, keine Wiederverwendbarkeit, usw.
• Die Schäden waren damals beträchtlich• Heute wären sie noch wesentlich höher
• Konsequenz?
17
Warum Modellieren?
Historische Fakten
• Entstehung bekannter Notationsformen• Entity-Relationship Modell• UML (später)
• Aber:• Es existiert in der Literatur noch kein Konsens über ein
generelles Vorgehensmodell für die Entwicklung einer Web-Anwendung, das gilt auch für Modellierung
18
Warum Modellieren?
Modellierungssprachen heute
• Wie sieht die Landschaft der Modellierungssprachen heute aus?
1919
Gliederung
3. Allgemeine Probleme beim Modellieren3.1 Modelle als Problem3.2 Die drei Ebenen der Modellierung
3.2.1 Präsentation3.2.2 Hypertext3.2.3 Content
4. Erweiterte Probleme beim Modellieren4.1 Kontextualität User4.2 Kontextualität Heterogene Systeme4.3 Verfügbarkeitsanforderungen4.4 Integrationsaspekt Alt-Applikationen4.5 Multidiziplinarität Teamprobleme4.6 Auftraggeberseitige Probleme
20
Allgemeine Probleme beim Modellieren
Modelle als Problem
• Warum so viele unterschiedliche Ansätze?
• Web-Engineering wurde als Software-Engineering gesehen, aber Modelle sind nicht ad-hoc umsetzbar
• Die Probleme liegen anders geartet (Grafik, Lastverteilung)
• Modellierungssprachen wurden in der Wissenschaft entwickelt, nicht Vorort bei Projekten
21
Allgemeine Probleme beim Modellieren
Modelle als Problem
• Es besteht somit die dringende Notwendigkeit eine einheitliche ML zu erstellen
• Warum?• Turmbau zu Babeln
• Ältere IT-Kräfte kennen die neuen Modelle nicht → Unverständnis und Chaos
• IT-Kräfte verstehen sich untereinander nicht• Fachkräfte noch viel weniger (Kunde, User, Mitarbeiter)
22
Allgemeine Probleme beim Modellieren
Die drei Ebenen der Modellierung
• verschiedene Modelle• Anforderungsmodell• Content Modell• Navigationsmodell• Präsentationsmodel• Prozessmodel• Adaptivitätsmodell
Die 3 Häufigsten Abstraktionsebenen
23
Allgemeine Probleme beim Modellieren
Die drei Ebenen der Modellierung
• Es werden 3 Ebenen der Modellierung unterschieden• Content• Hypertext• Präsentation
24
Allgemeine Probleme beim Modellieren
Content
• Verschiedene Arten von DatenformatenText, Grafiken, Audio, Video
• Abhängig von der Art der Anwendung E-Commerce, Archivsystem, usw.
• Änderungshäufigkeit und Qualitätsansprüche hinsichtlich:AktualitätGenauigkeitKonsistenzVerlässlichkeitUmfang
25
Allgemeine Probleme beim Modellieren
Content
• Preise & Liefermengen als Beispiel
• Bilden Grundlage des Vertragsabschlusses
• Inkorrekte Preise sind Grund zur Annullierung
• Inkorrekte Liefermengen führen zu Absatzschwierigkeiten, oder Lieferengpässen
26
Allgemeine Probleme beim Modellieren
Hypertext
• In klassischen Applikationen sind diese Festgelegt über die Abfolge der Eingabeschritte
• Bei Web-Applikationen hat der User quasi freie Hand → Nichtlinearität von Hypertext
• Aber auch psychologisch durchdachte Pfade
• Findet er nicht was er sucht, verlässt er die Seite → kognitive Belastung & Desorientierung
27
Allgemeine Probleme beim Modellieren
Hypertext
• Verändern der URL führt auch zu Seiten, das erlaubt Sprünge im Ablauf (Warenkorbproblem) oder gar Manipulation
• Back-Button-Problem
• Zugriffstrukturen mit Navigations- und Orientierungshilfen
• Wie bildet man Navigationspfade ab?
28
Allgemeine Probleme beim Modellieren
Hypertext
• UML und ER haben keine Diagrammform für Navigationspfade
• Die neuen Modellierungsmethoden erweitern die bekannten Modelle um diese Funktionalität
29
Allgemeine Probleme beim Modellieren
Präsentation
• Grafiken haben im Gegensatz zum klassischen Software Engineering eine bedeutsame Rolle
• Sie transportieren gerade im B2B und B2C Bereich mehr als Funktionalität. Marketing und Corporate Identity spielen für den Kunden eine große Rolle
• Konsequenz?
30
Allgemeine Probleme beim Modellieren
Präsentation
• Gutes, modernes Design führt zu hoher Frequentierung durch Kunden→ Daher ändert sich das Layout ständig
• Eine Trennung von Layout und Content ist unabdingbar→ Der Wartungsaufwand ist sonst untragbar
31
Allgemeine Probleme beim Modellieren
Präsentation
• Wie modellieren die Layouter Webseiten?
• Häufig mit Storyboards wie im Film• Diese sind nicht übertragbar geschweige denn modellierbar• Jedoch muss die Struktur abstrahiert werden• Seiten Inhalte werden in Templates abstrakt dargestellt• Look & Feel
32
Allgemeine Probleme beim Modellieren
Präsentation
• Wie modellieren die Layouter Webseiten?
33
Allgemeine Probleme beim Modellieren
Präsentation
• Wie modellieren die Layouter Webseiten?
34
Allgemeine Probleme beim Modellieren
Präsentation
• Wie modellieren die Layouter Webseiten?
35
Allgemeine Probleme beim Modellieren
Präsentation
• Template zur Seitengestaltung
• Seitenaufteilung ein einem Konferenzberichtsystems
• Eine Änderung des Layoutsführt hier zu wenigen Änderungen am Inhalt
3636
Gliederung
3. Allgemeine Probleme beim Modellieren3.1 Modelle als Problem3.2 Die drei Ebenen der Modellierung
3.2.1 Präsentation3.2.2 Hypertext3.2.3 Content
4. Erweiterte Probleme beim Modellieren4.1 Kontextualität User4.2 Kontextualität Heterogene Systeme4.3 Verfügbarkeitsanforderungen4.4 Integrationsaspekt Alt-Applikationen4.5 Multidiziplinarität Teamprobleme4.6 Auftraggeberseitige Probleme
37
Erweiterte Probleme beim Modellieren
Kontextualität
• Anzahl User unbekannt
• Skills der User unbekannt
• Endgerät unbekannt, bzw. es kommen neue hinzu
• Augenmerk auf Modellierung des UI
38
Erweiterte Probleme beim Modellieren
Kontextualität User
• Die Usergruppen sind höchst heterogen
• Nahezu jeder Haushalt hat die Möglichkeit ins Internet zu gehen
• Das benötigt sehr intuitive Userinterfaces
• Keine Schulungsmöglichkeit der User
• Wenn der User nicht sofort die Anwendung versteht verlässt er die Seite→ Umsatzeinbußen durch schlechtes Design
39
Erweiterte Probleme beim Modellieren
Kontextualität User
• Als Lösung bieten sich verschiedene UI für die User an • einfache Suche, erweiterte Suche
• Aber auch verschiedene Views auf den Content• Personalisieren• Weglassen von „verwirrenden“ Daten
• Wichtig speichern der Einstellungen damit beim wiederholten Gebrauch nicht alles neu adaptiert werden muss
40
Erweiterte Probleme beim Modellieren
Kontextualität Heterogene Systeme
• Dutzende Browser
• Unterschiedlichste Arten von Endgeräten
• Die Darstellung des Content muss auf allen funktionieren
• Heim-PC vs. Mobiles Gerät
• Auch die Landschaften auf denen das System aufsetzt (Linux, Windows)
41
Erweiterte Probleme beim Modellieren
Integrationsaspekt Alt-Applikationen
• Finden sich häufig in Unternehmen
• Basieren zum Teil noch auf COBOL Programmen
• Wie sollen diese im Entwurf berücksichtigt werden?
• Web-Entwickler sind eine Generation jünger als das aktuelle Personal das den Mainframe wartet→ Kommunikation
42
Erweiterte Probleme beim Modellieren
Integrationsaspekt Alt-Applikationen
• Mainframe Systeme sind oft prozedual aufgebaut→ Wie bildet man diese ab?
• Die Dokumentation ist meist lückenhaft
• Die Systeme sind über die Jahre verändert worden
• Auf sie will und kann man nicht verzichten, muss sie aber einbinden
• Abhilfe schaffen Algorithmen, die prozeduale Systeme in Objekte umstrukturieren → Abbildung wird möglich
43
Erweiterte Probleme beim Modellieren
Integrationsaspekt Alt-Applikationen
• Neuentwicklungen?
• Teilweise nicht möglich von der Technik her
• Mainframe-Systeme müssten in Hallen voll mit Client/Server Architekturen umgebaut werden
• Daher muss an der Einbindung festgehalten werden
• Entwicklung von Wrappern zum Abbilden der Altsysteme um diese in die neue Modellierung einbinden zu können
44
Erweiterte Probleme beim Modellieren
Verfügbarkeitsanforderungen
• Sie müssen in der Modellierung berücksichtigt werden,aber es existiert keine Möglichkeit diese formal zu beschreiben
• Redundanzen sind notwendig
• Kapselung um Totalausfälle zu vermeiden
• BackUp Systeme
• Kaskadierung
• Internationalisierung
45
Erweiterte Probleme beim Modellieren
Multidisziplinarität Teamprobleme
• Viele unterschiedliche ExpertenGrafikerInformatikerMarketingDomainexperten
• Jeder muss das Projekt verstehen
• Unterschiedliche Background der Experten
• Trotzdem muss an einem Strang gezogen werden
46
Erweiterte Probleme beim Modellieren
Auftraggeberseitige Probleme
• Der Auftraggeber hat auch die Möglichkeit andere Seiten zu besuchen
• Mehr Ideen im Kopf was der Konkurrent auch hat→ „Ich hab da was gesehen, das will ich auch!“
• Das ist nicht förderlich, wenn sich im Modell beständig die Anforderungen ändern
47
Erweiterte Probleme beim Modellieren
Auftraggeberseitige Probleme
• Erstellung ganzer Firmenpräsenzen
• Konglomerat an Applikationen
→ diese müssen konfliktfrei ablaufen
• Beständig sind die Änderungen, Wartung und Aktualisierung sind an der Tagesordnung
48
Erweiterte Probleme beim Modellieren
Auftraggeberseitige Probleme
• Die Auftraggeberseite versteht die Modelle nicht →Konflikt zwischen Ideal und Realität
• Requirements wurden in Prosa definiert, doch die lässt sich schwer in Modelle umsetzen, da diese abstrakt sind.
• Nichtfunktionale Anforderungen können nicht modelliert werden
• Software gilt als relativ leicht änderbar, daher häufige Anpassungen in der Erstellungsphase
4949
Gliederung
5. Fazit
50
Fazit
Modellierung hat Vor- und Nachteile
• Vorteile→ Ingenieurartiges Vorgehen gibt Sicherheit für die Entwicklung→ sparen Zeit und Geld durch Standards→ Konzepte erlauben Modularität und Wiederverwendbarkeit→ Modelle abstrahieren auf die essentiellen Aspekte→ schneller Überblick für die Verantwortlichen→ Änderungen können direkt am Modell durchgeführt werden→ Code Erzeugung aus Modellen heraus erspart Zeit
51
Fazit
Modellierung hat Vor- und Nachteile
• Nachteile→ Aktuell zu viele Sprachen→ Keine einheitliche ML→ Auftraggeber versteht Modelle nicht→ Aus den Requirements lassen sich nicht direkt Modelle
erzeugen (Nichtfunktionale Anforderungen)→ Probleme durch heterogene Teams und deren Wissen über
Modelle→ Modelle erzeugen um Prototypen zu erstellen ist teuer→ Modellierungsmethoden wurden nicht in der Praxis entwickelt→ Integration von Altsystemen in die Modelle schwierig
52
Fazit
• Trotz der Nachteile ist eine Modellierung an sich vorteilhaft-“Best practise“
• Viele Disziplinen haben gezeigt das Modellierung unabdingbar ist
• Die Modelle erfüllen vielfältige Aufgaben in mehreren Bereichen der Entwicklung
• Es besteht Handlungsbedarf, damit die Methoden durch die Wissenschaft nicht an der Praxis vorbei erstellt werden
• Ebenso das erstellen der „einheitlichen ML“ um Klarheit zu schaffen
53
Fragen?
Fragen?
Vielen Dank für die Aufmerksamkeit!
top related