Über das Projekt Dieses Projekt zeigt eine modellierte Architektur für eine Open-Banking-Payment-App mit UML-Diagrammen und API-Spezifikation. Ziel ist es, eine Fintech-Lösung für sichere Zahlungsabwicklung und Bankkontenverwaltung über Open-Banking-APIs zu visualisieren und zu dokumentieren.
Das Use-Case-Diagramm zeigt die wichtigsten Interaktionen, die ein Nutzer in der Payment-App durchführen kann. Es gibt einen Überblick darüber, welche Funktionen das System bereitstellt und welche Aktionen ein Nutzer ausführen kann.
| Use-Case | Beschreibung |
|---|---|
Konto verknüpfen (UC1) |
Der Nutzer authentifiziert sich über OAuth2 und verbindet sein Bankkonto mit der Payment-App. |
Kontostand abrufen (UC2) |
Der Nutzer kann den aktuellen Kontostand seines verknüpften Kontos abrufen. |
Zahlung ausführen (UC3) |
Der Nutzer kann eine neue Zahlung an einen Empfänger senden. |
Transaktionsverlauf anzeigen (UC4) |
Der Nutzer kann eine Liste seiner bisherigen Transaktionen einsehen. |
Sicherheits-Authentifizierung (UC5) |
Stellt sicher, dass der Nutzer sich korrekt authentifiziert, bevor sensible Aktionen (z. B. Zahlungen) durchgeführt werden können. |
- Der Nutzer kann verschiedene Aktionen ausführen, wie z. B. Konto verknüpfen, Kontostand abrufen, Zahlung ausführen und Transaktionsverlauf einsehen.
- Die Sicherheits-Authentifizierung (
UC5) ist eine Voraussetzung für die Zahlung (UC3), um sicherzustellen, dass der Nutzer autorisiert ist. - Die Payment-App verwaltet die Interaktion mit der Open-Banking-API, um die gewünschten Funktionen bereitzustellen.
- Es visualisiert die wichtigsten Funktionen der Payment-App.
- Es zeigt, wie der Nutzer mit dem System interagiert.
- Es hilft Entwicklern und Analysten, die Anforderungen an die App besser zu verstehen.
- Es verdeutlicht, dass Sicherheits-Authentifizierung eine zentrale Rolle spielt.
Dieses Sequenzdiagramm zeigt den Ablauf einer Zahlung über eine Open-Banking-API. Dabei interagieren vier Hauptakteure:
- Nutzer – Der Endbenutzer, der sich authentifiziert, seinen Kontostand abruft und eine Zahlung ausführt.
- Payment-App – Eine Fintech-Anwendung, die als Schnittstelle zur Open-Banking-API dient.
- Open Banking API – Eine standardisierte API, über die Banken an das Open-Banking-Ökosystem angebunden sind.
- Bankensystem – Das Backend der jeweiligen Bank, das Anfragen zur Kontostandsabfrage und Zahlungsdurchführung verarbeitet.
-
Authentifizierung via OAuth2:
- Der Nutzer startet die Anmeldung in der Payment-App.
- Die App fordert über die Open-Banking-API eine OAuth2-Authentifizierung an.
- Der Nutzer loggt sich bei seiner Bank ein und gibt die Berechtigungen frei.
- Die API gibt ein OAuth2-Token zurück, das für weitere API-Anfragen genutzt wird.
-
Kontostand abrufen:
- Der Nutzer fordert über die App seinen Kontostand an.
- Die App sendet eine Anfrage an die Open-Banking-API (
GET /accounts). - Die API fragt die Kontoinformationen beim Bankensystem ab und sendet die Daten zurück.
- Die App zeigt dem Nutzer seinen aktuellen Kontostand an.
-
Zahlung initiieren:
- Der Nutzer gibt eine neue Zahlung mit Empfänger und Betrag in der App ein.
- Die App sendet die Zahlungsdetails an die Open-Banking-API (
POST /payments). - Die API leitet die Zahlung an das Bankensystem weiter.
- Das Bankensystem verarbeitet die Zahlung und sendet den Status zurück.
- Die App zeigt dem Nutzer die Zahlungsbestätigung an.
- Es visualisiert die Interaktion zwischen Nutzer, App, API und Bank.
- Es zeigt die zentrale Rolle von OAuth2für sichere Authentifizierung.
- Es verdeutlicht die API-Aufrufe, die für Open Banking unerlässlich sind.
- Es hilft Entwicklern und Analysten, die Systemabläufe zu verstehen und zu optimieren.
Klassendiagramm
Das Klassendiagramm modelliert die wichtigsten Datenstrukturen und deren Beziehungen in der Open-Banking-Payment-App. Es zeigt, wie Nutzer, Konten, Transaktionen und die API-Kommunikation organisiert sind.
| Klasse | Beschreibung |
|---|---|
User |
Repräsentiert den Nutzer der Payment-App. Jeder Nutzer kann mehrere Bankkonten besitzen. |
Account |
Stellt ein Bankkonto dar. Enthält Informationen wie IBAN, Bankname und Kontostand. Ein Konto kann mehrere Transaktionen enthalten. |
Transaction |
Speichert eine einzelne Zahlung oder Buchung. Enthält Betrag, Empfänger und Status der Transaktion. |
PaymentService |
Schnittstelle zwischen der App und der Open-Banking-API. Verantwortlich für die Initiierung von Zahlungen und das Abrufen von Kontoständen. |
BankAPI |
Stellt die Verbindung zum Bankensystem her und ermöglicht Authentifizierung, Kontenabfragen und Zahlungsabwicklung. |
- Ein
Userkann mehrereAccountsbesitzen → (1:n Beziehung). - Ein
Accountkann mehrereTransactionsenthalten → (1:n Beziehung). - Die
Transaction-Klasse ruft Methoden desPaymentServiceauf, um Zahlungen auszuführen. - Der
PaymentServicekommuniziert mit derBankAPI, um Daten von der Bank abzurufen oder Zahlungen zu übermitteln.
- Es zeigt die Datenstruktur hinter einer Open-Banking-Payment-App.
- Es verdeutlicht die Zusammenhänge zwischen Nutzer, Konto und Transaktionen.
- Es hilft Entwicklern, die Systemarchitektur schnell zu verstehen.
- Es unterstützt die Planung und Erweiterung der API-Integration.
Das BPMN-Diagramm visualisiert den Geschäftsprozess zur Durchführung einer Zahlung über eine Open-Banking-API. Es zeigt Schritt für Schritt, wie eine Zahlung initiiert, validiert und verarbeitet wird, einschliesslich aller wesentlichen Entscheidungen und Fehlerbehandlungen.
| Schritt | Beschreibung |
|---|---|
| Zahlungsdetails eingeben | Der Nutzer gibt Empfänger und Betrag der Zahlung ein. |
| Zahlungsdetails validieren | Die App prüft die eingegebenen Daten auf Vollständigkeit und Korrektheit (z. B. IBAN-Format). |
| OAuth2-Authentifizierung prüfen | Die App prüft, ob der Nutzer über einen gültigen OAuth2-Token verfügt. |
| Zahlung an Bank senden | Die Zahlungsdaten werden über die Open-Banking-API an das Bankensystem weitergeleitet. |
| Bank prüft Guthaben | Die Bank kontrolliert, ob ausreichend Guthaben vorhanden ist. |
| Zahlung durchführen (Erfolgsfall) | Bei ausreichendem Guthaben wird die Zahlung ausgeführt. |
| Zahlungsbestätigung an Nutzer senden (Erfolgsfall) | Der Nutzer erhält eine Bestätigung der erfolgreichen Zahlung. |
- Ungültige Zahlungsdaten → Fehlermeldung an Nutzer: „Zahlungsdaten ungültig“.
- OAuth2-Authentifizierung fehlgeschlagen → Fehlermeldung an Nutzer: „Authentifizierung fehlgeschlagen“.
- Nicht genug Guthaben → Fehlermeldung an Nutzer: „Nicht genug Guthaben“.