Come specificare un requisito funzionale?

4

Ho questo requisito:

The application must allow the Administrator to edit, create and delete Users.

Ora, ho sentito che ogni azione deve andare in un requisito funzionale, e la mia domanda è: quale delle seguenti affermazioni sarebbe la più appropriata (se presente):

1:

The application must allow the Administrator to edit, create and delete Users.

2:

The application must allow the Administrator to edit Users.
The application must allow the Administrator to create Users.
The application must allow the Administrator to delete Users.
    
posta rendon 18.05.2012 - 06:49
fonte

4 risposte

6

Vorrei andare per il numero due.

Le funzioni nelle definizioni di funzioni mentre dovrebbero essere formulate in termini commerciali dovrebbero essere atomiche. Ciò che intendo per "conservare i dati dei clienti" potrebbe includere aggiungere, modificare, eliminare, archiviare, disabilitare ecc. Ecc. Un elenco di funzioni "elimina i dati cliente" potrebbe significare solo una cosa.

Questo aiuta a specificare il sistema in modo più esatto nella discussione con gli utenti, in quanto sono suscettibili di dire cose come "Non intendevo rimuovere il cliente dal file, intendevo dichiararlo come un ex-cliente", che potrebbero avere sentito era un'ovvia implicazione di "mantenere i dati dei clienti".

    
risposta data 18.05.2012 - 07:22
fonte
5

La tua risposta è la seconda opzione. La creazione, la modifica e l'eliminazione sono azioni diverse, quindi è necessario che ciascuna di esse sia esplicitamente dichiarata.

Considera che entra in gioco un nuovo tipo di utente, Moderatore. Sorge un nuovo requisito, i moderatori possono creare utenti ma non possono modificare o eliminare. Ora se hai scritto la tua prima specifica del requisito come:

The application must allow the Administrator to edit, create and delete Users.

e il tuo secondo requisito come:

Moderators can create users.

sembra che siano funzionalità separate. Ma nella tua seconda opzione puoi facilmente osservare che Amministratore e Moderatore condividono una funzionalità comune "Creazione" di utenti.

    
risposta data 18.05.2012 - 08:28
fonte
2

Sarebbe sicuramente 2. Ma dovrebbe contenere di più.

In generale, scrivi la linea minima che puoi immaginare - e poi interromperla.

Ad esempio

  • L'amministratore dovrebbe essere in grado di aggiungere un utente.

Sembra buono? Devi raccogliere molti più requisiti.

  • Definisci cos'è un "utente", ovvero gli attributi dell'utente (nome, indirizzo, foto, ecc.).
  • Definisci quali sono obbligatori (nome ?, tel-no?) e richiesti durante l'aggiunta di

Quindi fai altre domande

  • Ho bisogno di Primo, Ultimo e Medio. Sono tutti necessari?
  • Ho bisogno di un prefisso per Tel-no? Codice internazionale? quali sono obbligatori?

Puoi continuare a fare domande sull'applicazione e trovare specifiche più dettagliate. Non dare per scontato nulla.

Hai un'idea generale.

    
risposta data 18.05.2012 - 10:04
fonte
0

Il primo è meglio.

È più conciso e ugualmente chiaro.

Un requisito funzionale è un modo di comunicare agli altri ciò che il software deve fare. Se lo stai trattando come una lista di controllo o un documento legale in cui tutto deve essere esposto con dettagli laboriosi, allora stai sbagliando il concetto IMHO.

Ancora meglio sarebbe lasciare il requisito a un livello più alto:

Administrators must be able to manage the list of users

Quindi spetta al team determinare il modo migliore per implementarlo. Ciò potrebbe comportare la modifica, la creazione e l'eliminazione di utenti. Ma potrebbe ugualmente includere il caricamento collettivo o alcune altre funzionalità a cui non hai pensato nei requisiti funzionali iniziali e potrebbe essere necessario svilupparlo in un paio di iterazioni con utenti reali.

    
risposta data 18.05.2012 - 09:34
fonte

Leggi altre domande sui tag