Do all non-functional requirements need a specific metric and measurement?
No. Sono solo alcune forme di verifica, che a volte sono banali. Ad esempio, un NFR potrebbe essere "l'applicazione deve essere basata sullo stack Microsoft", che è piuttosto facile da controllare.
Detto questo, avere chiaro criteri di accettazione è quasi sempre un buona idea, e questo potrebbe includere metriche e misure definite in anticipo, ad es Il 98% delle richieste HTTP deve ricevere una risposta entro 3 secondi.
Would a NF maintainability requirement such as:
"Upgrade to a new software version shall leave all database and personal settings unchanged" be correct? Would a metric and measurement need to be added? How would a metric and measurement be added to such a requirement?
Eh, non proprio. La manutenibilità si riferisce tipicamente alla capacità del team di sviluppo di mantenere il sistema. Il requisito che hai citato specifica la capacità di un utente di accedere alle proprie impostazioni personali dopo un aggiornamento. Per me è un requisito funzionale , in quanto richiede comportamenti di sistema esposti a un utente finale.