Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa
La mia scuola ha un
sito Web
Presentazione del corso
Contenuti e obiettivi del corso
Imparare a lavorare
Ingegneria del Web
con le metodologie
dell’ingegneria del Web
per lo sviluppo di
applicazioni con l’obiettivo
della qualità.
Qualità
Qualità
Presentazione del Corso
Orari e contatti
venerdì 23 settembre, ore 8.45-9.35, aula 201
venerdì 30 settembre, ore 8.45-9.35, aula 104 (PC)
venerdì 7 ottobre, ore 8.45-9.35, aula 201
venerdì 14 ottobre, ore 8.45-9.35, aula 201
venerdì 21 ottobre, ore 8.45-9.35, aula 104 (PC)
[email protected]
[email protected]
[email protected]
Presentazione del Corso
Materiale didattico e modalità di valutazione
Tutto il materiale didattico è disponibile sul sito
www.g4discs.wikispaces.com
Esame scritto con
- domande a risposta multipla,
- vero o falso,
- domande aperte.
Sul sito del corso ci sono alcuni esempi di
possibili domande nella sezione Test di
verifica sui contenuti.
Contenuti della 1°Lezione
1. Internet, il www e i siti Web
Reti di calcolatori e Internet
World Wide Web
Siti Web
2. Ingegneria del software
Definizione
Modelli di sviluppo del software
3. Ingegneria del Web
Definizione
Qualità dei siti Web
Modello di sviluppo di un'applicazione Web
Internet, il www e i siti web
Rete di calcolatori: struttura di telecomunicazione in cui
più calcolatori sono collegati tra di loro per condividere
e scambiare informazioni; la comunicazione avviene
mediante lo stesso schema di comunicazione
(protocollo).
Le reti si possono classificare in differenti modi:
•
per dimesione (LAN, MAN, WAN);
•
per supporto di telecomunicazione (cavo ethernet,
doppino telefonico, fibra ottica, wireless);
•
per topologia della rete (a stella, ad anello, a bus);
•
per stabilità della connessione (sempre attiva, mobile).
Internet, il www e i siti web
Si possono collegare tra loro reti diverse, mediante specifici
protocolli, per formare una rete di reti.
Internet: rete planetaria di tutte le reti collegate tra loro, che
comunicano mediante l’Internet Protocol (IP).
WWW (World Wide Web = Grande Ragnatela Mondiale):
principale servizio di Internet che permette di accedere ai
contenuti multimediali (organizzati in maniera ipertestuale)
e ad altri servizi.
Sito Web: insieme di pagine Web collegate in maniera
ipertestuale
- le pagine risiedono in un Web server;
- l’utente vi accede mediante un Web browser.
Internet, il www e i siti web
Possiamo distinguere due tipologie principali di siti Web:
•
•
•
Siti Web statici:
presentano contenuti di sola
lettura per l’utente;
i contenuti variano con bassa
frequenza e solo mediante
modifica del codice HTML
della pagina;
i primi siti Web erano così.
•
•
•
Siti Web dinamici:
caratterizzati dall’interazione
dell’utente con il sito;
i contenuti variano
dinamicamente;
vengono scritti con linguaggi
di scripting.
I siti Web vengono poi divisi in categorie per inquadrarne il
settore di operatività o i servizi offerti:
Ingegneria del software
→ disciplina che si occupa dei processi produttivi e delle
metodologie di sviluppo finalizzate alla realizzazione di sistemi
software.
OBIETTIVI: legati all'evoluzione dello sviluppo del software da 2
punti di vista:
punto di vista tecnologico:
attraverso la definizione di
nuovi linguaggi di
programmazione.
punto di vista metodologico:
definizione di un software modelli di realizzazione del
come un prodotto industriale software (scomposizione
dell’attività in sottoattività)
(esami di qualità)
Ingegneria del software
Anni ’60: necessità di sviluppare prodotti sempre più complessi ed
evoluti per rispondere alle esigenze → disciplina che si occupa
della realizzazione del software.
Da uso in ambito scientifico e militare si passa ad un uso
industriale → cambiando il bacino di utenti, cambiano alcune
esigenze (grafica) .
Si cerca di definire formalmente cosa possa descrivere un buon
prodotto software.
Problema ancora aperto: produrre con tempi e costi prestabiliti dei
sistemi software di formidabili dimensioni.
Ciclo di vita del software: modo in cui un modello scompone
l'attività di realizzazione dei prodotti in sottoattività fra loro
coordinate, il cui risultato finale è il prodotto stesso e tutta la
documentazione a esso associata.
Modelli di sviluppo del software
Modello a cascata
•
Primo modello in ordine storico: inventato negli anni ’60, si
diffonde negli anni ’70.
•
Limiti: rigidità e linearità dei processi che provocavano una
lievitazione dei costi soprattutto di manutenzione.
A questo metodo si deve la definizione delle fasi chiave (ogni fase
produce un output che diventa input della fase successiva):
1.
studio di fattibilità,
4.
collaudo,
2.
analisi dei requisiti,
5.
integrazione,
3.
progetto,
6.
manutenzione.
Nonostante le critiche rimane il modello “canonico” sul quale si
sono sviluppate diverse variazioni.
Modelli di sviluppo del software
Modello evolutivo
•
Si basa sulla realizzazione di prototipi la cui verifica può portare a
una modifica dei requisiti e una eventuale revisione del progetto.
•
È un modello costituito da poche fasi che si ripetono:
•
1.
costruisci qualcosa;
2.
consegnalo all’utente;
3.
ottieni delle valutazioni;
4. modifica il progetto in funzione delle valutazioni
Miglioramenti: elimina gli errori nei requisiti.
•
Limiti: non riduce i tempi per il completamento del ciclo di
sviluppo.
•
Ce n’è un’evoluzione teorica che passa sotto il nome di modello
trasformazionale.
Modelli di sviluppo del software
Modello a spirale
•
Metamodello: consente di rappresentare i diversi cicli di vita.
•
Si concentra sull’identificazione e l’eliminazione dei problemi ad
alto rischio.
•
È un modello ciclico, non lineare che si sviluppa su 4 fasi:
1.
•
•
identificazione degli obiettivi e delle
alternative,
2. individuazione delle potenziali aree di rischio,
3. sviluppo e verifica del prodotto finale,
4. revisione dei risultati.
Mescola: natura iterativa dei prototipi e aspetti controllati e
sistematici dei modelli lineari.
Permette di strutturare l’attività di manutenzione che molti altri
modelli trascurano.
Modelli di sviluppo del software
Modello a fontana
•
Modello altamente iterativo (adatto per la programmazione
orientata ad oggetti e per grandi progetti sviluppati da più
persone).
•
Riconosce che, nonostante alcune attività non possano
iniziare prima di altre, c’è una considerevole sovrapposizione
tra le attività durante il ciclo di sviluppo.
•
Nel disegno sono presenti però degli zampilli, anche a livelli
inferiori, indice che in alcuni casi è necessario fare una certa
attività di ripianificazione.
•
Permette uno sviluppo di componenti software maggiormente
autonomo, all’interno di un’infrastruttura unificante (adatto per
lo sviluppo di software modulare).
Modelli di sviluppo del software
Metodologia agile
•
Coinvolge il più possibile il committente, tenendo conto delle
sue richieste.
•
Si sviluppa come una serie di piccoli progetti che contengono
quanto necessario per un piccolo incremento nelle funzionalità.
•
Le fasi sono:
•
•
1. pianificazione;
2. analisi dei requisiti;
3. progetto;
4. implementazione;
5. test.
Il risultato di ogni singola iterazione non è completo, la sequenza
di iterazioni si avvicina sempre di più alle richieste del cliente.
Alla fine di ogni iterazione il team deve rivalutare le priorità di
progetto.
Ingegneria del Web
→ processo per la creazione di applicazioni Web di alta qualità
•
Gli ingegneri del Web sono richiesti dalle aziende per creare
siti che abbiano un alto livello di qualità dal punto di vista
tecnologico ma allo stesso tempo che siano semplici da
utilizzare.
•
Ingegneria del Web e del software non si occupano dello
stesso problema, ma la seconda serve come base di partenza
per lo sviluppo della prima.
OBIETTIVI delle applicazioni Web (e in generale delle
applicazioni software) di qualità: accessibilità e usabilità
Ingegneria del Web: qualità
→ Un prodotto (qualsiasi) sul mercato è detto di qualità se
soddisfa ciò che l'acquirente si aspetta da esso.
•
La grandissima diffusione di Internet e del Web in tempi
recenti ha fatto nascere l'esigenza di avere norme tecniche a
riguardo.
•
L'ISO (International Organization for Standardization) insieme
alla IEC (Commissione Elettrotecnica Internazionale), ha
sviluppato una serie di normative che definiscono la qualità di
un prodotto software (e quindi in particolare di un sito Web): la
qualità nell'uso di un prodotto software è
"la capacità di un prodotto di aiutare determinati utenti a
raggiungere determinati obiettivi con efficacia, efficienza,
sicurezza e soddisfazione, in determinati contesti d’uso".
In questa definizione la qualità viene vista da parte dell'utente e
dunque da colui che utilizzerà il prodotto → qualità in uso.
Ingegneria del Web: qualità
La qualità di un qualsiasi prodotto software può essere valutata
come:
•
qualità interna: riguarda come è fatto internamente il sito e
quindi interessa "solamente" il programmatore o il creatore di
quel sito (poco importante per i siti, lo è di più per i prodotti
software in generale).
•
qualità esterna: riguarda come il sito viene visto da fuori,
dunque riguarda la grafica e l’architettura.
•
qualità in uso: riguarda direttamente l'utente e le
caratteristiche che rendono il sito adeguato a ciò che l'utente
deve o vuole riuscire a fare con esso.
Idealmente, la qualità interna determina la qualità esterna e la
qualità esterna determina quella in uso.
Ingegneria del Web: modello di
sviluppo
• I modelli di sviluppo per un prodotto software spesso non
tengono conto di alcune peculiarità dell'ingegneria del Web, e
dunque, risultano meno adatti alla creazione di siti Web di
qualità.
• Usiamo un modello a spirale con alcune caratteristiche
particolari che lo rendono adatto per le applicazioni Web; ogni
ciclo è composto da:
1.
analisi dei requisiti;
2.
progettazione di tutte le componenti;
3.
realizzazione dell’applicazione Web;
4.
valutazione in funzione degli obiettivi
e dei requisiti.
Scarica

Presentazione 1°lezione - G4DisCS