Anwendungsfall- und Sequenzdiagramm
Anwendungsfalldiagramm (engl. use-case-diagram)
Mit diesem UML-Diagrammtyp kann einfach gezeigt werden, wer was mit dem Softwaresystem machen kann, welche Anwendungsfälle es also in der Anwendung gibt:

Zusammen mit dem Klassen- und Objektdiagramm

ergibt sich folgender Programmcode:
class Bank:
def __init__(self,bankomaten):
self.__bankomaten = bankomaten
self.__gesamtEinlage = 0
def getGesamteinlage(self):
return self.__gesamtEinlage
def sumEinlage(self):
self.__gesamtEinlage = 0
for bankomat in self.__bankomaten:
self.__gesamtEinlage += bankomat.getEinlage()
class Bankomat:
def __init__(self, einlage):
self.__einlage = einlage
def getEinlage(self):
return self.__einlage
ba1 = Bankomat(12000)
ba2 = Bankomat(8000)
ba3 = Bankomat(10000)
bank1 = Bank([ba1,ba2,ba3])
print(ba1.getEinlage())
bank1.sumEinlage()
print(bank1.getGesamteinlage())
UML-Sequenzdiagramm
Dieser Diagramm stellt die Interaktionen der Objekte untereinander (also die Methodenaufrufe) dar:

Aufgabe: Streichen Sie die Eigenschaft self.__gesamtEinlage der Klasse Bank ersatzlos. Die Funktionalität soll erhalten bleiben, indem die Methode sumEinlage() die Gesamteinlage als Rückgabewert liefert. Dazu müssen die vier UML-Diagramm teilweise geändert werden.