Se stai producendo una specifica dei requisiti del software (SRS) , mi aspetterei che sia i requisiti della GUI che i vincoli di progettazione essere catturato in quel documento.
In ISO / IEC / IEEE 29148-2011, lo schema del campione SRS afferma che la sezione per i vincoli di progettazione viene utilizzata per "specificare vincoli sulla progettazione del sistema imposti da standard esterni, requisiti normativi o limitazioni del progetto". La sezione sulle interfacce utente è progettata per contenere "le caratteristiche logiche di ogni interfaccia tra il prodotto software e i suoi utenti" e include "formati schermo necessari" e "layout di pagine o finestre" tra le altre cose e "tutti gli aspetti dell'ottimizzazione l'interfaccia con la persona che utilizza, mantiene o fornisce altro supporto al sistema ".
Se guardi alle precedenti iterazioni degli standard SRS, come IEEE 830-1998, troverai diversi modi per strutturare il documento. Inoltre, molte organizzazioni potrebbero non produrre un documento di specifica dei requisiti software, ma mantenere i loro requisiti in un altro formato.
Non considererei i tuoi esempi come esempi di buoni requisiti software. Sia l'affermazione che "richiede" un disegno a tre strati, sia quella che "richiede" un oggetto ad albero sono decisioni di progettazione.
Nella mia esperienza, esempi di vincoli di progettazione includono l'uso di un particolare linguaggio di programmazione o di un framework (o versioni di esso), un sistema operativo specifico o riferimenti a uno standard reference architecture (e questa architettura di riferimento può, ad esempio, imporre requisiti di architettura a tre livelli sull'applicazione). Esempi di requisiti dell'interfaccia utente tendono a richiedere la conformità alle guide di stile dell'interfaccia utente (ad esempio, richiedendo che un'applicazione mobile sia conforme alla guida di stile del sistema operativo mobile o alla guida di stile della società).
Alla fine della giornata, i requisiti dovrebbero essere caratteristiche a cui il software deve attenersi o non riuscirà a soddisfare le esigenze degli stakeholder nell'ambiente attuale.