Requisiti Implementativi

I requisiti implementativi specificano i dettagli che riguardano l’implementazione del sistema, concentrandosi sugli aspetti tecnici, linguaggi di programmazione, piattaforme e strumenti specifici necessari per sviluppare il software. I requisiti implementativi definiscono le linee guida e le specifiche tecniche che dovranno essere seguite durante tutto il processo di sviluppo per garantire un’implementazione efficace ed efficiente.

  • Devono essere applicati i pattern del Domain Driven Design durante l’analisi, la progettazione e l’implementazione del sistema;
  • La web app dovrà essere sviluppata utilizzando lo stack MEVN (MongoDB [1], Express [2], Vue.js [3], Node.js [4]) e Typescript [5];
  • Il sistema deve essere distribuito e testato su un server remoto;
  • Il codice deve essere versionato con l’utilizzo di Git [6] con repository disponibile sull’hosting GitHub [7];
  • Per effettuare continuous integration e continuous deployment devono essere utilizzate le GitHub Actions [8] dove possibile;
  • Per gestire il flusso di lavoro basato su Git deve essere utilizzato Gitflow e, in particolare, ogni feature branch deve essere utilizzata per sviluppare un requisito funzionale differente;
  • Per identificare le versioni del software rilasciato deve essere utilizzato Semantic Versioning [9] 2.0.0.

Riferimenti

[1] MongoDB, https://www.mongodb.com/it-it

[2] Express, https://expressjs.com/it/

[3] Vue.js, https://vuejs.org/

[4] Node.js, https://nodejs.org/en

[5] Typescript, https://www.typescriptlang.org/

[6] Git, https://git-scm.com/

[7] GitHub, https://github.com/

[8] GitHub Actions, https://github.com/features/actions

[9] Semantic Versioning, https://semver.org/