Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20.

Ähnliche Präsentationen


Präsentation zum Thema: "Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20."—  Präsentation transkript:

1 Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D Dortmund Germany Tel: Fax: Georg Heeg AG Objektorientierte Systeme Riedtlistr. 8 CH-8006 Zürich Switzerland Tel: Fax: Georg Heeg Objektorientierte Systeme Mühlenstr. 19 D Köthen Germany Tel: Fax:

2 Geschwindigkeit ist keine Hexerei - Anpassung und Weiterentwicklung von Java- und Smalltalk-Servern Georg Heeg (Georg Heeg - Objektorientierte Systeme) Erfurt, 10. Oktober 2000 Erfurt, 10. Oktober 2000

3 Georg Heeg - Objektorientierte Systeme Inhalt Georg Heeg – das Unternehmen Software-Trend: Java Software-Krise: Softwarekosten Objektorientiertes Programmieren Software-Krise: Änderungskosten Evolutionäre Software Weiterentwicklung von Internetservern

4 Georg Heeg - Objektorientierte Systeme Wir über uns... gegründet 1987 mit Hauptsitz in Dortmund, seit 1996 in Zürich, seit 1999 in Köthen/Anhalt Beratungs- und Schulungsunternehmen mit dem Schwerpunkt Smalltalk Hotline Support, Wartung, Bug-Fixes Entwicklung virtueller Maschinen für VisualWorks Technologie- und Vertriebspartner von Anspruchsvolle Projekte unserer Kunden zum Erfolg führen!

5 Georg Heeg - Objektorientierte Systeme Georg Heeg in Köthen Seit 1999 in Köthen Qualifizierte Informatiker in Sachsen-Anhalt Aktuelle Spezialität –Portierung von VisualWorks-Anwendungen nach 5i –Verbesserung der Code-Qualität der portierten Anwendungen Kunden in –Frankfurt am Main –Zürich –Kalifornien –...

6 Georg Heeg - Objektorientierte Systeme Trend Low-Tech Projektanforderungen Dampfradio –Welche Röhre? Transistor-Radio –Wieviele Transistoren? Hifi-Radio –Tunertechnik (PLL), Ausstattung Heute –Aussehen, Preis, Bedienbarkeit, (Digital-Radio)

7 Georg Heeg - Objektorientierte Systeme Projekte Die Sicht von außen zählt! Externe Sicht: –Fachfunktionalität –Integration, Interoperabilität –Distribution, Wartung Interne Sicht: –Programmiersprache –Verwendete Standards –Werkzeuge

8 Georg Heeg - Objektorientierte Systeme Phänomen Java Java wird nicht als Technologie wahrgenommen Die Technologie spielt heute keine Rolle mehr. Hauptsache es ist Java

9 Georg Heeg - Objektorientierte Systeme Phänomen Java Java beeinflusst Projekte: Anforderungen, Entscheidung, Erwartungen Die Möglichkeiten von Java bestimmen die Anforderungen an Projekte

10 Georg Heeg - Objektorientierte Systeme Java Technologie JTS, JDK 1.1.8, Java Servlet, JMS, JRE 1.2.2, Java Media Framework, JDBC, Java IDL, JTA, JDK 1.2.2, BDK, Java 2D, RMI-IIOP, JMAPI, Java Mail, JRE 1.1.8, JDNI, Java Server Pages, EJB, Java Help, COMM, Java Beans, Swing, RMI, JDK 1.0.2, Hot Spot, JMX, JCE, Info Bus, JSSE, JFC, Java 3D, JAF, JAAS, Jini Technologien einschl. Standard Extension und Enterprise

11 Georg Heeg - Objektorientierte Systeme Java Technologie Welche Teile der Java Technologie sind sinnvollerweise Teil der externen Sicht eines Projekts? Alle Technologien, die folgende externe Qualitäten eines Projekts beeinflussen: –Integration, Interoperabilität –Distribution, Wartung

12 Georg Heeg - Objektorientierte Systeme Java Technologie Durch Java bestimmte Projektanforderungen 1. Web-Server Anwendungen (Servlets) 2. Einfache Distribution (JAR) 3. Läuft im Web-Browser 4. Write once, run everywhere 5. Interoperabilität 6. Datenbankanbindung (JDBC) 7. Verteilte Architekturen (RMI, RMI-IIOP, Corba) 8. Application Server (EJB)

13 Wenn Java so dominant ist, warum dann Smalltalk?

14 Georg Heeg - Objektorientierte Systeme Gründe für Smalltalk Projekte mit offenen oder unklaren Konzepten –Bedarf an Prototypen –Unvollständige Spezifikation und Modellierung –Moving Targets i-Business-Strategien –Flexibilität und Geschwindigkeit trennen den Erfolg vom Scheitern

15 Georg Heeg - Objektorientierte Systeme Schnelle Entwicklungszeiten Smalltalk ist das beste System für objektorientierte Modellierung Erfahrungsgemäß ist es bis zu 20 Mal schneller, in Smalltalk zu entwickeln und anzupassen als in Java oder C++

16 Georg Heeg - Objektorientierte Systeme Das Smalltalk Phänomen Endbenutzer sagen: –Diese Software leistet exakt das, was ich mir schon immer gewünscht habe. Beispiel (neben vielen anderen) –Wahlberichterstattung von Infratest Dimap –Jede Wahl ein neues Projekt –Vorlaufzeit manchmal nur 10 Tage (Computerwoche 40/99, S )

17 Georg Heeg - Objektorientierte Systeme Cincom Smalltalk

18 Georg Heeg - Objektorientierte Systeme 1. Web-Anwendungen VisualWave Ausgereifter Web-Anwendungsserver Lastverteilung Automatische HTML Generierung Sessionverwaltung WikiWorks kostenfreier offener Web-Server mit Editiermöglichkeiten für alle

19 Georg Heeg - Objektorientierte Systeme 2. Einfache Distribution (JAR) Parcels leisten dieselben Dienste –Transportieren Klassen, Methoden, statische Variablen –Abhängigkeiten zwischen Parcels –Automatisches Laden fehlender Parcels –Versionierung Parcels leisten mehr JAR –Pre- und Post-Aktionen beim Laden –Dynamisches Laden und Entladen zu jeder Zeit –mit/ohne Source

20 Georg Heeg - Objektorientierte Systeme Plugin –VM –Plugin-Image 3. Läuft im Web-Browser VisualWorks PlugIn Web-Server –HTML-Seite –Parcel liefert lädt zeigt an

21 Georg Heeg - Objektorientierte Systeme 3. Läuft im Web-Browser

22 Georg Heeg - Objektorientierte Systeme 4. Write once, run everywhere Binäre Kompatibilität seit 1982 (ST80) Abstraktion von Plattform-Eigenarten –Dateisystem –Betriebssystemaufrufe –Benutzeroberfläche Auswechselbares Look&Feel seit VisualWorks 1.0 (1991)

23 Georg Heeg - Objektorientierte Systeme 4. Write once, run everywhere VisualWorks 5i.1 VMs gibt es für –Win 95/98/NT/2000 –Apple Macintosh –Solaris –HP-UX –AIX –Tru64 UNIX –SGI –Linux 86

24 Georg Heeg - Objektorientierte Systeme 5. Interoperabilität/Integration DLL&C-Connect für alle Plattformen –Voraussetzung für COMConnect –Verwendet in DatabaseConnect COMConnect für Windows-Plattformen –COM Clients –COM Server –z.B. SAP-Connect, RoseLink XML-Unterstützung –Hilfe-System, Sourcecode

25 Georg Heeg - Objektorientierte Systeme 6. Datenbankanbindungen(JDBC) Anbindungen für –Oracle –Sybase –SQL Server –ODBC –Postgres/SQL –Gemstone/S Low-Level-Schnittstellen wie JDBC High-Level Objekt-Relationen-Mapper

26 Georg Heeg - Objektorientierte Systeme 7. Verteilte Architekturen DST (Distributed Smalltalk) Erster Corba ORB (Entwickelt von HP)

27 Georg Heeg - Objektorientierte Systeme 8. Application Server (EJB) Opentalk –derzeit in beta –Frameworks für verschiedene Protokolle Gemstone/S EJB mit Persistenz

28 Georg Heeg - Objektorientierte Systeme VisualWorks 5i Neu in VisualWorks 5i –Name-Spaces –StORE –XML –Microsoft SQL-Server –Erweiterte Parcels

29 Georg Heeg - Objektorientierte Systeme Die Softwarekrise ( ) Die Kosten für Software übersteigen den geplanten Wert um ein Vielfaches –sofern die Software überhaupt fertiggestellt wird. Termine können nur selten eingehalten werden. Die Änderung existierender Programme ist zeitraubend und kostspielig.

30 Georg Heeg - Objektorientierte Systeme Bewältigung der Software-Krise Objektorientierte Programmierung CASE Strukturierte Programmierung Normierte Programmierung Unterprogramme Prozeduren 4., 5. Generation-Sprachen 4GL, 5GL

31 Georg Heeg - Objektorientierte Systeme 1. Imperative Softwarewelt Computerorientiert: Von-Neumann-Computer: Rechenwerk+ Speicher =>Prozedur+ Datenstruktur Die meisten Programmiersprachen haben: Anweisungen+ Deklarationen Analysemethoden beschreiben: Informationen+ Funktionen

32 Georg Heeg - Objektorientierte Systeme 2. Funktionale und logische Softwarewelt Mathematikorientiert Deklarative Programmiersprachen: –Funktionales Programmieren: Lisp, Miranda –Logisches Programmieren: Prolog –Mengenorientiertes Programmieren: SETL Keine Darstellung für Zeit, Dynamik wird durch Tricks realisiert.

33 Georg Heeg - Objektorientierte Systeme 3. Objektorientierte Softwarewelt Wer ist verantwortlich? Orientiert an den Begriffen der Anwendungsdisziplin Begriffe werden direkt in Software abgebildet Modellieren statt Programmieren

34 Georg Heeg - Objektorientierte Systeme Modellieren in der guten alten Zeit Person Phänomene PatientFormular Akte Modell 1:1 Zahnarzt

35 Georg Heeg - Objektorientierte Systeme Traditionelle Software-Analyse Person Phänomene Zustände Prozesse Datenstrukturen Prozeduren link ausführbares Programm Modell

36 Georg Heeg - Objektorientierte Systeme Objektorientiertes Modellieren Die Welt Phänomen BegriffKlasse Objekt Modell 1:1 Gesichtspunkt des Fach- gebiets Erkennen, Definieren Instanz

37 Georg Heeg - Objektorientierte Systeme Objektorientiertes Modellieren Der Gesichtspunkt bestimmt das Modell Das korrekte Modell existiert nicht! Für eine Anwendung gibt es nur –angemessene Modelle und –nicht angemessene Modelle

38 Georg Heeg - Objektorientierte Systeme Was ist das? Ein zylindrischer Körper aus Holz mit etwa 20 cm Länge und 6 mm Durchmesser. Im Zentrum des Zylinders ist eine Bohrung von 1 mm, die mit gepresstem Grafit gefüllt ist. An einem Ende ist der Zylinder kegelförmig verjüngt. Das Grafit kann auf andere Körper abgerieben werden.

39 Georg Heeg - Objektorientierte Systeme Was ist das? Ein zylindrisches Plastikrohr mit etwa 20 cm Länge und 6 mm Durchmesser. Im Inneren ist ein weiteres Plastikrohr mit 2 mm Durchmesser and einer Metallkugel an einem Ende. Das innere Rohr ist mit viskoser Farbe gefüllt. Die Farbe kann über die Kugel auf andere Medien übertragen werden.

40 Georg Heeg - Objektorientierte Systeme Was ist für Johannes wichtig?

41 Georg Heeg - Objektorientierte Systeme Was ist für Johannes wichtig? MALEN

42 Georg Heeg - Objektorientierte Systeme Über Bleistifte und Kugelschreiber Der objektorientierte (und Johannes) Gesichtspunkt: –Bleistift = etwas zum Schreiben und Malen –Kugelschreiber = etwas zum Schreiben und Malen

43 Georg Heeg - Objektorientierte Systeme Klassenhierarchie Pen draw BallPen draw Pencil draw

44 Georg Heeg - Objektorientierte Systeme Johannes (Smalltalk) Boy hand (Instanzvariable) Irgendwo in der Klasse Boy steht: hand := Mommy givePen.... hand draw

45 Georg Heeg - Objektorientierte Systeme Johannes (Java) Boy private pen hand; (Instanzvariable) Irgendwo in der Klasse Boy steht: hand = Mommy.givePen();... hand.draw()

46 Georg Heeg - Objektorientierte Systeme Die Softwarekrise (heute) 60 % bis 80 % der Softwarekosten sind Änderungskosten

47 Georg Heeg - Objektorientierte Systeme Änderungskosten (konventionell) Preis(Änderung) = Änderungsfaktor * Größe(Änderung) + Projektfaktor * Größe(Projekt) In den meisten Software-Lebenszyklen gilt: Projektfaktor >> 0 Daher dominiert die Projektgröße die Änderungskosten. Die Größe der Änderung spielt fast keine Rolle. Kunden verstehen dies nicht. $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

48 Nun entwickeln wir unsere Anwendung weiter

49 Georg Heeg - Objektorientierte Systeme Was ist für Johannes wichtig?

50 Georg Heeg - Objektorientierte Systeme Was ist für Johannes wichtig? ZIEHEN

51 Georg Heeg - Objektorientierte Systeme Über Bollerwagen Der objektorientierte (und Johannes) Gesichtspunkt : –Bollerwagen = etwas zum Ziehen (und drin Sitzen)

52 Georg Heeg - Objektorientierte Systeme Klassenhierarchie Vehicle sitIn Car makeNoise Wagon pull Van lookOut Trabi makeNoise

53 Georg Heeg - Objektorientierte Systeme Johannes (Smalltalk) Boy hand (Instanzvariable) Irgendwo in der Klasse Boy steht: hand := Daddy getWagon.... hand pull

54 Georg Heeg - Objektorientierte Systeme Johannes (Java) Boy private object hand; (Instanzvariable) Irgendwo in der Klasse Boy steht: hand = Daddy.giveWagon();... ((Wagon)hand).pull() Nun müssen wir noch das Bleistift-Beispiel anpassen (alle Vorkommen von hand sind zu prüfen): ((Pen)hand).draw() ? ? ?

55 Georg Heeg - Objektorientierte Systeme Änderungskosten und Java Preis(Änderung) = Änderungsfaktor * Größe(Änderung) + Projektfaktor * Größe(Projekt) In Java gilt: Projektfaktor >> 0 Daher dominiert die Projektgröße die Änderungskosten. Die Größe der Änderung spielt fast keine Rolle. Kunden verstehen dies nicht. $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

56 Georg Heeg - Objektorientierte Systeme Änderungskosten und Smalltalk Preis(Änderung) = Änderungsfaktor * Größe(Änderung) + Projektfaktor * Größe(Projekt) In Smalltalk gilt: Projektfaktor = 0 Daher bestimmt die Größe der Änderung die Änderungskosten. Das verstehen die Kunden. $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

57 Georg Heeg - Objektorientierte Systeme Was ist Software? In Java –Software ist ein Programm, das gestartet wird In Smalltalk –Software ist ein System, das verändert wird

58 Georg Heeg - Objektorientierte Systeme Weiterentwicklung von Software

59 Georg Heeg - Objektorientierte Systeme Das Smalltalk Phänomen Endbenutzer sagen: –Diese Software leistet exakt das, was ich mir schon immer gewünscht habe. Beispiel (neben vielen anderen) –Wahlberichterstattung von Infratest Dimap –Jede Wahl ein neues Projekt –Vorlaufzeit manchmal nur 10 Tage (Computerwoche 40/99, S )

60 Georg Heeg - Objektorientierte Systeme Zusammenfassung Geschwindigkeit ist keine Hexerei –Finden angemessener Begrifflichkeit –Ständige Weiterentwicklung –Erfüllen der Anforderungen Zufriedene Benutzer

61 Georg Heeg - Objektorientierte Systeme Sie erreichen mich Georg Heeg: oder in der Mühlenstr. 19, Köthen

62 Georg Heeg - Objektorientierte Systeme Diskussion

63 Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D Dortmund Germany Tel: Fax: Georg Heeg AG Objektorientierte Systeme Riedtlistr. 8 CH-8006 Zürich Switzerland Tel: Fax: Georg Heeg Objektorientierte Systeme Mühlenstr. 19 D Köthen Germany Tel: Fax:


Herunterladen ppt "Georg Heeg - Objektorientierte Systeme Georg Heeg Objektorientierte Systeme Baroper Str. 337 D-44227 Dortmund Germany Tel: +49-231-97599-0 Fax: +49-231-97599-20."

Ähnliche Präsentationen


Google-Anzeigen