Come da consegna per l'assignment è stato fatto uso dello strumento di file versioning git gestito da GitLab. Tutto il materiale definitivo del progetto è presente nel branch master del repository raggiungibile al seguente collegamento:
La radice del branch raffigurata in basso presenta un'organizzazione semplice e minimale:
\newline
\dirtree{%
.1 <repository>.
.2 app/.
.2 doc/.
.2 .gitignore.
.2 README.md.
.2 assignment3\_mivan.pdf.
}
\begin{itemize}
\item\textbf{app:} È la cartella che contiene il sorgente dell'applicazione.
\item\textbf{doc:} È la cartella che contiene il sorgente della documentazione scritta in \latex .
\item\textbf{assignment3\_mivan.pdf:} È la versione compilata in pdf della documentazione.
\end{itemize}
\section{Applicazione}
\section{Applicazione}
L'applicazione oggetto di questo assigment è \textbf{MiVan}.
L'applicazione oggetto di questo assigment è \textbf{MiVan}.
\newline
\newline
Si tratta di un'applicazione che rende possibile prenotare ed acquisire biglietti per il cinema. Essa mette a disposizione informazioni sulla programmazione, orari, locandine e sinossi. Grazie alla connessione diretta ai sistemi di biglietteria è possibile visualizzzare la mappa dei posti con lo stato di occupazione in tempo reale e selezionare i posti preferiti dall'utente. L'iscrizione è obbligatoria per permettere la modifica e la cancellazione delle prenotazioni, servizio richiesto da molti utenti.
Si tratta di un'applicazione che gestisce prestiti di libri di un sistema bibliotecario con una o più sedi. Essa, oltre ad essere in grado di gestire i prestiti, è anche in grado di gestire i libri, la loro posizione, lo staff che amministra i prestiti e gli utenti che ne fanno richiesta.
\newline
\newline
Allo stato attuale l'applicazione è stata pensata per essere utilizzata nell'area metropolitana di \underline{\textit{Brescia}} e \underline{\textit{Novara}}, con un \textit{\textbf{target iniziale}} ristretto agli utenti delle \textit{\textbf{principali sale di proiezione}} delle rispettive città.
Grazie a questa applicazione è possibile creare, visualizzzare, modificare e rimuovere in tempo reale lo stato di prestito dei libri. I prestiti sono descritti da una data di inizio, di fine, uno stato, un libro, un utente ed un operatore. Si ritiene che sia importante sottolineare che durante la progettazione si è presa la decisione che un prestito possa consistere in esattamente una unità di libro, in maniera tale che questo livello di granularità permetta all'utente, in caso di prestito contemporaneo di più libri, di non dover restituirli in blocco.
\newline
\newline
A seconda della trazione che potrebbe ricevere una volta lanciata, si potrà valutare un'eventuale \textit{espansione} del territorio coperto e delle sale interessate.
Altra caratteristica è la separazione tra concetto di libro ed "unità di libro", questo per gestire in maniera efficiente il caso molto frequente in cui il sistema bibliotecario possieda più copie dello stesso libro; nella nostra implementazione ogni singola unità (Item) corrisponderebbe in maniera univoca all'unità fisica corrispondente.
\newline
\newline
Una feature degna di nota (che andrebbe a soddisfare il requisito del self-loop) è la possibilità di sapere se nel sistema bibliotecario è disponibile il sequel (ammesso che esistano) di un determinato libro.
\newline
\newline
Il qui presente documento ha lo scopo di stabilire i requisiti dell'utenza, del sistema e raccogliere informazioni utili e relativa ad eventuali evoluzioni. Questa documentazione è principalmente rivolta agli stakeholder e ai responsabili di sviluppo.
Allo stato attuale l'applicazione è stata pensata per essere utilizzata nell'area metropolitana di \underline{\textit{Brescia}} e \underline{\textit{Novara}}, con un \textit{\textbf{target iniziale}} ristretto agli utenti delle \textit{\textbf{sedi del sistema blibliotecario comunale}} delle rispettive città.
A seconda della trazione che potrebbe ricevere una volta lanciata, si potrà valutare un'eventuale \textit{espansione} del territorio coperto e degli enti (sia pubblici che privati) interessati.