29.05.2013 Views

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

In effetti, l'adozione di tale approccio non risulta ottimale in sistemi come data warehouse,<br />

sistemi CAD 67 , ad esempio, per i quali i casi d'uso potranno essere definiti, senza apportare, però,<br />

benefici significativi nella specifica della maggior parte <strong>dei</strong> requisiti.<br />

Rispetto alle specifiche di analisi tradizionalali, i casi d'uso presentano un vantaggio di fondo,<br />

che risiede nella migliore comunicazione con il committente. Infatti, se tipicamente le prime<br />

descrivono in maniera astratta le funzionalità interne al sistema, i casi d'uso descrivono in maniera<br />

più concreta, sotto forma di dialogo , le interazioni (azione dell'attore – reazione del sistema).<br />

Uno degli errori che dovrebbero essere evitati nel loro utilizzo è quello di adoperarli secondo<br />

una logica di scomposizione funzionale troppo spinta, descrivendo al livello atomico ogni singola<br />

funzione del sistema o di sue componenti 68 , per la quale essi sono inadeguati. Operare in questo<br />

modo, infatti, farebbe perdere, principalmente, il buon livello di comunicazione con i committenti<br />

offerto dai casi d'uso.<br />

Un altro aspetto interessante concerne la sicurezza nel modello <strong>dei</strong> casi d'uso. Come è noto, si<br />

tratta di un requisito non funzionale che costituisce un vincolo sentito in qualunque sistema e,<br />

quindi, nella maggior parte <strong>dei</strong> casi d'uso.<br />

L'approccio più tradizionale prevede di includere i relativi casi d'uso a tutti gli use case che<br />

devono applicare i requisiti di sicurezza.<br />

Per chiarire il concetto, consideriamo l'esempio di una segereteria online per studenti, per la<br />

quale definizamo gli use case "autenticazione studente" (che servirà ad accertarsi che l'utente sia<br />

effettivamente quello che dichiara di essere e per il quale il problema riguarda anche lo scambio di<br />

messaggio con altri sistemi), "autorizzazione ad espletare la funzionalità selezionata" (si noti che, se<br />

un utente è autorizzato a svolgere l'attività che ha selezionato, come la visualizzazione degli esami<br />

sostenuti, ciò non vuol dire che potrà richiedere lo stesso servizio per un altro insieme di dati, come<br />

la lista degli esemi sostenuti da un altro studente), "autorizzazione al trattamento <strong>dei</strong> dati richiesti",<br />

ecc.<br />

È evidente che tale approccio, sebbene molto semplice, complichi la descrizione <strong>dei</strong> casi d'uso.<br />

Dunque, una tecnica alternativa da adoperare potrebbe essere quella di "isolare" i casi d'uso<br />

della sicurezza dagli altri, così da avere il vantaggio di poter specificare particolari<br />

comportamenti/requisiti.<br />

Ritornando all'esempio precedente, dopo il riconoscimento dell'utente si potrebbe richiedere di<br />

verificare se il profilo ad esso associato sia stato bloccato, oppure se la password sia scaduta.<br />

67 CAD è l'acronimo di Computer Aided Design. Il computer assite la fasse di progettazione non solo cambiando<br />

concezione del disegno (la modellazione solida crea un oggetto 3D virtualmente manipolabile sullo schermo), ma<br />

offrendo diversi mezzi di supporto per la verifica del progetto e l'ottimizzazione della produzione [17].<br />

68 A questo scopo possono essere adoperati approcci più consoni, come i diagrammi di flusso (activity diagram in<br />

UML)<br />

50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!