Einstieg - Verwaltung von Bankkonten

Eine Bankwelt im Computer

Wenn ein Programm zur Verwaltung von Bankkonten eingesetzt werden soll, dann muss es Kunden- und Kontodaten erfassen und Vorgänge im Bankwesen wie Ein- und Auszahlungen sowie Überweisungen durchführen können. Die Bankwelt mit bestimmten Gegenständen (Kunden, Konten, ...) und Vorgängen (Ein-, Auszahlungen, ...) muss also im Programm geeignet erfasst werden.

Im Folgenden werden Objekte benutzt, um eine Bankwelt softwaretechnisch zu erfassen. Das folgende Objektdiagramm zeigt eine mögliche objektorientierte Beschreibung der Gegenstände einer Bankwelt.

Objektdiagramm

Die Vorgänge einer Bankwelt werden durch die Operationen der Objekte repräsentiert. Im folgenden Klassendiagramm zur Bankwelt sind die Dienste (Operationen) aufgelistet, die die Objekte zur Verfügung stellen.

Klassendiagramm

Aufgabe 1

(a) Welches Objekt ist für welche Aufgaben zuständig?

(b) Welche Vereinfachungen sind bei dieser Beschreibung einer Bankwelt vorgenommen? Schau dir z.B. die Anzahl der Konten an, die ein Kunde haben kann.

Aufgabe 2

Lade dir die Datei bank.txt mit einer Implementierung der Klassen herunter und benenne sie in bank.py um. Versuche, mit Objekten zu den hier vorgegebenen Klassen Vorgänge der Bankwelt durchzuspielen. Das folgende Python-Testprogramm zeigt, wie das gehen könnte.

from bank import *
bank = Bank()
# Konto eröffnen
print("Neues Konto")
name = input("Name: ")
vorname = input("Vorname: ")
bank.kontoEroeffnen(name, vorname)
print()
# Konto eröffnen
print("Neues Konto")
name = input("Name: ")
vorname = input("Vorname: ")
bank.kontoEroeffnen(name, vorname)
print()
# Konto eröffnen
print("Neues Konto")
name = input("Name: ")
vorname = input("Vorname: ")
bank.kontoEroeffnen(name, vorname)
print()
# Ausgabe der Kunden und Konten
for kunde in bank.kunden:
    print("Kunde:")
    print("Name:", kunde.name)
    print("Vorname:", kunde.vorname)
    print("Kontonummer:", kunde.konto.nr)
    print("Kontostand:", kunde.konto.stand)
    print()
# Transaktion
print("Einzahlung")
kontonummer = int(input("Kontonummer: "))
betrag = float(input("Betrag: "))
bank.einzahlen(kontonummer, betrag)
print()
# Transaktion
print("Auszahlung")
kontonummer = int(input("Kontonummer: "))
betrag = float(input("Betrag: "))
bank.auszahlen(kontonummer, betrag)
print()
# Transaktion
print("Überweisung")
vonKontonummer = int(input("Von Kontonummer: "))
nachKontonummer = int(input("Nach Kontonummer: "))
betrag = float(input("Betrag: "))
bank.ueberweisen(vonKontonummer, nachKontonummer, betrag)
print()
# Ausgabe der konten
for kunde in bank.kunden:
    print("Kunde:")
    print("Name:", kunde.name)
    print("Vorname:", kunde.vorname)
    print("Kontonummer:", kunde.konto.nr)
    print("Kontostand:", kunde.konto.stand)
X

Fehler melden

X

Suche