Kapitel 3 Flashcards
Einführung OOS
Phasen bei Softwareentwicklung
Wasserfallmodell?
- zusätzlich notwendig?
- Schwächen?
- Geschäftsprozessanalyse
- Anforderungsanalyse
- Design
- Implementation
- Test
zusätzlich bei allen Phasen Projektmanagement und Dokumentation notwendig
Schwächen:
– keine Möglichkeit zurückzugehen
– Fehler in frühen Phasen extrem teuer
– Wichtig: Rückgang zur vorherigen Phase muss möglich sein => Zyklus
– beste Lösung: iterativen, inkrementellen Zyklus verwenden
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
OO-Methode besteht aus:
UML:
-Sprache (Notation)
-Prozess
UML:nur noch Notation, kein Prozess
grafisch (Bild sagt mehr als 1000 Programmzeilen)
Konzepte der OOS:
1. Kapselung:
- Kapselung: Daten und Prozeduren oder Funktionen werden zu Objekten zusammengefasst.
Häufig: Kein direkter Zugriff mehr auf Daten (nur noch über getter/setter-
Methoden)
Konzepte der OOS:
2. Abstraktion:
Übergang vom Objekt zur Klasse (Klasse: Schablonen, Stempel): fasst
alles, was Objekten mit gleicher Struktur gemeinsam ist, zusammen
=> jetzt muss man nur noch an einer Stelle etwas ändern
=> Lokalitätsprinzip: Single Point of Maintenance
=> braucht hierzu weitere Grundkonzepte
Konzepte der OOS:
3. Polymorphismus
(Überlagerung): Eine Methode mit gleicher Signatur (Argumente
gleich) und gleichem Namen in verschiedenen Klassen verschieden implementierbar
Konzepte der OOS:
4. Dynamisches Binden:
- Dynamisches Binden: Beim Aufruf einer Methode kann für dynamisch erzeugte
Objekte erst zur Laufzeit entschieden werden, von welchem Typ das Objekt ist und
somit, welche Implementierung der Methode ausgeführt wird
Konzepte der OOS:
5. Vererbung
- Vererbung („ist ein“-Relation -> siehe DB: isA): Erbende Klasse (speziellere) erbt
alle Attribute und Methoden von vererbender Klasse (allgemeinere) und kann neue
hinzufügen bzw. Methoden überlagern
- fördert Wiederverwendung
- beerbt existierende Klasse und fügt noch was dazu oder überlagert Methoden
- kann Vereinigung von Klassen unterstützen
Vorteile von OOS:
- einfachere und übersichtlichere Wartung
- Nähe zum Anwendungsgebiet
- Wiederverwendbarkeit