Includeresti uno schema XML per un nuovo formato di file in un documento di specifiche software o lo considereresti troppo specifico? O sarebbe già troppo specifico per richiedere XML a questo punto?
Se lo schema esiste già, non vedo perché non si voglia specificare che il proprio sistema debba utilizzare uno schema particolare (e la versione di tale schema) per l'archiviazione o il trasferimento dei dati. Questo mi sembra un requisito non funzionale, in particolare quello a cui Karl Wiegers si riferisce come requisito di interfaccia software o requisito di interfaccia di comunicazione.
Tuttavia, se lo schema deve essere costruito, il requisito stesso non dovrebbe nemmeno specificare che XML sia usato per archiviare e trasferire dati, ma i vincoli dovrebbero essere documentati altrove nei documenti dei requisiti. In questo caso, il requisito dovrebbe essere scritto per informare gli sviluppatori di ciò che deve essere realizzato, dando loro lo spazio per prendere le decisioni di progettazione il più possibile. Ancora una volta, il modello SRS fornito da Karl Wiegers ha sezioni intitolate Ambiente operativo e vincoli di progettazione e implementazione in cui è possibile specificare varie considerazioni di cui gli sviluppatori devono essere a conoscenza quando si effettua il sistema.
Se si tratta di una specifica di alto livello che dice semplicemente "Il sistema X eseguirà l'operazione Y con il file Z", allora sì, è troppo specifico. Se è una specifica dettagliata che dice "Sistema X implementerà un servizio Web per eseguire l'attività Y utilizzando il file XML Z che viene inviato dal sistema client A", allora sì, dovresti includere lo schema. Non deve essere nel documento principale, ma assicurati che sia in un'appendice da qualche parte in modo che i lettori possano avere l'idea giusta.
Lo schema XML fa parte del design perché il modo in cui lo schema è progettato influenza gli algoritmi di lettura, scrittura e ricerca che hanno un impatto sulle prestazioni.
Se il sistema è semplice e la progettazione dello schema non avrà un grande impatto sulle prestazioni o nel caso in cui lo schema sia diretto generato da un componente software, puoi semplicemente saltarlo.
Come qualsiasi altra cosa, "dipende". Se l'interfaccia è essenziale per il tuo prodotto / progetto e i dettagli della specifica influenzeranno un sacco di lavoro che deve essere fatto all'interno o all'esterno del tuo team, allora lo specificherò in anticipo.
Se lo schema XML vincola dati / documenti sul limite del sistema, possono essere referenziati dal documento che definisce le interfacce di sistema. Alcuni progetti si riferiscono a questo come documento di controllo dell'interfaccia (ICD).
L'ICD distingue tra interfacce fornite e fornite e funge da tipo di contratto tra il sistema e uno o più altri sistemi.
Leggi altre domande sui tag specifications