Sto leggendo Applicando UML e Pattern e cercando di abbinare i principi di OOA & D in là a un progetto su cui ho lavorato. È una sorta di esercizio di apprendimento retroattivo.
La domanda di base a cui sto cercando di rispondere è che ho la comprensione corretta su come trovare gli attori in questo dominio? Li ho trovati correttamente?
L'idea di base del progetto è quella di collegare allarmi di sicurezza di vari marchi con comportamenti generalmente simili (sebbene con differenze significative) e distinti protocolli TCP proprietari a un server o server e controllarli tramite un'app mobile (e anche tramite un'applicazione web se non sei un utente finale.
Quindi l'utente sarà in grado di inserire / disinserire un allarme di qualsiasi marca dal suo telefono ed eseguire comandi simili, oltre a ricevere una notifica quando scatta l'allarme e altri eventi. Inoltre, gli eventi verranno inviati ai centri di monitoraggio (di terze parti). Gli utenti sono clienti dei centri di monitoraggio.
Un comando arm inviato dal telefono chiamerà un'API REST che a sua volta invierà il comando al server da eseguire interagendo con l'allarme tramite il suo protocollo.
Il server espone quindi almeno due porte, una per la ricezione di comandi e una per gli allarmi di un determinato modello per la connessione.
Vedo i seguenti sistemi in discussione (SuD): l'app mobile, l'applicazione web che contiene l'API REST, gli allarmi modello X, gli allarmi modello Y, il server TCP (potrebbero esserne presenti più di uno).
Il libro parla di attori primari. Quelli hanno gli obiettivi degli utenti soddisfatti attraverso l'utilizzo dei servizi del SuD.
Vedo i seguenti attori principali:
-
L'utente: il suo obiettivo è interagire con gli allarmi attraverso l'app mobile.
-
L'app mobile: il suo obiettivo è interagire con gli allarmi tramite l'API REST.
-
L'applicazione web: il suo obiettivo è comandare i pannelli attraverso il server TCP e registrare e gestire utenti e allarmi.
-
Il centro di monitoraggio: il suo obiettivo è registrare utenti e allarmi.
-
L'amministratore: il suo obiettivo è registrare i centri di monitoraggio e gestire gli utenti e gli allarmi.
Il libro parla di attori secondari. Quelli forniscono un servizio (per esempio informazioni) al SuD.
Vedo i seguenti attori di supporto:
-
Il server TCP: esegue i comandi dall'API REST dell'applicazione Web.
-
Gli allarmi: obbedire al server TCP.
Attori fuori scena: hanno interesse nel comportamento del caso d'uso, ma non sono primari o di supporto. Non ne vedo nessuno.
Ho trovato correttamente i SuD e gli attori?