Einführung in die Wirtschaftsinformatik - uni-trier.de · 1 Web Engineering-Seminar Denis Blagov,...

Post on 11-Sep-2019

6 views 0 download

Transcript of Einführung in die Wirtschaftsinformatik - uni-trier.de · 1 Web Engineering-Seminar Denis Blagov,...

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!