Globalmente, vengono consegnati due prodotti: la documentazione e l'implementazione (il codice sorgente) del progetto. La valutazione finale avviene mediante un esame orale, nella quale vengono discusse le strategie con la quale i prodotti consegnati sono stati generati. Le domande saranno rivolte a tutti i partecipanti al gruppo, i quali potranno scegliere l'esposizione organizzata dei contenuti.
- non si accettano richieste di eccezioni sui progetti con motivazioni legate a esigenze di laurearsi
- chi copia o fa copiare invalida il progetto - il codice viene controllato con un programma per il rilevamento di plagio - si rimanda alla pagina del tutor per maggiori informazioni sul codice d'onore del laboratorio.
È possibile scrivere la documentazione nel formato preferito, l'importante è che il PDF generato rispetti la struttura del modello (più avanti). La documentazione ha lunghezza di almeno quattro o cinque pagine (quindi da 8 a 10 facciate), è scritto con font di grandezza 12pt e viene consegnato in formato PDF. Il limite è un lower bound; non esiste un upper bound per la lunghezza del report che può quindi essere di un numero arbitrario di pagine.
Di seguito viene riportato un esempio di documentazione con le principali caratteristiche da inserire.
- Laboratorio Sistemi Operativi A.A. 2019-2020
- Nome del Gruppo
- Indirizzo mail del referente: nome.cognome@studio.unibo.it
- Componenti:
- Cognome, Nome, Matricola
- ...
- Descrizione generale del progetto
- Componenti del progetto
- Funzionalità implementate
- Contenuto della documentazione
- Istruzioni per la demo - le istruzioni per eseguire una demo.
- Discussione sulle strategie di implementazione:
- Struttura del progetto - come è stato diviso il progetto tra i componenti del grupppo. Quali sono i problemi principali riscontrati nell'implementazione? Quali sono le alternative considerate? Perché sono state adottate alcune soluzinoi piuttosto di altre?
- Sezione di descrizione della - ad esempio, abbiamo implementato l'operazione
foo
perché abbiamo bisogno di ... Il codice di esempio (riporto il codice) mostra il problema appena descritto ... risolto con ...
In ogni caso motivare le proprie scelte giustificando le proprie azioni.
La valutazione della documentazione verte sull'analisi dello scritto e sulla sua capacità di esprimere con chiarezza i concetti descritti, soprattutto grazie all'uso di esempi.
In particolare la griglia di valutazione usata è la seguente:
Criterio | Descrizione |
---|---|
Qualità dell'informazione | Riconoscimento dei problemi (di concorrenza) e loro descrizione |
Uso degli esempi | Presenza di almeno un esempio in tutte le scelte implementative |
Analisi delle scelte implementative | Descrizione della propria scelta implementativa e presenza di proposte di alternative valide |
Il progetto viene sviluppato utilizzando il linguaggio Jolie. Non ci sono requisiti riguardo ai protocolli protocolli e i media utilizzati per realizzare la comunicazione tra i componenti del sistema.
La gestione del progetto avviene col supporto del sistema git
, a questa pagina è possibile trovare una lista di comandi utili per imparare ad usare questo strumento di scrittura collaborativa.
Il codice del progetto è contenuto in uno spazio in cloud del servizio online GitLab e gestito seguendo la procedura descritta di seguito.
N.B. Le istruzioni che seguono devono essere completate entro e non oltre la scadenza di presentazione dei gruppi.
- Ogni membro del gruppo crea un account su GitLab o accede con le proprie credenziali
- Il referente del gruppo crea un nuovo progetto cliccando sul bottone + in alto a destra nella schermata principale di GitLab, inserendo
LabSO_NomeGruppo
come nome del progetto e cliccando su New Project- una volta che il progetto è stato creato, il referente aggiunge ogni membro del gruppo con
role permission
$>$ Developer
andando suSettings
$>$ Members
nel menù a sinistra, cercandoli in base allo username con il quale questi si sono registrati su GitLab; - il referente aggiunge l'utente
pio_zingaro
conrole permission
$>$ Reporter
.
- una volta che il progetto è stato creato, il referente aggiunge ogni membro del gruppo con
Al momento della consegna, il repository dovrà contenere i sorgenti del progetto e la relazione, nominata REPORT_LSO.pdf
.
Per effettuare la consegna:
- Nella pagina del progetto, cliccare sulla voce del menù
Repository
$>$ Tags
$>$ New Tag
- Digitare come
Tag Name
il nome Consegna - Cliccare su
Create Tag
per eseguire la creazione delTag
di consegna
Una volta creato il Tag, inviare una email di notifica di consegna con soggetto CONSEGNA LSO - NOME GRUPPO a stefanopio.zingaro@unibo.it.
La valutazione dell'implementazione del sistema si basa sull'analisi del codice Jolie, sull'uso dei costrutti del linguaggio per la creazione di soluzioni efficienti, sulla tolleranza ai guasti del sistema implementato e sulla gestione delle eccezioni.
In particolare la griglia di valutazione usata è la seguente:
Criterio | Descrizione |
---|---|
Uso dei costrutti di Jolie | Corretto utilizzo dei costrutti per la gestione della concorrenza, uso corretto di execution(...) |
Distribuzione del carico di lavoro nel gruppo | Omogeneità nella ripartizione dei compiti nel gruppo, ogni membro partecipa egualmente allo sviluppo indicando il singolo contributo, assenza di dissimmetria di informazione. |
Grado di partecipazione alla comunità | Presenza di domande e risposte significative sui canali di comunicazione offerti dal corso, richieste di ricevimento e delucidazioni, bug fixing del materiale messo a disposizione del docente e dalla comunità open source di Jolie |
Insieme alla documentazione ed al codice sorgente, dovrà essere preparato uno script che permette di automatizzare i test. Almeno nella fase iniziale della prova orale, può essere utile preparare del materiale da correlare allo script (ad esempio screenshot), che permetteranno di velocizzare le operazioni di controllo del codice. Tale suite di test può essere intergrata nel codice sorgente (è tuttavia opzionale).