È importante riconoscere che la Guida di SWEBOK non definisce i processi. SWEBOK è il Body of Knowledge dell'ingegneria del software: è la raccolta di materiale pertinente per i professionisti dell'ingegneria del software. La Guida allo SWEBOK è progettata per organizzare le conoscenze in categorie logiche in modo che argomenti specifici e riferimenti e risorse associati possano essere raccolti e fascicolati per un facile accesso.
Poiché né lo SWEBOK né la Guida allo SWEBOK sono processi, nessuno dei due fornirà alcuna guida su come fare le cose. Due sezioni sono correlate al modo in cui viene svolto il lavoro: processo di ingegneria del software e modelli e metodi di ingegneria del software. Alcuni dei riferimenti nelle sezioni Software Requirements and Software Design forniranno anche suggerimenti su come eseguire le attività di engineering o progettazione dei requisiti nel contesto di progetti di ingegneria del software.
Da una prospettiva più ampia, c'è anche molta confusione in diversi aspetti del processo di sviluppo del software. Ad esempio, un metodo per ottenere e convalidare i requisiti è la prototipazione e questo è discusso nella sezione Requisiti software della Guida allo SWEBOK. Tuttavia, i prototipi sono anche associati alla progettazione dell'interfaccia utente, nonché all'analisi e alla valutazione della qualità di un progetto - entrambi sono discussi nella sezione Software Design della Guida. La prototipazione è legata sia ai requisiti sia alla progettazione, e sono sicuro che ci siano altre tecniche che attraversano due o più aree di conoscenza.
Se stai cercando di definire il tuo processo, non guardare alla Guida di SWEBOK per aiutarti a farlo. Questo non è lo scopo del documento.
Per quanto riguarda la tua domanda principale:
When it comes to requirements gathering and building a requirements specification, should it include low-level details such as fields and their validation? Or is that typically done in the design phase?
Come la maggior parte delle cose nell'ingegneria del software, dipende.
Abbiamo appreso che, in molti casi, avere sili attorno alle diverse attività e buttare il lavoro oltre il muro non funziona. In effetti, anche Winston Royce nel documento che definiva un metodo a cascata richiamava il fatto che la progressione di un progetto software stava invitando il fallimento e, per avere successo, bisognava avere cicli di feedback tra le diverse attività. / p>
Le tue esigenze informeranno il tuo design. Ma mentre stai progettando, puoi saperne di più sui requisiti. E se stai seguendo un modello di consegna iterativo e incrementale, ogni incremento consentirà il feedback sia sui requisiti sia sulla loro realizzazione nella progettazione, che potrebbe identificare le modifiche a uno o entrambi, man mano che aumentano le conoscenze.