1 / 28

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung. Xinxin Li Haibin Hu 28.11.03. Einführung. Die Historie der Objektorientierung UML (Unified Modeling Language). Objekt.

rasha
Télécharger la présentation

Objektorientierte Softwareentwicklung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektorientierte Softwareentwicklung Xinxin Li Haibin Hu 28.11.03

  2. Einführung • Die Historie der Objektorientierung • UML (Unified Modeling Language)

  3. Objekt Ein Objekt ist eine zur Ausführungszeit vorhandene und für ihre Instanzvariablen Speicher allokierende Instanz, die sich entsprechend dem Protokoll ihrer Klasse verhält. Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.

  4. Realität besitzt liest Fahrrad Mensch Buch Modell

  5. Klassen & Objekte & Instanzen • Klassen Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für eine Menge von Objekten. • Objekte Ein Objekt ist eine konkret vorhandene und agierende Einheit mit eigener Identität und definierten Grenzen das Zustand und Verhalten kapselt. • Instanzen Für den Hausgebrauch können Instanz, Objekt und Exemplar synonym berachtet werden.

  6. Objekt-Klassen-Beziehung: Instance of Klasse Objekt z.B Xinxin Instance of Studenten Haibin Instance of

  7. Attribute & Methode • Attribute die Struktur der Objekte: ihre Bestandteile und die in ihnen enthaltenen Informationen bzw. Daten. • Methode (Operation) In der UML wird eine Methode als Implementierung einer Operation definiert. Für die Praxis ist es unkritisch, Methode und Operation synonym zu verwenden.

  8. Klassenname Kreis radius Mittelpunkt: Point = (10,10) anzeigen() entfernen() setPosition(pos:Piont) setRadius(neuerRadius) Attributname Attribut-Typ Methoden Objektname einKreis:Kreis radius = 25 mittelpunkt = (10,10) Klassenname Attributname Attributwerte

  9. Vererbung Oberklasse GeomFigur Dreieck Kreis Rechteck Unterklassen

  10. Die Geschichte der Programmiersprache ist eine kontinuierliche Steigerung der Abstaktionen: Low-level Sprache • Machinensprache (Bitmuster,Machinenabhaengig…) • Assemblersprache (Zeichen statt Bitfolge…) 1. Formula (Fortran) Die erste high-level Sprache Fortran, geeignet fuer nummerische und wesenschaftliche Anwendungen 2. Kontrolle (Cobol) fuer einfach Berechnung von grossen menge Daten in Bereich Business 3. Procedure (Pascal) 4. Objekteorientierung (C++,Java…) High-level Sprache

  11. LISP Fortran Algo 1960 Cobol PL/1 Simula Smalltalk-72 1970 Prolog Smalltalk-74 Pascal Smalltalk-76 C Smalltalk-78 Loops Smalltalk-80 1980 Ada Objective C C++ CLOS ObjectPascal Eiffel 1990 Ada 95 ObjectCobol Java Nicht oo. Objektorient.

  12. Eingenschaft der objektorientireten Programmiersprache • Strukturierung der Objekten: • Everything ist Objekt • durch Vererbung strukturiert • Nachrichtenaustauch: • Programm ist eine Menge von Objekten • die durch Nachrichten untereinander kommunizieren • Methode in einem Objekt kann von anderen Objekten durch Nachrichten aufgerufen werden

  13. 1. OOSE isr mehr als Programieren in einer objektorientierten Sprache! 2. Objektorientierung wird als die Wichtigste Konzepte durch die ganze Softwareentwicklung • Verwenden der objektorietierten modellierungskongzepte • Abstrahierung von der realen Welt • abgeschlossene,autonome Einheiten mit Strukturen und Verhalten ->Klassen bzw. Objekte • objektorientiert entwickelte Software ist einfach zu aendern u. erweitern ->Abstrahierung u. Kapslung von Daten

  14. OOA = “Objektorientierte Analyse” OOD = “Objektorientierter Entwurf(Design)” OOP = “Objektorientierte Programmierung” --Boehm,1988

  15. Aufgabe der OOA • Objekte und Klassen identifizieren • Verantwortlichkeiten identifizieren und den Klassen zuordnen • Zusammenarbeit zwischen den Klassen identifizieren • Vererbungshierarchie definieren

  16. Aufgabe der OOD • Festlegung der Architektur des Systems • Ueberarbeiten des in OOA erzeugten OOA-Klassenmodells, z.B • Hinzufuegen/Verschmelzen/Aendern von Klassen • Aenderungen an der Vererbungsstrukturen • Hinzufuegen/Entfernen von Beziehungen

  17. Aufgabe der OOP • Umsetzung des in OOD erzeugten OOD-Modells in einer Objektorientierten Programmiersprache • Klassentests und schrittweise Integration des Systems

  18. Softwareentwicklung Programmierung ≠ Softwareentwicklung

  19. Konventionelle Entwicklung(Wasserfallmodell) Analyse und Spezifikation Test und Integration Entwurf Implementierung • Sequentiell,in einer Richtung • Schwerigkeiten fuer Iteration und Veraenderung • Wiederverwendbarkeit nicht unterstuetzt

  20. objektorientierte Entwicklung • iterative Entwicklung • in jeder Iteration werden die Phasen des Wasserfallmodells durchlaufen • Wiederverwendungsproblem geloest

  21. Analyse und Design mit UML

  22. Was is UML? • Unified Modeling Languageist eine Sprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Modellen für Softwaresysteme, Geschäftsmodelle und andere Nicht-Softwaresysteme • UML ist eine Modellierungssprache,keine Programmiersprache • seit 1997 wird die UML in Version 1.1 als Standard angesehen • und sie liegt bei der Object Management Group(OMG) zur Standardisierung vor • die neueste Version ist UML 1.3

  23. Wer steht hinter der UML? • Die UML wurde entwickelt von Grady Boch, Ivar Jacobsen und Jim Rumbaugh von Rational Rose Software. • Sie haben die besten Ideen der objektorientierten Entwicklungsmethoden kombiniert. und daraus die UML geschaft. • Viele Computerunternehmen(Microsoft,Oracle,..) wirkten aktiv an der Entwicklung mit Und unterstuezen die UML.

  24. Was beinhaltet die UML? Die Elemente der UML werden nach Diagrammtypen gegliedert: • Anwendungsfalldiagramm • Klassendiagramm • Aktivitätsdiagramm • Kollaborationsdiagramm • Sequenzdiagramm • Zustandsdiagramm • Komponentendiagramm • Einsatzdiagramm

  25. Anwendungsfalldiagramm Systemgrenze

  26. Klassendiagramm(1)

  27. Klassendiagramm(2) Oberklasse Unterklasse1 Unterklasse2 Unterklasse3

  28. Sequenzdiagramm objekt1 new() objekt2 nachricht() antwort delete()

More Related