Università degli Studi di roma



Scaricare 330.95 Kb.
Pagina1/6
12.12.2017
Dimensione del file330.95 Kb.
  1   2   3   4   5   6

Università degli Studi di ROMA


Facoltà di Ingegneria
Corso di Laurea Triennale in Ingegneria Informatica

ANNO ACCADEMICO 2008 - 2009




TESI DI LAUREA:


Reingegnerizzazione di un applicativo web:

Monopoli on-line

RELATORE: LAUREANDO:
Prof. Giuseppe Santucci Andrea Mancini
Matricola: 796867

INDICE



Introduzione 1

Scenario applicativo 2

Obiettivo dello stage 4

Motivazioni 4

1 Le applicazioni e i Frameworks utilizzati 5

2 Requisiti utente 17

2.1Specifiche di portata 17

2.2Specifiche di dettaglio 17

2.3Specifiche consegnate 17

3 Modellazione del dominio 18

3.1Analisi del testo 18

3.1.1Actors 18

3.1.2Dominio dei dati 18

3.1.3Requisiti funzionali 18

3.2Class Diagram di dominio 20

3.3State Diagram 21

3.4Use Case Diagram a basso livello 22

3.5Descrizione Use Case Diagram 24

3.6Use Case Diagram ad alto livello 24

2 Pianificazione 37

4.1Pianificazione del progetto 37

4.1.1Function point 37

4.1.2La metodologia 37

4.1.3Pert 39

4.1.4Gantt 40

1 Disegno del sistema 41

5.1Architettura Hardware 41

5.1.1Server 41

5.1.2Client 41

5.1.3Piattaforma di sviluppo 42

5.2Architettura Software 43

5.3Progetto della base di dati 44

5.3.1Progettazione concettuale 44

5.3.1.1Schema ER 44

5.3.1.2Scelte critiche effettuate nella fase di progettazione 46

5.3.2Progettazione logica 46

5.3.2.1Ristrutturazione schema ER 46

5.3.2.2Schema ER ristrutturato 46

5.3.2.3Schema logico 47

5.3.2.4Vincoli 48

5.3.2.5Politiche di cancellazione 48

5.3.2.6Viste 48

5.3.2.7Creazione del DB con popolamento tabelle 49

5.4Prototipazione 58

5.4.1Prototipo freddo 58

5.4.2Schema di navigazione del sito tramite ADM (Araneus Data Model) 59

5.5Design model 61

5.5.1Implementation model 61

5.5.1.1Component diagram 61

1 Implementazione 62

6.1Introduzione 62

6.2Pagine web 62

6.2.1Template grafico 62

6.2.2Motivazioni delle scelte generali 64

6.2.3Stile 64

6.2.4Sfondo 64

6.2.5Immagini varie 64

6.2.6Scelte implementative 64

6.3Problemi riscontrati 65

6.3.1Eclipse 65

2 Manuale d’installazione 66

7.1Operazioni preliminari 66

7.1.1Installazione Java Virtual Machine: JDK 1.6 66

7.1.2Installazione DBMS: MySQL 5 66

7.1.3Installazione Web Server: Apache TomCat 6 67

7.2Installazione 69

7.2.1Avvio del DBMS 69

7.2.2Creazione e popolamento del database 69

7.2.3Copia dei contenuti web 70

7.2.4Avvio del Web Server 70

7.2.5Lanciare applicazione 70

7.2.6Primo accesso (Log-in / Registrazione) 71

7.3Utilizzo dell’applicazione 71

3 Commenti e ringraziamenti 73




Introduzione

La reingegnerizzazione (“reengineering”) è un metodo utilizzato in campo manageriale per sopperire a risultati insoddisfacenti. Ciò avviene ripensando l'azienda per processi orizzontali e riprogettando gli stessi processi secondo precisi standard di efficienza. Le aziende riprogettando i loro processi possono ottenere miglioramenti durevoli di costo, efficienza e qualità.


Nel nostro caso si tratta di reingegnerizzazione di un sito web.
Un sito web fa parte del patrimonio di una azienda: visitatori fidelizzati, applicazioni tagliate sulle esigenze aziendali, investimenti già effettuati creano un valore che è necessario preservare nel tempo.

Allo stesso tempo, però, il sito è uno strumento di business e deve condurre al raggiungimento di risultati concreti: spesso siti web "obsoleti" hanno necessità di essere riprogettati.


Lo scopo è di mostrare come lo sviluppare in un linguaggio di programmazione (ad esempio Java) possa cambiare nel corso del tempo.
Con l’intervento dell’ingegneria del software si è iniziato a dare delle regole, un determinato ordine nel programmare, definendo vari paradigmi di sviluppo di un software, come ad esempio il modello MVC (Model View Controller). Da tale approccio si sono poi aggiunti i cosiddetti Frameworks che oltre a proporre il loro MVC aiutano i programmatori a scrivere del codice modulare rendendolo riusabile anche in altri progetti (ad esempio nello sviluppo di applicazioni web) improntando così uno scheletro solido per la struttura dell’applicazione.
In particolare noi andremo a vedere in dettaglio solo alcuni Frameworks che però andranno così a toccare tutti gli aspetti contemplati nel MVC.
Per rendere la spiegazione più interessante e avvincente ho deciso di prendere come esempio un mio progetto universitario che unisce due esami molto validi per la formazione di uno studente verso il mondo del lavoro. Gli esami sono: il progetto di ingegneria del software e il progetto di basi di dati.
Il progetto di ingegneria del software richiedeva di dover analizzare, progettare, sviluppare e testare un applicativo orientato al web utilizzando il linguaggio Java come linguaggio di implementazione e HTML per la visualizzazione.
Il progetto di basi di dati richiedeva di creare un applicazione Java che facesse uso di un database SQL relazionale (MySql) per la memorizzazione, ricerca e modifica dei dati.
Per unire i due progetti ho deciso di creare un applicazione web che facesse uso del database.

L’applicazione scelta fu la realizzazione di un sito web che permetta di giocare on-line al celebre e famosissimo gioco del Monopoli. Il sito web infatti permette di registrarsi per effettuare l’accesso, una volta effettuato si può decidere se creare una partita o parteciparne ad una già creata (non iniziata) e visualizzare la classifica dei punteggi, in partita si possono effettuare tutte le azioni che prevede il regolamento del gioco, tra cui la trattativa per lo scambio e vendita dei territori tra due giocatori ed in più il salvataggio di una partita in corso per poterla poi riprendere successivamente.





  1   2   3   4   5   6


©astratto.info 2017
invia messaggio

    Pagina principale