Dipende da cosa stai scrivendo.
Se stai scrivendo dei requisiti, la risposta è "nessuno dei due". Un'altra domanda qui su Ingegneria del software si rivolge al uso di "deve" e "deve" quando si scrivono i requisiti . La guida che uso al lavoro è che "deve" è utilizzato per indicare eventuali requisiti che devono essere soddisfatti affinché il software sia accettabile per il cliente, "dovrebbe" contrassegnare le caratteristiche desiderate, "può" essere utilizzato per identificare qualsiasi cosa che sia facoltativo, e "will" è tutto ciò su cui si può fare affidamento dopo l'implementazione delle caratteristiche obbligatorie e di quelle desiderate o facoltative. Se non stai scrivendo i tuoi requisiti come dichiarazioni, ma utilizzando casi d'uso o storie utente , ti consigliamo di seguire le convenzioni di quel formato.
Se stai scrivendo sul software che esiste già, dovresti usare il tempo presente. Il software esiste già, quindi "è" qualcosa o "fa" qualcosa.
Se stai cercando di definire i requisiti e documentare un approccio progettuale allo stesso tempo, ti consiglio di non farlo e di capire il valore della separazione tra le funzioni che il software deve esporre e gli attributi non funzionali del software rispetto alla documentazione come si decompone il software o come utilizzare il software. La separazione dei requisiti, la progettazione tecnica e l'utilizzo (manuali dell'utente) è molto importante.
Per rispondere alle tue esigenze specifiche, penso che la cosa migliore da fare sia chiedere al tuo istruttore di corso o a qualcun altro che capisca cosa stanno cercando. Nelle mie esperienze, questo tipo di documento non esiste in nessuna forma di moderno sviluppo del software, quindi chiedere ai tecnici del software professionisti come produrre un documento che è accettabile per il proprio cliente particolare (in questo caso, il tuo professore o selezionatore) non ottenere le risposte migliori, soprattutto perché non penso che la risposta di "non farlo, non è una buona pratica, guarda invece la tua metodologia di sviluppo e l'approccio" ti porterà molto lontano nel corso.
A detailed ‘design specification’ based on the requirements specification. The completed design specification should be comprehensive and should allow a third party to use your design specification as the basis for implementation. It therefore should be clear, concise and detailed. It may contain: a navigation map to clearly show how you propose how to link various pages or screens; a series of detailed storyboards to illustrate page layout, colour schemes, typography (fonts, sizes, styling, alignment), use of media elements (eg icons, graphics, sound, video, animation) or interaction styles. Justification of design decisions should also be present.
La specifica dei requisiti è la base per l'implementazione del software, da parte di un team interno o esterno. Non dovrebbe avere solo le caratteristiche funzionali, ma i vincoli di progettazione, le prestazioni e altri attributi di qualità, le caratteristiche dell'utente, le interfacce richieste e così via. La specifica dei requisiti è l'accordo tra il cliente e il fornitore del software.
Ciò che ti viene detto di inserire nel documento è in effetti una informazione di progettazione. Tuttavia, è coerente con gli "grandi progetti in anticipo" approcci allo sviluppo del software in cui non scrivi il codice finché non hai "finito" "il tuo design. Tuttavia, non sono a conoscenza di molte organizzazioni che adottano questo approccio.