diff --git a/modellierung/holzhandel_sequenz_general.puml b/modellierung/holzhandel_sequenz_general.puml new file mode 100644 index 0000000000000000000000000000000000000000..8a4d5999600f607e7710a90bcc485b6cce9abbf4 --- /dev/null +++ b/modellierung/holzhandel_sequenz_general.puml @@ -0,0 +1,230 @@ +@startuml + +'Allgemeine Fragen / TODOs +' - wie setzen wir den DZ Wald um? +' - wie werden Nachrichten modelliert und worüber versendet? + +skinparam maxMessageSize 120 + +box #LightBlue +participant Waldbesitzer +participant WaldmanagerApp + note over WaldmanagerApp: z.B.ForestManager + +box #LightGreen +participant DZ_Wald +end box + +box #LightPink +participant DienstleisterApp + note over DienstleisterApp + z.B.ForestManager + oder ForstifyHolzaufnahmeApp + end note +participant Dienstleister +end box + +box #LightYellow +participant Holzhandelsplattform + note over Holzhandelsplattform: z.B.Forstify +participant Käufer +end box + +== Aufnahme von Notizen (hier: Beobachtung) == + +Waldbesitzer -> WaldmanagerApp: Beobachtung eintragen +activate WaldmanagerApp + WaldmanagerApp -> DZ_Wald: Speichern der Beobachtung + activate DZ_Wald + DZ_Wald --> WaldmanagerApp: gespeichert + deactivate DZ_Wald +deactivate WaldmanagerApp + +== Aufnahme eines Waldweges == + +Waldbesitzer -> WaldmanagerApp: Waldweg abgehen +activate WaldmanagerApp +Waldbesitzer -> WaldmanagerApp: Wendepunkt anlegen + WaldmanagerApp -> DZ_Wald: Speichern des Waldweges + activate DZ_Wald + DZ_Wald --> WaldmanagerApp: gespeichert + deactivate DZ_Wald +deactivate WaldmanagerApp + +== Holzeinschlag und Holzaufnahme == + +Waldbesitzer -> WaldmanagerApp: Arbeitsauftrag für Maßnahme erstellen +activate WaldmanagerApp +Waldbesitzer -> WaldmanagerApp: zu fällende Bäume zu Arbeitsauftrag hinzufügen + WaldmanagerApp -> DZ_Wald: speichern des Arbeitsauftrags + activate DZ_Wald + DZ_Wald --> WaldmanagerApp: Fertig + deactivate DZ_Wald +deactivate WaldmanagerApp + +Waldbesitzer -> WaldmanagerApp: Den Dienstleister die Maßnahme durchführen lassen +activate WaldmanagerApp + WaldmanagerApp -> DZ_Wald: Zugriff auf Arbeitsauftrag und Holzliste für Dienstleister freigeben + activate DZ_Wald + DZ_Wald -> DienstleisterApp: Dienstleister benachrichtigen + note top + Autragsdaten übergeben + end note + activate DienstleisterApp + DZ_Wald --> WaldmanagerApp: Ok + deactivate DZ_Wald +deactivate WaldmanagerApp + +DienstleisterApp -> DZ_Wald: Abruf Arbeitsauftrag, Holzliste +activate DZ_Wald +DZ_Wald --> DienstleisterApp: Arbeitsauftrag, Holzliste +deactivate DZ_Wald +DienstleisterApp -> Dienstleister: Dienstleister benachrichtigen +deactivate DienstleisterApp + +activate Dienstleister + loop n times + note over Dienstleister: z.B. Bäume fällen etc. + Dienstleister -> Dienstleister: Maßnahme durchführen (lassen) + end + note right: Erntemaßnahme außerhalb Projekt-Scope. + + loop Holzaufnahme n times + Dienstleister -> DienstleisterApp: Maßnahme digital erfassen + note right:Auch von Waldbesitzer durchführbar + activate DienstleisterApp + DienstleisterApp -> DZ_Wald: Erstelle Holzliste + activate DZ_Wald + DZ_Wald --> DienstleisterApp: Fertig + deactivate DZ_Wald + DienstleisterApp --> Dienstleister: Fertig + deactivate DienstleisterApp + + note over Dienstleister + Auch innerhalb der + oberen Loop möglich + end note + end + +Dienstleister -> DienstleisterApp: Arbeitsauftrag abgeschlossen +deactivate Dienstleister + +activate DienstleisterApp + DienstleisterApp -> DZ_Wald: Update Arbeitsauftrag (Status) +deactivate DienstleisterApp + +activate DZ_Wald + DZ_Wald -> DZ_Wald: Soll-Ist Vergleich gefälltes Holz + DZ_Wald -> WaldmanagerApp: Arbeitsauftrag abgeschlossen +deactivate DZ_Wald + +activate WaldmanagerApp + WaldmanagerApp -> DZ_Wald: Zugriff für Dienstleister beenden + activate DZ_Wald + WaldmanagerApp <-- DZ_Wald: Ok + deactivate DZ_Wald + WaldmanagerApp -> Waldbesitzer: Arbeitsauftrag abgeschlossen +deactivate WaldmanagerApp + +== OPTIONAL: Preisangebote einholen (vor oder nach Einschlag) == + +Waldbesitzer -> WaldmanagerApp: Preisbereiche für stehendes Holz / Holzlisten anfragen +activate WaldmanagerApp +WaldmanagerApp -> DZ_Wald: Preisbereiche für stehendes Holz / Holzlisten anfragen +activate DZ_Wald +DZ_Wald -> Holzhandelsplattform: Gesuche/Preise/Angebote passend zu stehendem Holz / Holzlisten abrufen +activate Holzhandelsplattform +Holzhandelsplattform --> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten/SEC.Holzpreisbereiche +deactivate Holzhandelsplattform +DZ_Wald -> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten auswerten, d.h. SEC.Holzpreisbereiche anlegen +DZ_Wald --> WaldmanagerApp: Fertig / Holzpreisbereiche +deactivate DZ_Wald +WaldmanagerApp --> Waldbesitzer: Fertig / Holzpreisbereiche +deactivate WaldmanagerApp + +== Holzangebot via Holzhandelsplattform erstellen & einstellen == + +Waldbesitzer -> Holzhandelsplattform: (S3I) Login +'Holzliste zum Verkauf veröffentlichen! +activate Holzhandelsplattform + activate Waldbesitzer + Waldbesitzer -> Holzhandelsplattform: Freigabe für DZ Wald erteilen + activate Holzhandelsplattform + Holzhandelsplattform -> DZ_Wald: Get Holzlisten-Daten + activate DZ_Wald + DZ_Wald --> Holzhandelsplattform: Holzlisten-Daten + deactivate DZ_Wald + Holzhandelsplattform --> Waldbesitzer: Ok! + deactivate Holzhandelsplattform + Waldbesitzer -> Holzhandelsplattform: Verkaufslose bilden, Preise etc. eingeben + Holzhandelsplattform -> Holzhandelsplattform: Verkauflose bilden + Holzhandelsplattform -> DZ_Wald: Put Verkaufslose, verknüpfe Holzlisten + activate DZ_Wald + DZ_Wald --> Holzhandelsplattform: Fertig + deactivate DZ_Wald + Holzhandelsplattform --> Waldbesitzer: Fertig + deactivate Waldbesitzer + + Käufer <-> Holzhandelsplattform: Interaktion... + note right: Eigentlicher Abschluss außerhalb des Projekt-Scope. + activate Käufer + Holzhandelsplattform -> DZ_Wald: Get Holzlistenstatus in Holzlisten + activate DZ_Wald + Holzhandelsplattform <-- DZ_Wald: Holzlistenstatus + deactivate DZ_Wald + Holzhandelsplattform -> DZ_Wald: Update Verkaufsstatus in Verkaufslos + activate DZ_Wald + DZ_Wald -> WaldmanagerApp: Update Verkaufsstatus in Verkaufslos (Benachrichtigung / Event?) + deactivate DZ_Wald + activate WaldmanagerApp + WaldmanagerApp -> Waldbesitzer: Verkaufsstatus + deactivate WaldmanagerApp + deactivate Käufer + +deactivate Holzhandelsplattform + +== VARIANTE: Holzangebot via Dienstleister-App erstellen & einstellen == + +note over DZ_Wald #FF0000 + TODO Igor nochmal anpassen +end note + +Waldbesitzer -> DienstleisterApp: (S3I) Login +activate Waldbesitzer +activate DienstleisterApp +Waldbesitzer -> DienstleisterApp: Freigabe für DZ Wald erteilen +activate DienstleisterApp + DienstleisterApp -> DZ_Wald: Get Holzlisten-Daten + activate DZ_Wald + DZ_Wald --> DienstleisterApp: Holzlisten-Daten + deactivate DZ_Wald + DienstleisterApp --> Waldbesitzer: Ok! +deactivate DienstleisterApp + Waldbesitzer -> DienstleisterApp: Preise etc. eingeben + note right: Dienstleister kann Holzlisten von versch. Waldbesitzer holen und daraus Verkaufslose bilden + DienstleisterApp -> DienstleisterApp: Verkauflose bilden + DienstleisterApp <-> Holzhandelsplattform: Verkauflose veröffentlichen (Optional) + note right: Eigentlicher Abschluss außerhalb des Projekt-Scope. + DienstleisterApp --> Waldbesitzer: Fertig +deactivate Waldbesitzer + +Käufer <-> DienstleisterApp: Interaktion... +activate DienstleisterApp + activate Käufer + note right: Eigentlicher Abschluss außerhalb des Projekt-Scope. + DienstleisterApp -> DZ_Wald: Get Holzlistenstatus in HolzlisteSubmodel + activate DZ_Wald + DienstleisterApp <-- DZ_Wald: Holzlistenstatus + deactivate DZ_Wald + Käufer <-> DienstleisterApp: Interaktion... + DienstleisterApp -> DZ_Wald: Update Holzlistenstatus in HolzlisteSubmodel + activate DZ_Wald + DZ_Wald -> WaldmanagerApp: Update Holzlistenstatus in HolzlisteSubmodel (Benachrichtigung / Event?) + deactivate DZ_Wald + activate WaldmanagerApp + WaldmanagerApp -> Waldbesitzer: Holzlistenstatus + deactivate WaldmanagerApp + deactivate Käufer +deactivate DienstleisterApp + +@enduml \ No newline at end of file diff --git a/modellierung/holzhandel_sequenz.puml b/modellierung/holzhandel_sequenz_technical.puml similarity index 100% rename from modellierung/holzhandel_sequenz.puml rename to modellierung/holzhandel_sequenz_technical.puml