Objektorientierte Techniken und UML

Click here to load reader

  • date post

    31-May-2015
  • Category

    Technology

  • view

    2.253
  • download

    2

Embed Size (px)

description

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#

Transcript of Objektorientierte Techniken und UML

  • 1. Objektorientierte Techniken und UML

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. Vorgehensmodelle der Softwareentwicklung 4. Wasserfallmodell linear / nicht-iterative 5. Agile Softwareentwicklungiterativ und inkrementell 6. Phasen 7. Anforderungsanalyse 8. Design 9. Implementierung 10. Notationsformen 11. ER-Modell 12. UML Klassendiagramm 13. Elemente der Objektorientierung 14. Eine Klasse ist die Definition der Attribute, Operationen und der Semantik fr eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser Definition. Bernd Oestereich 15. Klassen 16. Objekte 17. Attribute 18. Methoden 19. Konstruktoren 20. Konzepte der Objektorientierung 21. Code CodeDatenDaten Kapselung 22. AbstraktionKuh Elsa Frida Vera 23. Assoziation steht auf Kuh Wiese 24. Aggregation ist Mitglied KuhHerde 25. Kompositionbesteht aus Rechnung Positionen 26. FigurGeneralisierungSpezialisierung Kreis RechteckQuadratVererbung 27. List LinkedListArrayListSchnittstelle 28. Figura FigurRechteckQuadrat Polymorphie 29. Benennung von Bezeichnern 30. Variable = Substantiv 31. Methode= Verb 32. Objektorientierte Analyse 33. Verstehen der fachlichen Domne 34. Ein Anwendungsfall beschreibt eine Menge von Aktivitten eines Systems aus der Sicht seiner Akteure, die fr die Akteure zu einem wahrnehmbaren Ergebnis fhren. Bernd Oesterreich 35. Use Cases 36. Bei der statischen Analyse werden die Geschftsklassen und deren Beziehungen untereinander identifiziert. Weiterhin findet eine Spezifikation der Attribute und Operationen statt. Sebastian Hempel 37. Statische Analyse 38. Bei der dynamischen Analyse werden die Interaktionen der erkannten Geschftsklassen untereinander identifiziert und die dabei verwendeten Operationen beschrieben.Sebastian Hempel 39. Dynamische Analyse 40. Analysemodell 41. Modell fr Check-In 42. Objektorientiertes Design 43. Konkretisierung des Analysemodells mit der Erweiterung um nicht-fachliche Klassen. Integration der Klassen in eine Laufzeitumgebung / Framework.Sebastian Hempel 44. Komponenten 45. Klassebibliotheken 46. Frameworks 47. Objektorientierte Programmierung 48. Implementierung 49. Favour Compositionover Inheritance Mitarbeiter Mitarbeiter Lehrgangsteilnehmer Lehrgangsteilnehmer 50. Das Liskov Substitution Principle besagt, dass Subtypen sich wie ihre Basistypen verhalten mssen. 51. MitarbeiterLehrgangsteilnehmer- SollStunden: long + berechneUeberstunden() 52. Das Open Closed Principle (OCP) besagt, dass eine Klasse offen fr Erweiterungen sein muss, jedoch geschlossen gegenber Modifikationen. 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. interfaceBestellposition PreisRechner + berechnePreis() : double+ berechnePreis() : doubleEinmalkunde Stammkunde 55. Interface Segregation bedeutet Schnittstellen klein zu halten. Teilen Sie nicht zusammengehrende Methoden auf mehrere Schnittstellen auf. 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. Bei der Dependency Inversion wird darauf geachtet, dass Klassen Abhngigkeit zu Schnittstellen und nicht zu anderen (Low-Level) Klassen haben. Dies verbessert die Testbarkeit. 58. ObjektorientierteProgrammmier- Sprachen 59. C++ (Bjarne Stroustrup) 60. Java (James Gosling) 61. C# (Anders Hejlsberg) 62. UML (unified modellinglanguage) 63. The Three Amigos GradyIvarJames Booch Jacobson Rumbaugh 64. AnwendungsfalldiagramKlassendiagramVerhaltendiagrammeImplementierungsdiagramme 65. Mit dem Anwendungsfall- diagramm wird beschrieben was das System leisten soll. 66. Ein Klassendiagramm besteht aus Klassen, Attributen, Methode und Interfaces. 67. Ein Klassendiagramm beschreibt die Beziehungen von Klassen. 68. Das Aktivittsdiagramm beschreibt einen Ablauf in einem System. 69. Das Kollaborationsdiag ramm beschreibt Interaktionen zwischen Objekten. 70. Mit dem Sequenzdiagramm wird der Austausch von Nachrichten von Objekten im zeitlichen Zusammenhang beschrieben. 71. CASEComputer AidedSoftware Engineering 72. NClass (OpenSource) 73. ArgoUML (OS) 74. Borland Together 75. Rational Rose 76. Bildnachweis 1. Modellbahn - Elbbrcken / Pieter & Rene Lanser / Flickr 4. Krka Wasserflle / Karl-Hermann Loges / Flickr 5. The Zombie Attack project plan / Jez Nicholson / Flickr 7. Old couple analyzing Railway timetable / Pedro Ribeiro Simes / 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 Schfer / Flickr 46. highend-96 / noeffred / Flickr 48. Dombcherei Linz, 3 / Monika Bargmann / Flickr 49. Framework / jphilipg / Flickr 64. Anders Hejlsberg / D. Begley / Flickr 77. Sebastian Hempel Staatlich geprfterInformatikerSelbstndiger Software-Entwickler und Dozentin den Bereichen Java und OpenSource Clean Code Developer [email protected] http://www.it-hempel.de/