Università di Roma “La Sapienza”
sede di Latina
a.a 2009-2010
Progettazione strutturale in UML:
 Component and Connector Diagram
 Deployment Diagram
A cura di:
Daniele Gazzelloni e Marco Marafini
Struttura dell'esercitazione
 Panoramica sui diagrammi progettuali di Deployment ed a
Componenti e Connettori.
Nuove tecnologie amministrative universitarie
 Struttura e componentistica di una gru
 Il caso VolBank
pag. 2
Progettazione strutturale in UML
Studio di casi reali e sviluppo di una progettazione UML
adeguata con Deployment Diagram e con diagrammi a
Componenti e Connettori.
C&C diagram: rappresentano l'architettura software del
sistema, ovverlo la suddivisione di esso in varie
componenti (classi, librerie, DB, eseguibili, etc..) e le
dipendenze tra questi.
Deployment diagram: rappresentano le relazioni
fisiche che sussistono tra i vari componenti software e
l'hardware del sistema.
pag. 3
Progettazione strutturale in UML
Diagram
Structure
Class
Diagram
Behaviour
Activity
Diagram
Component
Diagram
Deployment
Diagram
Package
Diagram
State
Machine
Interaction
Diagram
Compositive
Structure
Object
Diagram
Use Case
Diagram
Timing
Diagram
Comunication
Diagram
Interaction
Overview
Sequence
Diagram
Caso primo:
Sistema di gestione esami
CellEx
pag. 5
Caso primo: Sistema di gestione esami CellEx
L'ateneo in questione richiede lo sviluppo di un sistema di registrazione
degli esami basato sull'uso dei telefoni cellulari da parte dei docenti.
Per ogni corso, caratterizzato da un codice, e nominata una
commissione, formata dai docenti che possono svolgere il ruolo di
esaminatore. Tra di essi, e designato il presidente di commissione. Il
sistema, denominato CellEx, prevede che i docenti abilitati all’uso di
CellEx che fanno parte della commissione, utilizzino il cellulare per
verbalizzare gli esami, mediante l’invio di un SMS al numero
telefonico del servizio. Come misura di sicurezza e autenticazione, i
docenti si abilitano al servizio registrando (una volta sola) su CellEx
il numero del loro telefono cellulare.
pag. 6
Caso primo: Sistema di gestione esami CellEx
Ogni docente ha un indirizzo mail. Giornalmente, CellEx registra gli
esami della giornata nel sistema S3 (che e in uso da anni nell’Ateneo)
e invia agli esaminatori di ogni corso una mail contenente
un’indicazione di tutti gli esami del loro corso registrati in giornata. In
seguito alla ricezione della mail, il presidente della commissione
provvede a rispondere per confermare. CellEx attende 60 giorni l’invio
della mail di conferma.
Gli esami confermati sono definitivamente archiviati in S3, quelli non
confermati sono cancellati da S3 e devono essere registrati manualmente
dal presidente della commissione, secondo una procedura che prevede
l’uso di uno statino in formato cartaceo. Utilizzando l’elenco degli
studenti iscritti a un appello, organizzato in sottoelenchi per ogni
giornata di esami, il docente procede a effettuare l’esame che puo avere
un esito positivo (voto maggiore o uguale a 18 trentesimi) o negativo.
Solo gli esami con esito positivo sono registrati mediante l’invio di un
SMS.
pag. 7
Caso primo: Sistema di gestione esami CellEx
pag. 8
Caso primo: Sistema di gestione esami CellEx
pag. 9
Caso primo: Sistema di gestione esami CellEx
Sistema CellEx
Il componente Sistema CellEx rappresenta il core del
sistema da progettare. Esso è composto da tre componenti
principali:
 Gestore numeri docenti
 Registrazione esami
 Gestione conferme esami
pag. 10
Caso primo: Sistema di gestione esami CellEx
Gestore numeri docenti
Con Gestore numeri docenti si intende rappresentare
quella parte del sistema software che si occupa della
gestione dei numeri di telefono, interfacciandosi con il
“database utenti”.
In particolare questo componente si occupa di:
 Registrare un numero telefonico nel database, attraverso
una procedura di registrazione basata su SMS.
 Autenticare, e quindi consentire l'accesso al sistema
software, a tutti quei numeri persenti nel database utenti.
pag. 11
Caso primo: Sistema di gestione esami CellEx
Registrazione esami
Con Registrazione esami si intende rappresentare quella
parte del sistema software che si occupa della registrazione
giornaliera degli esami nel Database S3.
Inoltre questo componente invia agli esaminatori di ogni
corso una mail contenente un’indicazione di tutti gli esami
del loro corso registrati in giornata.
pag. 12
Caso primo: Sistema di gestione esami CellEx
Gestione conferme esami
Con Gestione conferme esami rappresenta la parte del
sistema dedita al management degli esami per i quali il
sistema CellEx attende 60 giorni l’invio della mail di
conferma da parte del presidente della commissione e
dopodiché provvede con due operazioni distinte:
 gli esami confermati sono definitivamente archiviati nel
database S3;
 quelli non confermati sono cancellati dal database S3.
pag. 13
Caso primo: Sistema di gestione esami CellEx
Database S3
Il componente Database S3 è l’archivio principale che
registra giornalmente gli esami che successivamente se
confermati verranno definitivamente archiviati, altrimenti
saranno eliminati.
pag. 14
Caso primo: Sistema di gestione esami CellEx
Database utenti CellEx
Il componente Database utenti CellEx contiene i numeri dei
cellulari degli esaminatori abilitati all’uso del sistema.
pag. 15
Caso primo: Sistema di gestione esami CellEx
 AbilitaNumero->RegistraNumero: Il sistema CellEx,
inizialmente, si occupa di abilitare l'utente registrando il
numero di telefono in un database apposito.
pag. 16
Caso primo: Sistema di gestione esami CellEx
ConfermaUtente->RiceveConferma: Il sistema CellEx,
quando riceve un SMS di registrazione di un esame,
confronta il numero di telefono dell'SMS con l'elenco dei
numeri presenti nel database apposito: in caso di matching,
invia una conferma positiva al sistema.
pag. 17
Caso primo: Sistema di gestione esami CellEx
 RegistraEsami->SalvaEsami: Se il numero di telefono
risulta abilitato al sistema, la richiesta di registrazione
dell'esame ha inizio: l'esame viene scritto nel database S3,
ed una mail viene spedita agli esaminatori di ogni corso.
pag. 18
Caso primo: Sistema di gestione esami CellEx
 ConfermaEsame->ScriviConferma: Il presidente della
commissione inva quindi una mail di conferma degli esami
registrati. Se riceve una conferma positiva, il sistema CellEx
registra permanentemente gli esami nel database S3.
pag. 19
Caso primo: Sistema di gestione esami CellEx
CancellaEsami->Elimina: Gli esami non confermati sono
cancellati da S3 e devono essere registrati manualmente
dal presidente della commissione.
pag. 20
Caso secondo:
Gru Hilg-6
pag. 21
Caso secondo: Gru Hilg-6
Da oltre trent’anni la società in questione produce gru per l’edilizia e
l’industria, mantenendo sempre elevati livelli tecnologici, nel rispetto degli
standard di sicurezza.
L’ultima generazione di gru, denominate Hilg-6, sono in grado di spostare
carichi fino a 25 tonnellate a un’altezza di 70 metri, con uno sbraccio
massimo di 80 metri. In accordo agli standard tecnologici, le gru Hilg-6
prevedono tre movimenti, anche concomitanti, del gancio (circolare,
orizzontale, verticale). I movimenti sono realizzati da motori elettrici da
110 KW. Oltre a questi attuatori, la gru e dotata di opportuni sensori: i
sensori di posizione sono in grado di rilevare la posizione del gancio
nello spazio 3D, i sensori di fine corsa segnalano alcuni eventi rilevanti
ai fini della sicurezza. In particolare, controllano i movimenti in orizzontale
e in verticale, e bloccano automaticamente il relativo motore.
pag. 22
Caso secondo: Gru Hilg-6
L’operatore puo controllare la gru mediante una pulsantiera dotata di sei
pulsanti (due per ogni movimento). La pressione e il rilascio di un
pulsante generano eventi trasmessi agli attuatori mediante un
collegamento wireless.
Le norme di sicurezza richiedono la memorizzazione di tutti gli eventi in
un log che li registra sequenzialmente rispetto al momento in cui
accadono, indicando anche la posizione del gancio.
pag. 23
Caso secondo: Gru Hilg-6
pag. 24
Caso secondo: Gru Hilg-6
pag. 25
Caso secondo: Gru Hilg-6
pag. 26
Caso secondo: Gru Hilg-6
Controllo movimento
Il componente Controllo movimento racchiude in se tutta la
gestione meccanica del gancio della gru. Esso contiene gli
attuatori ed è colui che effettua i movimenti nelle tre
direzioni: orizzontale, verticale e circolare. I comandi
vengono inviati dalla pulsantiera (Gestione movimento).
pag. 27
Caso secondo: Gru Hilg-6
Gestione movimento
Il componente Gestione movimento si occupa delle
operazioni di avviamento motore e controllo dei movimenti
del gancio tramite una pulsantiera, con la quale si inviano i
comandi agli attuatori. La pressione di ogni tasto provoca il
logging di tale evento nell’archivio dei log (sistema
registrazione operazione).
pag. 28
Caso secondo: Gru Hilg-6
Sistema rilevazione gancio
Il componente Sistema rilevazione gancio è composto da
due differenti sensori: quelli di rilevazione del gancio e
quelli di fine corsa. I primi rilevano la posizione del gancio
nello spazio 3D, i secondi si occupano invece di inviare un
segnale di blocco motore in caso di eventi rilevanti alla
sicurezza.
pag. 29
Caso secondo: Gru Hilg-6
Sistema registrazione operazione
Il
componente
Sistema
registrazione
operazione
rappresenta l’archivio dei log, contenente la registrazione
cronologica di tutti gli eventi segnalati dalla Gestione
movimento e dal Sistema rilevazione gancio.
pag. 30
Caso secondo: Gru Hilg-6
 InvioPosizione->RiceviPosizione:
Il
sistema
di
rilevamento del gancio, tramite i sensori di posizione invia
la posizione del gancio che si muove nello spazio 3D.
pag. 31
Caso secondo: Gru Hilg-6
 InvioBlocco->Blocca: I sensori di fine corsa, alla
rilevazione di un evento rilevante ai fini della sicurezza,
inviano un segnale di arresto-motore al controllo
movimento.
pag. 32
Caso secondo: Gru Hilg-6
 EventoSicurezza->Registra:
L’evento rilevante dell’arresto del
motore viene registrato nell’ archivio
dei log.
pag. 33
Caso secondo: Gru Hilg-6
 InvioComandi->Ricevicomandi:
Ogni
comando
riguardante
il
movimento,
l’accensione
o
lo
spegnimento, viene inviato al controllo
movimento dalla gestione movimento.
pag. 34
Caso secondo: Gru Hilg-6
 SegnalaEventi->MemorizzaEventi:
Ogni
comando
inviato dalla pulsantiera viene registrato nel sistema
registrazione operazione.
pag. 35
Caso terzo:
VolBank
pag. 36
Caso terzo: VolBank
La VolBank è un´ organizzazione senza fini di lucro che si occupa di
mettere in contatto volontari con persone e gruppi che hanno bisogno di
assistenza di qualsiasi genere. I principali obbiettivi che si pone questa
organizzazione sono la promozione del senso di appartenenza ad una
comunità, coinvolgendo persone in attività di volontariato sul loro
territorio. Questo viene fatto gestendo una lista di richieste di servizi ed
una lista di potenziali volontari, cercando quindi di associare ai volontari
le opportunità che maggiormente rispondono alle loro capacità. Fa parte
della filosofia di VolBank ritenere che ciascuno abbia delle qualità e delle
attitudini che può mettere a disposizione degli altri, cosí come dei bisogni
che devono essere soddisfatti. Per questo si incoraggiano i volontari a
fornire un elenco delle proprie necessità, ed i destinatari degli aiuti a
mettere a disposizione le proprie abilità.
pag. 37
Caso terzo: VolBank
Il nome VolBank nasce dall´ idea che le persone possono ´´depositare´´ il
tempo che sono in grado di mettere a disposizione degli altri, così come
una lista di capacità ed abilità che desiderano offrire.
VolBank è stata fondata in collaborazione con associazioni locali di
volontariato, che propongono interventi di lavoro di volontariato. Queste
organizzazioni fungono anche da punti di contatto sul territorio per i
volontari che desiderano farsi avanti.
I volontari possono comunicare le abilità e le capacità che intendono
offrire a VolBank telefonando a un´ organizzazione di volontari,
presentandosi di persona presso una delle associazioni locali di
volontariato, oppure compilando una apposita form di una pagina web.
pag. 38
Caso terzo: VolBank
Se il volontario si registra presso un´ associazione di volontariato, le sue
informazioni vengono trasmesse per iscritto a VolBank, dove saranno
inserite in archivio da un`organizzazione di volontari, come se il nuovo
iscritto avesse contattato VolBank direttamente per telefono.
Le associazioni di volontariato ed i singoli individui, tra cui i volontari
stessi, possono registrare le proprie richieste di aiuto contattando un`
organizzazione di volontari, che cercherà quindi di associare le persone
che mettono a disposizione il loro tempo che le varie opportunità. Questo
può avvenire in due modi differenti: confrontando il loro tempo con
l`elenco delle richieste, o confrontando una nuova richiesta con l´elenco
dei volontari. L` abbinamento viene fatto in base a criteri geografici (per
esempio, utilizzando il codice di avviamento postale), e facendo
combaciare le capacità offerte con le esigenze.
pag. 39
Caso terzo: VolBank
Una volta che i volontari sono stati assegnati a un`opportunità di servizio,
vengono loro comunicati i dettagli della richiesta, e se sono ancora
interessati, i loro riferimenti vengono trasmessi da un` organizzazione di
volontari all` associazione o alla singola persona che ha richiesto l`opera
di volontariato. Viene anche specificato ai volontari che questo secondo
passaggio non implica che verranno automaticamente accettati: per
alcuni particolari lavori, come per esempio interventi con i bambini,
potrebbero essere necessari ulteriori controlli o persino verifiche da parte
delle forze dell` ordine e dei servizi sociali. Questi sono compiti che
spettano all` associazione o al singolo che ha effettuato la richiesta.
VolBank sta allestendo un sistema informatico per gestire tutta la parte
relativa alla registrazione e all` abbinamento di volontari e opportunità,
nonché alla notifica degli abbinamenti alle varie parti in causa.
pag. 40
Caso terzo: VolBank
Supporto informatico di VolBank
VolBank ha bisogno di un sistema informatico in grado di gestire
l`abbinamento di volontari con le richieste di aiuto e viceversa; tale
sistema dovrà anche disporre di un collegamento con il web server di
VolBank.
Le associazioni di volontariato saranno avvertite di un possibile
abbinamento tra una loro richiesta e un volontario tramite fax o e-mail. I
volontari saranno avvertiti di un possible abbinamento tra loro e una
richiesta di aiuto tramite lettera cartacea.
pag. 41
Caso terzo: VolBank
Requisiti di VolBank (pt.1)
Sviluppare un sistema che gestisca la registrazione dei volontari e il
deposito del loro tempo:
 Registrare i dettagli dei volontari, comprese le abilità e capacità di
ciascuno di essi, ed i loro recapiti;
 Registrare il tempo che ogni volontario deposita, ossia può mettere a
disposizione;
 Trasferire dal web-server i dettagli dei volontari ed il tempo che stanno
depositando.
Gestire la registrazione delle opportunità di un servizio di volontariato:
 Registrare i dettagli delle associazioni di volontariato
 Registrare le esigenze e le richieste di aiuto fatte dalle associazioni di
volontariato
 Registrare le richieste di aiuto di singoli individui (tra cui i volontari
stessi)
pag. 42
Caso terzo: VolBank
Requisiti di VolBank (pt.2)
Abbinare donatori e riceventi dell’ attività di volontariato, e registrare il
risultato dell’abbinamento:
 Abbinare un volontario con attività di volontariato appropriate, da
effettuare nella sua zona
 Abbinare un’ attività di volontariato con volontari appropriati, nella
medesima zona
 Registrare ogni abbinamento tra volontari e richieste di aiuto
 Avvertire i volontari degli abbinamenti ottenuti che li riguardano
 Avvertire le associazioni di volontariato degli abbinamenti ottenuti che
le riguardano
 Registrare le riuscita di ogni abbinamento e stilare una convenzione
per ogni abbinamento riuscito
Produrre analisi statistiche del numero di volontari, delle opportunità di
volontariato e della quantità di tempo depositato.
pag. 43
Caso terzo: VolBank
pag. 44
Caso terzo: VolBank
pag. 45
Caso terzo: VolBank
pag. 46
Caso terzo: VolBank
pag. 47
Caso terzo: VolBank
Registrazioni
Webserver
Il componente Registrazioni Webserver identifica il server
web dedito alle registrazioni dei dati, del tempo e delle
abilità messe a disposizione dalle associazioni di
volontariato e dai singoli volontari. La registrazione avviene
tramite un form via web.
pag. 48
Caso terzo: VolBank
Sistema registrazioni
Il Sistema registrazioni è un componente software che
svolge la stessa funzione del webserver: quindi
registrazioni dei dati, del tempo e delle abilità messe a
disposizione dalle associazioni di volontariato e dai singoli
volontari. La registrazione avviene all’interno dell’azienda,
inserendo manualmente i dati all’interno del software.
pag. 49
Caso terzo: VolBank
Sistema associazioni
Il componente Sistema associazioni identifica quel modulo
software che si occupa dell’abbinamento dei donatori e
riceventi dell’attività di volontariato e ne registra il risultato
nel database associazioni. Dopo l’abbinamento i volontari
verranno avvertiti tramite fax o email.
pag. 50
Caso terzo: VolBank
Analisi statistiche
Il componente Analisi statistiche effettua analisi e statistiche
sul numero dei volontari, sulle opportunità di volontariato e
sulla quantità di tempo depositato dai volontari e dalle
associazioni. Le statistiche vengono salvate in un apposito
database.
pag. 51
Caso terzo: VolBank
Database
Il componente Database è costituito da tre sottocomponenti:
• DB dati clienti: E’ il database contenente i dati dei
volontari e delle associazioni di volontariato.
• DB associazioni: E’ il database contenente i dati relativi
alle associazioni effettuate dal sistema software.
• DB statistiche: E’ il database contenente i dati relativi alle
statistiche effettuate dal sistema software.
pag. 52
Caso terzo: VolBank
 Registra_datiClienti->Dati_Registrazioni: Il Sistema di
Registrazione si occupa della memorizzazione dei dati
anagrafici dei clienti (gruppi di volontariato e volontari
singoli), del loro tempo messo a disposizione e delle loro
capacità nel DB dati clienti.
pag. 53
Caso terzo: VolBank
 Dati_Associazioni->LeggeDB_Associazioni:
Il Sistema Associazioni preleva le informazioni necessarie
dal DB associazioni.
pag. 54
Caso terzo: VolBank
 ScriviDB_Associazioni->Memorizza_Associazioni:
Il Sistema Associazioni scrive le informazioni elaborate nel
DB associazioni.
pag. 55
Caso terzo: VolBank
 Registra_datiClienti->Dati_Registrazioni:
Il Web-Server si occupa della memorizzazione dei dati
anagrafici dei clienti (gruppi di volontariato e volontari
singoli), del loro tempo messo a disposizione e delle loro
capacità nel database apposito, attraverso un modulo da
compilare online.
Caso terzo: VolBank
 Dati_Clienti->Legge_Dati:
Il componente Analisi statistiche
legge i dati dal DB statistiche per
l’elaborazione.
pag. 57
Caso terzo: VolBank

Scrive_Statistiche>Riceve_Statistiche:
Il componente Analisi statistiche, dopo
aver elaborato i dati ricevuti, riporta i
risultati nel DB statistiche.
pag. 58