Aufgabenstellung

Im Modul 326 (Objektorientiert entwerfen und implementieren) lernten wir verschiedene Design-Patterns kennen. Diese Entwurfsmuster, welche auf die individuelle Situation angepasst werden müssen, können für die Lösung eines abstrakten Problems herbeigezogen werden. 

Um mir das Lernen zu erleichtern, habe ich mich dazu entschieden, ein eigenes Projekt zu realisieren. Die Applikation verfolgt das Observer-Pattern, welches das Problem lösen soll, dass sich Objekte bei Veränderung anderer Objekte orientieren können. Meine Applikation gibt die Zinsen auf zehnjährige US Staatsanleihen und Unternehmensanleihen sowie den daraus resultierenden Credit Spread (Kreditaufschlag, Risikoprömie) aus. Der Credit Spread wird im Finanzwesen als Indikator für zukünftige Kreditausfälle verwendet und ist daher für Unternehmen (Emittent, Kreditnehmer) wie auch für Investoren (Kreditgeber) von entscheidender Wichtigkeit.

 

Dieser Auftrag umfasst folgendes Handlungs- und  Leistungsziel:

  • HZ4: Objektorientiertes Design implementieren
  • LZ22: Ich kann im Design gegebene Entwurfsmuster implementieren

Mein persönliches Ziel war, dass der Credit Spread (Differenz zwischen beiden Zinssätzen) korrekt ausgegeben wird.

Produkt

Das Subject (Herausgeber) kommuniziert mit dem Observer-interface, welches wiederum via "implements" mit den Anleihen-Klassen kommuniziert:

2-326.PNG 

Subject
5-326.PNG

GetTheYield
Implementiert "Runnable". Runnable kann bei der Erstellung von Threads verwendet werden. In meinem Beispiel gebrauche ich die Methode "run" um die Ausführung der Berechnungen in zwei Sek. Schritten zu machen:

3-326.PNG

Ausgabe

4-326.PNG

 

Reflexion und Validierung

Bei der Realisierung dieses kleinen Projekts musste ich einige Hürden überwinden, an denen ich rückblickend jedoch gewachsen bin. Von der Planung bis zur Fertigstellung vergingen zirka vier Tage. Ich hätte effizienter arbeiten sollen.

HZ4: Objektorientiertes Design implementieren

Das Observer-Pattern wurde angewendet. Eine Analyse wurde vor der Realisierung gemacht.

LZ22: Ich kann im Design gegebene Entwurfsmuster implementieren

Das Observer-Pattern wurde verwendet.

Mein persönliches Ziel war, dass der Credit Spread (Differenz zwischen beiden Zinssätzen) korrekt ausgegeben wird.

Der Credit Spread wird korrekt ausgegeben.