44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
@startuml sequenz_kunde_loeschen_gruppeC
|
|
' UML-Sequenzdiagramm "Kunde löschen mit Löschsperre (GR-04)" (Pflichtenheft Gruppe C, Abschnitt 7.2)
|
|
' Ablauf gemäß KundenVerwaltungsService.loescheKunde(kundennummer).
|
|
|
|
skinparam shadowing false
|
|
skinparam sequenceMessageAlign center
|
|
hide footbox
|
|
|
|
title UML-Sequenzdiagramm — „Kunde löschen mit Löschsperre (GR-04)" (Gruppe C)
|
|
|
|
participant "GUI\n(Gruppe D)" as GUI
|
|
participant "kundenService :\nKundenVerwaltungsService" as KVS
|
|
participant "referenzPruefung :\nKundenReferenzPruefung\n(Gruppe A)" as RP
|
|
participant "repository :\nKundenRepository" as REPO
|
|
participant "ereignisBus :\nEreignisBus" as EB
|
|
|
|
GUI -> KVS : loescheKunde(kundennummer)
|
|
activate KVS
|
|
|
|
KVS -> RP : anzahlVerknuepfterDokumente(kundennummer)
|
|
activate RP
|
|
RP --> KVS : anzahl
|
|
deactivate RP
|
|
|
|
alt anzahl > 0 (Löschsperre GR-04, F-09)
|
|
KVS --> GUI : LoeschAbgelehntException\n(Hinweis mit Anzahl verknüpfter Dokumente)
|
|
else anzahl == 0
|
|
note over GUI, KVS : Bestätigungsabfrage der Anwender:in (F-08)
|
|
KVS -> REPO : loesche(kundennummer)
|
|
activate REPO
|
|
REPO --> KVS
|
|
deactivate REPO
|
|
KVS -> EB : melde(DatenBereich.KUNDEN)
|
|
activate EB
|
|
note right of EB : benachrichtigt die abonnierte\nKundenansicht (Observer-Muster)
|
|
EB --> KVS
|
|
deactivate EB
|
|
KVS --> GUI : Kunde gelöscht
|
|
end
|
|
|
|
deactivate KVS
|
|
|
|
@enduml
|