Skip to content

Requisiti

feelpa edited this page Feb 1, 2021 · 2 revisions

Requisiti funzionali

Requisiti utente

  • Accesso alla piattaforma previa registrazione.
  • Possibilità di indire nuove votazioni.
  • Visualizzazione, gestione (modifica, chiusura o cancellazione) e partecipazione alle votazioni indette.
  • Visualizzazione e partecipazione alle votazioni condivise con l'utente stesso o con la community.
  • Amministrazione del proprio account ed eventuale modifica delle credenziali d'accesso.

Requisiti di sistema

  • La registrazione dei nuovi utenti deve essere verificata mediante l'indirizzo email fornito.
  • La password fornita in fase di registrazione non deve essere conservata in chiaro.
  • La possibilità di indire nuove votazioni è concessa a tutti gli utenti registrati.
  • La modifica, chiusura o cancellazione di una votazione deve essere consentita solo all'utente che l'ha indetta.
  • La modifica di una votazione in corso può essere effettuata solo in caso non sia stato ancora espresso alcun voto.
  • Le votazioni private, ovvero condivise con un ristretto numero di utenze registrate, devono essere accessibili sono alle utenze interessate.
  • La visualizzazione dei risultati di una votazione deve essere permessa a tutti gli utenti interessati, nel caso di una votazione privata, o a tutta la community.
  • Nel caso di una votazione aperta, la visualizzazione dei risultati in tempo reale viene concessa previa partecipazione dell'utente alla votazione stessa.
  • Nel caso delle votazioni in due turni, alla chiusura del primo sarà generato in automatico il secondo. Rimane comunque possibile il passaggio manuale al secondo turno.

Requisiti non funzionali

Requisiti del prodotto

  • L'interfaccia utente dovrà essere quanto più semplice e intuitiva possibile, favorendo l'utilizzo della piattaforma anche a utenti inesperti.
  • La piattaforma sarà realizzata in lingua inglese.

Requisiti organizzativi

  • La piattaforma sarà sviluppata in linguaggio Java e mediante l'utilizzo del framework Spring.
  • I dati saranno conservati in un database MySQL.
  • L'interazione con l'utente avverrà mediante browser.

Requisiti di dominio

  • Non deve essere possibile, né per l'utente che ha indetto una votazione né per quelli che vi hanno partecipato, conoscere l'espressione del voto degli altri utenti.
  • Deve essere consentito a ciascun utente un solo voto, non più modificabile, per votazione. Nel caso delle votazioni in due tornate sarnno concessi due voti, uno per turno.
  • Nel caso di votazioni in due tornate, per il ballottaggio saranno selezionate le due opzioni che hanno ricevuto più preferenze. Nel caso di opzioni con pari voti a favore, saranno riportate tutte nel secondo turno.