107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
@startuml
|
|
!pragma layout smetana
|
|
title UML-Klassendiagramm Programmoberflaeche (Gruppe D)
|
|
skinparam classAttributeIconSize 0
|
|
skinparam linetype ortho
|
|
|
|
package "gui" {
|
|
class HauptFenster {
|
|
- aktuellesModul : String
|
|
- wechsleZu(String)
|
|
}
|
|
|
|
interface ModulPanel {
|
|
+ aktualisiere()
|
|
+ hatUngespeicherteAenderungen() : boolean
|
|
}
|
|
|
|
class KundenPanel
|
|
class ProduktPanel
|
|
class DokumentListenPanel
|
|
class RechnungsWizardDialog
|
|
|
|
class StammdatenController {
|
|
+ kundenListe(String) : List<Kunde>
|
|
+ produkteListe(String) : List<Produkt>
|
|
}
|
|
|
|
class DokumentListenController {
|
|
+ gefiltert(DokumentStatus) : List<Dokument>
|
|
+ aktionenFuer(Dokument) : BelegAktionen
|
|
+ storniere(String, boolean) : Meldung
|
|
}
|
|
|
|
class RechnungsWizardController {
|
|
+ weiter() : boolean
|
|
+ zurueck()
|
|
+ erzeugeZusammenfassung() : String
|
|
+ speichern() : Meldung
|
|
}
|
|
|
|
class RechnungsWizardModel {
|
|
- aktuellerSchritt : WizardSchritt
|
|
- kundenNr : String
|
|
- positionen : List<PositionsEingabe>
|
|
- rechnungsdatum : LocalDate
|
|
- zahlungsziel : LocalDate
|
|
}
|
|
|
|
enum WizardSchritt {
|
|
KUNDE_WAEHLEN
|
|
POSITIONEN_ERFASSEN
|
|
DATEN_BESTAETIGEN
|
|
ZUSAMMENFASSUNG
|
|
SPEICHERN
|
|
}
|
|
|
|
class Meldung {
|
|
- typ : MeldungsTyp
|
|
- feldname : String
|
|
- text : String
|
|
}
|
|
|
|
class BelegAktionen
|
|
class PositionsEingabe
|
|
}
|
|
|
|
package "Schnittstellen Gruppen A-C" {
|
|
interface DokumentService
|
|
interface KundenService
|
|
interface ProduktService
|
|
}
|
|
|
|
package "gemeinsam" {
|
|
class EreignisBus
|
|
}
|
|
|
|
ModulPanel <|.. KundenPanel
|
|
ModulPanel <|.. ProduktPanel
|
|
ModulPanel <|.. DokumentListenPanel
|
|
|
|
HauptFenster *-- KundenPanel
|
|
HauptFenster *-- ProduktPanel
|
|
HauptFenster *-- DokumentListenPanel
|
|
|
|
KundenPanel --> StammdatenController
|
|
ProduktPanel --> StammdatenController
|
|
DokumentListenPanel --> DokumentListenController
|
|
RechnungsWizardDialog --> RechnungsWizardController
|
|
|
|
StammdatenController --> KundenService
|
|
StammdatenController --> ProduktService
|
|
DokumentListenController --> DokumentService
|
|
RechnungsWizardController --> DokumentService
|
|
RechnungsWizardController --> KundenService
|
|
RechnungsWizardController --> ProduktService
|
|
|
|
RechnungsWizardController *-- RechnungsWizardModel
|
|
RechnungsWizardModel --> WizardSchritt
|
|
RechnungsWizardModel *-- PositionsEingabe
|
|
RechnungsWizardController --> Meldung
|
|
DokumentListenController --> BelegAktionen
|
|
|
|
KundenPanel ..> EreignisBus : aktualisiert
|
|
ProduktPanel ..> EreignisBus : aktualisiert
|
|
DokumentListenPanel ..> EreignisBus : aktualisiert
|
|
@enduml
|