Tải bản đầy đủ (.pdf) (30 trang)

PHP – Endlich objektorientiert- P13

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 30 trang )

5 – Projektpraxis
330
walten kann. Ein Depot besteht dabei aus Beständen von verschiedenen Aktien, die der
Kunde zuvor gekauft hat.
Der Anleger als Kunde der Bank soll neben den aktuellen Kursen jederzeit eine Über-
sicht seiner Gewinne bzw. Verluste erhalten können. Zusätzlich dazu soll ein einfacher
Vergleich der Zinsen aus den Aktiengewinnen mit Zinssätzen von Festgeld- und Spar-
einlagen möglich sein. Im Gegensatz zu anderen Depotverwaltungsprogrammen sollen
auch Gewinne aus Dividenden berücksichtigt werden können, die Aktiengesellschaften
üblicherweise jährlich an die Aktionäre im Anschluss an die Hauptversammlungen aus-
schütten.
Die zu erstellende PHP-Anwendung soll sich aber (zunächst) nicht direkt mit einem
Aktiendepot des Anlegers verbinden. Stattdessen soll jeder Anleger seinen Aktienbe-
stand und jede Transaktion zunächst manuell eingeben. Dadurch soll ein Kunde der
Bank sich auch ein Musterdepot anlegen können, um in den Aktienhandel „hineinzu-
schnuppern“. Die Bank erhofft sich dadurch die Gewinnung von Neukunden.
Eine Transaktion ist neben dem Kauf auch ein Verkauf eines Aktienbestands. Ebenso
wird der Erhalt einer Dividende als zusätzliche Zahlung an den Anleger als Transaktion
bezeichnet und vom System durch manuelle Eingabe erfasst.
Die aktuellen Kurse sollen aber nicht vom Anleger manuell eingegeben werden. Statt-
dessen sollen diese Kurse aktuell von einer existierenden Homepage eingelesen werden
können. Solche Homepages existieren nach den Aussagen des Auftraggebers für jede
Aktie, die man kaufen kann.
5.1.2 Die objektorientierte Analyse
Nach dem ersten Gespräch mit unserem Auftraggeber werden nun die gewünschten
Funktionen erstmals definiert und genauer beleuchtet. Dies geschieht unter Verwen-
dung einzelner grafischer Anwendungsfalldiagramme, von denen einzelne Funktionen
in einer textuellen Schablone genauer beschrieben werden.
Typische Abläufe, die sich unser Auftraggeber im System vorstellt, werden im Anschluss
daran mit Aktivitätsdiagrammen festgehalten. Diese Abläufe beschreiben Interaktionen
des zukünftigen Benutzers mit der zu erstellenden Anwendung.


Gewünschte Funktionen mit Anwendungsfalldiagrammen
Im ersten Schritt der Analyse wird der Auftraggeber der RAUB-Bank darum gebeten,
darzustellen, welche Hauptfunktionen er in der zu erstellenden Anwendung sieht. Wel-
che Funktionen ständen groß auf der Verpackung, wenn man das Produkt in einer
Schachtel kaufen könnte?
Seine Antworten werden in Abbildung 5.1 als erster grafischer Anwendungsfall zusam-
mengefasst. Der Auftraggeber will

Aktienbestände verwalten

Aktienbestände archivieren

die aktuellen Kurse automatisch ermitteln
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 331
Damit jeder Benutzer dies kann, muss er sich zunächst am System anmelden. In den ers-
ten Phasen der Umsetzung soll das Anmeldesystem mit der Benutzerverwaltung jedoch
nicht im Vordergrund stehen.
Abbildung 5.1: Grafischer Anwendungsfall auf Drachenebene
Im nächsten Schritt werden die Funktionen genauer hinterfragt. Konzentrieren Sie sich
als Systemanalytiker dabei vor allem auf weich formulierte Oberbegriffe. Dies sind in
unserem Fall „verwalten“ und „archivieren“. Was ist damit genau gemeint?
Als Antwort auf diese Frage müssen Sie Ihren Auftraggeber dazu bringen, die Funktio-
nen detaillierter zu beschreiben. Oft ist es auch hilfreich, einen (zukünftigen) Benutzer
der Anwendung zu befragen, was er sich unter dem Dienst vorstellt und erhofft.
Dadurch gelangt man von der Wolken- bzw. Drachenebene hin zu der Ebene des Meeres-
spiegels, die einzelne Funktionen beschreibt, die man später als Menüeinträge in der
Anwendung wiederfinden sollte.
In unserem Fall bedeutet das Archivieren das Laden und Speichern der aktuellen Akti-

enbestände in einer Datenbank. Diese Datenbank soll nachträglich austauschbar sein; die
Anwendung darf sich also nicht auf einen Datenbankhersteller so fokussieren, dass ein
Wechsel der Datenbank nur mit hohem Aufwand verbunden wäre.
Unser Auftraggeber sieht die Verwaltung der Aktienbestände als Kernfunktion der
Anwendung. Der Benutzer soll einen neuen Aktienbestand anlegen, indem er Informati-
onen zur Aktie und zum ersten Kauf (Anzahl der gekauften Aktien, Kaufdatum und
Kurs der Aktie) in die Anwendung eingibt.
Zusätzlich soll der Benutzer zu einem späteren Zeitpunkt Aktien desselben Typs zu
einem bestehenden Bestand nachkaufen können. Die Daten des n-ten Kaufs werden
dann in den Bestand integriert.
Ebenso sollen meist jährlich gezahlte Dividendenzahlungen der Aktiengesellschaften in
den Bestand aufgenommen werden können. Die Dividenden werden aufaddiert und
erhöhen den Ertrag der Aktie. Wenn eine Dividende gezahlt wurde, kann sie dem Anle-
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
332
ger nicht mehr weggenommen werden, während der Kurs der Aktie ja sinken kann. Eine
Dividende ist demnach ein garantierter Gewinn.
Jeder Aktienbestand kann auch verkauft werden. In den ersten Prototypen genügt es,
wenn man nur den gesamten Aktienbestand verkaufen kann. Dabei werden das Datum
des Verkaufs und der Aktienkurs erfasst, zu dem der Bestand verkauft wurde. Zusätz-
lich fallen Verkaufsgebühren an.
Dies bringt die Diskussion auf das Gebührenmodell. Unser Auftraggeber betont, dass
nur bei jedem Kauf und Verkauf bei seiner Bank Gebühren fällig sind. Das Depot verur-
sacht also keine laufenden Kosten, die beispielsweise jährlich abgerechnet werden. Für
zukünftige Gebührenmodelle sollte die Anwendung jedoch in diese Richtung erweiter-
bar sein.
Als letzte Funktion nennt der Auftraggeber die Übersicht über den gesamten Aktienbe-
stand. Hier soll der Benutzer seine Bestände sowie die statistischen Informationen sehen
können. Diese werden zunächst nur textuell präsentiert.

Abbildung 5.2 zeigt detaillierter die gewünschte Funktionalität der Anwendung als
Anwendungsfall auf der Ebene des Meeresspiegels. Da die Anzahl der Funktionen noch
überschaubar ist, werden die Verwaltung und Archivierung in einem einzigen Dia-
gramm dargestellt.
Abbildung 5.2: Grafischer Anwendungsfall auf Ebene des Meeresspiegels (Benutzersicht)
Bei einer größeren Anzahl von Funktionen versuchen Sie bitte, diese weiter zu gruppie-
ren und die Gruppierung auf der Drachenebene darzustellen. Die jetzige Drachenebene
würde dann als reine Managementsicht auf die Wolkenebene befördert. Der Meeresspie-
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 333
gel würde dann aus einer Vielzahl von Anwendungsfalldiagrammen bestehen, die jew-
eils eine Gruppe von Funktionen realisieren.
Die in Abbildung 5.2 dargestellten Funktionen werden nun weiter hinterfragt und spezi-
fiziert. Wie stellt sich der Auftraggeber das Anlegen eines neuen Aktienbestands vor?
Was ist dazu alles an Daten notwendig? Wie soll das Anlegen aus Sicht des Benutzers
ablaufen? Zu jedem Anwendungsfall sollte man als nächsten Schritt eine textuelle
Anwendungsfallschablone (Abb. 3.33) und/oder ein Aktivitätsdiagramm erstellen.
Die Inhalte der textuellen Anwendungsfallschablone und des Aktivitätsdiagramms
überlappen sich leicht, sodass Sie überlegen können, auf eines der beiden Verfahren zu
verzichten. Zur Übung werden im Folgenden beide Verfahren durchgegangen.
Dabei wird in Abbildung 5.3 zunächst die Anwendungsfallschablone für den Use-Case
nachkaufen erstellt.
Abbildung 5.3: Textueller Anwendungsfall zum „Nachkaufen“ von Aktien
Achten Sie dabei insbesondere auf eine saubere Definition der Vorbedingung. Was muss
erfüllt sein, damit der Anwendungsfall ausgeführt werden kann? Wodurch wird der
Anwendungsfall ausgelöst? Die zweite Antwort ergibt das auslösende Ereignis.
Die Definition der Fehlschläge aus fachlicher (nicht aus technischer!) Sicht und die Reak-
tion darauf sind von ebenso großer Bedeutung wie die Beschreibung (Wie kommt man
auf dem kürzesten Weg zu einer erfolgreichen Ausführung?) und die Erweiterungen

bzw. Alternativen.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
334
Während die Beschreibung den Primärfluss darstellt, der in frühen Prototypen zu reali-
sieren ist, sind die Erweiterungen Hinweise auf mögliche optionale oder „Nice to have“-
Funktionen. Alternativen beschreiben hingegen eher leichte Verzweigungen in der
Beschreibung und damit alternative Wege, um zum Erfolg zu gelangen.
Gewünschte Abläufe mit Aktivitätsdiagrammen
Ähnlich wie die Beschreibung, die Erweiterungen und Alternativen der textuellen
Anwendungsfälle stellen die Aktivitätsdiagramme Abläufe im Geschäftsprozess dar, die
man auch als Workflows bezeichnet. Die im Folgenden dargestellten Diagramme befin-
den sich vorwiegend auf der Wasserspiegelebene und reichen leicht in die Fischebene
herunter, die aber noch von einem Benutzer nachvollzogen werden kann.
In Abbildung 5.4 wird das Vorgehen eines Benutzers beschrieben, der einen neuen Akti-
enbestand anlegen will. Der Benutzer kommuniziert dabei mit dem zu erstellenden Pro-
gramm zur Depotverwaltung.
Nachdem der Benutzer den Dienst neuen Bestand anlegen ausgewählt hat, möchte unser
Auftraggeber dem Benutzer eine Eingabemaske zur Verfügung stellen. Dort sind Anga-
ben zur Aktie sowie die Daten des ersten Kaufs einzugeben. Zu den Angaben zur Aktie
gehören insbesondere

der Name der Aktie

die ISIN (International Securities Identification Number), eine zwölfstellige Buchsta-
ben-Zahlen-Kombination nach ISO 6166, die eine weltweit eindeutige Identifikation
für ein Wertpapier darstellt; man kann diese Nummer also als Primärschlüssel
betrachten
Die wichtigsten Daten zum ersten Kauf, die den vorhandenen Aktienbestand ausma-
chen, sind


das Datum des Kaufs

die Anzahl der gekauften Aktien

deren Kurs, zu dem die Aktien gekauft wurden

Gebühren, die bei dem Kauf angefallen sind
Meinung
Sie erkennen, dass die erste Phase sehr textlastig ist. Es gilt hier vor allem, Begriffe,
Aufgaben und Funktionen zu definieren und eine gemeinsame Sprache mit dem
Auftraggeber zu finden, der meist aus einem anderen Fachgebiet stammt. Sie als
Analytiker müssen dabei in den Gesprächen und Workshops die „richtigen“ Fragen
stellen. Eine kreative Atmosphäre mit verschiedenen Personen, also verschiedenen
Sichtweisen, ist dabei hilfreich. Versuchen Sie auch herauszufinden, welche Funktio-
nen nicht zwingend in den ersten Schritten des Projekts notwendig sind. Ein Ausfül-
len der Schablonen im stillen Kämmerlein und insbesondere ein Copy-Paste-Ausfül-
len erzeugt zwar Papier, aber nur einen geringen Mehrwert!
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 335
Die notwendigen Daten erzeugen ein neues Aktienbestandsobjekt, nachdem die einge-
gebenen Daten auf Gültigkeit geprüft worden sind. Dieses Objekt wird dann in der
Depotverwaltung festgehalten, worüber der Benutzer abschließend informiert wird.
Abbildung 5.4: Aktivitätsdiagramm „neuer Aktienbestand anlegen“
Wenn mehrere Bestände angelegt worden sind, soll der Benutzer einen Bestand zur wei-
teren Verarbeitung auswählen können. Dieser Vorgang ist in Abbildung 5.5 dargestellt.
Nach der Aufforderung des Benutzers zur Auswahl eines Bestands wird zunächst eine
Liste des Gesamtbestands angezeigt. Zusätzlich soll an dieser Stelle zu jedem Bestand
seine aktuelle Bilanz erscheinen.

Profitipp
Definieren Sie stets zunächst das Primärszenario, das der Beschreibung der textuel-
len Schablone entspricht. Ihnen mag dies zunächst zu trivial erscheinen, aber bei der
Besprechung mit dem Auftraggeber und den Benutzern ergeben sich dadurch viele
neue Erkenntnisse. Bedenken Sie: Die Diagramme dienen in erster Linie nicht dem
Selbstzweck, sondern als Diskussionsgrundlage!
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
336
Mit dem Begriff der Bilanz ist in diesem Fall keine Bilanz im betriebswirtschaftlichen
Sinne gemeint. Unser Auftraggeber möchte dem Kunden an dieser Stelle die Statistik mit
allen Gewinnen und Verlusten der Bestände sowohl in Euro, als auch in Prozent präsen-
tieren. Wenn ein Aktienbestand noch nicht verkauft wurde, also noch im Besitz des Anle-
gers ist, sollen die aktuellen Kurse der Börse als Referenzdaten verwendet werden. Wie
Sie dies realisieren, überlässt der Auftraggeber Ihnen als Entwickler.
Aus der Liste der Bestände kann der Benutzer nun einen Bestand auswählen, der noch
nicht verkauft wurde. Den gewählten Bestand merkt sich das Verwaltungsprogramm.
Somit kann der Benutzer den gewählten Bestand verkaufen, neue Aktien nachkaufen
oder eine Dividende hinzufügen.
Abbildung 5.5: Aktivitätsdiagramm „Aktienbestand auswählen“
Abbildung 5.6 zeigt das Aktivitätsdiagramm, um eine Dividendenzahlung in Euro zu
einem bereits gewählten Aktienbestand hinzuzufügen. Dies geschieht wiederum über
eine Eingabemaske der Depotverwaltung. Die Eingabe des Benutzers wird geprüft und
die Daten des Bestands werden aktualisiert. Wie üblich, endet das Szenario mit einer
Erfolgsmeldung an den Benutzer.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 337
Abbildung 5.6: Aktivitätsdiagramm „Dividende eingeben“
Als letztes Szenario wird in Abbildung 5.7 beschrieben, wie zu einem ausgewählten

Aktienbestand neue Aktien hinzugekauft werden sollen. In der Sprache der Aktionäre
wird dies übrigens als erfolgreiche Kauforder, ein Verkauf von Aktien als durchgeführte
Verkauforder bezeichnet. Um mehr Aktien desselben Typs in den Bestand aufzunehmen,
müssen die Daten des neuen Kaufvorgangs über eine Eingabemaske erfasst werden.
Dabei handelt es sich wie bereits beim Anlegen des Bestands um

das Datum des Kaufs

die Anzahl der gekauften Aktien

deren Kurs, zu dem die Aktien gekauft wurden

Gebühren, die bei dem Kauf angefallen sind
Nach der Prüfung wird der aktuelle Bestand dann wieder in der Depotverwaltung
gespeichert.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
338
Abbildung 5.7: Aktivitätsdiagramm „Aktien zu vorhandenem Bestand nachkaufen“
In diesem Zusammenhang stellt sich die Frage, wie das Aktualisieren des Bestands aus-
sieht. Sollen alle einzelnen Kaufvorgänge im Bestand unabhängig voneinander festge-
halten werden? Dies entspricht in der Implementierung eine Liste von Kaufvorgängen
im Bestand. Überraschenderweise verneint unser Auftraggeber die Antwort und skiz-
ziert folgendes Beispiel:
Nehmen Sie an, Sie haben zum Zeitpunkt D1 = 01.01.2010 Anz1 = 200 Aktien vom Typ A
für Kurs1 = 1.00 €/Stück gekauft. Dann kauften Sie zum Zeitpunkt D2 = 01.03.2010 noch-
mals Anz2 = 100 Aktien á Kurs2 = 2.00 €/Stück. Nun ist der Zeitpunkt D3 = 01.06.2010 und
Sie wollen wissen, wie viel Euro bzw. wie viel Prozent Zinsen Sie bis heute erwirtschaftet
haben. Der Kurs der Aktie liegt jetzt bei Kurs3 = 3.8 €/Stück. Gebühren sollen nicht
berücksichtigt werden.

Zum Zeitpunkt D1 haben Sie 2 von 3 Anteilen an Ihrem heutigen Bestand gekauft und
zum Zeitpunkt D2 einen weiteren Anteil. Sie haben also 2/3 Ihres heutigen Bestandes zu
je 1.00 €/Stück und 1/3 zu je 2.00 €/Stück. Grafisch würden Sie dabei vorgehen wie in
Abbildung 5.8 dargestellt.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 339
Abbildung 5.8: Berechnung eines virtuellen Aktienkaufs
Sie bilden den Mittelwert zwischen den beiden Datumswerten und auch zwischen den
beiden Kursen unter Berücksichtigung der gekauften Anzahl an Aktien. Dies wird in der
Mathematik als gewichteter arithmetischer Mittelwert bezeichnet. Der Mittelwert für
das Datum Dx kann somit berechnet werden, indem man von D1 aus den beim zweiten
Kaufvorgang gekauften Anteil am jetzigen Bestand, also das Gewicht g, addiert. Das zu
addierende Gewicht können Sie ermitteln mit der Formel $g = $Anz2 / ($Anz1 + $Anz2).
Zwischen D1 und D2 sind 59 Tage vergangen. Diese Anzahl der vergangenen Tage zwi-
schen zwei Datumswerten können Sie übrigens mit der PHP-Funktion strtotime ermit-
teln, die als Parameter ein Datum als Zeichenkette erhält und einen UNIX-Zeitstempel
zurückliefert. Über die Formel $anzTage = (strtotime($D2)-strtotime($D1))/86400 können
Sie dann die Anzahl der vergangenen Tage ermitteln. Um eine Anzahl an Tagen zum
Datum D1 zu addieren, können Sie bei der Implementierung die PHP-Funktion date_add
verwenden. Diese benötigt ein Datumsobjekt als Eingabe, sodass Sie D1 zunächst in ein
Datumsobjekt umwandeln müssen. Als zweiten Parameter erwartet die Funktion eine
speziell formatierte Zeichenkette, die die Anzahl der zu addierenden Tage enthält. Die
Berechnung zur Ermittlung des neuen Datums Dx lautet also $Dx = date_add(new Date-
Time($D1), new DateInterval('P'.round($g*$anzTage,0).'D')).
Die entsprechende Berechnung für die Kurse gestaltet sich etwas einfacher, da Sie dort ja
direkt mit Zahlenwerten arbeiten. Der gewichtete Mittelwert für den Kurs einer einzel-
nen Aktie Kx lautet Kx = $K1 + $K1 * $g.
Selbstverständlich gehört noch kein PHP-Code in die frühe Phase der objektorientierten
Analyse. Sie können stattdessen auch eine mathematische Schreibweise zur Definition

der Formeln verwenden.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
340
Sinnvoll sind in dieser Phase allerdings das Aufstellen der notwendigen Berechnungen
und deren Prüfung vom Auftraggeber. Ebenso ratsam ist es, die Berechnungen bereits
sehr früh in PHP zu implementieren und die Ergebnisse zu verifizieren.
Spätestens jetzt wird der Auftraggeber Sie fragen, wie Sie den Aufwand für die Realisie-
rung des Projekts bzw. bis zum ersten Prototyp einschätzen. Wie viel Zeit haben Sie bis
jetzt in Meetings verbracht? Wie aufwändig war die Erstellung der Anwendungsfälle,
die Einarbeitung in die Sprache des Auftraggebers und die Erstellung der Aktivitätsdia-
gramme?
Als Nächstes müssen Sie die Klassen und deren Verbindungen zueinander ermitteln, die
Eigenschaften und Methoden festlegen, die Eingabemasken und die fachliche Logik
implementieren.
Die Ermittlung der Klassen
Die Ermittlung der wichtigsten Klassen gehört noch zur Analyse des Systems. Ihnen ist
wahrscheinlich aufgefallen, dass durch die Diskussion mit dem Auftraggeber bereits
einige Hauptwörter gefallen sind, die auf Klassennamen hindeuten. Da sich die Anzahl
der Klassen bei dieser Problemstellung und bis zu den ersten Prototypen in Grenzen hal-
ten wird, muss die Methode der CRC-Karten nicht angewendet werden.
In diesem Fall sollen die Klassen über die Formulierung von typischen Beispielen gefun-
den werden. Bereits in den Aktivitätsdiagrammen wurde der Aktienbestand erwähnt,
der als Ausgangspunkt der Betrachtung dienen kann.
Abbildung 5.9: Objektdiagramm einer Aktie, die in einem Bestand vorliegt
Ein Aktienbestand besteht aus Aktien eines Typs. Im Beispiel aus Abbildung 5.9 wird ein
Bestand der Aktie von E.ON vorgestellt. Der Bestand besteht aus 90 Aktien, die am
Hinweis
Bevor Sie an dieser Stelle weiterlesen: Schätzen Sie den bisherigen Aufwand und den
noch zu erstellenden Aufwand zur Umsetzung der Funktionen des Anwendungs-

falldiagramms aus Abbildung 5.2. Wie viele Mannstunden würden Sie für eine Reali-
sierung ohne die Behandlung von Fehlern und ungültigen Eingaben vorsehen? Wie
viele Reserven würden Sie einkalkulieren?
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Das Fallbeispiel der Depotverwaltung
PHP – Endlich objektorientiert 341
24.04.2009 für je 23.54 € pro Stück gekauft wurden. Beim Kauf sind 9.90 € zusätzliche
Gebühren angefallen. Für diesen Bestand hat E.ON nach seiner Hauptversammlung eine
Dividende von 135.00 € ausgezahlt. Der Bestand ist bislang nicht verkauft worden.
Die Bilanz des Aktienbestands nach aktuellen 168 Tagen ist ein Gewinn von 4.12 €/Aktie
bzw. ein Gewinn von 17.5 %. Rechnet man die erhaltenen Dividenden hinzu und zieht
die Depotgebühren für diesen Aktienbestand ab, so ergibt sich ein Gesamtgewinn von
486.00 € bzw. 22.83 %. Rechnet man die erhaltenen Zinsen linear auf ein Jahr hoch, so
ergibt sich ein Zinssatz von sehr guten 49.64 %/Jahr. Es lohnt sich also, in einer Wirt-
schaftskrise Aktien zu kaufen.
Abbildung 5.10 zeigt den Bezug einer Aktie zu einer Kauforder. Die Anzahl, der Preis
pro Aktie, das Kaufdatum und die Kaufgebühren sind mit dem Aktienobjekt verbunden.
Die Aktie selbst weiß nicht unbedingt, von wem sie gekauft wurde.
Wenn der Kauf abgewickelt wurde, gehen die Daten aus dem Objekt der Kauforder in
den Aktienbestand über. Das Kauforderobjekt spielt dann keine Rolle mehr in der bishe-
rigen Modellierung.
Abbildung 5.10: Objektdiagramm einer Aktie und deren Bezug zu einem Kauf
Aus den bislang ermittelten Funktionen, deren Beschreibung und den Objektdiagram-
men kann ein erstes Klassendiagramm der Analysephase erstellt werden. Dieses Dia-
gramm ist in Abbildung 5.11 abgebildet.
Ein Aktienbestand besteht aus Aktien, deren Kauf mit einer Kauforder in Zusammen-
hang steht. Wenn Sie Aktien verkaufen wollen, muss analog dazu eine Verkauforder
existieren.
Unabhängig davon, ob ein Aktienbestand bereits verkauft wurde oder nicht, können Sie
jederzeit eine Bilanz mit den Gewinnen/Verlusten aus dem Aktienbestand erstellen. Der

Aktienbestand stellt nach der bisherigen Analyse eine zentrale Klasse der zu erstellen-
den Anwendung dar.
Abbildung 5.11: Erstes Klassendiagramm der Analyse für die Depotverwaltung
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

×