97
H.-J. Hoffmann, 9. Jan. 2004 1 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt Programmiersprac hen und Übersetzer Softwarekrise und kein Ende ?

H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

Embed Size (px)

Citation preview

Page 1: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 1

“Weichware”(nicht) ernst zu nehmen

Hans-Jürgen Hoffmann

9. Januar 2004Vortrag bei Firma

© 2004 H.-J. Hoffmann

TU Darmstadt

Programmiersprachenund Übersetzer

Softwarekriseund kein Ende ?

Page 2: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 2

Wie fing alles an ?

• Es war einmal ...• Computer brauchen

Programme• Programme brauchen

Programmierer- oder vornehmer: Software-Ingenieure -

Donald Knuth (1968):The Art of Computer Programming

Und was ist mit Computer Science ?

Oktober 1968

1968

1973

1997

Page 3: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 3

Page 4: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 4

Wie fing alles an ?

• Es war einmal ...• Computer brauchen

Programme• Programme brauchen

Programmierer- oder vornehmer: Software-Ingenieure -

Computer-Shop-Gewerbe

oder

Informations-Technologie IT

*z.B.

Page 5: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 5

Über was will ich (ernster) reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 6: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 6

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 7: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 7

Mit Programmiersprachen zu Objekten - I

Was ist unter dem Begriff Objekt zu verstehen ?OO die übliche Abkürzung für “objektorientiert” / ”object oriented”

• Cobol, Fortran, PL/I, ... - schon objektorientiert ? Nein !

• Algol 60, Simula 67, Basic, Pascal, Algol 68, Modula, Ada, C, Oberon, u.a. ... - Wurzeln !

• Simula 67, Smalltalk 80, CLOS, C++, Objective-C, Eiffel, Java, VisualWorks/VisualAge, VB, C#, S#, u.a. ...

- suchet, so werdet Ihr finden !• Skriptsprachen (JCL ... Perl ... Python ... JScript ... S# ...)

OO in Reinkultur ? / Hybride Ansätze !OO bei Lisp, OO bei Prolog, OO bei ??? ?

Page 8: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 8

1982

Jean E. Sammet:

1969

Und nach 2004 ? Noch besseres ?

I believe that many of the systems we build today in Java would bebetter built in Smalltalk and Gemstone. Martin Fowler, 2003

Java is a lightly-statically-typed, simple version of Smalltalkwith the syntax of the 'C' family. ChiMu

Corporation, 2000

Ersatz für den

Turm von Babylon

in Sicht ?

2004 ++

Page 9: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 9

Mit Programmiersprachen zu Objekten - IIa

Ein erster Denkanstoß: Über “Objektorientiertheit” undUmfang einer Sprachspezifikation .

rein imperativ• Algol 60 CACM 6 (1963), 1 - 17 (!)

• PL/I IBM Handbuch 1965+, 161 Seiten

• Pascal Wirth 1973, Pascal Report, 34 Seiten

• C Ritchie 1968, C Ref. Manual, 31 Seiten

objektorientiert• Smalltalk -> reines OO

Goldberg 1983, 585 Seiten / Brauer 2003, 300 Seiten /viele, kaum mehr als 12 Seiten (letztere ohne Klassenbeschreibungen)

• (u.a., z.B. Eiffel, Beta, CLOS ...) -> reines OO

Wittgenstein: Was sichüberhaupt sagen läßt,läßt sich klar sagen ...

Page 10: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 10

Mit Programmiersprachen zu Objekten - IIb

Ein erster Denkanstoß: Über “Objektorientiertheit” und Umfang einer Sprachspezifikation

objektorientiert, aber hybrid• Ada (Ada95) - wer hat sich schon ans Zählen gemacht ? >1000 Seiten

• C++ Stroustrup 1986, 330 Seitenneuer, Stroustrup 1997 - 2000, >1000 Seiten

• Java Gosling 1996 / 2000, 544 Seiten bzw.Flanagan um 450 Seiten

• VisualBasic (fand ich nicht, schätzungsweise) über 500 Seiten

• C# ECMA Standard, 2nd edition, 2002, 490 Seiten

• (u.a.)Ist die Komplexitätnoch beherrscht ?

Page 11: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 11

Page 12: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 12

Mit Programmiersprachen zu Objekten - IIIa

Der zweite Denkanstoß: Modellierung für OO

• Realität <=> OO-Modellierung ?• Objekte der Realität stehen in Beziehungen zueinander,

statisch beschreibend, dynamisch durch Kommunikation• Die Realität (die “Welt”) ist Änderungen unterworfen • Beobachtung/Feststellung: Meist fehlende Struktur ! (leider)

• Überlegenheit der OO-Modellierung(und nachfolgend entsprechend reine OO-Programmierung !)

• Formale Modellierung, “Spezifikationssprache”• “Universal Modelling Language”, UML, u.a.• Visuell-unterstützte Modellierung

Page 13: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 13

Mit Programmiersprachen zu Objekten - IIIb

Der zweite Denkanstoß: Modellierung für OO

• Voll-integrierte Entwicklungswerkzeuge (insbesondere,wenn interaktive Nutzung ansteht und Evolution zu erwarten ist):

• Spezifikationssprache und Programmiersprache als Einheit,robust, erweiterbar

+ Integriertes Entwicklungs- und Ablaufsystem+ Leistungsfähige, integrierte Basisumgebung /

Klassenhierarchie für Systemklassen+ Nahtlos integrierbare Anwendungsumgebung / -klassen+ Offen für Bilden von Rahmenprogrammen und Komponenten• Gibt es das ?

Ja, z.B. Smalltalk

Page 14: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 14

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 15: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 15

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - I

Wegwerfprogramme / Standardprogramme / hoch- und höchstfordernde Anwendungsprogramme

• Alleinprogrammierer (wenig ausgebildet, arbeitet für sich)

• Alleinprogrammierer (ausgebildet, arbeitet im Auftrag) • Programmieren in überschaubarer Gruppe• Programmieren in nicht überschaubarer Gruppe,

Globalisierung der Programmentwicklung• Die sog. 4GL-Lösungen / “Open source”-Ansatz• Qualitätsanforderung

(insbesondere in sicherheitskritischen Anwendungen)

Page 16: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 16

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - IIa

• Wasserfallmodell von W.W. Royce, 1970• Spriralmodell von B.W. Boehm et al., 1984• Prototyp (von was ?)

• Vormachen (z. B. B. Myer’s Peridot), Inferenz (z.B. F.L. Bauer et al.)

• (modifizierendes) Wiederverwenden• Wiederverwenden, wie von OO angeboten• Extreme programming• Generative Programmierung, Aspect-oriented development• Verordnete Modelle (z.B. V-Modell, ...)

• Komponenten und auswählendes Zusammensetzen(deployment)

Page 17: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 17

Page 18: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 18

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - IIb

• Wasserfallmodell von W.W. Royce, 1970• Spiralmodell von B.W. Boehm et al., 1984• Vormachen (z.B. B. Myer’s Peridot)

• Inferenz (z.B. F.L. Bauer et al.)

• (modifizierendes) Wiederverwenden• Wiederverwenden, wie von OO angeboten• Extreme programming,

generative Programmierung, aspect-oriented development

• Verordnete Modelle (z.B. V-Modell, ...)

• “Komponenten” und auswählendes Zusammensetzen(deployment)

Immer wieder viel versprochen !

Und eingehalten ?

Page 19: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 19

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - IIIa

Entwurf von WWW-Anwendungen

• Prototyp (von was ?)

• Evolutionär Anpassen an neue/geänderte Anforderungen(tägliches Brot ?)

• (klar strukturiertes) Entwurfsvorgehen bei Einschluß der interaktiven Benutzungssituation auf dem WWW,z.B. J.J. Garrett, 2003

• Sicherstellen von Konsistenz durch konsequentes Anwenden von Gestaltungsregeln,z.B. P. Beyer & M.W. Vaughan, 2003

Page 20: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 20

J.J. Garrett: The Elements of User Experience; 2003,New Riders

• Betrachtet wird WWW als Software-Schnittstelle und als

• Hypertext-System.

Starke Betonung der Benutzungsanforde-rungen !

Page 21: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 21

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - IIIb

Entwurf von WWW-Anwendungen

• Prototyp (von was ?)

• Evolutionär Anpassen an neue/geänderte Anforderungen(tägliches Brot ?)

• (klar strukturiertes) Entwurfsvorgehen bei Einschluß der interaktiven Benutzungssituation auf dem WWW,z.B. J.J. Garrett, 2003

• Sicherstellen von Konsistenz durch konsequentes Anwenden von Gestaltungsregeln,z.B. P. Beier & M.W. Vaughan

Page 22: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 22

B. Beier, M.W. Vaughan: Man entschuldige die schlechte

Qualität. The Bull’s Eye: A Framework for Web Application User Interface Design Guidelines; Proc. CHI 2003, 489 - 496

“Schemata”,“Schablonen”,“Muster”, ...

Page 23: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 23

Entwurfsparadigmen, darüberhinaus- vom Wasserfall

zu den evolutionären Komponenten - V

• “Programmierumgebung” zur Entwurfsunterstützung- allgemein -

• “Programmierumgebung” zur Entwurfsunterstützung- speziell, an verwendetes Paradigma gekoppelt -

• “Programmierumgebung” zur Entwurfsunterstützung- von A bis O, vom Beginn bis zum Ende

• Produktivität ?• Validierung, Zertifizierung (à la TÜV)

• Wartung ?• Versionskontrolle / Evolution ?• Software als globales Produkt ! Rechte und

Pflichten ?

Page 24: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 24

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - Vb

“Programmierumgebung” zur Entwurfsunterstützung

- von A bis O, vom Beginn bis zum Ende -• Gibt es das ?• Als Beispiele:

- Analyst- ...

Visuell

unterstützt !

Page 25: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 25

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - Vc

“Programmierumgebung” zur Entwurfsunterstützung

- von A bis O, vom Beginn bis zum Ende -• Gibt es das ?• Als Beispiele:

- Analyst- Software through Pictures

- ...

Architecture Component

Development™ (ACD)

Page 26: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 26

Entwurfsparadigmen- vom Wasserfall

zu den evolutionären Komponenten - Vd

“Programmierumgebung” zur Entwurfsunterstützung- von A bis O, vom Beginn bis zum Ende -

• Gibt es das ?• Als Beispiele:

- Analyst- Software through Pictures- WebSphere® MQ family

- ...• (Schlagworte überall dabei)

Page 27: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 27

Entwurfsparadigmen, darüberhinaus- vom Wasserfall

zu den evolutionären Komponenten - VI

• “Programmierumgebung” zur Entwurfsunterstützung- allgemein -

• “Programmierumgebung” zur Entwurfsunterstützung- speziell, an verwendetes Paradigma gekoppelt -

• “Programmierumgebung” zur Entwurfsunterstützung- von A bis O, vom Beginn bis zum Ende

• Produktivität ?• Validierung, Zertifizierung (à la TÜV)

• Wartung ?• Versionskontrolle / Evolution ?• Software als globales Produkt ! Rechte und

Pflichten ?

Page 28: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 28

Produktivität ?

• Welches Maß ?- Lines of code- Halstead measure- Function points (u.a. Funktionalität ausgedrückt in einem “logical source statement” )- u.a.

• Eine Studie von Ed Klimas http://www.lineaengineering.com/Resources/

Productivity_/productivity_.htmlmit interessanten Vergleichsdaten (Stand Mai 2002) und Bemerkungen wie: “... VisualAge Smalltalk has ... expressive power written in itself and yet is very close in overall productivity to ... 4GL`s”

Page 29: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 29

<== IBM´s Visual

Age G

enerator

4GL

Man entschuldige die schlechte Qualität.

Page 30: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 30

Status

– 80% of IT projects are late,over budget,lack essential functionality,or are never delivered

– 28% of IT projects just flat failrepresenting more than $81 Billion in losses

Milliarden

(Bezug,

Zeitpunkt und

Zeitraum der

Schätzung

unklar)

Page 31: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 31

Entwurfsparadigmen, darüberhinaus- vom Wasserfall

zu den evolutionären Komponenten - VI

• “Programmierumgebung” zur Entwurfsunterstützung- allgemein -

• “Programmierumgebung” zur Entwurfsunterstützung- speziell, an verwendetes Paradigma gekoppelt -

• “Programmierumgebung” zur Entwurfsunterstützung- von A bis O, vom Beginn bis zum Ende

• Produktivität ?• Validierung, Zertifizierung (à la TÜV)

• Wartung ?• Versionskontrolle / Evolution ?• Software als globales Produkt ! Rechte und

Pflichten ?

} bis zu ¾ der Entwicklungs- kosten !

Page 32: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 32

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 33: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 33

Welche Anwendung wird nicht interaktiv betrieben ?

Einmal so in Raum gestellt: Keine !

• Benutzer / Bediener (/ einer in der Freizeit / ein Spieler)

• Gebrauchstauglichkeit• Wer kennt und hält sich an ISO 9241 (bzw. EN

29241 und DIN 66234) ? (leider - wie oft bei Normen - nicht voll aktuell -)

• Und was machen trotzdem viele Entwickler daraus ?

Interaktion wo man hinschaut ! I

Übrigens, man schätzt bis zu

45 % der Entwicklungskosten

gehen in die “Interaktion” !

Page 34: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 34

Haben Sie schon einmalhttp://www.siemens.de/index.jspanzusehen versucht:• bei NetScape 4.78 => Fehlanzeige !• bei Internet Explorer => (wenn’s kommt) Flimmerkasten !

Oderhttp://cms.lufthansa.com/fly/de/de/index

Oderhttp://reiseauskunft.bahn.de/bin/query.exe/d

Oderhttp://www.adobe.de/products/acrobat/readstep2.html

Alles nur Beispiele !

Ein Einschub

Page 35: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 35

Hier ging’s

weiter !(letztlich aber

erfolglos, da Acrobat

6.0 bei

Windows 95 nicht

lädt)

Versuch, Acrobat Reader 6.0 zu

laden !

Kann man das

noch lesen ?

Page 36: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 36

Test bei http://www.WebSiteOptimization.com/

Total objects A W W - W W G G WTotal images A W W - W W G - WTotal CSS - G - - - G - - GTotal size A A W A W A G - ATotal script A A W - - G - - -HTML size A G A G A G G G GImages size W W W W W W G G WScript size A W W - W W - - WCSS size - W - - - A - - G

Microsoft Westernacher WebSiteOptimization SAP Acrobat TUD PÜ eBay Web.de TUD Inf

G GratulationW WarnungA Achtung

Page 37: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 37

Was halten Sie von diesem Motto ?

Page 38: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 38

Leonardo da Vinci, 1452 - 1519Simplicity is the ultimate sophistication

Friedrich Schiller, 1759 - 1805Einfachheit ist das Resultat der Reife

Bill Raduchel, ~1999 ( Chief Strategy Officer, Sun Microsystems )

The challenge over the next 20 years will not be speed

or cost or performance; it will be a question of complexity

Jan Baan, SAP competitor, ~1999 Our enemy is complexity, and it’s our goal to kill it

Dave Moss, Manager Quality Programs ISS, Wardrop, 2001

Keep it simple( in recognition of VisualStudio.Net, Microsoft Developer Network Journal,

issue 27 )

Und was halten Sie von diesen Zitaten ?

InternationalSpace Station

Page 39: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 39

Und, schließlich, was halten Sie von dieser Aussage ?

NZZ, 31.12.2003

Page 40: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 40

Es gibt keine Ausrede !

Wilfred J.Hansen: User engineering principlesfor interactive systems;Fall Joint ComputerConference, vol. 39,1971 (!), page 528

Man entschuldige die schlechte Qualität.

Page 41: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 41

Interaktiv betriebene Anwendungen

• Geschulte Personen als Benutzer / Bediener • Und die Masse der “Laien” als ernste Endbenutzer?• Stress ! Frustration ! Demotivation !

Ständige Überraschung !

• Plattformunabhängigkeit / Ausfallsicherheit• 24 Stunden, täglich

• Gestaltungsrichtlinien(wieder gefragt: Wer kennt sie und hält sich dran ?)

• Verantwortungsvolle Software-Abnahme, gibt es die ?

Interaktion wo man hinschaut ! II

Page 42: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 42

Page 43: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 43

Internet / WWW als (große) interaktive Anwendung

Kommt noch jemand daran vorbei ? Niemand !

• Als Benutzer werden Eigeninteressen verfolgt• Aber als Bediener ist es ein Job

• Gebrauchstauglichkeit ? Jacob Nielsen, 24. Nov. 2003

• Internet als Telekommikationseinrichtung (siehe später)

• Interkulturell

Eine ungeheuere Herausforderung für Entwickler !

Interaktion wo man hinschaut ! III

Page 44: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 44

http://www.useit.com/alertbox/20031124.html

Extranet, 159 websites• Success rate defined by

users’ ability to accomp-lish task

• Task Success rateWeb-based application 45 %E-commerce shopping 56 %Finding company 63 %“About us” info 70 %Investor relation area 70 %PR area 73 %Subscribing to E-mail 78 %

Average 65 %

Intranet• Measured success rate

75 %• (it is expected that)

users are trained (?)• (it is their job, hence)

users should be happy (!)• Time-on-task,

errorprone-ness as important than success rate (!)

Alertbox has10 million page views per year !

Page 45: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 45

Internet / WWW als (große) interaktive Anwendung

Kommt noch jemand daran vorbei ? Niemand !

• Als Benutzer werden Eigeninteressen verfolgt• Aber als Bediener ist es ein Job

• Gebrauchstauglichkeit ?

• Internet als Kommunikationseinrichtung (siehe später)

• Interkulturell

Eine ungeheuere Herausforderung für Entwickler !(und doch wagt sich fast jeder daran !! )

Interaktion wo man hinschaut ! IIIa

Page 46: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 46

Page 47: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 47

http://www-3.ibm.com/ibm/easy/eou_ext.nsf/Publish/650 10. Nov. 2003

Page 48: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 48

Ein Interaktions-muster alsBeispiel:“Corporatesite” ,Einstieg

überMenü links

Interaktion wo man hinschaut ! IV

siehehttp://www.welie.com/patterns/showPattern.php?patternID=corporate

http://time-tripper.com/uipatterns/index.php?page=Toplevel_Navigation

http://www.designpattern.lu.unisi.ch/index.htm <== ACM-SIGWEB !

Page 49: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 49

Telekommunikation nicht vergessen !

Man wird angerufen / angeschrieben !Man ist aber nicht vorbereitet !

Man will garnicht angerufen / angeschrieben werden !

• Ort und Zeit überspringen

• Mobiltelefon / elektronische Post, überall— mit WWW-Anwendung ! —

• Eine Glosse darüber hätte ich gerne gezeigt(vielleicht bleibt am Schluß noch Zeit, erinnern Sie mich bitte dran)

James Orwell: 1984

Interaktion wo man hinschaut ! V

Page 50: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 50

Page 51: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 51

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 52: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 52

Gibt es (immer noch) die Software-Krise ? I

Antworten wir einmal mit “Nein”! Was wurde verbessert ?

• Wissenschaftliche Beschäftigung mit der Problematik, Übernahme in die praktische Arbeit (?)

• Verwenden von Standard-Software• Prinzip “less is more” findet immer mehr Anhänger• Ausbildungsstand höher• Nicht endendes (endend wollendes) Krisengerede

kommt ins Gerede• Verständnis für ein Motto “Software für den

Menschen” !

Page 53: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 53

Gibt es (immer noch) die Software-Krise ? II

Antworten wir einmal mit “ja”! Was könnten Gründe sein ?

• Wer kein Bastler ist, soll den ersten Stein werfen !• Mangelnde Abstimmung zwischen Auftraggeber und

Auftragnehmer• Sich verschiebende Zielvorgabe während einer Software-

Entwicklung bzw. während des Einsatzes(oft weder durch Auftraggeber noch Auftragnehmer zu vertreten, z.B. staatliche Einwirkung)

• Die “Genies” ! Und die “Möchte-gern-Genies” !• (Weiter) steigende Kosten verhindern Abhilfe• Ausbildungsmängel, boomende Software-Industrie• Und insbesondere bei interaktiven Anwendungen ==>

Page 54: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 54

Es ist nicht nur die Softwarekrise ?

Nein! Es ist auch eineGestaltungskrise !

Page 55: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 55

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 56: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 56

In einer seriösenIT-Firma geht esso sicher nicht zu.Oder ?

Page 57: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 57

Qualität im Vordergrund (?) - Ia

• Spezifikation vor Implementierung— und über Lebensdauer nachgetragen ? —

• Projektbegleitung durch unabhängige Experten, Validierung durch eine Art TÜV

• ISO 9000 / Gestaltungs-Knowhow• Geeignete Strukturvisualisierung — “geeignet” ?

— • Konsequente OO-Programmierung• Test vs. Validation vs. Verifikation• Entwurfsmuster aller Art• Model driven architecture ?• Komponententechnologie (bis hin zu .NET ?)

Page 58: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 58

Konsequente OO-Programmierung

• C++ / Java / C# / ... <== Mehr oder weniger hybrid• Smalltalk / Eiffel / Beta / CLOS ... OO in Reinkultur z.B.

- Tony Weddle: Java Allows Poor Discipline http://www.whysmalltalk.com/articles/weddle/javadiscipline.htm“... my main problem with Java is that it can't support true object orienta-tion and allows poor discipline (...). This is manifested in many ways. Of course, not everything is an object, particularly classes, methods and primi-tive types. This, along with "final” classes, very messy introspection and tho-se damned checked exceptions make working with Java very frustrating ...”- Ryan Davis: Java two steps forward, one step backhttp://www.zenspider.com/Languages/Java/index.html“Java fixes a lot of ... frustrations of C++, but doesn't go far enough in my opinion. They didn't take enough from Smalltalk, even though they took quite a bit from it.”- Jeffrey D. Panici: Smalltalk is More Object-Oriented than Java http://www.whysmalltalk.com/articles/panici/smalloojava.htm

Man bat mich, über konsequente OO-Programmierung

zu spechen. Ich nutze die Gelegenheit, um meine

einzige Wahl dazu zu propagieren. Smalltalk! Danke !

Page 59: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 59

Qualität im Vordergrund (?) - Ib

• Spezifikation vor Implementierung— und über Lebensdauer nachgetragen ? —

• Projektbegleitung durch unabhängige Experten, Validierung durch eine Art TÜV

• ISO 9000 / Gestaltungs-Knowhow• Geeignete Strukturvisualisierung — “geeignet” ?

—• Konsequente OO-Programmierung• Test vs. Validation vs. Verifikation• Entwurfsmuster aller Art• Model driven architecture ?• Komponententechnologie (bis hin zu .NET ?)

Page 60: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 60

Entwurfsmuster aller Art I

Schematisierte Beschreibung bewährter Entwurfseinheiten,

was gehört dazu — nach Gamma et al. — (u.a.):

• Bezeichung / Name• Problem / Zielsetzung (!)• Motivation• Anwendbarkeit• Struktur (!)• angesprochene Klassen usw.• Art des Zusammenwirkens• erreichtes Ziel / Zielabwägung

• Implementierung• Möglichkeit der Implement. (in C++ oder Smalltalk)• bekannte Verwendung (!)• Beziehung zu anderen Mustern

In welchem Wissensgebietgibt es dies nicht ?Beispiel aus Projektplanung

Page 61: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 61

Entwurfsmuster aller Art II

AusSerge Demeyer et al.:Object-orientedreengineering patterns;Morgan Kaufman Publ,2003

ging leider nicht größer !

Page 62: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 62

Qualität im Vordergrund (?) - Ic

• Spezifikation vor Implementierung— und über Lebensdauer nachgetragen ? —

• Projektbegleitung durch unabhängige Experten, Validierung durch eine Art TÜV

• ISO 9000 / Gestaltungs-Knowhow• Geeignete Strukturvisualisierung — “geeignet” ?

— • Konsequente OO-Programmierung• Test vs. Validation vs. Verifikation• Entwurfsmuster aller Art• Model driven architecture ?• Komponententechnologie (bis hin zu .NET ?)

Page 63: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 63

Qualität im Vordergrund (?) - II

Model driven architecture®

• Initiative der OMG• Modell, Metamodell,

Modelltransformation• Ziel, evolutionäre

Änderungen werdenstets im Modell /Spezifikation vollzogen

• Ziel, Implementierungfolgt ausTransformation,automatisch (?)

• Generierend ? Aspektorientiert ?

Page 64: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 64

Qualität im Vordergrund (?) - Id

• Spezifikation vor Implementierung— und über Lebensdauer nachgetragen ? —

• Projektbegleitung durch unabhängige Experten, Validierung durch eine Art TÜV

• ISO 9000 / Gestaltungs-Knowhow• Geeignete Strukturvisualisierung — “geeignet” ?

—• Konsequente OO-Programmierung• Test vs. Validation vs. Verifikation• Entwurfsmuster aller Art• Model driven architecture ?• Komponententechnologie (bis hin zu .NET ?)

Neuester “hype” (Fort-schritt in die richtige Richtung ?), Komplexität beherrscht ?

(Ein alter Traum :)MSIL ==> UNCOL

Page 65: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 65

short notes, journal software, systems, engineering practices2003-03-16 UML is UNCOLUpcoming release of UML 2 will generate interest in

"model driven architecture" or MDA.MDA has to be one of the most ambitious ideas fromsoftware engineering. It envisions development process ascreation and refinement of models expressed in UML.Architects will provide UML models as input to new toolsthat support UML 2, and the tools will generate code forimplementation technologies like J2EE, or .NET. In otherwords, UML 2 and its tools are programming languages andtheir compilers taken to higher level of abstraction to bridgethe gap between business and IT. Right model meansquality software. UML is UNCOL.

Aus: http://notes.antville.org/stories/321170/

?

Page 66: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 66

Qualität im Vordergrund (?) - III

• Stehen “Gütekriterien” zur Verfügung ? Ja ! z.B.• Fehlende allgemeine Akzeptanz von Gütekriterien für

(- insbesondere - interaktiv gebrauchte) Software• “Individualität” insbesondere bei interaktiven Anwendungen• Zu komplexe Strukturen (selbst IBM warnt, siehe

später !)

• Mangelnde Konsequenz, einen OO-Ansatz integriert durchzuhalten

• ...• Hilft Konzentration auf “große” Entwickler ?• ...

Page 67: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 67

Prentice-Hall1996

Page 68: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 68

Qualität im Vordergrund (?) - IIIa

• Stehen “Gütekriterien” zur Verfügung ?• Fehlende allgemeine Akzeptanz von Gütekriterien für

(- insbesondere - interaktiv gebrauchte) Software• “Individualität” insbesondere bei interaktiven

Anwendungen• Zu komplexe Strukturen (selbst IBM warnt, )

• Mangelnde Konsequenz, einen OO-Ansatz integriert durchzuhalten

• ...• Hilft Konzentration auf “große” Entwickler ?• ...

Page 69: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 69

http://www-3.ibm.com/ibm/easy/eou_ext.nsf/Publish/650 10. Nov. 2003

Gilt auch hier !!

!

Page 70: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 70

Qualität im Vordergrund (?) - IIIa

• Stehen “Gütekriterien” zur Verfügung ?• Fehlende allgemeine Akzeptanz von Gütekriterien für

(- insbesondere - interaktiv gebrauchte) Software• “Individualität” insbesondere bei interaktiven

Anwendungen• Zu komplexe Strukturen• Mangelnde Konsequenz, einen OO-Ansatz rein und

integriert durchzuhalten

• Hilft Konzentration auf “große” Entwickler ?• Anregungen (Beispiele) !

Page 71: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 71

Qualität im Vordergrund - III

Prof. Dr. Karl Lieberherr, Northwestern University, Boston, (u.a.), siehe http://www.ccs.neu.edu/research/demeter/ bzw.http://www.ccs.neu.edu/home/lieber/demeter.html ” ´Do not talk to strangers`:Within a method, messages can only be sent to the following objects:

1. A parameter of the method, including the enclosing object (this or self); 1.1. For pragmatic reasons: a global object; 2. An immediate part object (computed or stored): 2.1 An object that a method called on the enclosing object returns,

including attributes of the enclosing object; 2.2 An element of a collection which is an attribute of the enclosing object; 3. An object created within the method.”

Literaturhinweis: K. Lieberherr: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns; PWS Publishing Company, ISBN: 0-534-94602-X, 1996

Page 72: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

Smaller, More Evolvable Software: An Introduction to the

Demeter MethodKarl J. Lieberherr

Northeastern University

College of Computer Science

[email protected]/www.ccs.neu.edu/home/lieberHier Folien von einem Vortrag über Demeter etc. im

“Originalton”:

http://www

.ccs.neu.e

du/researc

h/demeter/

talks/

frameworks

/ubs/LoD.p

pt

Page 73: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 73

Qualität im Vordergrund - V

Prof. Dr. Oliver Deussen, Univ. Konstanz (u.a.), siehehttp://www.cgmi.inf.uni-konstanz.de/members/deussen.html

Die Struktur von objektorientierten Softwaresystemen kann mit Hilfe von Graphen visualisiert werden. Die Knoten des Graphen repräsentieren dabei einzelne Soft-wareobjekte, z.B. Klassen oder Packages, und die Kanten des Graphen verdeut-lichen Beziehungen zwischen diesen Softwareobjekten, z.B. Vererbungsbeziehungen oder Methodenaufrufe. Zusätzlich werden weitere Eigenschaften der Softwareob-jekte auf visuelle Attribute des Graphen abgebildet.

Zweck: “Beurteilung der Qualität von Software und deren Ver-änderung im Lebenszyklus” (Computerzeitung, 17. Nov. 2003)

Beispiele siehe nächste Folie !.

Was halten Sie von visueller Unterstützung ?

Page 74: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 74

Qualität lt. Deussen:”... die Objekte einer Klasseliegen eng beieinander ...”

Page 75: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 75

aus Ludger Martin, Diss. TUD PÜ, 2003, siehe http://www.notamusica.de/index.php?id=2

Visualisierung von Komponenten, z.B.

simulierte Visualisierung auf der Bildschirm-Arbeitsfläche

Aufrufbeziehungenunter Komponenten

Page 76: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 76

Es ist nicht nur die Softwarekrise ?

Nein! Es ist auch eineGestaltungskrise !

Und wer ist meist vergessen ?

Der Endbenutzer

Page 77: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 77

Qualität im Vordergrund - VI

Was halten Sie von visueller Unterstützung ?• Zeichnung die Sprache des Ingenieurs

auch des Software-Ingenieurs ? - Mathematik dabei nicht vergessen! -

• Programmablaufplan, Struktogramm, ..., für OO z.B.A. Wasserman´s Software through pictures (um 1990), ..., UML, ...

• Vereinheitlichung• Technisches Zeichnen als Lehrstoff • Integration mit Entwicklungswerkzeugen, drag-and-

drop

Kognitionswissenschaftliche MomenteKünstler beim WWW-Entwurf ?

Page 78: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 78

Und, immer in Erinnerung behalten:

Qualität kostet !

Qualität braucht Infrastruktur

Page 79: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 79

Page 80: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 80

Über was werde ich jetzt reden ?

• Mit Programmiersprachen zu Objekten

• Entwurfsparadigmen - vom Wasserfall

zu den evolutionären Komponenten -

• Interaktion wo man hinschaut !

• Gibt es (immer noch) die Software-Krise ?

• Qualität im Vordergrund (?)

• Retrospektive, nochmals Objekte

Page 81: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 81

Retrospektive, nochmals Objekte I

• Identität / Individualität• Eigenschaften / zusammengenommen als

Zustand (einschl. Festlegen des Anfangszustand)

• Handlungsmöglichkeiten aus sich heraus• Handlungsmöglichkeiten als Reaktion auf

äußeren Einfluß• Klassenbildung• Gemeinsamkeiten von Klassen, Hierarchiebildung

(als einfaches oder mehrfaches Erben - wie auch immer -)

• Klasse ebenfalls als Objekt, Metaklassen• Selbstreflexion / sprachliche Erweiterbarkeit

Page 82: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 82

Retrospektive, nochmals Objekte II

• OO in Reinkultur <=> hybrider Ansatz• Dynamik <=> Statik• Kapselung von Daten und Verhalten von Daten• Faktorieren von Eigenschaften in Erbgängen• Polymorphie• Austausch von Objekten mit der Außenwelt• OO eingebaut in Rahmenprogrammen,

in Entwurfsmustern, in Komponenten• Effektivität der Software-Entwicklung /

Effizienz bei der Programmausführung(man erinnere sich an früher

Gezeigtes)

Page 83: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 83

Versuch einer Zusammenfassung I

Über was habe ich nicht gesprochen ?

• “Hartware” (hardware)• ...• Die Kostenfrage (kaum)

• ...• Ausbildung / Weiterbildung• ...• Ist die “Weichware” aus dem Kindesalter

hinaus, aus dem “Handwerk” ? Erwachsen ?• Allgegenwart• Sicherheit / Privatheit

Hoffentlich nicht in“Denglisch” und“Abkürzungskauderwelsch”

Page 84: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 84

Versuch einer Zusammenfassung IIa

Wenn Sie mit mir nicht zufrieden waren,was kann ich empfehlen ?

• Ernst-Erich Doberkat; Das siebte Buch - Objektorientierung mit C++; Teubner-Verlag, 2000 (wer es gelesen hat, wird die Wiener Hofzwerge nicht mehr vergessen)

• Um 50 Folien zum Thema“Software Engineering Aspects of OO Programming”von Barbara Dellen, University of Calgary, siehehttp://sern.ucalgary.ca/courses/cpsc/451/W98/Dellen/(Gegenüberstellung von C++ / Java zu Smalltalk)

Page 85: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 85

Versuch einer Zusammenfassung IIb

Wenn Sie mit mir nicht zufrieden sind,was kann ich empfehlen ?

• Eric Gamma et al.; Design patterns — ...; Addison-Wesley, 1995

• Sherman R. Alpern et al.: The design patterns Smalltalk companion; Addison-Wesley, 1998

• Jacob Nielsen 14-tägige Alertboxhttp://www.useit.com/alertbox/

über Benutzungsschnittstellen-Gestaltung

Und zum ruhigen Nachlesen:http://www.informatik.tu-darmstadt.de/PU/docs/ ...

Page 86: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 86

In einer seriösenIT-Firma geht esso sicher nicht zu.Oder ?

Page 87: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 87

Dank für die Einladung,bei Ihnen zu sprechen

Page 88: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 88

Kontakt

Univ.-Prof. em. Dr.-Ing. Hans-Jürgen Hoffmann

Technische Universität DarmstadtFachbereich Informatik

Fachgebiet Programmiersprachen und Übersetzer

Wilhelminenstr. 7, 64283 DarmstadtTel 06151-163410

Sekr. Tel. 06151-166230, Fax 06151-166229E-Post: [email protected] (u.a.)

Page 89: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 89

Falls in einer Diskussion erwünscht

Material dazu

Page 90: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 90

Warum eigentlich nicht Smalltalk?

• Interpretierend ? Falsch ! (wie Java)• Fehlende Typisierung ! Falsch, OO ist getypt !• Dynamische Typisierung ? Ist das bei OO

wirklich fehl am Platz ?• Mehrfaches Erben ? Notwendig ? Naja !• Nicht aktuell ? Da sind Sie nicht auf

dem Laufenden !• Stabil ? Entschieden “Ja” !• Kein Support ? Nicht schlechter / nicht

besser !• Erfahrene Programmierer ? Stimmt, die fehlen, leider !

Also, ruhig weiter mit Java ! (Raucher hören auch nicht auf !)

Page 91: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 91

Warum eigentlich nicht Smalltalk?

• Unterschiede zu Java (syntaktisch), siehe:http://www.chimu.com/publications/JavaSmalltalkSyntax.html

• Einige vergleichende Erklärungen und Beispiele, siehe:http://daitanmarks.sourceforge.net/or/squeak/squeak_tutorial-3.html

• Ein tabellarischer Vergleich mit C++ und Java, siehehttp://www.outbacksoftware.com/oo/oolangcomp.html

• Ein neu herausgekommenes Lehrbuch:Johannes Brauer: Grundkurs Smalltalk - Objektorientierung von Anfang an; 2003, Vieweg-Verlag

• Smalltalk & .NET, Smalltalk & mobile Anwendung, siehe (z.B.):

http://www.cincomsmalltalk.com/roadshow2003/downloads/GeorgHeeg-Roadshow.ppt

Page 92: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 92

Allen B. Davis – Executive Director - Smalltalk Industry Council (OOPSLA 2002): "Smalltalk is by far the best programming language available. The Family of C programming languages has been evolving toward Smalltalk-like functionality for the past 25 years. Java is the most Smalltalk-like of the C family, removing the direct pointer manipulation of C++ and adding fully integrated garbage collection. Smalltalk provides a simpler syntax, consistency between class and instance behavior, much higher productivity and easier maintainability. This makes it the logical next choice for current Java developers and the logical choice for businesses interested in reducing their total cost of ownership for software systems. Smalltalk is well supported by many vendors including Cincom and IBM”

mehr über STIC: http://www.stic.org/

Page 93: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 93

Firmen, die Smalltalk einsetzen (Auszug)

Siehe http://www.stic.org/companies/companies.htmAmerican Express Bell Atlantic BMW Chrysler Deutsche Bahn AG Deutsche Bank Disney Ericsson Radio Systems Federal Reserve Board FedEx Hewlett-Packard Honda IBM CorporationLucent Technologies Mitsubishi Morgan StanleyMotorola Navy Research Laboratory SAP Siemens Information Systems Silicon Graphics Swedish Tax Administration Texas Instruments UPS

US Military Volkswagen Beetle Wells Fargo

Page 94: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 94

Page 95: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 95

Page 96: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 96

Ist das ein ==>“Smalltalker” ?

Page 97: H.-J. Hoffmann, 9. Jan. 20041 “Weichware” (nicht) ernst zu nehmen Hans-Jürgen Hoffmann 9. Januar 2004 Vortrag bei Firma © 2004 H.-J. Hoffmann TU Darmstadt

H.-J. Hoffmann, 9. Jan. 2004 97

Visuelle Unterstützung beim Programmieren ?

• Wer programmiert ?• Was ist zu programmieren ? Umfang ?• Nicht alles, was sich “visual” nennt, ist das auch !• Nur Bilder oder auch Text ?• Piktogramme (icons) zum Wiedererkennen

(Wirtshausschilder)

unter vielem z.B. Programmablaufpläne, Struktogramme,semantische Netze, CAD, UML-(u.ä. )Graphiken,

drag-and-drop, Windows-desktop und “Geklicke” darauf

• siehe Jürgen F.H. Winkler: Visualisierung in der Software-Entwicklung; 20. GI-Jahrestagung, IFB 257, 1990, 40 - 68