GPS-IS A.A 2016/2017web con funzionalità interattive in maniera semplice. - Json: è un tipo di...
Transcript of GPS-IS A.A 2016/2017web con funzionalità interattive in maniera semplice. - Json: è un tipo di...
GPS-IS A.A 2016/2017
Prof.ssa Ferrucci - Prof.re Gravino
Presentazione Finale
Free Powerpoint Templates Page 3
Free Powerpoint Templates Page 4
Free Powerpoint Templates Page 5
Free Powerpoint Templates Page 6
Impegni
Insegnamento
Ricerca
Ricevimento
Free Powerpoint Templates Page 7
Sotto esamePer tesi
tirocinio
Semplice ricevimento
Free Powerpoint Templates Page 8Free Powerpoint Templates
OBIETTIVI
Free Powerpoint Templates Page 9
Implementare completamente il sistema
MyUnisaAppointment
Aiutare la gestione degli appuntamenti da parte del docente e dello studente
Interfaccia user-friendly
Free Powerpoint Templates Page 10Free Powerpoint Templates
Free Powerpoint Templates Page 11
PM Hilary
DeGregorio
Alessandro Nicolò Gianmarco Russo Antonio Martella Fabrizio Stanco
Giuseppe Valitutto Maria Iorio Fabrizio Carnevale Raffaele Napolitano
Free Powerpoint Templates Page 12
OBIETTIVI
DEL TEAM★ Rispettare TUTTE le scadenze
★ Scrivere i vari documenti nella maniera più ACCURATA
per facilitare la comprensione ai colleghi
★ DIALOGARE il più possibile e restare uniti.
Free Powerpoint Templates Page 13
RAD Draft
06/11/2016
RAD
20/11/2016
SDD
04/12/2016
ODD &
Test Case
18/12/2016
Prima release
10/01/2017
Release finale
17/01/2017
Free Powerpoint Templates Page 15Free Powerpoint Templates
RACCOLTA ED
ANALISI DEI
REQUISITI
Free Powerpoint Templates Page 16
REQUIREMENTS ELICITATION
L’ingegneria dei requisiti coinvolge due attività:
• raccolta dei requisiti;
• analisi dei requisiti.
Free Powerpoint Templates Page 17
Esistono varie tipologie di requisiti:
• Requisiti funzionali
• Requisiti non funzionali
Free Powerpoint Templates Page 18
❖ Usabilità
❖ Affidabilità
❖ Prestazioni
❖ Supportability
❖ Implementazione
❖ Privacy
❖ Sicurezza
REQUISITI NON FUNZIONALI
Free Powerpoint Templates Page 19
USABILITA’
MyUnisaAppointment:
deve poter essere usato sia dallo studente che dal docente senza alcuna richiesta di
competenze tecniche per l’uso.
Deve essere:
• facile da usare
• agevole nei servizi che offre.
Free Powerpoint Templates Page 20
AFFIDABILITA’
MyUnisaAppointment:
• gestirà eventuali errori ed anomalie
• offre un metodo di autenticazione sicuro per tutti gli utenti che vorranno
usufruirlo.
Free Powerpoint Templates Page 21
PRESTAZIONI
MyUnisaAppointment:
deve essere in grado di interagire con circa duecento utenti, mantenendo
tempi di risposta bassi.
Free Powerpoint Templates Page 22
SUPPORTABILITY
MyUnisaAppointment
deve essere facilmente manutenibile ed estendibile per sviluppi
futuri e vari aggiornamenti.
Free Powerpoint Templates Page 23
PRIVACY
MyUnisaAppoitment
è realizzato in maniera tale da garantire il rispetto delle norme
vigenti sulla privacy, facendo riferimento alla Legge 31
dicembre 1996, n. 675 del Parlamento Italiano.
Free Powerpoint Templates Page 24
SICUREZZA
Il sistema deve garantire la protezione dei dati degli utenti registrati
mediante email e password .
Free Powerpoint Templates Page 25
REQUISITI FUNZIONALI
❖Gestione docente
❖Gestione studente
❖Gestione autenticazione
Free Powerpoint Templates Page 26
GESTIONE DOCENTE
❖ RF_DOC2 Modifica orario di ricevimento
❖ RF_DOC5 Inserisci corso
❖ RF_DOC12 Crea gruppo
❖ RF_DOC15 Accetta appuntamento
❖ RF_DOC22 Modifica gruppo
Free Powerpoint Templates Page 27
RF_DOC2 Modifica orario di ricevimento
Free Powerpoint Templates Page 28
RF_DOC2 Modifica orario di ricevimento
Free Powerpoint Templates Page 29
RF_DOC2 Modifica orario di ricevimento
Free Powerpoint Templates Page 30
RF_DOC2 Modifica orario di ricevimento
Free Powerpoint Templates Page 47
GESTIONE STUDENTE
❖ RF_STU3 Prenota appuntamento
❖ RF_STU8 Visualizza dettagli appuntamenti
❖ RF_STU9 Cancella appuntamento
❖ RF_STU10 Accetta gruppo
❖ RF_STU12 Modifica appuntamento studente
Free Powerpoint Templates Page 52
RF_STU8 Visualizza dettagli appuntamento
Free Powerpoint Templates Page 53
RF_STU8 Visualizza dettagli appuntamento
Free Powerpoint Templates Page 54
RF_STU8 Visualizza dettagli appuntamento
Free Powerpoint Templates Page 55
RF_STU8 Visualizza dettagli appuntamento
Free Powerpoint Templates Page 64
RF_STU12 Modifica appuntamento studente
Free Powerpoint Templates Page 65
RF_STU12 Modifica appuntamento studente
Free Powerpoint Templates Page 66
RF_STU12 Modifica appuntamento studente
Free Powerpoint Templates Page 67
RF_STU12 Modifica appuntamento studente
Free Powerpoint Templates Page 68
I NOSTRI SOTTOSISTEMI
SYSTEM
DESIGN
Free Powerpoint Templates Page 69
Free Powerpoint Templates Page 70
Greenfield Project
Attualmente non esiste un sistema software che si occupa di gestire questa
problematica
In un Greenfield Project lo sviluppo comincia da zero, non esiste nessun
sistema a priori e i requisiti sono ottenuti dall’utente finale e dal cliente
Free Powerpoint Templates Page 71
Architettura del sistema
Il nostro sistema è costituito da un’architettura Model-View-Controller.
- Il model si occupa della gestione dei dati quindi dell’interazione con il database e dell’astrazione degli
stessi.
- la view si occupa dell’interazione con l’utente e quindi della visualizzazione dei dati con una certa
formattazione
- il controller riceve i comandi inviati dall’utente alla visualizzazione si occupa dell’eventuale elaborazione
del passaggio al modello e di nuovo della risposta alla visualizzazione.
Free Powerpoint Templates Page 75
Le views più importanti sono: View Studente e View Docente
Free Powerpoint Templates Page 76
Free Powerpoint Templates Page 77
- ServletAutenticazione
- ServletProfilo
- ServletOrario
- ServletCorso
- ServletPrenotazioneDocente
- ServletPrenotazioneStudente
- ServletGruppo
- ServletGruppoStudente
- ServletComunicazione
Free Powerpoint Templates Page 78
Per memorizzare i dati persistenti abbiamo scelto un database relazionale
VANTAGGI
- Privatezza dei dati
- Imposizioni di vincoli di integrità
sui dati
- Atomicità delle operazioni
- Affidabilità dei dati
Free Powerpoint Templates Page 80
I NOSTRI SOTTOSISTEMI
I NOSTRI
SOTTOSISTEMI
Free Powerpoint Templates Page 82
COME?
MASSIMA
COESIONE
MINIMO
ACCOPPIAMENTO
Free Powerpoint Templates Page 83
Free Powerpoint Templates Page 84
SIAMO SICURI DI AVER RIDOTTO AL MINIMO
L’ACCOPPIAMENTO?
Cos’è questo
sottosistema risorse??
Free Powerpoint Templates Page 85
CONTROLLO DEL FLUSSO GLOBALE
EVENTO
EVENT-DRIVEN CONTROL
Free Powerpoint Templates Page 86
Free Powerpoint Templates Page 87
SOTTOSISTEMA PRENOTAZIONE
SOTTOSISTEMA CORSO
SOTTOSISTEMA ORARIO
SOTTOSISTEMA GRUPPI
SOTTOSISTEMA COMUNICAZIONE
SOTTOSISTEMA PROFILO
SOTTOSISTEMA AUTENTICAZIONE
Free Powerpoint Templates Page 88
TUTTI POSSONO FARE TUTTO???
MyUnisaAppointment
è dotato di un sistema di
USERNAME(email) e
PASSWORD per
l’autenticazione
Free Powerpoint Templates Page 89
SIAMO PRONTI POSSIAMO INIZIARE A PROGRAMMARE
Free Powerpoint Templates Page 90
Non ancora...un
ultimo sforzo
Project Manager
Free Powerpoint Templates Page 97
Convenzioni
La scelta delle convenzioni da adottare è stata fondamentale per facilitare il compito ai
nostri colleghi, visto il grande numero di sviluppatori.
Free Powerpoint Templates Page 99
Componenti Off-The-Shelf
Per l’implementazione ci siamo serviti delle seguenti tecnologie:
- AngularJS: è un framework JavaScript per lo sviluppo di applicazioni Web
client side.
- Bootstrap: è un insieme di elementi grafici, di impaginazione e Javascript
pronti all’uso.
- Jquery: è una libreria javascript che permette ai Developer di creare pagine
web con funzionalità interattive in maniera semplice.
- Json: è un tipo di formato molto utilizzato per lo scambio dati in
applicazioni client server
- MySQL Connector/J: è un connettore per database che consente l'accesso
e la gestione della persistenza dei dati sulle basi di dati da qualsiasi
programma scritto con il linguaggio Java.
Free Powerpoint Templates Page
100
Design Patterns
Ogni pattern descrive un problema che ricorre più volte nel nostro
ambiente, descrive poi il nucleo della soluzione del problema in modo da
poter utilizzare tale soluzione un milione di volte senza mai farlo allo
stesso modo
Christopher Alexander
Free Powerpoint Templates Page
101
Bridge Pattern
Permette di separare l'interfaccia di una classe dalla sua
implementazione. In tal modo si può usare l'ereditarietà per
fare evolvere l'interfaccia o l'implementazione in modo
separato.
Free Powerpoint Templates Page
102
PACKAGES
Dai sottosistemi ai package
Free Powerpoint Templates Page
103
❖ Autenticazione
❖ Profilo
❖ Prenotazione
❖ Orario
❖ Gruppo
❖ Corsi
❖ Comunicazione
Sottosistemi
Free Powerpoint Templates Page
106
Interfacce delle classi
Overview delle classi
Free Powerpoint Templates Page
112
Mapping to code
Forward engineering
Input: insieme di elementi del modello
Output: insieme di istruzione di codice sorgente
Free Powerpoint Templates Page
113
Il nostro sistema è
funzionante?
Free Powerpoint Templates Page
115
Come abbiamo testato il
nostro sistema?
● Testing unitario
● Testing di integrazione
● Testing funzionale
● Testing di usabilità
Free Powerpoint Templates Page
116
Testing unitario e di
integrazione
Free Powerpoint Templates Page
120
Conclusioni sul testing effettuato
Free Powerpoint Templates Page
121
Componenti che sono state testate
Free Powerpoint Templates Page
123
Le componenti testate ...
ManagerAutenticazione:
ManagerGruppi:
Free Powerpoint Templates Page
124
Le componenti testate ...
ManagerProfilo:
Free Powerpoint Templates Page
125
Le componenti testate ...
ManagerOrario:
Free Powerpoint Templates Page
126
Le componenti testate ...
ManagerCorso:
Free Powerpoint Templates Page
127
Le componenti testate ...
ManagerPrenotazione:
Free Powerpoint Templates Page
128
Se i membri del team riportano che il
20% dei tests sono falliti, il testing sarà
sospeso fino a che il team di sviluppo
non ripari tutti i casi che hanno causato il
fallimento.
Criteri di Sospensione
Free Powerpoint Templates Page
129
I criteri che denotano il completamento
positivo di una fase di test sono:
● La Run rate deve essere
obbligatoriamente 100% a meno che non
si diano ragione chiare;
● La Pass rate è 80%, il raggiungimento
di questa soglia è obbligatorio in ogni
caso.
Criteri di Uscita
Free Powerpoint Templates Page
130
Test eseguiti - Test Case Specification
Sono stati descritti tutti i casi di test con le
relative classi di equivalenza. Tutti i test
case sono racchiusi nel documento
MUA_TestCase_Vers1.0.
Free Powerpoint Templates Page
131
Documentazione scaturita dai test
- Test Summary Report: documento creato per spiegare le varie attività fatte per testare
il sistema MyUnisaAppointment e fare il resoconto dei risultati dei vari test;
- Test Incident Report: documento creato per riportare i fallimenti o gli errori che sono
stati riscontrati nel testing;
- Test Report: documento che riporta tutti i test case che sono stati effettuati;
- Test Usabilità: documento dove vengono riportati i risultati delle domande fatte ai
studenti e docenti che hanno utilizzato il nostro sw.
Free Powerpoint Templates Page
132
Metriche di test
TCs Pianificati vs Eseguiti
Free Powerpoint Templates Page
133
Conclusioni
Tutti i criteri di uscita sono stati soddisfatti
e quindi l’applicativo risulta comunque
valido per un lancio in versione beta.
Free Powerpoint Templates Page
135
Raffaele Napolitano➢ Cosa hai imparato?
○ Ho imparato a fidarmi degli altri e a collaborare con loro.
E soprattutto ho imparato che la documentazione è
importantissima ai fini della realizzazione del progetto
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ Le uniche difficoltà che ho riscontrato sono state la stesura
dei documenti e la relative scadenze.
➢ Qual è stato il tuo contributo?
○ Ho lavorato molto sulla creazione dei documenti e sul testing.
Free Powerpoint Templates Page
136
➢ Cosa hai imparato?
○ Riuscire a collaborare con tutti i componenti del team;
○ Iniziare ad affacciarsi al mondo del lavoro.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ L’implementazione.
➢ Qual è stato il tuo contributo?
○ Ho cercato di dare un maggiore aiuto nella documentazione.
Maria Iorio
Free Powerpoint Templates Page
137
➢ Cosa hai imparato?
○ Ho imparato a lavorare in gruppo.
○ Ho capito come si progetta un software ma soprattutto questa
esperienza mi ha aiutato tanto ad abbattere la mia timidezza.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ L’implementazione.
➢ Qual è stato il tuo contributo?
○ Nella documentazione, nella creazione di parte dei mockup.
Fabrizio Stanco
Free Powerpoint Templates Page
138
➢ Cosa hai imparato?
○ Questa esperienza mi ha fatto conoscere il vero lavoro di
gruppo, con tutti i suoi pregi e difetti.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ La parte più complicata è stata la documentazione perché, a
mio parere, è risultata coercitiva per la fase finale.
➢ Qual è stato il tuo contributo?
○ Ho contribuito nella stesura della documentazione,
nell’implementazione e nel testing.
Gianmarco Russo
Free Powerpoint Templates Page
139
➢ Cosa hai imparato?
○ Ad integrarmi e a lavorare con un gruppo di sconosciuti con un
obiettivo comune al mio.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ Indubbiamente la documentazione è stata l’ostacolo più grande da
superare perchè, a mio avviso, alcuni punti erano sicuramente
trascurabili. Inoltre riuscire a rispettare sempre le scadenze prefissate
➢ Qual è stato il tuo contributo?
○ Ho contribuito nella documentazione, nell’implementazione e nel
testing.
Fabrizio Carnevale
Free Powerpoint Templates Page
140
Alessandro Nicolò➢ Cosa hai imparato?
○ Questa esperienza mi ha fatto crescere molto, ho imparato
cosa significa “lavorare sotto pressione” e cosa più importante
ho imparato che se si sta uniti si può fare tutto
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ La difficoltà più grande è stata rispettare le scadenze
➢ Qual è stato il tuo contributo?
○ Mi sono impegnato nella stesura dei documenti
○ Ho contribuito all’implementazione del software
Free Powerpoint Templates Page
141
Antonio Martella
➢ Cosa hai imparato?
○ Ho imparato a lavorare in gruppo e con persone che
non conoscevo prima.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ Ho trovato difficoltà con i numerosi documenti.
➢ Qual è stato il tuo contributo?
○ Ho contribuito nella documentazione e nel testing.
Free Powerpoint Templates Page
142
Giuseppe Valitutto➢ Cosa hai imparato?
○ Ho imparato come strutturare un intero progetto con la
documentazione necessaria e con i vari task da compiere.
➢ Qual è stata la parte più complicata o la tua difficoltà più grande?
○ Ho trovato lunga e difficile la gestione e la creazione della
documentazione.
➢ Qual è stato il tuo contributo?
○ Ho contribuito nella programmazione.