Che cos'è l'ingegneria dei requisiti?

I grandi sistemi hardware o software, come un veicolo spaziale, hanno requisiti complessi. I requisiti sono una specifica di cosa dovrebbe essere costruito, come dovrebbe comportarsi il sistema o vincoli sul processo di costruzione del sistema. L'ingegneria dei requisiti è l'uso di buone pratiche ingegneristiche per comprendere i requisiti prima della costruzione di un sistema. Assume importanza perché le parti interessate del sistema non sono esse stesse chiare sulle loro esigenze e hanno esigenze divergenti.

Un sistema complesso può avere molte parti interessate come le persone che commissionano il sistema, gli utenti che utilizzano uno o più aspetti del sistema e le persone che beneficiano del sistema. È anche possibile che le parti interessate includano membri del pubblico che sono interessati da alcune peculiarità del sistema. Le parti interessate hanno i loro bisogni speciali. D'altra parte, le persone che sviluppano il sistema possono essere tecnicamente capaci, ma potrebbero non comprendere appieno il punto di vista degli stakeholder. L'ingegneria dei requisiti è la capacità essenziale che collega questi lati.

Formalmente, l'attività di ingegneria dei requisiti è suddivisa in sviluppo e gestione dei requisiti. Lo sviluppo dei requisiti è composto da elicitazione, analisi, specifica e verifica. La gestione dei requisiti è il controllo dell'intero processo dei requisiti, in particolare la gestione di qualsiasi modifica dei requisiti. Alcuni praticanti, al contrario, chiamano l'intera attività come analisi dei requisiti.

L'elicitazione dei requisiti da parte degli stakeholder diventa necessaria perché gli stakeholder spesso non specificano completamente i loro bisogni e non comprendono le implicazioni del nuovo sistema. Le parti interessate potrebbero non aprirsi, poiché potrebbero temere l'impatto sui loro lavori attuali. L'elicitazione, quindi, è un processo attento e, possibilmente, lungo, in cui sono necessarie empatia e psicologia sottile. Bisogna stare attenti a colmare le differenze culturali tra le diverse parti interessate e gli sviluppatori.

Diverse tecniche sono utilizzate per ottenere requisiti. I requisiti potrebbero essere evocati attraverso interviste individuali, riunioni di gruppo e osservando le persone nei loro compiti. Le tecniche che possono presentare requisiti includono focus group, creazione di elenchi prioritari, prototipazione e confronto con altri sistemi in funzione. I requisiti da ottenere comprendono le esigenze aziendali del sistema, i processi aziendali degli utenti durante l'utilizzo del sistema e le caratteristiche funzionali del sistema. Inoltre, devono essere richiesti requisiti non funzionali come tempo di risposta, disponibilità del sistema e facilità d'uso.

La fase di analisi nella progettazione dei requisiti forma requisiti di basso livello in grado di soddisfare i requisiti di alto livello originali. Ciò include la creazione di modelli concettuali e prototipi per accertare la completezza dei requisiti. I conflitti nei bisogni delle diverse parti interessate si trovano più spesso da modelli e prototipi che da un semplice elenco di requisiti. Gli analisti devono aggiungere ai requisiti le caratteristiche di sistema desiderabili come sicurezza, flessibilità e manutenibilità.

I requisiti sono specificati in un documento per facilitare la comprensione di tutte le parti interessate. Nel campo del software, il documento si chiama SRS, che sta per Specifica dei requisiti software. I requisiti sono verificati dalle principali parti interessate. Ciò avviene principalmente tramite presentazioni e documenti di specifica, ma a volte anche con casi di test che corrispondono ai requisiti.

L'ingegneria dei requisiti è principalmente una comunicazione, un'attività piuttosto che tecnica. Ha bisogno di competenze multidisciplinari. L'ingegneria dei requisiti aiuta le parti interessate e gli sviluppatori a risolvere i conflitti e li unisce nei loro obiettivi; Questo porta a un sistema robusto.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?