Konzept und Umsetzung oo-design- Sprache Konzepte Instanz UML eine Umsetzung der Konzepte oo-programmier- Sprache Konzepte Instanz Java eine Umsetzung der Konzepte FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 1
Ausschreibung der OMG OMG = Object Management Group Zusammenschluss vieler Firmen Definition von Standards in OOS (zuerst CORBA) Ziel: Eine objektorientierte Methode für alle Phasen der Softwareentwicklung, die von möglichst vielen verstanden und angewendet wird. wegen Vielfalt der Probleme, kein einheitlicher Prozess möglich -> nur Modellierungssprache FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 2
Historie der UML 3 Methoden-Gurus Rumbaugh, Booch, Jacobson bei Rational Software (jetzt IBM) vereint entwarfen 97 Unified Modelling Language UML andere Vorschläge zurückgezogen und bei Weiterentwicklung der UML mitgearbeitet aktuelle Version 2.4.1 Modellierungssprache zum Spezifizieren, Konstruieren, Visualisieren, Dokumentieren unterschiedliche Aspekte durch unterschiedliche Modelle, die in Beziehung stehen können Tools oft überladen und sehr einschränkend FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 3
Literaturhinweise zur UML Einführungen: M. Hitz, G. Kappel, E. Kapsammer, W. Retschitzegger: UML at Work -Objektorientierte Modellierung mit UML 2-; Dpunkt Verlag. Bernd Oestereich: Analyse und Design mit UML 2 -Objektorientierte Softwareentwicklung- ; Oldenbourg. Dr. Erler Thomas: UML; hbv-verlag. Kurzreferenzen: Bernd Oestereich: Die UML- Kurzreferenz für die Praxis. Kurz, bündig, ballastfrei; Oldenbourg. Heide Balzert: UML kompakt. Mit Checklisten; Spektrum Akademischer Verlag. Standards: www.uml.org. FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 4
herkömmliche Sprachen FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 5
Programme mit bank in bank FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 6
objektorientierte Programme Objekte in bank FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 7
Objekt (Beispiel) mein Auto Objekt-ID typ: Fiesta Attribute Methoden farbe: Blau baujahr: 2011 kmstand: 68000 inspektionsintervall: 20000 kmbisinspektion() -> 12000 alter(2015) -> 4 Attributwerte = Zustand Verhalten FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 8
Klasse (Beispiel) Auto typ: String farbe: String baujahr: int kmstand: int inspektionsintervall: int kmbisinspektion() : int alter(aktjahr: int) : int FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 9
Flächenberechnung (imperativ) strukturen: Definition Rechteck (x 1,y 1 ), (x 2,y 2 ) Definition Kreis (x,y), r en: Rechtecksfläche: Rechteck Flächeninhalt Kreisfläche: Kreis Flächeninhalt Fläche(f) = IF f is Rechteck THEN Rechtecksfläche(f); IF f is Kreis THEN Kreisfläche(f); FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 10
alitätserweiterung (imperativ) strukturen: Definition Rechteck (x 1,y 1 ), (x 2,y 2 ) Definition Kreis (x,y), r Definition Dreieck (x 1,y 1 ), (x 2,y 2 ), (x 3,y 3 ) en: Rechtecksfläche: Rechteck Flächeninhalt Kreisfläche: Kreis Flächeninhalt Dreiecksfläche: Dreieck Flächeninhalt Fläche(f) = IF f is Rechteck THEN Rechtecksfläche(f); IF f is Kreis THEN Kreisfläche(f); IF f is Dreieck THEN Dreiecksfläche(f); FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 11
Flächenberechnung (oo) Rechteck Kreis DS: Attribute Methoden Definition flächeninhalt() Definition flächeninhalt() Aufruf: objekt.flächeninhalt() FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 12
alitätserweiterung (oo) Rechteck Kreis Dreieck DS: Attribute Definition Definition Definition Methoden flächeninhalt() flächeninhalt() flächeninhalt() Aufruf: objekt.flächeninhalt() FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 13
Vererbung (Beispiel) Auto typ farbe baujahr kmstand inspektionsintervall kmbisinspektion() alter(aktjahr) Lkw Pkw achsenanzahl nutzlast sitzanzahl FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 14
größere Vererbungshierarchie Transportmittel Schiff Straßenfahrzeug Zug Auto Zweirad Lkw Pkw Motorrad Fahrrad FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 15
Inhalt der Vorlesung Was ist Java & imperative Programmierung in Java Einführung in die OO-Softwareentwicklung allgemeine Konzepte der OO-Softwareentwicklung Ausnahmeverarbeitung in Java Testen von OO-Programmen Persistenz durch Serialisierung und Deserialisierung Oberflächenprogrammierung und Ereignisverarbeitung Netzwerkprogrammierung mit Java Applets und Internet Nebenläufigkeit in Java Design Pattern und ihre Umsetzung in Java Web-Entwicklung und banken mit Java FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender OO-Einführung 23. März 2016 16