raffinamento dei requisiti
- Utenti
- nome
- data di iscrizione
- Video
- titolo
- durata
- descrizione
- path (univoco)
- può essere una risposta
- numero di visioni (calcolabile)
- categoria [v.3] unica
- tag [v.4] almeno uno
- valutazioni [v.6]
- commenti [v.7]
- Video Censurato (nessuna NUOVA interazione)
- motivo
- istante censura
- Categoria
- nome
- Tag
- nome
- Visione
- data e ora
- valutazione da 0 a 5 (una x utente)
- istante di valutazione
- Commento (più commenti x video)
- istante
- testo
- Playlist
- nome
- istante creazione
- ordine
- pubbliche o private
UML
specifica dei tipi di dato
- DurataVideo: (ore: Intero >=0, minuti: Intero [0..59], secondi: Intero [0..59])
specifica della classe Video
Ogni istanza di questa classe rappresenta un video pubblicato sulla piattaforma
V.Video.no_risposte_autoreferenziali
oppure:
V.Video.censura_no_commenti
V.Video.censura_no_rating
V.Video.censura_no_visione
alternativamente:
V.Video.censura_no_interazioni
specifica della classe Visione
Ogni istanza di questa classe rappresenta una visione di un video effettuata da un utente.
V.Visione.visione_dopo_iscrizione
specifica della classe Commento
Ogni istanza di questa classe rappresenta un commento lasciato da un utente ad un video.
V.Commento.commento_dopo_visione
(per transitività tra V.Commento.commento_dopo_visione
e V.Visione.visione_dopo_iscrizione
, non devo specificare un eventuale V.Commento.commento_dopo_iscrizione
)
specifica della classe Utente
Ogni istanza di questa classe rappresenta un utente della piattaforma.
V.Utente.valutazione_dopo_visione
(per transitività tra V.Utente.valutazione_dopo_visione
e V.Visione.visione_dopo_iscrizione
, non devo specificare un eventuale V.Utente.valutazione_dopo_iscrizione
)
V.Utente.no_valutazione_autoreferenziale
specifica della classe Entry
Ogni istanza di questa classe rappresenta una entry di una playlist.
V.Entry.no_entries_censurate
V.Entry.entry_dopo_creazione
(per transitività tra V.Entry.entry_dopo_creazione
e V.Playlist.playlist_dopo_iscrizione
non ho bisogno di scrivere un ipotetico V.Entry.entry_dopo_iscrizione
)
specifica della classe Playlist
Ogni istanza di questa classe rappresenta una playlist.
V.Playlist.playlist_dopo_iscrizione
Use-Case
specifica degli Use-Case
Use-Case da finire così da capire quali operazioni di classe implementare
specifica dello Use-Case Iscrizione
iscriviUtente(n: Stringa): Utente
pre-condizioni:
post-condizioni:
- Modifica del livello estensionale dei dati:
- nuovi elementi del dominio di interpretazione:
- nuove ennuple di predicati:
- Valore di ritorno: