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.
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:
- Il sistema deve indicare quando un veicolo non è disponibile e il motivo.
- Il sistema deve fornire un elenco di altri veicoli disponibili.
- Il sistema deve fornire un elenco di possibili incentivi.
- Il sistema deve fornire un modo per scegliere un veicolo diverso.
- 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.