Presentazione | 2 - Specifica di progetto | 3 - Documentazione Javadoc | 4 - Analisi delle prestazioni | 5 - Estensioni e ottimizzazioni | Bibliografia | Indice


1 - Specifica dei requisiti


Si vuole realizzare un bulletin board service per utenti connessi ad una wide area network.

Il servizio deve possedere requisiti di alta availability, buona efficienza e tolleranza ai guasti.

Il servizio di bulletin board fornisce agli utenti la possibilità di comunicare e condividere informazioni attraverso la pubblicazione di messaggi in uno spazio comune fornito dal servizio stesso.

Un messaggio è costituito da un'intestazione ed un corpo. L'intestazione contiene informazioni sul mittente, sulla data e l'ora di pubblicazione e sull'oggetto del messaggio. Il corpo è un testo di lunghezza variabile.

Ogni utente del servizio deve poter svolgere le seguenti operazioni:

  1. pubblicazione o posting di un nuovo messaggio;
  2. lettura della lista delle intestazioni dei messaggi pubblicati;
  3. lettura del corpo di un messaggio corrispondente ad una specifica intestazione.

Nella pubblicazione dei messaggi di uno stesso utente deve essere garantito l'ordinamento che deriva dalla relazione di causalità che li lega. Un messaggio che costituisce la risposta ad un altro deve apparire a tutti gli utenti come pubblicato dopo quest'ultimo.

Ad esempio, supponiamo che un utente u1 pubblichi un messaggio che è letto da un utente u2 e poi, successivamente, ne pubblichi un altro che è letto da un altro utente u3 in cui si fa riferimento alle informazioni contenute nel primo messaggio. Supponiamo poi che l'utente u3, dopo aver letto il messaggio di u1, pubblichi un nuovo messaggio in cui si riferisce a quanto detto da u1 nel suo secondo messaggio. Se l'ordinamento indotto dalla relazione di causalità tra i messaggi di u1 è rispettato, l'utente u2 può leggere il messaggio di u3 solo dopo aver visto quello iniziale di u1.


Presentazione | 2 - Specifica di progetto | 3 - Documentazione Javadoc | 4 - Analisi delle prestazioni | 5 - Estensioni e ottimizzazioni | Bibliografia | Indice