A. Anforderungsdefinition und Problemanalyse
Es soll ein Programm entwickelt werden, das eine batteriebetriebene
Taschenlampe simuliert und auf dem Bildschirm darstellt. Nach dem Start
des Programms erscheint die Lampe auf Bildschirm im Ruhezustand. Ein
Schalter kann per Mausklick die Taschenlampe ein- und ausschalten.
Vereinfachende Modellannahmen zur Version 1.0
Für den ersten Demonstrationsprototyp genügt eine Version, die auf die technischen
Zusammenhänge der Elektrik verzichtet und nur die wichtigen Bestandteile
berücksichtigt und die Funktion der Lampe auf dem Bildschirm richtig
darstellt.
|
Software-
Entwicklungs-
modelle |
Objektorientierte Analyse (OOA) des Modells
Aufgabe:
1. Welche Eigenschaften / Bestandteile hat eine Taschenlampe?
2. Was tut sie, was kann man mit ihr tun?
Sieht man sie sich an, dann kann man folgende (und mehr) finden:
1. Eigenschaften
|
- Gehäuse
- Schalter
- Farbe
- Länge
- Breite
- Material (Metall, Plastik)
- Lampe ('Birne')
- Batterie
usw. |
- Schalter
- Lampe
- Batterie
|
2. Verhalten |
+ Einschalten
+ Ausschalten
+ kaputt gehen
+ leuchtet
+ Batterie wechseln
+ wegwerfen
usw. |
+ Einschalten
+ Ausschalten
+ leuchtet
|
Aus dem realen Analyseobjekt haben wir eine
Beschreibung gefunden, die im Prinzip für alle Taschenlampen gilt.
Dabei sollte man die verwendeten Begriffe klären, damit jeder dasselbe
darunter versteht (z. B. Lampe, Leuchte usw.).
Für das Softwareprojekt gilt es nun zu entscheiden, welche
Eigenschaften (Attribute) und Verhaltensweisen (Methoden) wichtig und
unbedingt erforderlich sind. Das sind die fettgedruckten. Da in der
Anforderungsdefinition für diese Version festgelegt ist, daß eine
ganz simple genügt, genügen auch diese wenigen Attribute und Methoden.
Dieser Schritt wird Abstraktion genannt.
|

Grafische Darstellung Klassendiagramm
(Das T vor Taschenlampe steht für
Typ) |
Das Endergebnis der OOA ist die allgemeine
Beschreibung des Systems in einer (oder auch mehr) Klasse.
Diese Klasse enthält also nur die Attribute in Form
von Daten und Methoden in Form von Algorithmen.
Die mit einem !
gekennzeichneten Methoden erscheinen im Programmcode als Prozeduren, die
Anweisungen erteilen,
die mit einem ? gekennzeichneten
erscheinen im Programmcode als Funktionen, mit denen man z. B.
im Programm abfragen kann, ob die Taschenlampe momentan leuchtet.
Beim genauen Hinsehen erkennt man, daß in dieser
Klassenbeschreibung überhaupt nichts darüber ausgesagt wird, wie denn die
Lampe auf den Bildschirm kommt und wie sie aussieht. Das ist beabsichtigt
und wird in einem gesonderten Schritt erledigt.
Regel: In
der OOA wird nur das nackte Datenmodell als sog. Fachklasse
beschrieben.
Damit wird eine Trennung zwischen dem Modell und der Darstellung auf
dem Bildschirm erreicht, so daß man völlig unterschiedliche
Darstellungen wählen kann, ohne die Datenklasse zu ändern.
|
|
OOA-Ziele
OOA-Technik
Objekte
Attribute
Methoden
Begriffe
Zeichen-
erklärung
Klasse |