54 lines
1.8 KiB
Plaintext
54 lines
1.8 KiB
Plaintext
@startuml
|
|
title UML-Sequenzdiagramm Gefuehrte Rechnungserstellung (Gruppe D)
|
|
autonumber
|
|
|
|
actor "Anwender:in" as Anw
|
|
boundary "RechnungsWizardDialog" as Dialog
|
|
control "RechnungsWizardController" as Controller
|
|
participant "KundenService\n(Gruppe C)" as Kunden
|
|
participant "ProduktService\n(Gruppe B)" as Produkte
|
|
participant "DokumentService\n(Gruppe A)" as Dokumente
|
|
|
|
Anw -> Dialog : Wizard starten
|
|
Dialog -> Controller : getModel()
|
|
Controller --> Dialog : aktuellerSchritt = KUNDE_WAEHLEN
|
|
Dialog --> Anw : Schritt 1: Kunde waehlen
|
|
|
|
Anw -> Dialog : Kunde suchen und auswaehlen
|
|
Dialog -> Kunden : suche(suchbegriff)
|
|
Kunden --> Dialog : List<Kunde>
|
|
Dialog -> Controller : weiter()
|
|
Controller --> Dialog : Schritt 2 anzeigen
|
|
|
|
Anw -> Dialog : Produktposition und Menge erfassen
|
|
Dialog -> Produkte : suche(suchbegriff)
|
|
Produkte --> Dialog : List<Produkt>
|
|
Dialog -> Controller : weiter()
|
|
|
|
alt Position fehlt oder Menge <= 0
|
|
Controller --> Dialog : Meldung mit Feldname
|
|
Dialog --> Anw : Feld markieren und Meldung anzeigen
|
|
else Eingabe vollstaendig
|
|
Controller --> Dialog : Schritt 3 anzeigen
|
|
end
|
|
|
|
Anw -> Dialog : Rechnungsdatum und Zahlungsziel bestaetigen
|
|
Dialog -> Controller : weiter()
|
|
Controller --> Dialog : Schritt 4 anzeigen
|
|
|
|
Dialog -> Controller : erzeugeZusammenfassung()
|
|
Controller -> Kunden : findeKunde(kundennummer)
|
|
Controller -> Produkte : findeProdukt(produktnummer)
|
|
Controller -> Dokumente : berechneSummen(positionen)
|
|
Dokumente --> Controller : Summen
|
|
Controller --> Dialog : Zusammenfassung
|
|
Dialog --> Anw : Zusammenfassung anzeigen
|
|
|
|
Anw -> Dialog : Speichern bestaetigen
|
|
Dialog -> Controller : speichern()
|
|
Controller -> Dokumente : erstelleRechnung(kundenNr, positionen,\nrechnungsdatum, zahlungsziel)
|
|
Dokumente --> Controller : Rechnung mit Rechnungsnummer
|
|
Controller --> Dialog : Erfolgsmeldung
|
|
Dialog --> Anw : Rechnungsnummer anzeigen
|
|
@enduml
|