Differenza tra specifiche funzionali e tecniche [duplicate]

3

Sto scrivendo una specifica per un progetto e sto lottando con la separazione delle specifiche funzionali dalle specifiche tecniche (vedi link ).

Ad esempio, sto cercando di specificare il comportamento quando un utente richiede un elenco di oggetti Foo su cui hanno visibilità. Nella specifica funzionale, dovrei descrivere cosa viene restituito con precisione (ovvero la struttura di un oggetto Foo) o solo che il sistema restituisce un elenco di essi e quindi inserire i dettagli dell'oggetto Foo nelle specifiche tecniche?

Il design è per un'API nel caso in cui ciò faccia differenza. Non riesco a trovare molti esempi di come sia stata scritta una specifica API.

    
posta Chris Cooper 28.05.2013 - 14:41
fonte

1 risposta

17

Specifiche tecniche è un termine generico. Descrive qualsiasi caratteristica di un sistema ingegnerizzato che deve essere conforme a una metrica specifica, entro un certo grado di errore.

Specifiche funzionali descrivono il comportamento atteso di un software sistema. Specifiche del programma descrivi cosa il software dovrebbe raggiungere . Questo differisce da una specifica funzionale in quanto, mentre una specifica del programma descrive cosa fa il sistema, le specifiche funzionali descriveranno il modo in cui lo fa.

Ti suggerisco di lavorare per un po 'con use cases. A livello di utente, i casi d'uso sono il modo in cui descrivi il comportamento del sistema, mentre a livello di codice, il modo in cui descrivi il comportamento del sistema è con test unitari. Entrambe le tecniche possono essere utilizzate per ricavare specifiche funzionali. Man mano che sviluppi il comportamento del sistema con i casi d'uso, dovrebbe diventare più chiaro come dovrebbe apparire l'API.

Inizi creando un elenco informale di casi d'uso. Questo documento riassume il processo, così come questo uno . Una volta che hai casi d'uso, puoi iniziare a creare requisiti funzionali da loro.

Esempio

When the reserved vehicle is not available due to late returns, the customer is informed of the situation and told about the other vehicle types that are available. The customer is offered an incentive to accept another vehicle type. If the customer is not satisfied, the reservation is cancelled without penalty charges. The customer either accepts another vehicle type or cancels the reservation.

Da questo caso d'uso è possibile ricavare diversi requisiti funzionali:

  1. Il sistema deve indicare quando un veicolo non è disponibile e il motivo.
  2. Il sistema deve fornire un elenco di altri veicoli disponibili.
  3. Il sistema deve fornire un elenco di possibili incentivi.
  4. Il sistema deve fornire un modo per scegliere un veicolo diverso.
  5. Il sistema deve fornire un modo per cancellare la prenotazione.

E così via. Da tale elenco di requisiti funzionali, gli elementi che devono essere presenti nell'API dovrebbero diventare immediatamente evidenti.

    
risposta data 28.05.2013 - 16:11
fonte

Leggi altre domande sui tag