TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Gestione delle agenzie viaggi realizzato per una struttura alberghiera #34

Closed ProvenzanoAdriana closed 4 years ago

ProvenzanoAdriana commented 4 years ago

Studente proponente

s234708 Adriana Provenzano

Titolo della proposta

Gestione delle agenzie viaggi realizzato per una struttura alberghiera

Descrizione del problema proposto

L'obiettivo del progetto è quello di creare un'applicazione che permetta una facile gestione, da parte di una struttura alberghiera, dei contatti relativi alle agenzie viaggi con cui si ha avuto a che fare dal momento dell'apertura fino ad oggi. Finora la gestione è avvenuta in maniera molto lenta attraverso la consultazione di fogli Excel e bigliettini personali: dunque con questo progetto si vuole velocizzare e semplificare la consultazione dei contatti e delle loro informazioni.

Descrizione della rilevanza gestionale del problema

Dato l'elevato numero di informazioni con cui la struttura si doveva interfacciare, l'organizzazione di questi dati mi è sembrato un problema di rilevanza gestionale. In particolare, ho visto l'ottimizzazione della consultazione dei contatti come un ottimo spunto per mettere in pratica il lavoro svolto a lezione. L'applicazione che si vuole realizzare ha dunque l'obiettivo di far passare il tempo di consultazione precedente (qualche minuto) ad un tempo decisamente minore, dell'ordine di pochi secondi. Inoltre il programma permetterà una consultazione completa dei dati a disposizione della struttura: in questo modo si potranno cogliere tutte le opportunità possibili con l'auspicio che questo porti ad un numero crescente di ospiti e dunque di guadagno da parte della struttura.

Descrizione dei data-set per la valutazione

Nell'applicazione che si andrà a realizzare si utilizzeranno due data-set: uno relativo alle agenzie e uno relativo ai suoi referenti. Nel primo data-set saranno elencate le diverse agenzie viaggi: ogni agenzia sarà identificata da un codice univoco e sarà caratterizzata dal nome dell'agenzia e dai referenti. Il numero dei referenti potrebbero essere più di uno, in questo si è evinto che talvolta la struttura alberghiera ha incontrato una stessa agenzia più volte nel corso degli anni e in diverse fiere turistiche, magari trattando con diversi referenti. Oltre a ciò, nel data-set delle agenzie sono presenti altre informazioni, in particolare riguardanti l'effettiva attività dell'agenzia ed il reale rapporto con la struttura; queste sono: un valore booleano che indica se l'agenzia ha richiesto preventivi nel corso del tempo, un valore numerico che definisce quante prenotazioni sono state effettuate dall'agenzia nella struttura ed infine un valore che indica il fatturato netto ricavato dalla struttura grazie alle prenotazioni del punto prima. Infine, in questo data-set sono presenti una serie di valori booleani che delineano gli interessi principali delle agenzie e dei loro clienti, questi sono: cicloturismo, enogastronomia, comunità LGBT, “pet friendly”, piccoli gruppi, lune di miele, interessati d'arte e cultura, di benessere e bellezz,a oppure MICE (Meetings, Incentives, Conferences and Exhibitions). Come ultimo campo, è lasciato a chi andrà ad usare l'applicazione uno spazio in cui si potranno inserire commenti e appunti riguardanti l'agenzia. Nel data-set dei referenti, invece, saranno elencate le persone, rappresentanti delle agenzie, che si sono conosciute durante le diverse fiere: oltre ad essere identificati da un codice univoco, i referenti sono caratterizzati dal nome e cognome, dai loro contatti telefonici e di posta elettronica e dalla lingua parlata. I contatti potrebbero essere di un numero variabile dal momento che i referenti hanno lasciato sia dei numeri personali che di ufficio. L'informazione riguardante la lingua parlata sarà necessaria per chi è addetto all'invio di e-mail promozionali: in questo modo si potrà catalogare, e all'evenienza consultare in modo più rapido, a quali agenzie è preferibile mandare un messaggio in lingua inglese, a chi in francese, o in italiano, e così via. Dal momento che la maggior parte delle agenzie sono state conosciute nel contesto di fiere volte al turismo, si è pensato di inserire anche l'informazione della fiera in questione (luogo e anno dell'evento). I due data-set sono stati creati a partire da fogli Excel compilati man mano durante le fiere internazionali, e da oltre 700 bigliettini da visita: tutto il materiale è stato fornito dalla struttura alberghiera.

Descrizione preliminare degli algoritmi coinvolti

Gli algoritmi che si andranno ad utilizzare saranno di inserimento di nuove agenzie e di nuovi referenti nei relativi data-set, di ricerca e di aggiornamento delle istanze. Ai fini della prova finale, nella sezione di consultazione dell'applicazione, sarà implementato un metodo di ricerca del cammino più lungo di miglioramenti tra fiere successive: sarà creato un grafo che avrà per nodi tutte le fiere a cui si è partecipato; i nodi saranno collegati tra di loro se le fiere sono cronologicamente consecutive. Si calcolerà dunque il cammino più lungo, partendo dalla prima fiera, considerando come “miglioramento” un maggiore rapporto tra fatturato netto e aziende conosciute.

Descrizione preliminare delle funzionalità previste per l’applicazione software

L'utente davanti all'applicazione si troverà davanti a tre scelte.

  1. Potrà salvare una nuova agenzia inserendo le relative informazioni. In particolare dovrà inserire alcuni campi di input che permetteranno di creare una delineazione il più completa possibile della nuova agenzia.
  2. Potrà consultare e ricercare nel data-set una specifica agenzia o una caratteristica particolare. L'utente avrà davanti diversi metodi di ricerca in base alle necessità: sarà possibile ad esempio ricercare tutte le agenzie con cui è preferibile mandare l'email promozionale in spagnolo, oppure tutte le agenzie interessate al cicloturismo per renderle partecipi di eventi e promozioni adatte a loro, andando eventualmente a combinare ricerche di vario tipo.
  3. Potrà aggiornare i dati di un'agenzia o eventualmente, nel caso di un nuovo referente di una già nota agenzia, lo potrà inserire nel data-set. Queste opzioni saranno necessarie per permettere all'utente di aggiornare ad esempio i fatturati netti o le prenotazioni ottenute grazie all'agenzia; oppure si potrà utilizzare questa sezione per aggiungere commenti circa il rapporto tra la struttura e l'agenzia.
fulcorno commented 4 years ago

La tematica è pertinente e di rilevanza gestionale. Ho però alcune osservazioni:

  1. la gestione "anagrafica" (inserimento agenzie, ricerca agenzie, ricerca combinata, ecc ecc) rischiano di essere molto pesanti dal punto di vista implementativo. Capisco che sono esigenze dell'azienda, ma molte di esse non sono particolarmente interessanti per la tesi. Suggerisco di limitare al minimo queste parti (magari concentrarsi sulla ricerca, che è sicuramente più interessante), ed eventualmente sviluppare il resto al di fuori della tesi
  2. l'algoritmo di ricerca nel grafo delle fiere mi sembra abbastanza "campato in aria", ossia, mi pare che non risolva nessun problema reale né realistico. È un esercizio sui grafi, fine a sé stesso. Suggerisco di trovare un problema di ottimizzazione effettivo che si possa risolvere, e che possa anche avere risultati utili per l'agenzia. Ad esempio (provo ad inventare), dato un certo budget, qual è l'insieme di agenzie su cui è più opportuno spenderlo (date le caratteristiche delle agenzie, e dati alcuni vincoli scelti dall'utente). Sicuramente si riesce a trovare qualcosa di utile (simulazione o ricorsione).
  3. le regole della tesi richiedono che il data-set sia allegato al progetto: i dati raccolti dovranno essere quindi trasformati in forma anonima, con il consenso della agenzia che li ha forniti. Hai verificato questo punto?

Dammi conferma sul punto 3., e per favore riformula il paragrafo "Descrizione preliminare degli algoritmi coinvolti" secondo quanto richiesto al punto 2.

ProvenzanoAdriana commented 4 years ago

La ringrazio molto per i consigli. Come ha proposto, ridurrò la pesantezza dell'implementazione lasciando solo delle possibilità di ricerca, seppur combinate in più modi. Per quanto riguarda il data-set mi sono adoperata a rendere anonimi i dati personali delle agenzie e dei referenti: in particolare ho messo dei valori fittizzi in corrispondenza di nome e cognome del referente, email e numero di telefono, nome dell'azienda. I dati mi sono stati consegnati dall’azienda stessa quindi opero con il loro consenso. In seguito è riportata la nuova descrizione del punto “Descrizione preliminare degli algoritmi coinvolti”:

Nella realizzazione del programma verranno utilizzati sia degli algoritmi di ricerca che di ricorsione. Nel primo caso i metodi saranno realizzati attraverso il pattern DAO e avranno l’obiettivo di permettere all’utente di ricercare le informazioni necessarie contenute nel data-set, quali le agenzie e le loro caratteristiche. Nel caso della ricorsione, questa sarà utilizzata per un metodo che aiuti l’utente a capire in che modo è meglio investire una parte del suo capitale, destinato alle agenzie. In particolare, l’utente andrà ad inserire un valore in euro e il programma calcolerà il sottogruppo composto da quelle aziende su cui è preferibile puntare, in relazione al fatturato netto già guadagnato, alle prenotazioni, ai preventivi o agli interessi generali dell’agenzia. Questo metodo presenterà una variante in cui l’utente potrà indicare eventuali interessi richiesti alle agenzie del sottogruppo finale.

La ringrazio ancora per l’aiuto e per i consigli.

fulcorno commented 4 years ago

ok, approvato.