Einführung
Diese Fallstudie konzentriert sich auf die Use-Case-Modellierung eines ATM-Systems für eine Bank. Das ATM-System ist darauf ausgelegt, den Kunden eine bequeme Möglichkeit zu bieten, auf ihre Konten zuzugreifen und verschiedene Bankgeschäfte durchzuführen, wie das Abheben von Bargeld, das Einzahlen von Bargeld, das Übertragen von Geldbeträgen, das Überprüfen des Kontostands und das Ändern des PIN-Codes. Die Fallstudie behandelt die Problemstellung und die Anforderungen des Systems sowie die erstellten Use-Case-Diagramme, Akteure und Szenarien, die zur Modellierung der Systemfunktionalität verwendet wurden. Darüber hinaus wird untersucht, wie andere Arten von UML-Diagrammen, wie Aktivitätsdiagramme und Sequenzdiagramme, zusammen mit Use-Case-Diagrammen verwendet werden können, um eine detailliertere Sicht auf das Verhalten und die Interaktionen des Systems zu erhalten. Am Ende der Fallstudie haben die Leser ein klares Verständnis des Use-Case-Modellierungsprozesses und wie er auf reale Systeme wie ein ATM-System angewendet werden kann.

Richtlinien und Tipps zur Erstellung effektiver Use Cases und zur Erstellung korrekter Use-Case-Szenarien
Hier sind einige Richtlinien, Tipps und Tricks zur Erstellung von Use Cases und zur Erstellung korrekter Use-Case-Szenarien:
- Identifizieren Sie die Akteure:Beginnen Sie damit, die Akteure zu identifizieren, die mit dem System interagieren werden. Dazu könnten Benutzer, Administratoren und alle anderen Stakeholder gehören, die das System nutzen werden.
- Definieren Sie den Umfang des Systems:Definieren Sie den Umfang des Systems klar und was es erreichen soll. Dies hilft sicherzustellen, dass die Use-Case-Szenarien alle notwendigen Anforderungen erfassen.
- Verwenden Sie einen strukturierten Ansatz:Verwenden Sie einen strukturierten Ansatz zur Entwicklung der Use-Case-Szenarien. Dazu könnten Vorlagen oder Richtlinien gehören, um sicherzustellen, dass jedes Szenario eine konsistente Struktur aufweist.
- Schreiben Sie klare und präzise Szenarien:Schreiben Sie Use-Case-Szenarien, die klar, präzise und leicht verständlich sind. Verwenden Sie einfache Sprache und vermeiden Sie technische Fachbegriffe oder Abkürzungen, die allen Stakeholdern nicht vertraut sind.
- Verwenden Sie handlungsorientierte Sprache:Schreiben Sie Use-Case-Szenarien mit handlungsorientierter Sprache, die beschreibt, was der Benutzer oder das System tut. Dies kann dazu beitragen, dass die Szenarien leicht verständlich und nachvollziehbar sind.
- Konzentrieren Sie sich auf die Ziele und Bedürfnisse der Benutzer:Konzentrieren Sie sich bei der Entwicklung von Use-Case-Szenarien auf die Ziele und Bedürfnisse des Benutzers. Dies hilft sicherzustellen, dass die Szenarien die Perspektive des Benutzers widerspiegeln und mit seinen Bedürfnissen übereinstimmen.
- Identifizieren Sie Vorbedingungen und Nachbedingungen:Identifizieren Sie klar alle Vorbedingungen und Nachbedingungen, die erfüllt sein müssen, damit das Szenario erfolgreich ist. Dies hilft sicherzustellen, dass das Szenario vollständig und genau ist.
- Schließen Sie Ausnahme-Szenarien ein:Identifizieren Sie mögliche Ausnahme-Szenarien und schließen Sie sie in die Use-Case-Szenarien ein. Dies hilft sicherzustellen, dass das System unerwartete Situationen und Fehler bewältigen kann.
- Holen Sie Feedback ein und überprüfen Sie regelmäßig:Holen Sie Feedback von den Stakeholdern ein und überprüfen Sie die Use-Case-Szenarien regelmäßig, um sicherzustellen, dass sie weiterhin genau sind und den neuesten Systemvorgaben und Anforderungen entsprechen.
Durch die Einhaltung dieser Richtlinien, Tipps und Tricks können Entwickler Use-Case-Szenarien erstellen, die die Funktionalität des Systems genau erfassen und die Bedürfnisse aller Stakeholder erfüllen.
Problemstellung der Fallstudie – ATM
Eine Bank muss ihren Kunden eine bequeme Möglichkeit bieten, auf ihre Konten zuzugreifen und verschiedene Bankgeschäfte durchzuführen, wie das Abheben von Bargeld, das Einzahlen von Bargeld, das Übertragen von Geldbeträgen, das Überprüfen des Kontostands und das Ändern des PIN-Codes. Um dieses Problem zu lösen, plant die Bank, ein ATM-System einzuführen, das Kunden ermöglicht, diese Transaktionen mit ihrer ATM-Karte und einer PIN durchzuführen.
Anforderungen:
- Sicherheit: Das ATM-System muss die Sicherheit von Kundentransaktionen gewährleisten, indem es die Identität des Kunden mithilfe seiner ATM-Karte und seines PIN überprüft. Das System muss den unbefugten Zugriff auf Kundenskonten verhindern und gegen verschiedene Arten von Betrug und Angriffen, wie zum Beispiel Skimming und Hacking, geschützt sein.
- Verfügbarkeit: Das ATM-System muss den Kunden jederzeit zur Verfügung stehen, abgesehen von periodischen Wartungsarbeiten und Ausfällen. Das System muss zuverlässig und widerstandsfähig gegenüber Hardware- und Softwareausfällen sein, um Störungen im Service zu minimieren und ein hohes Maß an Kundenzufriedenheit zu gewährleisten.
- Benutzerfreundlichkeit: Das ATM-System muss für Kunden aller Altersgruppen und Hintergründe einfach zu bedienen und zu navigieren sein. Das System muss klare Anweisungen und Rückmeldungen bereitstellen, um Kunden durch den Transaktionsprozess zu führen und Fehler sowie Verwirrung zu minimieren.
- Transaktionsverarbeitung: Das ATM-System muss Kundentransaktionen genau und effizient verarbeiten, einschließlich Bargeldabhebung und -einzahlung, Überweisungen, Kontostandabfrage und PIN-Änderung. Das System muss genaue Aufzeichnungen aller Transaktionen führen und Kunden bei Bedarf Quittungen und andere Dokumentation bereitstellen.
- Integration: Das ATM-System muss mit der bestehenden IT-Infrastruktur der Bank, einschließlich ihres Kernbankensystems, Netzwerks und Datenbanken, integriert sein. Das System muss sicher und zuverlässig mit anderen Systemen und Komponenten kommunizieren, um eine genaue und zeitnahe Verarbeitung von Transaktionen und Kontoinformationen zu gewährleisten.
Use-Case-Modellierung und Use-Case-Szenario-Entwicklung
Ausgehend von der Problemstellung eines ATM-Systems ist der nächste Schritt die Identifizierung der verschiedenen Use Cases, die erforderlich sind, um die Bedürfnisse der Benutzer des Systems zu erfüllen. Dazu gehört die Analyse der Systemanforderungen und die Definition der spezifischen Aktionen, die Benutzer beim Interagieren mit dem System ausführen können. Jeder Use Case verfügt über eine eigene Reihe von Szenarien, die beschreiben, wie das System und der Benutzer in bestimmten Situationen interagieren werden. Diese Szenarien sollten strukturiert entwickelt werden, wobei klare und präzise Sprache verwendet wird, um sicherzustellen, dass sie für alle am Projekt beteiligten Stakeholder leicht verständlich sind.
Der Prozess der Identifizierung von Use Cases und der Entwicklung von Use-Case-Szenarien ist ein entscheidender Schritt im Softwareentwicklungslebenszyklus. Er ermöglicht dem Entwicklerteam, die Anforderungen des Systems vollständig zu verstehen und eine Lösung zu entwerfen, die die Bedürfnisse der Benutzer erfüllt. Während des Entwicklungsprozesses kann es notwendig sein, die Use Cases und Szenarien zu verfeinern, um Änderungen in den Anforderungen oder Feedback von Stakeholdern zu berücksichtigen. Dieser iterative Prozess hilft sicherzustellen, dass das endgültige System die Bedürfnisse aller Stakeholder erfüllt und in der Lage ist, eine Vielzahl von Szenarien und Use Cases zu bewältigen.
- Use-Case-Diagramm:
Das Use-Case-Diagramm für ein ATM-System könnte die folgenden Akteure enthalten:
- Kunde
- Bank
Und die folgenden Use Cases:
- Bargeld abheben
- Bargeld einzahlen
- Kontostand abfragen
- Gelder überweisen
- PIN ändern
Das Diagramm würde die Beziehungen zwischen den Akteuren und Use Cases darstellen und anzeigen, welche Use Cases von welchen Akteuren zugänglich sind.
- Use-Case-Szenarien:
a) Bargeld abheben:
- Der Kunde steckt seine ATM-Karte in das Gerät ein.
- Das System fordert den Kunden auf, seinen PIN einzugeben.
- Der Kunde gibt seinen PIN ein.
- Das System überprüft die PIN.
- Der Kunde wählt die Option „Geld abheben“ aus.
- Das System fordert den Kunden auf, den Betrag einzugeben, den er abheben möchte.
- Der Kunde gibt den Betrag ein.
- Das System gibt das Geld aus.
- Der Kunde zieht seine ATM-Karte heraus und nimmt das Geld.
b) Geld einzahlen:
- Der Kunde steckt seine ATM-Karte in das Gerät.
- Das System fordert den Kunden auf, seine PIN einzugeben.
- Der Kunde gibt seine PIN ein.
- Das System überprüft die PIN.
- Der Kunde wählt die Option „Geld einzahlen“ aus.
- Das System fordert den Kunden auf, den Betrag einzugeben, den er einzahlen möchte.
- Der Kunde gibt den Betrag ein.
- Das System überprüft den Betrag und zeigt ihn dem Kunden an.
- Der Kunde bestätigt den Betrag.
- Das System nimmt das Geld an und gutachtet das Konto des Kunden.
c) Kontostand prüfen:
- Der Kunde steckt seine ATM-Karte in das Gerät.
- Das System fordert den Kunden auf, seine PIN einzugeben.
- Der Kunde gibt seine PIN ein.
- Das System überprüft die PIN.
- Das System zeigt den Kontostand des Kunden an.
d) Gelder überweisen:
- Der Kunde steckt seine ATM-Karte in das Gerät.
- Das System fordert den Kunden auf, seine PIN einzugeben.
- Der Kunde gibt seine PIN ein.
- Das System überprüft die PIN.
- Der Kunde wählt die Option „Geld überweisen“ aus.
- Das System fordert den Kunden auf, die Kontonummer einzugeben, an die sie Geld überweisen möchten.
- Der Kunde gibt die Kontonummer ein.
- Das System fordert den Kunden auf, den Betrag einzugeben, den sie überweisen möchten.
- Der Kunde gibt den Betrag ein.
- Das System überprüft den Betrag und zeigt ihn dem Kunden an.
- Der Kunde bestätigt den Betrag.
- Das System überweist das Geld und zeigt dem Kunden eine Bestätigungsnachricht an.
e) PIN ändern:
- Der Kunde steckt seine ATM-Karte in das Gerät.
- Das System fordert den Kunden auf, seine aktuelle PIN einzugeben.
- Der Kunde gibt seine aktuelle PIN ein.
- Das System überprüft die aktuelle PIN.
- Das System fordert den Kunden auf, seine neue PIN einzugeben.
- Der Kunde gibt seine neue PIN ein.
- Das System fordert den Kunden auf, seine neue PIN zu bestätigen.
- Der Kunde bestätigt seine neue PIN.
- Das System aktualisiert die PIN des Kunden und zeigt eine Bestätigungsnachricht an.
Verfeinerung des Anwendungsfalles – Bargeld abheben
Die Verfeinerung eines Anwendungsfalles, während der Entwicklungsprozess voranschreitet, ist aus mehreren Gründen wichtig:
- Um sicherzustellen, dass der Anwendungsfall genau ist und den aktuellen Zustand des Systems widerspiegelt: Während der Entwicklungsprozess voranschreitet, kann sich das System ändern und neue Anforderungen können entstehen. Die Verfeinerung des Anwendungsfalls hilft sicherzustellen, dass er weiterhin genau ist und den neuesten Systemvorgaben entspricht.
- Um mögliche fehlende oder unvollständige Anforderungen zu identifizieren: Während sich das System weiterentwickelt, kann sich ergeben, dass zusätzliche Anforderungen erforderlich sind, um die Funktionalität des Systems vollständig zu erfassen. Die Verfeinerung des Anwendungsfalls hilft dabei, fehlende oder unvollständige Anforderungen zu erkennen.
- Um die Benutzerfreundlichkeit und das Benutzererlebnis zu verbessern: Die Verfeinerung des Anwendungsfalls kann dazu beitragen, die Benutzerfreundlichkeit und das Benutzererlebnis des Systems zu verbessern. Durch die Verfeinerung des Szenarios können Entwickler die Bedürfnisse des Nutzers besser verstehen und Designentscheidungen treffen, die diesen Bedürfnissen besser entsprechen.
Der Prozess der Verfeinerung eines Anwendungsfalls kann mehrere Schritte umfassen, darunter:
- Überprüfung des Szenarios auf Genauigkeit und Vollständigkeit: Entwickler sollten die Szenario überprüfen, um sicherzustellen, dass es den aktuellen Zustand des Systems genau widerspiegelt und alle Anforderungen erfasst sind.
- Erkennen von fehlenden oder unvollständigen Anforderungen: Entwickler sollten fehlende oder unvollständige Anforderungen identifizieren und daran arbeiten, sie in das Szenario einzubeziehen.
- Verbesserung der Benutzeroberfläche: Entwickler sollten die Benutzeroberfläche verbessern, um die Benutzerfreundlichkeit und das Benutzererlebnis zu steigern, unter Berücksichtigung von Benutzerfeedback und Design-Best-Practices.
- Einbeziehung von Feedback: Entwickler sollten Feedback von Stakeholdern und Nutzern einbeziehen, um das Szenario zu verfeinern und sicherzustellen, dass es die Bedürfnisse aller Nutzer erfüllt.
Schritte zur Verbesserung eines Anwendungsszenarios
Durch die kontinuierliche Verbesserung des Anwendungsszenarios während des gesamten Entwicklungsprozesses können Entwickler sicherstellen, dass das System die Bedürfnisse und Anforderungen der Nutzer erfüllt und so benutzerfreundlich und nutzerorientiert wie möglich ist.
Hier ist eine Ausführung des Szenarios „Geld abheben“ für das Geldautomatensystem, einschließlich Normal- und Ausnahmeabläufe sowie Einfügepunkte, um ein realistisches Szenario widerzuspiegeln:
Szenario:Geld abheben
Primärer Akteur:Kunde
Voraussetzungen:
- Der Kunde hat seine ATM-Karte in das Gerät eingeführt.
- Der Kunde hat seine korrekte PIN eingegeben.
Grundablauf:
- Der Kunde wählt die Option „Geld abheben“ aus dem Hauptmenü aus.
- Der Geldautomat fordert den Kunden auf, den Betrag einzugeben, den er abheben möchte.
- Der Kunde gibt den Betrag ein, den er abheben möchte.
- Der Geldautomat überprüft, ob der Kunde ausreichend Guthaben auf seinem Konto hat, um den Abhebetransaktion zu decken.
- Der Geldautomat gibt das angeforderte Geld an den Kunden aus.
- Der Geldautomat zeigt eine Nachricht an, die die erfolgreiche Abhebung bestätigt, und fordert den Kunden auf, eine weitere Transaktion auszuwählen oder die Sitzung zu beenden.
- Der Kunde wählt eine weitere Transaktion aus oder beendet die Sitzung.
- Der Geldautomat gibt die ATM-Karte des Kunden aus.
Ausnahmeabläufe:
1a. Unzureichendes Guthaben
- Der Geldautomat überprüft, ob der Kunde auf seinem Konto unzureichendes Guthaben hat, um den Abhebetransaktion zu decken.
- Der Geldautomat zeigt eine Fehlermeldung an, die den Kunden darüber informiert, dass er nicht über ausreichendes Guthaben verfügt, um die Transaktion abzuschließen.
- Der ATM fordert den Kunden auf, entweder einen geringeren Abhebungsbetrag einzugeben oder die Transaktion abzubrechen.
- Der Kunde gibt entweder einen geringeren Abhebungsbetrag ein oder bricht die Transaktion ab.
2a. Ungültiger Betrag
- Der Kunde gibt einen ungültigen Abhebungsbetrag ein, beispielsweise eine negative Zahl oder einen Betrag, der seine tägliche Abhebegrenze überschreitet.
- Der ATM zeigt eine Fehlermeldung an, die den Kunden darüber informiert, dass der eingegebene Betrag ungültig ist.
- Der ATM fordert den Kunden auf, einen gültigen Abhebungsbetrag einzugeben.
- Der Kunde gibt einen gültigen Abhebungsbetrag ein.
3a. Karte eingeschlossen
- Der ATM kann das Geld aufgrund eines Hardware- oder Softwarefehlers nicht ausgeben.
- Der ATM zeigt eine Fehlermeldung an, die den Kunden darüber informiert, dass ihre Karte eingeschlossen wurde.
- Der ATM fordert den Kunden auf, ihre Bank oder Kundenservice zur Unterstützung zu kontaktieren.
- Der Kunde kontaktiert ihre Bank oder den Kundenservice, um ihre Karte zurückzuerhalten.
Einfügepunkte:
- Nach Schritt 1: Der Kunde steckt ihre ATM-Karte in das Gerät und gibt ihre PIN ein.
- Nach Schritt 2: Der Kunde gibt den Betrag ein, den sie abheben möchten.
- Nach Schritt 3: Der ATM überprüft, ob der Kunde ausreichend Guthaben hat, um den Abhebungsbetrag zu decken.
- Nach Schritt 5: Der ATM gibt den angeforderten Bargeldbetrag an den Kunden aus.
Zusammenfassung
Anhang – Verfeinerte Use-Case-Szenarien – ATM
Use-Case-Name: Bargeld abheben
Akteure: Kunde, Geldautomat
Voraussetzungen: Der Kunde muss eine gültige Geldkarte und eine gültige PIN-Nummer besitzen. Der Geldautomat muss ordnungsgemäß funktionieren und mit dem Banknetzwerk verbunden sein.
Grundablauf:
- Der Kunde steckt seine Geldkarte in die Kartenleserschacht des Geldautomaten.
- Der Geldautomat fordert den Kunden auf, seine PIN-Nummer über die Tastatur einzugeben.
- Der Kunde gibt seine PIN-Nummer ein.
- Der Geldautomat überprüft die PIN-Nummer und zeigt die Hauptmenüoptionen an.
- Der Kunde wählt die Option „Geld abheben“ aus dem Menü aus.
- Der Geldautomat fordert den Kunden auf, den Betrag einzugeben, den er abheben möchte, über die Tastatur.
- Der Kunde gibt den Betrag ein, den er abheben möchte.
- Der Geldautomat überprüft, ob der Kunde ausreichend Guthaben auf seinem Konto hat, um die Transaktion abzuschließen.
- Der Geldautomat gibt den angeforderten Bargeldbetrag an den Kunden aus.
- Der Geldautomat zeigt eine Nachricht an, dass die Transaktion abgeschlossen ist.
- Der Kunde nimmt seine Geldkarte aus dem Kartenleserschacht.
Alternativabläufe:
- 1a. Wenn der Geldautomat die Geldkarte des Kunden nicht lesen kann, zeigt der Geldautomat eine Fehlermeldung an und fordert den Kunden auf, es erneut zu versuchen oder seine Bank zu kontaktieren.
- 4a. Wenn der Kunde dreimal eine falsche PIN-Nummer eingibt, behält der Geldautomat die Karte und zeigt eine Nachricht an, dass sie zurückgehalten wurde.
- 8a. Wenn der Kunde nicht über ausreichend Guthaben auf seinem Konto verfügt, um die Transaktion abzuschließen, zeigt der Geldautomat eine Fehlermeldung an und fordert den Kunden auf, einen geringeren Betrag einzugeben oder die Transaktion abzubrechen.
Anwendungsfalldname: Kontostand abfragen
Akteure: Kunde, Geldautomat
Voraussetzungen: Der Kunde muss eine gültige Geldkarte und eine gültige PIN-Nummer besitzen. Der Geldautomat muss ordnungsgemäß funktionieren und mit dem Banknetzwerk verbunden sein.
Grundablauf:
- Der Kunde steckt seine Geldkarte in die Kartenleserschacht des Geldautomaten.
- Der Geldautomat fordert den Kunden auf, seine PIN-Nummer über die Tastatur einzugeben.
- Der Kunde gibt seine PIN-Nummer ein.
- Der Geldautomat überprüft die PIN-Nummer und zeigt die Hauptmenüoptionen an.
- Der Kunde wählt die Option „Kontostand abfragen“ aus dem Menü aus.
- Der ATM zeigt den aktuellen Kontostand des Kunden auf dem Bildschirm an.
- Der Kunde nimmt seine ATM-Karte aus dem Kartenleserslot.
Alternativabläufe:
- 1a. Wenn der ATM die ATM-Karte des Kunden nicht lesen kann, zeigt der ATM eine Fehlermeldung an und fordert den Kunden auf, es erneut zu versuchen oder seine Bank zu kontaktieren.
- 4a. Wenn der Kunde dreimal eine falsche PIN eingibt, behält der ATM die Karte und zeigt eine Nachricht an, dass sie zurückgehalten wurde.
Use-Case-Name: Bargeld einzahlen
Akteure:Kunde, ATM
Voraussetzungen: Der Kunde muss eine gültige ATM-Karte und eine gültige PIN-Nummer besitzen. Der ATM muss ordnungsgemäß funktionieren und mit dem Banken-Netzwerk verbunden sein.
Grundablauf:
- Der Kunde steckt seine ATM-Karte in den Kartenleserslot des ATM.
- Der ATM fordert den Kunden auf, seine PIN-Nummer über die Tastatur einzugeben.
- Der Kunde gibt seine PIN-Nummer ein.
- Der ATM überprüft die PIN-Nummer und zeigt die Hauptmenüoptionen an.
- Der Kunde wählt die Option „Bargeld einzahlen“ aus dem Menü aus.
- Der ATM fordert den Kunden auf, das Bargeld, das er einzahlen möchte, in den Bargeld-Einzahlungsslot des ATM einzulegen.
- Der Kunde steckt das Bargeld in den Einzahlungsslot.
- Der ATM überprüft das Bargeld und zeigt eine Nachricht an, die den eingezahlten Betrag anzeigt.
- Der Kunde nimmt seine ATM-Karte aus dem Kartenleserslot.
Referenzen: Use-Case-Modellierungstechniken
- Was ist eine Use-Case-Spezifikation?
- Ein praktischer Leitfaden zur Robustheitsanalyse
- Benutzeranforderungen mit Use-Case-Diagrammen identifizieren
- Benutzerstory im Vergleich zu Use Case für agile Softwareentwicklung
- Use-Case-getriebener Ansatz für agile Entwicklung
- Arten von Akteuren im Use-Case-Modell
- Was ist ein Use-Case-Diagramm?
- Was ist UML?
- Warum UML-Modellierung?
Der Artikel ist auch in English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文 verfügbar.












