PROGETTAZIONE DI UN SITO WEB PROGETTAZIONE DI UN SITO WEB Fasi di progettazione Software: ● Analisi dei Requisiti ● Progettazione (Design) ● Sviluppo ● Test ● Manutenzione Analisi dei requisiti Progettazione (design) Sviluppo Test e Manutenzione Progettazione di un sito web - Risorse Attività di tipo gestionale ● Stime dei costi (e dei tempi) ● Gestione dei progetti (delle persone, pianificazione) ● Gestione dei rischi ● Gestione della qualità Progettazione di un sito web - Risorse Documento tipo Stima dei tempi Progettazione di un sito web - Timeline A cascata Interattivo A componenti Evoluzione Progettazione di un sito web - Qualità Un sito web deve, come tutti i software, garantire i seguenti criteri di qualità: ● Correttezza ● Affidabilità ● Robustezza ● Efficienza ● Usabilità ● Integrità Li vedremo meglio successivamente.... PROGETTAZIONE DI UN SITO WEB Fasi di progettazione Software: ● Analisi dei Requisiti ● Progettazione (Design) ● Sviluppo ● Test ● Manutenzione Analisi dei requisiti Progettazione (design) Sviluppo Test e Manutenzione ● Analisi dei Requisiti Cosa vuole il cliente? (più risulta dettagliata meglio è) ● Terminata l’analisi dei requisiti, raccolgo tutte le informazioni in documenti (solitamente elettronici, ma anche no) (si eviterà di perdere dettagli importanti durante lo svolgimento delle fasi successive) Fase fondamentale!! Raccogliere quante più informazioni possibili Analisi dei Requisiti Sviluppo Software Partita Calcetto Progettazione (design) Sviluppo Test e Manutenzione Partitella DA EVITARE DA EVITARE Analisi dei requisiti Era calciotto Progetto la mia squadra Chiamo Amici Partita Progettazione (Design) ● Dopo aver risposto alla domanda “cosa deve/devo fare?” ● Ora devo rispondere alla domanda “come posso fare?” Più a livello informatico, si può trasformare in: Che tecnologie posso usare? DATABASE CSS3 PHP JAVASCRIPT ASP.NET HTML5 CMS Progettazione (Design) PHP DATABASE ASP.NET HTML5 CSS3 JAVASCRIPT CMS SCELTA DATABASE PHP CSS3 Progettazione (Design) - Database CARDINALITA' DIAGRAMMA E-R (0,n) (1,1) RELAZIONE CONTATTO NUMERO DATABASE - Rubrica online CONTATTO NUMERO ID NOME id_contatti id_numeri ID NUMERO 1 Mario 1 3 1 328-123-1234 2 Paolo 2 2 2 328-123-4567 3 Luca 1 4 3 329-321-7654 4 Marco 4 1 4 347-987-6589 1 5 5 347-555-6544 Posso migliorare..... è davvero necessaria la relazione? Progettazione (Design) - Database Rubrica telefonino CONTATTI NUMERI ID NOME id_contatti ID NUMERO 1 Mario 4 1 328-123-1234 2 Paolo 2 2 328-123-4567 3 Luca 1 3 329-321-7654 4 Marco 1 4 347-987-6589 1 5 347-555-6544 Ho risparmiato una tabella non necessaria Ora posso eseguire Query di ogni genere sulle tabelle RISPARMIO DI RISORSE Progettazione (Design) - Interfaccia Pensata in base alle esigenze del cliente PORTALE TARGET COMMERCIALE SERVIZI WEB Donne Sportivi CLOUD Giovani BLOG PUBBLICITARIO Uomini d'affari Progettazione (Design) - Interfaccia ibu GastroPub Progettazione (Design) - Interfaccia Team Antonucci Corse Progettazione (Design) - Interfaccia Web Application – Comune L'Aquila Progettazione (Design) - Interfaccia Progettazione di un sito web - Qualità Dopo aver visto le prime due fasi del processo di creazione di un sito web rivediamo i criteri di qualità: ● Correttezza, in quale misura rispetta i suoi requisiti ● Affidabilità, quanto bene rispondono ai suoi requisiti ● Robustezza, come si comporta il sistema in caso di errori ● Efficienza, tempi di risposta, uso della memoria ● Usabilità, è user-friendly? ● Integrità, sicurezza in caso di attacchi Sviluppo ● Si parla dello sviluppo del sito vero e proprio ● Parte quando tutte le precedenti fasi sono state ben definite DATABASE - Sql - Query - Insert - Select - Delete - Join PAGINE WEB - HTML5 - Javascript - AJAX - php ecc... LAYOUT CSS HTML5 Javascript Integrazione e Testing Integrazione Se sviluppato in moduli si integra il tutto Testing Presenta errori? oN Posso consegnare Si Correggo gli errori Progettazione di un sito web - Timeline A cascata Interattivo A componenti Evoluzione Progettazione di un sito web - Timeline A cascata Tempi delle varie fasi sono ben equilibrati Progettazione di un sito web - Timeline A cascata Ciclico, fino a che la valutazione del prodotto diviene soddisfacente rispetto ai requisiti richiesti In risposta al modello a cascata che risulta troppo lineare Progettazione di un sito web - Timeline A componenti Dopo una valutazione molto attenta e precisa dei requisiti si procede allo sviluppo separato di componenti L'integrazione è fondamentale CMS – Content Management System ● Cos'è? Fondamentalmente è un sistema di gestione dei contenuti CMS – Fasi della progettazione Analisi dei requisiti Progettazione (design) Come cambia la progettazione quando usiamo un CMS? Sviluppo Test e Manutenzione CMS – Fasi della progettazione Analisi dei requisiti Progettazione (design) Sviluppo Test e Manutenzione La fase di progettazione viene a mancare in maniera consistente CMS – Fasi della progettazione ● Posso ignorare le problematiche legate a: - Database - Layout - Sicurezza - Scrittura del codice sorgente (se non per modalità più avanzate) Da vantaggi significativi nella creazione di siti web con grandi quantità di contenuti CMS – Fasi della progettazione ● I CMS non sono solo per piccoli blog CMS – Struttura ● Come sono strutturati i CMS? CORE TEMPLATE Modifica l'interfaccia Funzionalità base di un CMS MODULI Espansioni delle funzionalità CMS – Struttura CORE TEMPLATE Gestione Articoli/Notizie Layout Categorizzazione Colori Sicurezza MODULI Gestione Utente Nuove funzionalità Miglioramenti di quelle esistenti CMS – Qualità Il CMS garantisce alcuni requisiti di qualità ● Correttezza ● Affidabilità ● Robustezza ● Efficienza ● Usabilità ● Integrità Garantiti dal CMS Dipendono dall'utente - Pessima categorizzazione dei dati - Scrittura di dati errati Sito Web Tradizionale VS CMS Website CMS Analisi dei requisiti Analisi dei requisiti Progettazione (design) Sviluppo Sviluppo Test e Manutenzione Test e Manutenzione Risparmio di tempo Sito Web Tradizionale VS CMS Il CMS è quindi uno strumento potente che riduce i tempi di realizzazione di un sito web ma bisogna pagare un prezzo... ● La Versatilità - Non tutto può essere fatto da un CMS - E' generalmente pesante - Non tutti i requisiti potrebbero essere soddisfatti - Si adattano poco a servizi e applicazioni web Sito Web Tradizionale VS CMS ● Un sito web tradizionale (html, php, css) è quindi più versatile ma ha bisogno di più lavoro in particolare sulla: - gestione della sicurezza - gestione utenti - definizione dei ruoli - gestione contenuti Automatizzate nel CMS Sito Web Tradizionale VS CMS Differenza Evidente NOTA BENE FATTIBILITA' 80 28 Quale usare? Dipende dai requisiti Finita la prima fase di ANALISI DEI REQUISITI posso decidere quale delle due procedure è più conveniente. FINE GRAZIE PER L'ATTENZIONE