Requisiti non funzionali

DEFINIZIONE

I requisiti non funzionali sono requisiti di importanza vitale, che pero' non sempre (o non tutti) si prestano ad essere rappresentati per mezzo di un ben definito formalismo grafico.

PRIORITA'

  • essenziali: questi requisiti devono essere necessariamente soddisfatti per l'accettazione del sistema; eventuali insolvenze determinano il rifiuto del sistema da parte del cliente.
  • condizionali: requisiti che, se soddisfatti permettono di realizzare un sistema evoluto, ma che se non presenti, non determinano l'insuccesso del progetto.
  • opzionali: si tratta di requisiti che non forniscono un considerevole valore aggiuntivo al progetto, e quindi potrebbe o meno valer la pena soddisfare.

REQUISITI

Requisito Descrizione Commento
Utilizzabilita': essenziale l'interfaccia utente risulta essere molto intuitiva, non è richiesto particolare addestramento per l'utilizzo del sistema
Affidabilita' essenziale
  • disponibilita'
il sistema deve esser utilizzabile in qualsiasi momento.
  • difetti
potrebbero esserci malfunzionamenti dovuti a qualche problema della rete
Performance:
  • tempo di risposta
condizionale E'importante che il tempo di risposta sia minore possibile, soprattutto perche' al tempo di risposta(tr) del sistema va aggiunto quello della comunicazione attraverso la rete(tt). Dovendo aggiornare dei display, e volendo che l'aggiornamento sia coerente col contatore, l'obiettivo e' portare la somma tr + tt sotto i 100 ms, tempo di permanenza dell'immagine sulla retina. Se volessimo un'immagine "fluida" dovremmo stare al di sotto degli 80 ms.
  • sincronizzazione degli schermi
essenziale gli schermi devono essere sincronizzati, non e' ammissibile che uno di essi "salti" dei valori.
Sicurezza: condizionale essendo un sistema che comunica attraverso una rete, puo' risultare utile renderlo poco vulnerabile ad attacchi volti a cambiare l'esito del gioco.
Componenti HW: essenziale Sono necessari 2 console composte di display e pulsante, nonche' un display; possono esser necessarie piu' macchine se il committente desiderasse un sistema non coeso.
Supportabilita': condizionale risulta comodo in fase di progettazione (e in un secondo tempo in fase di manutenzione) mantenere una nomenclatura standard e funzionale per rendere piu' intuitive le funzioni del sistema e rendere piu' rapida la comprensione dello stesso da parte di chi non si e' occupato dello sviluppo di determinate sezioni.
Documentazione condizionale E' quasi essenziale la presenza di una buona documentazione realizzata secondo precisi standard, in modo da facilitare la comunicazione all'interno del team, ma anche per evitare incomprensioni col committente.
Robustezza: essenziale in un gioco in tempo reale e' assolutamente da evitare la possibilita'  di errori interni al sistema (dovuti a stati inconsistenti).
Riusabilita': opzionale ai fini della riuscita del progetto ha scarsa importanza, tuttavia risulta estremamente vantaggioso per l'azienda produttrice creare un prodotto le cui strutture interne siano direttamente riutilizzabili in altri progetti.

Gestione delle priorita'

I requisiti e la loro priorita' sono da intendere nel contesto puramente progettuale. L'azienda produttrice o il team potrebbero decidere di sviluppare una parte di valutata di minore priorita' (per quello che riguarda il progetto), ma di importanza strategica per l'azienda (vedere riusabilita').