Attualmente sto lavorando alla mia laurea per i miei studi di "Sviluppo software", in cui devo sviluppare software complessi individualmente in una società esterna. Tutto ciò deve essere fatto in modo strutturato, creando tutti i documenti corrispondenti.
Per questo progetto ho scelto di lavorare con i documenti standard IEEE: Documento sui requisiti software (SRS), Documenti sull'architettura software (SAD) e Documento di progettazione software (SDD). Sebbene insegnato diversamente a scuola, per questo progetto ho scelto di creare l'SDD dopo lo sviluppo (anziché prima). Il mio ragionamento è:
La società presso la quale svolgo il mio tirocinio mi ha dato le istruzioni per creare un complesso software, soddisfacendo in modo sperimentale un determinato insieme di requisiti. A causa della quantità di libertà che mi hanno dato nella definizione del progetto, quasi nulla è certo in anticipo e può essere meglio incontrato durante la sperimentazione del processo di sviluppo. Inoltre, sto creando il software in modo individuale , per me non sarebbe utile per nessun altro nella società realizzare questo Software Design in anticipo. Farlo in anticipo mi costerà molto tempo per cambiarlo in seguito, poiché posso essere certo che con le incertezze nel progetto, il design che realizzo in anticipo dovrà essere cambiato molto . Mi sembra controproducente.
È una buona giustificazione per creare l'SDD dopo lo sviluppo? In caso contrario, ci sarebbe una buona giustificazione per questo?
Modifica: il motivo per creare successivamente l'SDD sarebbe per i futuri sviluppatori di continuare il progetto. Non sarò in grado di completare l'intero progetto nel mio periodo di laurea, quindi altri sviluppatori dovranno continuare sull'attuale base di codice.