-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathusecase.puml
More file actions
162 lines (113 loc) · 4.16 KB
/
Copy pathusecase.puml
File metadata and controls
162 lines (113 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
@startuml
' =============== FALLER WEB HARVESTER - USE CASE =============
' Diagramma dei casi d’uso del sistema Faller Web Harvester.
' Include attori, funzionalità utente, funzionalità admin, relazioni include/extend e note esplicative.
left to right direction
skinparam usecase {
BackgroundColor White
BorderColor DarkSlateGray
}
' =============== ATTORI PRINCIPALI ===========================
actor Utente
actor "Amministratore" as Admin
' Spaziatura verticale tra gli attori
Utente -[hidden]down- Admin
' =============== SISTEMA =====================================
rectangle "Faller Web Harvester" #LightGray {
' =============== AZIONI UTENTE ==========================
package "Azioni Utente" #AliceBlue {
' Casi d’uso principali dell’utente (ordine logico 1→6)
usecase "Avvia lo scraping" as UC1
usecase "Ricerca un prodotto" as UC2
usecase "Filtra i risultati" as UC3
usecase "Scarica immagini/documenti" as UC4
usecase "Genera l'output (Excel/ZIP)" as UC5
usecase "Elimina i dati estratti" as UC6
' Casi d’uso interni (non numerati)
usecase "Visualizza la dashboard" as UC8
usecase "Estrazione dei dati del prodotto" as UC7
}
' =============== AZIONI AMMINISTRATORE ==================
package "Azioni Amministratore" #GhostWhite {
usecase "Visualizza il pannello amministratore" as UC12
' Casi d’uso principali dell’amministratore (ordine logico 1→6)
usecase "Visualizza le statistiche" as UC13
usecase "Scansiona i file (Immagini/PDF)" as UC14
usecase "Controlla i duplicati" as UC15
usecase "Elimina gli asset fisici" as UC16
usecase "Esporta l'Excel (Tutti i dati)" as UC17
usecase "Sincronizza il database" as UC18
}
}
' =============== NOTE UTENTE ================================
note right of Utente
**Utente**
L’utente deve autenticarsi per poter avviare lo scraping.
end note
' =============== NOTE AMMINISTRATORE ========================
note right of UC12
**Amministratore**
Accesso al pannello riservato per gestione e manutenzione.
end note
note right of UC12
**Visualizza statistiche**
Mostra numero di prodotti, immagini e PDF presenti.
**Asset** = foto + PDF ed altre caratteristiche prodotto salvati nel sistema.
end note
note right of UC12
**Esporta Excel Globale**
Genera un file Excel contenente l’intero catalogo.
end note
note right of UC12
**Elimina asset fisici**
Cancella definitivamente immagini, PDF e tutti i prodotti dal database.
end note
note right of UC12
**Sincronizza database**
Confronta il database con i file realmente presenti.
end note
' =============== RELAZIONI UTENTE ===========================
Utente --> UC1
Utente --> UC2
Utente --> UC3
Utente --> UC4
Utente --> UC5
Utente --> UC6
' Include: lo scraping richiede l’estrazione dei dati
UC1 --> UC7 : <<include>>
' Extend: il download può richiedere l’estrazione
UC4 ..> UC7 : <<extend>>
' Extend verso la dashboard (ricerca, filtri, download, output, eliminazione)
UC2 ..> UC8 : <<extend>>
UC3 ..> UC8 : <<extend>>
UC4 ..> UC8 : <<extend>>
UC5 ..> UC8 : <<extend>>
UC6 ..> UC8 : <<extend>>
' =============== RELAZIONE ESTRAZIONE → DASHBOARD ===========
' Nota: la relazione UML corretta sarebbe:
' Estrazione dati prodotto <<extend>> Visualizza dashboard
'
' Tuttavia, PlantUML riorganizza il layout se si disegna la freccia, compromettendo la leggibilità del diagramma.
' Per questo motivo la relazione è documentata tramite nota, pur rimanendo valida nel modello concettuale.
note as EXTNOTE
Estrazione dati prodotto <<extend>> Visualizza dashboard
end note
' Posizionamento controllato della nota (linee invisibili)
UC7 -[hidden]-> EXTNOTE
EXTNOTE -[hidden]-> UC8
' =============== RELAZIONI AMMINISTRATORE ===================
Admin --> UC12
Admin --> UC13
Admin --> UC14
Admin --> UC15
Admin --> UC16
Admin --> UC17
Admin --> UC18
' Tutte le funzioni amministrative estendono il pannello admin
UC13 ..> UC12 : <<extend>>
UC14 ..> UC12 : <<extend>>
UC15 ..> UC12 : <<extend>>
UC16 ..> UC12 : <<extend>>
UC17 ..> UC12 : <<extend>>
UC18 ..> UC12 : <<extend>>
@enduml