Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Carnielli Efrem: Programmazione a componenti<br />
Unified Software Process (USP)<br />
(comportamento): l'aspetto della macch<strong>in</strong>a del sistema che utilizzo.<br />
Esempio: per accendere la macch<strong>in</strong>a devo <strong>in</strong>serire la chiave, girandola <strong>in</strong>nesco un<br />
meccanismo che provoca una sc<strong>in</strong>tilla che fa esplodere la miscela <strong>di</strong> aria e benz<strong>in</strong>a<br />
all'<strong>in</strong>terno del pistone...<br />
Di quest'ultimo gruppo fanno parte i <strong>di</strong>agrammi dei casi d'uso che ci apprestiamo<br />
a descrivere.<br />
4.2.1.2 Use Case Diagram<br />
Gli use case <strong>di</strong>agram, o <strong>di</strong>agrammi dei casi d’uso, sono <strong>di</strong>agrammi che descrivono<br />
come viene percepito il comportamento <strong>di</strong> un sistema software da parte <strong>di</strong> un<br />
utente esterno. In sostanza esprimono il comportamento del sistema nei confronti<br />
dell'utente.<br />
Le funzionalità <strong>di</strong> un sistema vengono sud<strong>di</strong>vise <strong>in</strong> transazioni (casi d’uso) utili<br />
per ciascuna delle classi <strong>di</strong> utilizzatori (attori). Questo strumento si adatta bene<br />
all’analisi dei requisiti <strong>in</strong> quanto il committente spiega le sue richieste tramite<br />
esempi, enumerando un certo numero <strong>di</strong> utilizzi.<br />
Il successo <strong>di</strong> questi <strong>di</strong>agrammi è dovuto al fatto che un'applicazione è tale perché<br />
viene utilizzata dall’utente e qu<strong>in</strong><strong>di</strong> l’analisi deve partire dall’<strong>in</strong>terazione tra utente<br />
e sistema.<br />
Gli use case <strong>di</strong>agram si basano sul concetto <strong>di</strong> stereotipo, ovvero un qualcosa a cui<br />
viene associata una semantica generalizzata, accettata da tutti. UML offre una<br />
s<strong>in</strong>tassi, alcune regole <strong>di</strong> composizione della s<strong>in</strong>tassi e una blanda semantica (il<br />
significato della s<strong>in</strong>tassi).<br />
Gli use case <strong>di</strong>agram hanno come componenti:<br />
• Attori: rappresentano le entità che <strong>in</strong>teragiscono con il sistema (e non ne<br />
sono parte).<br />
• Casi d’uso: rappresentano l'<strong>in</strong>terazione tra uno o più entità esterne e il<br />
sistema <strong>in</strong> esame.<br />
• Connessioni: relazioni che possono <strong>in</strong>staurarsi tra utenti e casi d'uso o<br />
tra casi d'uso e casi d'uso.<br />
4.2.1.2.1 Attori<br />
L’attore è un ruolo che un'entità esterna impersona nei confronti del sistema <strong>in</strong><br />
esame. L'entità esterna è tipicamente un utente ma può essere anche un altro<br />
sistema. Un attore sollecita il sistema con qualche evento e ne riceve un output.<br />
Un attore può <strong>in</strong>teragire con il sistema per mezzo <strong>di</strong> una GUI (se è un utente),<br />
oppure attraverso un <strong>in</strong>terfaccia application-to-application.<br />
Una medesima entità esterna può impersonificare più attori e viceversa lo stesso<br />
76