![Page 1: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/1.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
1
Spezifikation großer Informationssysteme - Teil 2:
Benutzungsoberflächen
Vorlesung: Software-Engineering für große Informationssysteme
TU-Wien, Sommersemester 2002Wolfgang Keller
![Page 2: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/2.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
2
Überblick (1)• Abgrenzung
• Ergonomie versus das was heute vorgestellt wird ...• Arten von Oberflächen
• Formbasiert, MVC, MDI, direkt manipulativ, objektorientiert, Werzeug-Material-Metapher, menüorientiert, ..
• Oberflächen für „große Geschäftsinformationssysteme“• Was ist das typische Problem• CRUD• Spezifikation eines „formularbasierten Dialoges“
![Page 3: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/3.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
3
Überblick (2)• Spezifikation auch graphischer Oberflächen• Spezifikation für Nebenläufige Dialoge
• Petrinetze, zu hoher Aufwand!• Generische Oberflächen aus dem Objektmodell
• CRUD pro Objekt• Objektaktionen (Methoden)• Behandlung von Beziehungen (Aggregation, 1:n, n:m)• Das Janus System der UniDo
![Page 4: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/4.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
4
Abgrenzung: Ergonomie versus das was heute vorgestellt wird ...• 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 5: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/5.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
5
NormenDIN 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 6: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/6.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
6
Arten von OberflächenFormularbasiert
![Page 7: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/7.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
7
Arten von OberflächenMVC
Model
Controller View
change view
get data
model changedchange controller
change model
![Page 8: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/8.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
8
Arten von OberflächenWerkzeug/Material Metapher
Materialienhaben Aspekte
„ist druckbar“
Behälter
Werkzeuge
![Page 9: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/9.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
9
Arten von OberflächenMDI – Multi Document Interface
MyWordFile Edit View Help
Doc1
Doc1
![Page 10: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/10.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
10
Arten von Oberflächendirekt manipulativ
![Page 11: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/11.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
11
Arten von Oberflächenmeüorientiert
![Page 12: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/12.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
12
ZusammenfassungArten von Oberflächen• die meisten Oberflächen kombinieren die vorne
gezeigten Stile• Einer kann so gut wie nicht in Reinform vorkommen• nur sollte man sie kennen ...
![Page 13: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/13.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
13
Oberflächen für große Geschäftsinformationssysteme
![Page 14: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/14.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
14
Was ist das typische Problem?• Sie haben so 50 – 80 Geschäftsobjekte
(Sachbearbeiter)• 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 statt Programmieren!• Zu Generieren muß man jedoch zunächst spezifizieren
![Page 15: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/15.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
15
CRUD – Was ist das?• C reate• R ead• U pdate• D elete
• Zum Beispiel einen Kunden kann man anlegen, lesen, ändern, löschen ..
• Grundfunktionen auf einer Datenbank
![Page 16: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/16.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
16
Idee• Spezifiziere Dialogtypen als Automaten (IADs)• schaffe von jedem Typen viele Instanzen
Z1
Z2
(Rest-)Preis anzeigen
Initialzustand
Fahrkarte wählen
Geldeinwurf
(Rest-)Preis berechnen
Fahrkarte drucken
Geld zurückgeben
Abbruch
Fehler
Betragerreicht
Bild, Quelle sd&m AG
![Page 17: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/17.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
17
DialogspezifikationElemente eines IADs
Start
EndeZustand
Aktion
Subdialog
Zustandsübergangmit Ereignis
ok
![Page 18: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/18.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
18
Beispiel IAD für einen CRUD Dialog
NichtsAusgewählt
VorAnzeigen VorÄndernVorAnlegen VorLöschen
Anzeigen Anlegen Ändern Löschen
NachAnzeigen NachAnlegen NachÄndern NachLöschen
EvOK
EvAnzeigen
NOKNOK NOK NOK
EvLöschen
EvAnlegen EvÄndern
NOK NOK NOK
EvAbbruch EvAbbruch EvAbbruch
EvOK EvOKEvAbbruch
OK OK OK OK
EvBeenden
<Schlüssel-auswahl-Dialog>
<Schlüssel-auswahl-Dialog>
<Schlüssel-auswahl-Dialog>
<Schlüssel-auswahl-Dialog>
EvOK
OK OK OK OK
![Page 19: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/19.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
19
Konzept der virtuellen Taste
Kunde
a = Anlegenb = Betrachtenae = Ändernl = Löschen
Eingabe
Löschen
2 verschiedene Eingabenein und dasselbe Ziel? Konzept virtueller Tasten
Spart Code!
![Page 20: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/20.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
20
Dialog - Interpreterschleife
Ermittle Virtuelle Taste
Eingabe der MAP
Wenn Taste = „Löschen“ ...
Wenn Taste = „Anlegen“ ...
![Page 21: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/21.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
21
Spezifikation eines formular-basierten Dialoges besteht aus• dem durch das IAD festgelegten Automaten• aus den Masken zu jeden Dialozustand
• der Bildschirmbeschreibung• den Ein/Ausgabe-Feldern• dern virtuellen Tasten und ihrer Beschreibung
• der Beschreibung der Aktionen
• das ganze aufgeschrieben in „irgendeiner“ formalisierten Sprache ...
![Page 22: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/22.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
22
Dialog und Dialogtyp• bei Massendialogen spezifiziert man logischerweise
Dialogtypen für zum Beispiel• Kunde• Auftrag• Zahlung ...
• Ein Dialog ist dann zum Beispiel eine Instanz des Dialogtyps „Einzelsatzverarbeitung“
![Page 23: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/23.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
23
siehe auch Unterlage• Artikel „Spezifikation von Massendialogen mit Toledo“
verteilen, • gemeinsam durchgehen ..
![Page 24: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/24.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
24
Warum ist das „gut“ für große Systeme ..• jedem Feld wird ein Datentyp zugewiesen mit einer
Methode „checkInput“• Man kann in OO Sprachen wirklich so arbeiten, dass
man zu einem Dialog-Template-Dialog nur einen zu bearbeitenden fachlichen Typ angibt
• Man ändert nur den Typ und alle Dialoge ändern sich konsistent
![Page 25: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/25.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
25
Spezifikation für GUIs• GUI Oberflächen sind meist als
Bäume von Objekte implementiert• Events werden über eine Chain of
Responsibility weitergereicht• Wenn man „Pech“ hat sind die
Oberflächen auch noch „nicht-modal“ – also es leben gleichzeitig mehrere Panels, die sich „kräftig“ gegenseitig beeinflussen
• Man kann aber trotzdem jedes Element selbst wieder als „Baum“ spezifizieren
• Man erhält hierarchische Automaten
Textbaustein-Editor KIS/Rechnung/3=KundeAEG
Textbaustein Bearbeiten Ansicht Fenster Hilfe
Textbausteinvariante
VariantenTextbausteine
OKAbbrechen
Öffnen
MahnungRechnungReisekosten
sd&m-StandardNiederlassung HamburgKunde AEGKunde SiemensKunde MAN
Anwendung
1 2 3 4 5
KIS/Rechnung/Kunde_AEG
![Page 26: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/26.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
26
Jedes Element ist wieder ein Automat ..
NothingSelected
ITVUnchanged
ITVInEdit
EvOpenITV
EvDeleteITV
EvCloseITVEvDeleteITV
EvClose
EvClose
EvSaveAsITVEvOpenITVEvStoreITVEvOpenHeadInfoEvCloseHeadInfo
EvOpenLayoutEvOpenProperties
EvOpenITV
EvCloseITVEvDeleteITV
EvStoreITVEvSaveAsITVEvOpenLayoutEvCloseLayoutEvOpenPropertiesEvClosePropertiesEvOpenHeadInfoEvCloseHeadInfo
EvClose
Zustandsmodell Textbausteineditor
![Page 27: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/27.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
27
siehe auch Unterlage• Online – Artikel verteilen, • gemeinsam durchgehen ..
![Page 28: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/28.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
28
GUIs können typisch nebenläufig sein Petrinetze
Suchen (1), Kriterien verändert, Anz(Objekte)<=x
Suche DB, in Auswahl eintragen, Neu, OK freigeben,
Suchen sperrenAuswahl
Objekt
Details...
OK (1), Objekt selektiert
Abbrechen (1)
Objekt-Pflege
AbfrageObjekt auswählen
in Ausgewählt anzeigen, OK freigeben
Suchen (2), Kriterien verändert, Anz(Objekte) >x
Suche DB, Auswahl leeren, Suchen, OK sperren
Meldung Menge
OK (4)
Beenden (1), neuer Schlüssel
Suche DB, Auswahl aktualisieren
OK (2), Query , Anz(Objekte)<=x
DB Suche, Auswahl aktualisieren, Abfrage füllen
Neu
Start
Auswahl füllen, falls Selektion ohne Suche
Objekt deselektieren
OK sperren, Ausgewählt leeren
OK (3), Query, Anz(Objekte) >x
DB Suche, Query in Auswahl eintragen
Kriterien editieren
Suchen freigeben
man kann sie dann immernoch spezifizieren
Allerdings benötigt man Petrinetze
Das verstehen nicht malmehr „normale“Informatiker
also läßt man es besser
![Page 29: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/29.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
29
Generierung generischer Oberflächen aus Objektmodellen• basiert auf Arbeiten von Prof. Balzert, Uni Dortmund• Idee: Vollgenerierung von CRUD – 08/15 Oberflächen
aus einem Objektmodell
![Page 30: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/30.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
30
Janus Schritt 1: Objektmodell
Bild, Quelle otris Software AG
![Page 31: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/31.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
31
Janus Schritt 3: Generierter Prototyp
Bild, Quelle otris Software AG
![Page 32: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/32.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
32
CRUD pro Objekt
Auswahldialog
Objekt1Objekt2Objekt3....
Dialogbox pro Einzelobjekt
Attribute....
Schlüsselinfos
Delete
Doppelklick
OK
rechte Maustaste -
Createsave
changes => update
read trivialkeine
Änderungen
![Page 33: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/33.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
33
Aktionen 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 34: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/34.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
34
Behandlung von Beziehungen1:n, n:m, 1:1 (alles analog)
Customer
Orders
Customer
Order1Order2Order3...
Order
Position1Position2Position3...
Doppelklick
![Page 35: Spezifikation großer Informationssysteme - Teil 2 ... · Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, wolfgang_keller@acm.org, allrights](https://reader033.vdokument.com/reader033/viewer/2022052720/5f09fde27e708231d4297d11/html5/thumbnails/35.jpg)
Vorlesung „Software Engineering für große Informationssysteme“, © 2002 Wolfgang Keller, [email protected], all rights reservedTechnische Universität Wien, SS2002
35
Aggregation• kann man als Beziehung betrachten• es passiert nur etwas anderes in der Datenbank
• Cascading Delete