Download - Objektorientierte Techniken und UML
![Page 1: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/1.jpg)
ObjektorientierteTechnikenund UML
![Page 2: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/2.jpg)
Unter Objektorientierung, kurz OO, versteht man eine Sichtweise auf komplexe Systeme, bei der ein System durch das Zusammenspiel kooperierender Objekte beschrieben wird.
Wikipedia
![Page 3: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/3.jpg)
Vorgehensmodelleder Softwareentwicklung
![Page 4: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/4.jpg)
Wasserfallmodelllinear / nicht-iterative
![Page 5: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/5.jpg)
Agile Softwareentwicklungiterativ und inkrementell
![Page 6: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/6.jpg)
Phasen
![Page 7: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/7.jpg)
Anforderungsanalyse
![Page 8: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/8.jpg)
Design
![Page 9: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/9.jpg)
Implementierung
![Page 10: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/10.jpg)
Notationsformen
![Page 11: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/11.jpg)
ER-Modell
![Page 12: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/12.jpg)
UML Klassendiagramm
![Page 13: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/13.jpg)
Elemente derObjektorientierung
![Page 14: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/14.jpg)
Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser Definition.
Bernd Oestereich
![Page 15: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/15.jpg)
Klassen
![Page 16: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/16.jpg)
Objekte
![Page 17: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/17.jpg)
Attribute
![Page 18: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/18.jpg)
Methoden
![Page 19: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/19.jpg)
Konstruktoren
![Page 20: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/20.jpg)
Konzepte derObjektorientierung
![Page 21: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/21.jpg)
Code
Daten
Code
Daten
Kapselung
![Page 22: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/22.jpg)
Abstraktion
Kuh
Elsa Frida Vera
![Page 23: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/23.jpg)
Assoziation
Kuh Wiesesteht auf
![Page 24: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/24.jpg)
Aggregation
Kuh Herdeist Mitglied
![Page 25: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/25.jpg)
Komposition
Rechnung Positionenbesteht aus
![Page 26: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/26.jpg)
Vererbung
Figur
Rechteck
Quadrat
Kreis
Gen
eral
isie
rung
Spez
ialis
ieru
ng
![Page 27: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/27.jpg)
Schnittstelle
List
LinkedList ArrayList
![Page 28: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/28.jpg)
Polymorphie
Figur
Rechteck
Quadrat
a Figur
![Page 29: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/29.jpg)
Benennung vonBezeichnern
![Page 30: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/30.jpg)
Variable= Substantiv
![Page 31: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/31.jpg)
Methode= Verb
![Page 32: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/32.jpg)
ObjektorientierteAnalyse
![Page 33: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/33.jpg)
Verstehen derfachlichen Domäne
![Page 34: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/34.jpg)
![Page 35: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/35.jpg)
Ein Anwendungsfall beschreibt eine Menge von Aktivitäten eines Systems aus der Sicht seiner Akteure, die für die Akteure zu einem wahrnehmbaren Ergebnis führen.
Bernd Oesterreich
![Page 36: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/36.jpg)
Use Cases
![Page 37: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/37.jpg)
Bei der statischen Analyse werden die Geschäftsklassen und deren Beziehungen untereinander identifiziert. Weiterhin findet eine Spezifikation der Attribute und Operationen statt.
Sebastian Hempel
![Page 38: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/38.jpg)
Statische Analyse
![Page 39: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/39.jpg)
![Page 40: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/40.jpg)
Bei der dynamischen Analyse werden die Interaktionen der erkannten Geschäftsklassen untereinander identifiziert und die dabei verwendeten Operationen beschrieben.
Sebastian Hempel
![Page 41: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/41.jpg)
Dynamische Analyse
![Page 42: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/42.jpg)
Analysemodell
![Page 43: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/43.jpg)
Modell für Check-In
![Page 44: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/44.jpg)
ObjektorientiertesDesign
![Page 45: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/45.jpg)
Konkretisierung des Analysemodells mit der Erweiterung um nicht-fachliche Klassen. Integration der Klassen in eine Laufzeitumgebung / Framework.
Sebastian Hempel
![Page 46: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/46.jpg)
Komponenten
![Page 47: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/47.jpg)
![Page 48: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/48.jpg)
Klassebibliotheken
![Page 49: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/49.jpg)
Frameworks
![Page 50: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/50.jpg)
ObjektorientierteProgrammierung
![Page 51: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/51.jpg)
Implementierung
![Page 52: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/52.jpg)
Favour Compositionover Inheritance
Mitarbeiter Mitarbeiter
Lehrgangsteilnehmer Lehrgangsteilnehmer
![Page 53: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/53.jpg)
Das Liskov Substitution Principle besagt, dass Subtypen sich wie ihre Basistypen verhalten müssen.
![Page 54: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/54.jpg)
LehrgangsteilnehmerMitarbeiter
- SollStunden: long
+ berechneUeberstunden() …
![Page 55: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/55.jpg)
Das Open Closed Principle (OCP) besagt, dass eine Klasse offen für Erweiterungen sein muss, jedoch geschlossen gegenüber Modifikationen.
![Page 56: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/56.jpg)
public double Preis() { const decimal StammkundenRabatt = 0.95m; switch(kundenart) { case Kundenart.Einmalkunde: return menge * einzelpreis; case Kundenart.Stammkunde: return menge * einzelpreis * StammkundenRabatt; default: throw new ArgumentOutOfRangeException(); }}
![Page 57: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/57.jpg)
Bestellposition
+ berechnePreis() : double
«interface»PreisRechner
+berechnePreis() : double
Einmalkunde Stammkunde
![Page 58: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/58.jpg)
Interface Segregation bedeutet Schnittstellen klein zu halten. Teilen Sie nicht zusammengehörende Methoden auf mehrere Schnittstellen auf.
![Page 59: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/59.jpg)
Nach dem Law of Demeter soll eine Methode nur folgende andere Methoden verwenden:● Methoden der eigenen Klasse● Methoden der Parameter● Methoden assoziierter Klassen● Methoden selbst erzeugter Objekte
![Page 60: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/60.jpg)
Bei der Dependency Inversion wird darauf geachtet, dass Klassen Abhängigkeit zu Schnittstellen und nicht zu anderen (Low-Level) Klassen haben. Dies verbessert die Testbarkeit.
![Page 61: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/61.jpg)
ObjektorientierteProgrammmier-
Sprachen
![Page 62: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/62.jpg)
C++ (Bjarne Stroustrup)
![Page 63: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/63.jpg)
Java(JamesGosling)
![Page 64: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/64.jpg)
C# (Anders Hejlsberg)
![Page 65: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/65.jpg)
UML(unified modelling
language)
![Page 66: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/66.jpg)
GradyBooch
IvarJacobson
JamesRumbaugh
The Three Amigos
![Page 67: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/67.jpg)
Anwendungsfalldiagram
Klassendiagram
Verhaltendiagramme
Implementierungsdiagramme
![Page 68: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/68.jpg)
Mit dem Anwendungsfall- diagramm wird beschrieben was das System leisten soll.
![Page 69: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/69.jpg)
Ein Klassendiagramm besteht aus Klassen, Attributen, Methode und Interfaces.
![Page 70: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/70.jpg)
Ein Klassendiagramm beschreibt die Beziehungen von Klassen.
![Page 71: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/71.jpg)
Das Aktivitätsdiagramm beschreibt einen Ablauf in einem System.
![Page 72: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/72.jpg)
Das Kollaborationsdiagramm beschreibt Interaktionen zwischen Objekten.
![Page 73: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/73.jpg)
Mit dem Sequenzdiagramm wird der Austausch von Nachrichten von Objekten im zeitlichen Zusammenhang beschrieben.
![Page 74: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/74.jpg)
CASEComputer
AidedSoftware
Engineering
![Page 75: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/75.jpg)
NClass (OpenSource)
![Page 76: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/76.jpg)
ArgoUML (OS)
![Page 77: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/77.jpg)
Borland Together
![Page 78: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/78.jpg)
Rational Rose
![Page 79: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/79.jpg)
Bildnachweis
1. Modellbahn - Elbbrücken / Pieter & Renée Lanser / Flickr4. Krka Wasserfälle / Karl-Hermann Loges / Flickr5. The Zombie Attack project plan / Jez Nicholson / Flickr7. Old couple analyzing Railway timetable / Pedro Ribeiro Simões / Flickr8. Sketching a System / Ben and Kaz Askins / Flickr9. Pat on his Mac / Kevin Galens / Flickr11. Minmax_Notation_Mannschaft_Spieler / PhilippWeissenbacher / Wikipedia15. Waffle Recipe / Brian Kelley / Flickr16. Light Waffeln / sushiina / Flickr17. ALFA ROMEO Giulia 1964 / Will Will / Flickr18. Alfa Romeo Giulia Sprint GT RUD66 / Flickr19. Ich liebe Waffeln! / Tine Steiss Flickr30. Flohmarkt / cbronziski / Flickr30. The Point Is im Studio der SAE Leipzig / Andre Lademann / Flickr33. J&W Autos - Mechanic At Work 2 / Emyr Jones / Flickr36. Self check-in at BOS / Karl Baron / Flickr38. Everyone getting in on macroinvertebrate identification / External Affairs / Flickr41. Marius Zierold / Marius Zierold / Flickr42. Dresden bei VW / Dierk Schäfer / Flickr46. highend-96 / noeffred / Flickr48. Dombücherei Linz, 3 / Monika Bargmann / Flickr49. Framework / jphilipg / Flickr64. Anders Hejlsberg / D. Begley / Flickr
![Page 80: Objektorientierte Techniken und UML](https://reader034.vdokument.com/reader034/viewer/2022042714/556abc17d8b42a89038b5356/html5/thumbnails/80.jpg)
Sebastian HempelStaatlich geprüfter
Informatiker
Selbständiger Software-Entwickler und Dozent in den Bereichen Java
und OpenSource
Clean Code Developer
shempel@it-hempelhttp://www.it-hempel.de/