Simulation eines Geldautomaten

Diese Fallstudie ist in Bezug auf folgende Punkte interessant:

  • Es wird darin gezeigt, wie ein selbst programmierter Zufallszahlengenerator in Simulationen eingesetzt werden kann.
  • Die Anwendung ist objektorientiert programmiert, enthält aber nur eine kleine Anzahl von Objekten bzw. Klassen und ist deshalb auch gut für Anfänger in der OOP geeignet.
  • Der Aufbau genügt einer Schichtenarchitektur. Diese ist gut überschaubar, denn es handelt sich nur um zwei Schichten.
  • Es wird demonstriert, wie Dialoge mit Hilfe von Zustandsdiagrammen geplant werden können und wie diese Planung dann in eine zweckmäßige Programmerung umgesetzt werden kann.
  • Das UI enthält sowohl Eingaben über Formular als auch Eingaben und Ausgaben auf Tabellenblättern.

Die Simulationsanwendung besteht aus zwei Teilsimulationen

  • Simulation von Abhebungsvorgängen. Der Schwerpunkt liegt dabei auf dem Umgang des Kunden mit dem Automaten („look and feel“). 
  • Simulation der Dauerbenutzung zur Optimierung der Füllung in Abhängigkeit von der Ver­tei­lung der Auszahlungsbeträge, bei gegebener Auszahlungs­strategie.

Die Auszahlungsstrategie des Automaten lautet „so groß wie möglich“. Es sollen also, abhängig vom gewünschten Betrag und dem aktuellen Bestand an Scheinen, jeweils so wenige Scheine wie möglich ausgegeben werden. 

 

Simulation von Abhebungsvorgängen ("look and feel")

 

Indiesem Teil der Simulation, als Simulation A bezeichnet, gibt ein Formular, das an der Benutzeroberfläche eines Geldautomaten orientiert ist, nacheinander den Benutzern (den Bankkunden)  die Möglichkeit, Geld abzuheben (s. übernächstes Bild).

 

In einem Vordialog muss der Automat mit Scheinen gefüllt werden, bevor der erste Kunde ihn benutzen kann. Hierfür muss die Scheinfüllung bereit in einen Bereich eines Arbeitsblatts eingetragen sein (s. nächstes Bild)

 

Simulation A

 

Simulation von Einzelabhebungen

 

Vordialog zum Einlesen des Bestands an Scheinen

Simulation A

 

Simulation von

Einzelabhebungen

("look and feel")

 

Simulation der Bestandsentwicklung

 

Diese Simulation (Simulation B) erlaubt, verschiedene Füllungen des Automaten mit Scheinen bei unterschiedlichen Verteilungen der Abhebungsbeträge zu testen. Die Simulation führt eine Serie von Abhebungen durch und protokolliert dabei auf einem Arbeitsblatt für jede Abhebung den Betrag, die ausgegebenen Scheine und die Restbestände an Scheinen.

 

Die Wahrscheinlichkeitsverteilung der Abhebungsbeträge und die Füllung mit Scheinen muss vor dem Start der Anwendung auf einem Arbeitsblatt eingetragen worden sein. Aus der Startmaske heraus werden dann diese Eintragungen eingelesen. (s. Bild unten)

 

 

Simulation B

 

Simulation der

Bestandsentwicklung

 

Eingabe der

Scheinfüllung

und der

Verteilung der

Abhebungsbeträge

 

Das Abhebungsprotokoll wird auf einem Arbeitsblatt ausgegeben. Die Spalten A100 bis A5 enthalten die Anzahl der ausgegebenen Scheine, die Spalten R100 bis R5 den Restbestand an Scheinen nach der Auszahlung.

 

Simulation B

 

Simulation der Bestandsentwicklung

 

Ausgabe einer Sequenz von Abhebungen und der Bestandsentwicklung

 

Die komplette Beschreibung der Fallstudie können Sie als PDF herunterladen. Die Beschreibung des Zufallszahlengenerators ist darin nicht enthalten. Sie finden sie aber ebenfalls in der Rubrik Anwendungsbeispiele.

 

Fallstudie Geldautomat
Das Dokument enthält die vollständige Beschreibung der Fallstudie einschließlich des VBA-Codes.
FallstudieGeldautomat.pdf
Adobe Acrobat Dokument 3.1 MB