Analisi dettagliata e design

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Corso di Fondamenti di Informatica
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Java Enterprise Edition (JEE)
Laboratorio di Progettazione Web Introduzione AA 2009/2010 Chiara Renso ISTI - CNR -
una interfaccia internet per il sistema Momis
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
Università degli Studi di Modena e Reggio Emilia
IN QUESTA PRESENTAZIONE…
OUTLINE Riprogettazione del database del portale Web della Facoltà di Ingegneria Sviluppo di una applicazione WEB DB : HOMEPAGE DOCENTI Architettura multilivello.
Acquisti OnLine Progetto
Tecnologie di implementazione
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
4 – Progettazione – Introduzione e Modello E-R
LABIS-SD Antonio Cuomo393/121 Clelio Quattrocchi393/127 Emanuele Zuzolo393/136 Fabio Melillo393/141 Stefano Mastrocinque393/135 Valerio Vincenzo Guarino393/155.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Linguaggi per il Web Laboratorio di Applicazioni Informatiche II mod. A.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
Analisi dettagliata e design B. Pernici. Sommario Analisi dettagliata –Separazione interfaccia, controllo, entita Design –Logical view –Progettazione.
Architettura Three Tier
Un framework per il pattern MVC
Daniel Stoilov Tesi di Laurea
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Elaborazione di Franco Grivet Chin
Introduzione ad ASP.net
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Introduzione alla modellazione di sistemi interattivi
Ing. Enrico Lecchini BetaTre S.r.l.
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
1 – Costruzione dell’alberatura
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Introduzione alle ASP: primi passi negli script. Frosini Andrea Università degli studi di Siena Dipartimento di Scienze Matematiche.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Introduzione alla programmazione web
Common Gateway Interface. Dynamic HTML le risposte inviate al client sono (parzialmente o totalmente) create on-the-fly (al volo) dopo aver ricevuto il.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Esercitazioni di Ingegneria del Software con UML
Java Enterprise Edition
Progettazione concettuale di SI basati su Web
M V C Model View Controller.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Diagramma delle Classi
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Laboratorio di Progettazione A cura di: Arosio Cattaneo Prandi
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Laboratorio di Servizi Web - servlet - Ardissono 1 Chiarimenti su Servlet Note aggiuntive su architettura di applicazione web che usa Servlet per gestire.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 1 – Introduzione.
Servizi Internet Claudia Raibulet
4/18/ :18 AM.
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Progettazione concettuale di SI basati su Web B. Pernici.
Tecnologie in movimento
Eprogram informatica V anno.
Architetture software
Corso Web Developer Lezione 2 – HTML e ASP. I limiti delle pagine HTML Nella lezione precedente abbiamo visto che con HTML e JavaScript è possibile scrivere.
Eprogram informatica V anno. Programmare in rete.
Transcript della presentazione:

Analisi dettagliata e design B. Pernici D. Ardagna

Sommario Analisi dettagliata Design Separazione interfaccia, controllo, entita’ Design Logical view Progettazione dei dati Component view

Obiettivi Trasformare i requisiti in un progetto che puo’ essere implementato in un’applicazione software Analisi: utilizza casi d’uso e requisiti funzionali per realizzare un modello del sistema Progettazione: raffinamento del modello di analisi tenendo conto dei requisiti non funzionali dei vincoli architetturali

Processo di sviluppo Analisi e progettazione possono evolvere come due attivita’ separate o come parte di una stessa attivita’ Analisi e progettazione possono iniziare prima che la fase di raccolta dei requisiti sia completamente terminata Priorita’: gestione del rischio

Analisi dettagliata Packages Boundary-control-entity (interfaccia, controllo, entita’)

Package Dipendenza Generalizzazione Appartenenza

Design package A partire dai casi d’uso di alto livello Identificazione classi: analisi dei nomi e dei verbi Suddividere il modello in base agli elementi simili (classi e oggetti) Obiettivi: Comprensione Coesione Scarso accoppiamento Gerarchie comunque poco profonde

Boundary - control - entity Secondo Conallen (interpretazione pattern model-view-controller): stereotipi Boundary Control Entity Separare logica applicativa da presentazione e da dati presentati all’utente Esaminare ciascun caso d’uso “Coordinamento” tra modello di navigazione e modello concettuale Si fara’ evolvere in modello di design

Primo passo analisi Use case: Mostrare Configurazione Computer Standard Poca enfasi (gia’ in UX) Un diagramma per ogni caso d’uso Funzionalita’

Regole di robustezza Accesso a entita’ tramite controllori Interfacce per gestire interazione con attori Entita’: dati di interesse, persistenti Da UX model: corrispondenza schermate – interfacce Da modello concettuale dei dati: corrispondenza entità con classi del class diagram

Elaborazione analisi Operazioni richieste dall’utente Funzionalità per creare le pagine

Sequence diagram per l’analisi Interazioni tra oggetti corrispondenti alle classi del modello di analisi Elaborazione del diagramma di sequenza di interazione precedente

Sequece Diagram (1) Display Company Page Display Categories Display Products Display Product detail

Corrispondenza con il modello UX Definire la corrispondenza partendo dalle classi del modello di analisi verso le schermate del modello UX: il modello di analisi e’ cosi’ il proprietario privilegiato

Design Obiettivo: raffinare il modello di analisi in modo che possa essere implementato con i componenti dell’architettura Raffinamento classi, introduzione di classi di servizio Vista dei componenti

Diagramma dei componenti

Diagramma dei componenti

Design Prima fase, progettazione comunque di alto livello Partizionamento degli oggetti in livelli, quali client e server Separazione e definizione delle interfacce utente e pagine Web Rappresentare le pagine Web come elementi del modello

UML Web Application Extension Stereotipo: associa un nuovo significato semantico a un elemento del modello. Rappresentazione: nuova icona o «» Vincolo: condizioni sotto le quali il modello puo’ essere considerato ben formato. Rappresentazione: stringhe comprese tra parentesi graffe Es. parameters=“productId=<%id%>”

«Server Page» Classe del metamodello: Classe Pagina Web che ha contenuti costruiti da un Server per ogni richiesta. Può contenere script che possono interagire con altre risorse lato server (logiche applicative, database,…). Le operazioni rappresentano le funzioni implementate dallo script, le proprieta’ le variabili che sono visibili nella pagina Vincoli: possono avere relazioni solo con altri oggetti sul server

«Client Page» Classe del metamodello: Classe Pagina HTML visualizzata in un Browser. Le operazioni corrispondono a funzioni di script (browser) e le proprieta’ alle variabili dichiarate nelle etichiette di script della pagina. Possono avere associazioni con altre pagine client o server.

«input Form» Classe del metamodello: Classe Insieme di campi di input parte di una pagina Client. Non ha operazioni Valori etichetta: il metodo (GET o POST) usato per inviare i dati all’URL specificato per action

Stereotipi per le associazioni «link»: da pagina client a risorsa lato server. Astrazione dell’ancora HTML. Parameters parametri HTTP «build»: da una pagina server a una client. Output HTML generato dell’esecuzione di una pagina server «submit»: da form HTML a pagina server. Astrazione dell’invio dati di una form HTML «redirect»: da pagina client o server a un’altra risorsa. Impone al client di richiedere un’altra risorsa

Stereotipi per le associazioni «forward»: da pagina server ad un’altra pagina server o client. Delega di elaborazione di una richiesta «object»: contenimento di una classe della vista logica da parte di una pagina client «include»: contenimento di una pagina client o server da parte di una pagina server

«Static Page» Classe del metamodello: Componente Pagina HTML statica Vincoli: non può invocare componenti logici sul server

«Dynamic Page» Classe del metamodello: Componente Pagina dinamica invocata dal client. Può modificare lo stato del server ed elaborare input fornito dal browser

Seconda fase di design: componenti

Partizionamento degli oggetti Attivita’ critica che dipende dall’architettura dell’applicazione Gli oggetti possono risiedere sul server sul client o su entrambi Es. oggetti per la convalida campi: sul client Es. oggetti contenitore (catalogo, clienti, …) sul server Es. fattura? Su entrambi, server ciclo di vita e persistenza, client documento XML

Partizionamento degli oggetti Thick Web client: possono esistere sul client oggetti che non hanno associazioni e dipendenze con oggetti server. Tipicamente oggetti per la convalida input, controlli interfaccia utente, ecc. Web delivery client: la suddivisione dipende dalla natura del singolo oggetto Togliere parte del carico dal server Posizionare gli oggetti dove possono essere piu’ efficaci Regolare generale: semplificare accesso ai dati e collaborazioni

Modello J2EE Utilizzare una Servlet per validare input fornito dall’utente La servlet delega la costruzione della risposta ad una pagina JSP

Pattern architetturale MVC JSP pages, componenti JavaBeans, classi, (Servlet), CGI View Model Controller JavaBeans, relazioni in DB, classi Middleware Classi controller, servlet, (client side scripting)

Pattern architetturale MVC Model: dati dell’applicazione e regole che governano accesso e modifica dei dati. View: visualizza il contenuto del Model. Dipende dal client (Web based, desktop…). Allo stesso Model e’ possibile associare View differenti Controller: specifica il comportamento dell’applicazione, interpreta input dell’utente e richiede l’esecuzione di opportune operazioni da parte del Model. Finite State Machine. Client differenti dovrebbero condividere il Controller

Controller FSM

Complessita’ Pagine HMTL JSP basic e Servlet JSP, JavaBeans JSP, JavaBeans e EJB Robustezza Pagine HMTL Pagine HMTL JSP Servlet Pagine HMTL JSP Servlet JavaBeans Pagine HMTL JSP Servlet JavaBeans Eneterprise

Modello J2EE

Design o Implementazione ??? Presentation tier Pagine JSP, Pagine HTML, classi Java di servizio Application tier (JavaBeans, Middleware) Control Session data management (alcuni dati non persistenti) Resource tier Gestione persistenza Collegamento a DB e ad altre risorse EIS (Enterprise Information System)

Esempio ordine Order boundary Order controller Order entity (proxy) Order entity JavaBean Order in DBMS (tabelle relazionali)

Esempio ordine (<<controller>>, <<entity>>) Order “proxy”

“Pages”