Objektorientierte Techniken und UML

3.528 Aufrufe

Veröffentlicht am

Einführung und Überblick über die Objektorientierung und die Unified Modeling Language als Vorbereitung für das Erlernen einer objektorientierten Programmiersprache wie Java oder C#

Veröffentlicht in: Technologie, Bildung
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
3.528
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
276
Aktionen
Geteilt
0
Downloads
31
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Objektorientierte Techniken und UML

  1. 1. Objektorientierte Techniken und UML
  2. 2. Unter Objektorientierung, kurz OO, versteht man eine Sichtweise auf komplexe Systeme, bei der ein System durch das Zusammenspiel kooperierender Objekte beschrieben wird. Wikipedia
  3. 3. Vorgehensmodelle der Softwareentwicklung
  4. 4. Wasserfallmodell linear / nicht-iterative
  5. 5. Agile Softwareentwicklung iterativ und inkrementell
  6. 6. Phasen
  7. 7. Anforderungsanalyse
  8. 8. Design
  9. 9. Implementierung
  10. 10. Notationsformen
  11. 11. ER-Modell
  12. 12. UML Klassendiagramm
  13. 13. Elemente der Objektorientierung
  14. 14. 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
  15. 15. Klassen
  16. 16. Objekte
  17. 17. Attribute
  18. 18. Methoden
  19. 19. Konstruktoren
  20. 20. Konzepte der Objektorientierung
  21. 21. Code Code Daten Daten Kapselung
  22. 22. Abstraktion Kuh Elsa Frida Vera
  23. 23. Assoziation steht auf Kuh Wiese
  24. 24. Aggregation ist Mitglied Kuh Herde
  25. 25. Komposition besteht aus Rechnung Positionen
  26. 26. Figur Generalisierung Spezialisierung Kreis Rechteck Quadrat Vererbung
  27. 27. List LinkedList ArrayList Schnittstelle
  28. 28. Figur a Figur Rechteck Quadrat Polymorphie
  29. 29. Benennung von Bezeichnern
  30. 30. Variable = Substantiv
  31. 31. Methode = Verb
  32. 32. Objektorientierte Analyse
  33. 33. Verstehen der fachlichen Domäne
  34. 34. 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
  35. 35. Use Cases
  36. 36. Bei der statischen Analyse werden die Geschäftsklassen und deren Beziehungen untereinander identifiziert. Weiterhin findet eine Spezifikation der Attribute und Operationen statt. Sebastian Hempel
  37. 37. Statische Analyse
  38. 38. Bei der dynamischen Analyse werden die Interaktionen der erkannten Geschäftsklassen untereinander identifiziert und die dabei verwendeten Operationen beschrieben. Sebastian Hempel
  39. 39. Dynamische Analyse
  40. 40. Analysemodell
  41. 41. Modell für Check-In
  42. 42. Objektorientiertes Design
  43. 43. Konkretisierung des Analysemodells mit der Erweiterung um nicht-fachliche Klassen. Integration der Klassen in eine Laufzeitumgebung / Framework. Sebastian Hempel
  44. 44. Komponenten
  45. 45. Klassebibliotheken
  46. 46. Frameworks
  47. 47. Objektorientierte Programmierung
  48. 48. Implementierung
  49. 49. Favour Composition over Inheritance Mitarbeiter Mitarbeiter Lehrgangsteilnehmer Lehrgangsteilnehmer
  50. 50. Das Liskov Substitution Principle besagt, dass Subtypen sich wie ihre Basistypen verhalten müssen.
  51. 51. Mitarbeiter Lehrgangsteilnehmer - SollStunden: long + berechneUeberstunden()…
  52. 52. Das Open Closed Principle (OCP) besagt, dass eine Klasse offen für Erweiterungen sein muss, jedoch geschlossen gegenüber Modifikationen.
  53. 53. 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(); } }
  54. 54. «interface» Bestellposition PreisRechner + berechnePreis() : double + berechnePreis() : double Einmalkunde Stammkunde
  55. 55. Interface Segregation bedeutet Schnittstellen klein zu halten. Teilen Sie nicht zusammengehörende Methoden auf mehrere Schnittstellen auf.
  56. 56. 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
  57. 57. 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.
  58. 58. Objektorientierte Programmmier- Sprachen
  59. 59. C++ (Bjarne Stroustrup)
  60. 60. Java (James Gosling)
  61. 61. C# (Anders Hejlsberg)
  62. 62. UML (unified modelling language)
  63. 63. The Three Amigos Grady Ivar James Booch Jacobson Rumbaugh
  64. 64. Anwendungsfalldiagram Klassendiagram Verhaltendiagramme Implementierungsdiagramme
  65. 65. Mit dem Anwendungsfall- diagramm wird beschrieben was das System leisten soll.
  66. 66. Ein Klassendiagramm besteht aus Klassen, Attributen, Methode und Interfaces.
  67. 67. Ein Klassendiagramm beschreibt die Beziehungen von Klassen.
  68. 68. Das Aktivitätsdiagramm beschreibt einen Ablauf in einem System.
  69. 69. Das Kollaborationsdiag ramm beschreibt Interaktionen zwischen Objekten.
  70. 70. Mit dem Sequenzdiagramm wird der Austausch von Nachrichten von Objekten im zeitlichen Zusammenhang beschrieben.
  71. 71. CASE Computer Aided Software Engineering
  72. 72. NClass (OpenSource)
  73. 73. ArgoUML (OS)
  74. 74. Borland Together
  75. 75. Rational Rose
  76. 76. Bildnachweis 1. Modellbahn - Elbbrücken / Pieter & Renée Lanser / Flickr 4. Krka Wasserfälle / Karl-Hermann Loges / Flickr 5. The Zombie Attack project plan / Jez Nicholson / Flickr 7. Old couple analyzing Railway timetable / Pedro Ribeiro Simões / Flickr 8. Sketching a System / Ben and Kaz Askins / Flickr 9. Pat on his Mac / Kevin Galens / Flickr 11. Minmax_Notation_Mannschaft_Spieler / PhilippWeissenbacher / Wikipedia 15. Waffle Recipe / Brian Kelley / Flickr 16. Light Waffeln / sushiina / Flickr 17. ALFA ROMEO Giulia 1964 / Will Will / Flickr 18. Alfa Romeo Giulia Sprint GT RUD66 / Flickr 19. Ich liebe Waffeln! / Tine Steiss Flickr 30. Flohmarkt / cbronziski / Flickr 30. The Point Is im Studio der SAE Leipzig / Andre Lademann / Flickr 33. J&W Autos - Mechanic At Work 2 / Emyr Jones / Flickr 36. Self check-in at BOS / Karl Baron / Flickr 38. Everyone getting in on macroinvertebrate identification / External Affairs / Flickr 41. Marius Zierold / Marius Zierold / Flickr 42. Dresden bei VW / Dierk Schäfer / Flickr 46. highend-96 / noeffred / Flickr 48. Dombücherei Linz, 3 / Monika Bargmann / Flickr 49. Framework / jphilipg / Flickr 64. Anders Hejlsberg / D. Begley / Flickr
  77. 77. Sebastian Hempel Staatlich geprüfter Informatiker Selbständiger Software- Entwickler und Dozent in den Bereichen Java und OpenSource Clean Code Developer shempel@it-hempel http://www.it-hempel.de/

×