MezData-Logo Creative Commons License 3468 Lösungen Button :OOP: Objektorientierter Entwurfsprozess

Überblick über den Entwurfsprozess

Vorgehen beim Softwareentwurf

use case driven development => Der Anwendungsfall ist der Ausgangspunkt der Entwicklung.

Wozu brauche ich UML?

Nicht jammern sondern freuen! Bislang musste man sich bei der Problemlösung mit komplizierten Programmiersprachen rumschlagen, mit all ihren Besonderheiten und Tücken.. Nun gibt es die Unified Modeling Language eine vereinheitlichte Modellierungs-Sprache, bei der man sich nur auf das Wesentliche des Problems konzentrieren braucht...

Dank moderner Case-Tools (Computer added Software Engeneering - Tools) [Computer unterstützte Software Entwicklungs Werkzeuge] könnte die "Drecksarbeit" endlich der Computer selber übernehmen!

Damit dieses "Wunder" wahr werden kann, müssen wir diese Sprache unbedingt lernen, eigentlich weniger eine Sprache, sondern viel mehr eine Darstellungsform von Problemen, die unserer menschlichen "Denke" näher kommt als Java, C++, Delpi und Co.

Objektorientierte Analyse (OOA)

Vorgehen bei der Analyse eines Problems

Ergebnis: Domain Modell, ein Modell aus Sicht des Problembereichs (Domäne des Problems)

Objektorientiertes Design (OOD)

Designrichtlinien

  1. Informationsexperte
    Wer ist der Informationsexperte für diese Aufgabe? D.h. wer hat bzw. sollte die Information für diese Aktion haben, wer muss also angefragt werden?
  2. Geringe Kopplung
    Eine Klasse sollte möglichst wenig Verbindungen zu anderen Klassen aufweisen, so sind bei Änderungen weniger Klassen betroffen.
  3. Hoher Zusammenhalt
    Die Verantwortlichkeit einer Klasse sollte sich möglichst nur auf eine logische Aufgabe beziehen.
  4. Erzeuger
    Die Klasse ist für die Erzeugung neuer Objekte zuständig, welche die zu erzeugenden Objekte beinhaltet (Komposition, Aggregation), welche die Informationen zum Start des neuen Objekts enthält oder das zu erzeugende Objekt eng verwendet.