Cos'è un requisito funzionale nell'ingegneria del software?

Cos'è un requisito funzionale?

A Requisito funzionale (FR) è una descrizione del servizio che il software deve offrire. Descrive un sistema software o un suo componente. Una funzione non è altro che input per il sistema software, il suo comportamento e output. Può trattarsi di un calcolo, una manipolazione dei dati, un processo aziendale, l'interazione dell'utente o qualsiasi altra funzionalità specifica che definisce quale funzione è probabile che un sistema svolga. Vengono anche chiamati Requisiti Funzionali nell'Ingegneria del Software Specificazioni funzionali.

Nell'ingegneria del software e nell'ingegneria dei sistemi, un requisito funzionale può variare dalla dichiarazione astratta di alto livello della necessità del mittente alle specifiche matematiche dettagliate dei requisiti funzionali. Software funzionale i requisiti aiutano a catturare il comportamento previsto del sistema.

Cosa dovrebbe essere incluso nel documento sui requisiti funzionali?

Ecco come scrivere il documento sui requisiti funzionali:

Requisiti funzionali di esempio
Requisiti funzionali di esempio

I requisiti funzionali di un sistema dovrebbero includere quanto segue:

  • Dettagli delle operazioni eseguite in ogni schermata
  • La logica di gestione dei dati deve essere inserita nel sistema
  • Dovrebbe contenere descrizioni dei report di sistema o altri output
  • Informazioni complete sui flussi di lavoro eseguiti dal sistema
  • Dovrebbe definire chiaramente chi sarà autorizzato a creare/modificare/eliminare i dati nel sistema
  • Il modo in cui il sistema soddisferà le esigenze normative e di conformità applicabili dovrebbe essere indicato nel documento funzionale

Vantaggi dei requisiti funzionali

Ecco i pro/vantaggi della creazione di un tipico documento sui requisiti funzionali:

  • Ti aiuta a verificare se l'applicazione fornisce tutte le funzionalità menzionate nei requisiti funzionali di tale applicazione
  • Un documento sui requisiti funzionali aiuta a definire la funzionalità di un sistema o di uno dei suoi sottosistemi.
  • I requisiti funzionali insieme all'analisi dei requisiti aiutano a identificare i requisiti mancanti. Aiutano a definire chiaramente il servizio e il comportamento del sistema previsti.
  • Gli errori rilevati nella fase di raccolta dei requisiti funzionali sono i più economici da correggere.
  • Supportare obiettivi, compiti o attività dell'utente

Tipi di requisiti funzionali

Di seguito sono riportati i tipi di requisiti funzionali più comuni:

  • Gestione delle transazioni
  • Regole aziendali
  • Requisiti di certificazione
  • Requisiti di segnalazione
  • Funzioni amministrative
  • Livelli di autorizzazione
  • Monitoraggio dell'audit
  • Interfacce esterne
  • Gestione dei dati storici
  • Requisiti legali e normativi

Esempio di requisiti funzionali

Di seguito sono riportati gli esempi di requisiti funzionali più diffusi:

  • Il software convalida automaticamente i clienti rispetto al sistema di gestione dei contatti ABC
  • Il sistema Vendite dovrebbe consentire agli utenti di registrare le vendite dei clienti
  • Il colore di sfondo per tutte le finestre dell'applicazione sarà blu e avrà un valore di colore RGB esadecimale pari a 0x0000FF.
  • Solo i dipendenti di livello manageriale hanno il diritto di visualizzare i dati sulle entrate.
  • Il sistema software dovrebbe essere integrato con l'API bancaria
  • Il sistema software dovrebbe passare Unità 508 requisito di accessibilità.

Requisiti non funzionali e requisiti funzionali

Ecco le differenze chiave tra i requisiti funzionali e non funzionali in Software Engineering:

Scheda Sintetica Requisito funzionale Requisito non funzionale
Cos'è Verbo Attributi
Requisito È obbligatorio Non è obbligatorio
Tipo di cattura Viene acquisito nel caso d'uso. Viene catturato come attributo di qualità.
Risultato finale caratteristica di prodotto Proprietà del prodotto
Catturare Facile da catturare Difficile da catturare
Obiettivo Aiuta a verificare la funzionalità del software. Ti aiuta a verificare le prestazioni del software.
Area di interesse Concentrarsi sulle esigenze dell'utente Si concentra sulle aspettative dell'utente.
Documentazione Descrivi cosa fa il prodotto Descrive come funziona il prodotto
Tipo di test Test funzionali come sistema, integrazione, end to end, Test dell'API, ecc. Test non funzionali come prestazioni, stress, usabilità, Test di sicurezza, ecc.
Esecuzione del test L'esecuzione del test viene eseguita prima dei test non funzionali. Dopo il test funzionale
Informazioni sul prodotto Caratteristiche Proprietà del prodotto

miglior pratica di Requisito Funzionale

Le migliori pratiche importanti per lo sviluppo del documento sui requisiti funzionali sono le seguenti:

  • Non combinare due requisiti in uno solo. Mantieni i requisiti granulari.
  • Dovresti rendere ogni requisito il più completo e accurato possibile.
  • Il documento dovrebbe redigere tutti i requisiti tecnici.
  • Mappare tutti i requisiti sugli obiettivi e sui principi che contribuiscono al successo della distribuzione del software
  • Sollecitare requisiti utilizzando interviste, workshop e comunicazioni casuali.
  • Se esiste un vincolo noto e verificato che influisce materialmente su un requisito, allora si tratta di uno stato critico che dovrebbe essere documentato.
  • È necessario documentare tutte le ipotesi nel documento.

Errori durante la creazione di un requisito funzionale

Ecco alcuni errori comuni commessi durante la creazione del documento sui requisiti della funzione:

  • Inserimento di informazioni aggiuntive ingiustificate che potrebbero confondere gli sviluppatori
  • Non inserire dettagli sufficienti nel documento dei requisiti.
  • Aggiungi regole o esempi, dichiarazioni di definizione o obiettivi, qualsiasi cosa tranne il requisito stesso.
  • Tralasciare un'informazione importante che è assolutamente necessaria per dichiarare il requisito in modo completo, accurato e definitivo.
  • Alcuni professionisti iniziano a difendere i requisiti che hanno documentato quando il requisito viene modificato, invece di trovare la verità corretta.
  • Requisiti che non sono associati a un obiettivo o principio.

APPRENDIMENTI CHIAVE

  • Spiegare i requisiti funzionali nell'ingegneria del software: i requisiti funzionali definiscono un sistema o i suoi componenti
  • Il documento sui requisiti funzionali deve contenere la logica di gestione dei dati e informazioni complete sui flussi di lavoro eseguiti dal sistema
  • I requisiti funzionali insieme all'analisi dei requisiti aiutano a identificare i requisiti mancanti
  • Correzioni, aggiustamenti e cancellazioni delle transazioni, regole aziendali, requisiti di certificazione, requisiti di reporting, funzioni amministrative, livelli di autorizzazione, tracciamento degli audit, interfacce esterne, gestione dei dati storici, requisiti legali o normativi sono vari tipi di requisiti funzionali
  • È buona pratica non combinare due requisiti in uno solo. Mantieni i requisiti granulari.
  • Si dovrebbe evitare di inserire informazioni aggiuntive ingiustificate che potrebbero confondere gli sviluppatori nel documento sui requisiti funzionali. Per capire come questi requisiti si traducono in procedure di test effettive, potresti voler esplorare questa guida test funzionali.