Progettazione e sviluppo di un applicativo web e della sua base di dati per l'organizzazione di...
-
Upload
dudinestefano -
Category
Documents
-
view
208 -
download
2
Transcript of Progettazione e sviluppo di un applicativo web e della sua base di dati per l'organizzazione di...
Progettazione e sviluppo di un applicativo web e della sua base di dati per
l’organizzazione di ambienti di lavoro
Relatore:
Chiar.mo Prof.
Maurizio Fermeglia
Candidato:
Stefano Dudine
Università degli Studi di Trieste
Dipartimento di Ingegneria e Architettura
Tesi di laurea triennale in
Ingegneria dell’Informazione
Curriculum Informatica
Ambienti di lavoro
Magazzini
Punti vendita
Banchi di lavoro (fabbriche, officine)
…ma anche
Ripostigli
Scaffali
Armadi
Luoghi qualsiasi da organizzare
Domanda – ditta
« Dove trovo quel particolare tronchese con
l’impugnatura blu per tagliare i cavi più spessi? »
… « Lo tenete nella cassetta degli attrezzi marrone
nel magazzino più piccolo. Ci sono 3 scaffali, la
trovi su quello di destra, in basso vicino al
compressore. » (risposta perfetta)
In realtà…
Problematiche evidenti:
So descrivere bene l’oggetto che cerco? (non bene)
Chi sa rispondermi? (forse qualcuno)
Posso contattarlo ora? (forse no)
Se sì, le indicazioni fornite sono accurate? (forse no)
Scenario tipico
Poco tempo
Tanti oggetti
Pochi ambienti già "familiari"
… e forse
Un computer (meglio tablet o smartphone)
Un accesso a Internet
Idea
Per memorizzare la posizione di alcuni oggetti:
Fotografo l’ambiente
Tocco i punti della foto in cui si trovano
Inserisco alcune loro caratteristiche
Per cercare un oggetto:
Specifico qualche caratteristica
Vedo la foto e il punto in cui si trova
Obbiettivi della tesi
Si parte da zero:
Si progetta e si realizza un database ad hoc per l’applicazione web
Si realizza un prototipo dell’applicazione che permetta di cercare un oggetto memorizzato
Come è stato fatto
Realizzazione database
MS SQL Server (SQL Management Studio)
Accesso ai dati
ADO.NET (C#)
Realizzazione prototipo
HTML5
CSS
JavaScript (jQuery)
Schema ER ristrutturato
ULTIMO
INSERIMENTO
ULTIMO
INSERIMENTO
INSERIMENTO
PASSATO
INSERIMENTO
PASSATO
OGGETTOOGGETTO VALOREVALORE
PARAMETROPARAMETRO
USERUSERUSER
FOTOGRAFIAFOTOGRAFIA
AMBIENTEAMBIENTE
COMPANYCOMPANYCOMPANY
0 - I
0 - U
I - U
U - U
PROPRIETÀ
U - F
AGGIUNTA
U - F
I - F
LOCALIZ
PROPRIETÀ
F - C
COMPL
DEFINIZIONE
PART - OF
1, 1
1, 11, 1
0, 1
0, N
0, N
0, N
1, N
1, N
0, N1, 1
0, N
1, 1
0, N 1, 1
0, N
1, 1
0, N
0, N
0, N
0, 1
1, 1
0, 1
0, N
1, 1
Data X Y
Data X Y
InsPassatoID
OggettoID Nome Colore
ClasseUtilitàMateriale
Descrizione
UtenteID
Nome
Val Num
DataUltimaOperazione
DataNascita
DataRegistrazione
Cognome
Sesso
AmbienteID
Nome
Descrizione
FotografiaID
GeotagDescrizione
URL
DataCaricamento
NumMaxValori
Descrizione
Nome
Num
Admin
Nome
Descrizione
DataCreazione
CompanyID
Aperta
0, 1
Schema logico
tblAmbiente
PK ambienteID
nome descrizione
tblCompany
PK companyID
nome datacreazione descrizione aperta
tblFotografia
PK fotografiaID
dataCaricamento geotag descrizione urlFK1 ambienteIDFK2 userIDFK3 companyID
tblValore
PK numParametroPK numValorePK,FK1 oggettoID
valore
tblOggetto
PK oggettoID
nome colore materiale utilità descrizione
tblUltimoInserimento
PK,FK1 oggettoID
data x yFK2 fotografiaIDFK3 userID
tblInserimentoPassato
PK insPassatoID
data x yFK1 oggettoIDFK2 fotografiaIDFK3 userID
tblUser
PK userID
nome cognome dataNascita sesso email dataRegistrazione dataUltimaOperazione
tblParametro
PK numParametroPK,FK1 companyID
nome numMaxValori descrizione
tblPartOf
PK,FK1 userIDPK,FK2 companyID
admin
trgDeleteUsertrgDeleteUser
trgByeAdmintrgByeAdmin
trgDeletePhototrgDeletePhoto
trgObjRemovedtrgObjRemoved
trgObjMovedtrgObjMoved
trgParamValuetrgParamValue
trgAdminInstrgAdminIns
trgHasPhototrgHasPhoto
trgURLtrgURL
trgDeleteParamtrgDeleteParam
Triggering graph
Demo
1 function processRequest() {
2 $.post("GetObj.aspx", "user=" + userID + "&" + $("#mainForm").serialize(),
3 function (data, status, jqXHR) {
4 console.log(data);
5 objects = data;
6 $("div#response > img#loading").remove();
7 if (data.length)
8 viewResponse();
9 else {
10 $("div#response").append(imgNotFound);
11 }
12 });
13 }
14
15 function viewResponse() {
16 $("div#response > table").replaceWith($("<table></table>"));
17 var table = $("div#response > table");
18 for (var n = 0; n < objects.length; n++) {
19 var tr = $('<tr data-rowNumber="' + n + '"><td><img src="'
20 + objects[n].picture.imagePath + 'small.jpg" />'
21 + '</td><td>' + generateDescription(n) + '</td></tr>');
22 tr.click(zoomImage);
23 table.append(tr);
24 }
25 }
Request - Response