GPS-IS A.A 2016/2017web con funzionalità interattive in maniera semplice. - Json: è un tipo di...

Post on 18-Jan-2020

1 views 0 download

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 2

Cos’è?

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 14

Rydyard Kipling

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 31

RF_DOC5 Inserisci corso

Free Powerpoint Templates Page 32

RF_DOC5 Inserisci corso

Free Powerpoint Templates Page 33

RF_DOC5 Inserisci corso

Free Powerpoint Templates Page 34

RF_DOC5 Inserisci corso

Free Powerpoint Templates Page 35

RF_DOC12 Crea Gruppo

Free Powerpoint Templates Page 36

RF_DOC12 Crea Gruppo

Free Powerpoint Templates Page 37

RF_DOC12 Crea Gruppo

Free Powerpoint Templates Page 38

RF_DOC12 Crea Gruppo

Free Powerpoint Templates Page 39

RF_DOC15 Accetta appuntamento

Free Powerpoint Templates Page 40

RF_DOC15 Accetta appuntamento

Free Powerpoint Templates Page 41

RF_DOC15 Accetta appuntamento

Free Powerpoint Templates Page 42

RF_DOC15 Accetta appuntamento

Free Powerpoint Templates Page 43

RF_DOC22 Modifica gruppo

Free Powerpoint Templates Page 44

RF_DOC22 Modifica gruppo

Free Powerpoint Templates Page 45

RF_DOC22 Modifica gruppo

Free Powerpoint Templates Page 46

RF_DOC22 Modifica gruppo

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 48

RF_STU3 Prenota appuntamento

Free Powerpoint Templates Page 49

RF_STU3 Prenota appuntamento

Free Powerpoint Templates Page 50

RF_STU3 Prenota appuntamento

Free Powerpoint Templates Page 51

RF_STU3 Prenota appuntamento

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 56

RF_STU9 Cancella appuntamento

Free Powerpoint Templates Page 57

RF_STU9 Cancella appuntamento

Free Powerpoint Templates Page 58

RF_STU9 Cancella appuntamento

Free Powerpoint Templates Page 59

RF_STU9 Cancella appuntamento

Free Powerpoint Templates Page 60

RF_STU10 Accetta gruppo

Free Powerpoint Templates Page 61

RF_STU10 Accetta gruppo

Free Powerpoint Templates Page 62

RF_STU10 Accetta gruppo

Free Powerpoint Templates Page 63

RF_STU10 Accetta gruppo

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 72

MVC

in Java

Servlet

Free Powerpoint Templates Page 73

Componenti Bean

Free Powerpoint Templates Page 74

Componenti View

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 79

MODELLO ER

Free Powerpoint Templates Page 80

I NOSTRI SOTTOSISTEMI

I NOSTRI

SOTTOSISTEMI

Free Powerpoint Templates Page 81

PERCHE’

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 91

Trade-off

Free Powerpoint Templates Page 92

VS

Comprensibilità Costi

Free Powerpoint Templates Page 93

VS

Costi

Free Powerpoint Templates Page 94

VS

Interfaccia Easy-Use

Free Powerpoint Templates Page 95

VS

Memoria Efficienza

Free Powerpoint Templates Page 96

VS

Sicurezza Efficienza

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 98

Convenzioni

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

104

Free Powerpoint Templates Page

105

Free Powerpoint Templates Page

106

Interfacce delle classi

Overview delle classi

Free Powerpoint Templates Page

107

AutenticazioneServlet

Free Powerpoint Templates Page

108

Free Powerpoint Templates Page

109

Free Powerpoint Templates Page

110

Free Powerpoint Templates Page

111

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

114

Scopriamolo tramite il Testing

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

117

FAILURES ERROR

Free Powerpoint Templates Page

118

Testing funzionale

Free Powerpoint Templates Page

119

Testing di usabilità

Free Powerpoint Templates Page

120

Conclusioni sul testing effettuato

Free Powerpoint Templates Page

121

Componenti che sono state testate

Free Powerpoint Templates Page

122

Le componenti testate ...

Bean:

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

134

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.

Free Powerpoint Templates Page

143

Grazie per l’attenzione