tu-wien, sommersemester 2003 rudolf lewandowski › tu2002 › slides2003 › (08)user... ·...

38
1 Vorlesung „Software Engineering für große Informationssysteme“, © 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003 Spezifikation großer Informationssysteme Benutzungsoberflächen TU-Wien, Sommersemester 2003 Rudolf Lewandowski

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

1Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Spezifikation großer InformationssystemeBenutzungsoberflächen

TU-Wien, Sommersemester 2003Rudolf Lewandowski

Page 2: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

2Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Überblick

• Abgrenzung• Arten von Oberflächen• Ausgangspunkte• Spezifikation• Programmiermodelle

Page 3: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

3Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Dialogspezifikation vs. Ergonomie• Dialogspezifikation

• Wie baue ich Dialoge softwaretechnisch auf?• Wie komme ich von einer Spezifikation zum fertigen Dialog?

• Software-Ergonomie• Was ist ein guter Dialog?• Wie sollte er nicht aussehen?

Achtung: Wir reden nicht darüber

was „gute Dialoge“ sind

Das ist Software -Ergonomie

Page 4: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

4Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Dialogspezifikation vs. ErgonomieDIN EN 2 9241/10: Grundsätze der Dialoggestaltung

• Aufgabenangemessenheit

• Selbstbeschreibungsfähigkeit

• Steuerbarkeit

• Erwartungskonformität

• Fehlerrobustheit

• Individualisierbarkeit

• Lernförderlichkeit

Eigenschaften für eine

gute Handhabbarkeit

Achtung: Wir reden nicht darüber

was „gute Dialoge“ sind

Das ist Software -Ergonomie

Page 5: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

5Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von OberflächenFormularbasiert

Page 6: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

6Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von OberflächenMVC

Model

Controller View

change view

get data

model changedchange controller

change model

Page 7: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

7Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von OberflächenWerkzeug/Material Metapher

Materialienhaben Aspekte

„ist druckbar“

Werkzeuge

Behälter Material

Page 8: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

8Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von OberflächenMDI – Multi Document Interface

Page 9: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

9Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von Oberflächendirekt manipulativ

Page 10: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

10Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Arten von Oberflächenmeüorientiert

Page 11: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

11Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

ZusammenfassungArten von Oberflächen• die meisten Oberflächen kombinieren die gezeigten Stile• einer kann so gut wie nicht in Reinform vorkommen• nur sollte man sie kennen ...

Page 12: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

12Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Was ist das typische Problem?• Sie haben so 50 – 80 Geschäftsobjekte• Für jedes benötigen Sie mehrere Dialoge und

mindestens die CRUD Funktionalität• Sie bringen es dann schnell auf 200 oder mehr Panels• die sollten ähnlich aussehen, sich ähnlich verhalten, mit

möglichst geringem Aufwand zu erstellen sein und wartungsfreundlich sein

• Daraus folgt: Generieren, Spezifizieren statt Programmieren!

Page 13: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

13Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Ausgangspunkt für OberflächenSoll man mit dem Design der Oberflächen gleich beginnen?

• Aktivitäten definiert• Use Cases analysiert• Modellobjekte vorhanden

Page 14: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

14Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Ausgangspunkt Aktivitäten• Workflow

• Modellieren von Aktivitäten• Infrastruktur zum Starten

• Makro vs. Micro• Aktivitäten vs. Seitenfolgen

AntragPrüfen

KundeAnlegen

KontenAnlegen

VISA KarteBestellen

PIN Drucken

BonitätPrüfen

OK?

KundenAblehnen

nein

ja

KontoantragBearbeiten

Rahmenfestlegen

Versandadresse

KonditionenAuswahl

Zeichnungs-brechtigung

Prüfen

Kontenanlage

Page 15: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

15Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Ausgangspunkt Use Cases

A n t r a gB e a r b e i t e n

P o l i z z eA u s s t e l l e n

A d r e s s eÄ n d e r n

B e g ü n s t i g t e nÄ n d e r n

M a k l e r

S a c hb e a r b e i t e r

Page 16: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

16Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Ausgangspunkt Domainobjekte• Stammdatenverwaltung• CRUD Services

• C reate• R ead• U pdate• D elete

714.4.1996RugbyAnton

414.8.1957TennisThomas

MannschaftGeb.ArtName

Page 17: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

17Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Domainobjekte CRUD pro Objekt

Sportler

Thomas 14.8.1957Anton 14.4.1996

Sportler Details

Attribute....

Schlüsselinfos

Delete...

Doppelklick

OK

714.4.1996RugbyAnton

414.8.1957TennisThomas

MannschaftGeb.ArtName

New...

Page 18: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

18Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

DomainobjekteAktionen pro Objekt

• Methoden des Objektes können als Aktionen angeboten werden

• Problem dabei lediglich – woher bekommt man die Parameter

• Idee: Dialogbox aufmachen ...• Strings etc. eingeben• Objekte: auswählen lassen

Dialogbox pro Einzelobjekt

Attribute....

Schlüsselinfos

OK

Page 19: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

19Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

DomainobjekteBehandlung von Beziehungen

Mannschaft

AustriaRapid...

Sportler

ADAMSKI MARCIN FATH ALKATHIRI SAOUD FELDHOFER FERDINAND GARICS GYÖRGY HERZOG ANDREAS HIDEN MARKUS HOFMANN STEFFEN IVANSCHITZ ANDREAS JAZIC ANTE KIENAST ROMAN…

Auswahl

Mannschaft Sportler0..n1

Doppelklick

LöschenVerlängern…Kündigen…Details…

HERZOG ANDREAS

Rapid

1:n, n:m, 1:1 (alles analog)

Page 20: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

20Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

DomainobjekteBeispiele • MS Access• ORACLE Forms• ...

Mannschaft 1 von 2

Page 21: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

21Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Spezifikation Aussehen• Zeichentool

• Vorteil: Es entsteht noch kein Code• Windowbuilder (z.B. VA for Java)

• Widgetbibliothek kann verwendet werden• Toolbar, File Selection Prompter, Message Box, Slider, Table

• HTML Editor (z.B. Frontpage)• „Code“ muss oftmals weggeworfen werden• CSS, TAGs, Copy-Paste

Page 22: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

22Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Spezifikation Verhalten

PersonÜbersicht Adressliste

Löschen

Adressen Bestätigung

OK / Abbrechen

OK, Abbrechen

Bestätigung

OK / Abbrechen

OK / Abbrechen

Legitimation

OK / Abbrechen

Page 23: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

23Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

SpezifikationVerhalten

<?xml version="1.0" encoding="ISO-8859-1"?><activity-definition

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="activity.xsd">

<activity name=“CreatePerson"><page name=“Overview" handler=“OverviewHandler" type="start">

<transition to="AddressList">button.equalsTo(“Addresses”)</transition><transition to=“Legitimation" />

</page><page name=“AddressList " handler=“AddressListHandler"/>

<transition to=“Overview">button.equalsTo(“OK”)</transition></page><page name=" Legitimation" handler="FirstPageHandler" type="end"/>

</activity>

<handler name=" Overview "><a href="/" class="architecture.test. OverviewHandler"/><jsp href=“createPerson/PersonOverview.jsp"/>

</handler><handler name=" AddressList">...

Page 24: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

24Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

SpezifikationVerhalten

Initial

Address Selected

Modify Mode

New Address

Edit

AssignSearch

Page 25: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

25Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Wer speichert den State?Fat Client

• Der Client im Memory

Client Server• Stateless Server

• z.B. Client HTML

• Statefull Server• Session je Benutzer -> Affinity• Database -> Keine Affinity• Synchronization!

DataManagement

Application

Presentation

Presentation

Page 26: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

26Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Programmiermodelle• Formularorientiert

• 3270 MFS• HTML

• Windowsbasiert• Swing• Motiv• Smalltalk• MFC• VB

Page 27: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

27Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Formularorientiert

Kunde

a = Anlegenb = Betrachtenae = Ändernl = Löschen

Eingabe

Page 28: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

28Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Formularorientiert Interpreterschleife

Ermittle Virtuelle Taste

Eingabe der MAP

Wenn Taste = „Löschen“ ...

Wenn Taste = „Anlegen“ ...

Page 29: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

29Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Screen ScrapingWenn schon ein GUI besteht

• Text Based Clients

• Screen Scrapers

• Object Scraping

3270stream

3270stream

GUI

Unchanged

3270stream

GUI

Unchanged

Page 30: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

30Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Screen ScrapingBeispiel

Page 31: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

31Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Screen ScrapingBeispiel

Page 32: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

32Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

WindowsbasiertGUI Builder

WidgetPalette Event

to Code

Page 33: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

33Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Windowsbasiert Generierter Code

private javax.swing.JButton getnewButton() {if (ivjnewButton == null) {

try {ivjnewButton = new javax.swing.JButton();ivjnewButton.setName("newButton");ivjnewButton.setText("New...");ivjnewButton.setBounds(217, 76, 85, 25);// user code begin {1}// user code end

} catch (java.lang.Throwable ivjExc) {// user code begin {2}// user code endhandleException(ivjExc);

}}return ivjnewButton;

Page 34: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

34Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Windowsbasiert Event DrivenAncestorListener ancestorAdded (AncestorEvent) ancestorMoved (AncestorEvent) ancestorRemoved (AncestorEvent)

CaretListener caretUpdate (CaretEvent)

CellEditorListener editingCanceled (ChangeEvent) editingStopped (ChangeEvent) ChangeListener stateChanged (ChangeEvent)...MouseInputListenermouseClicked (MouseEvent) mouseDragged (MouseEvent) mouseEntered (MouseEvent) mouseExited (MouseEvent) mouseMoved (MouseEvent) mousePressed (MouseEve

Page 35: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

35Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Windowsbasiert Beispiel Eclipse

Mouse-Events

Keystrokes

Mouse-Events

Page 36: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

36Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

ZusammenfassungProgrammiermodelle

• Formular basiert• Windows basiert

Page 37: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

37Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Formular basiertWeboberfläche• Formularbasiertes Userinterface -> Client-Server• GUI Editor sinnvoll• (HTML) TAGs bilden Containment Hierarchie• Immer nur ein Fenster -> weniger komplex• Trennung von Model, View und Controller wichtig• Einheitliche TAGs, CSS verwenden• Zero Maintenance vom Client möglich• Wenig Ressourcen am Server je Client verfügbar

Page 38: TU-Wien, Sommersemester 2003 Rudolf Lewandowski › tu2002 › slides2003 › (08)User... · 2003-10-29 · mindestens die CRUD Funktionalität ... • Windowbuilder (z.B. VA for

38Vorlesung „Software Engineering für große Informationssysteme“,© 2003, Bernhard Anzeletti, Wolfgang Keller, Rudolf Lewandowski, Klaudius Messner, All rights reserved, Technische Universität Wien, SS2003

Windows basiertEvent Driven• Eventbasiertes Userinterface -> Fat Client• Viele Ressourcen am Client verfügbar• GUI Builder notwendig• Widgets bilden Containment Hierarchie• Modale Fenster weniger komplex• Viele nebenläufige Fenster sehr komplex• Trennung von Model, View und Controller wichtig• Einheitliche Widgets verwenden• Teuer• Ergonomisch, kurze Einlernzeit