Marina Spiazzi, Marina Tavella, Margaret Layton PERFORMER ...
Marina Mongiello Caso di studio Acquisti OnLine Progetto.
-
Upload
vanni-fantini -
Category
Documents
-
view
215 -
download
1
Transcript of Marina Mongiello Caso di studio Acquisti OnLine Progetto.
Marina Mongiello
Caso di studio
Acquisti OnLine
Progetto
Marina Mongiello
Package• E’ una parte logica del sistema• Usati per strutturare grandi sistemi• Garantiscono modularità• In fase di progetto i package sono usati per raggruppare classi• Si può distinguere tra:
– Package di casi d’uso• Evoluzione del modello dei casi d’uso
– Package di classi• Evolve durante il progetto • Include classi
– Entity– Boundary– Control – Database
Marina Mongiello
Progetto Passo 1
• Si consideri il modello dei casi d’uso sviluppato nella fase di analisi.
• Da un’osservazione più attenta delle specifiche deriva che il modello non è completo.
• E’ opportuno strutturare i casi d’uso esistenti in package
Marina Mongiello
Package dei casi d’uso
Prodotti
Mostrare Configurazione Standard Computer
Configurazioni Possibili
Costruire Configurazione Computer
Pagamenti
Verificare e Accettare Stampare Fattura Pagamento Cliente
Consegne
Informare Magazzino Aggiornare su Ordine Stato Ordine
Acquisti
Richiedere Ordinare Computer Contatto Venditore Configurato
Marina Mongiello
Progetto Passo 2
• Si consideri il diagramma delle classi sviluppato in fase di analisi– Un modello più completo del sistema richiede
che siano identificate le classi del programma applicativo.
– Ciò può essere fatto durante il progetto delle collaborazioni.
• Individuare i package possibili e le loro principali dipendenze
Marina Mongiello
Package di classi
<<boundary>>Configurazione
GUI
<<boundary>>Ordine
GUI
<<control>>ConfiguraProcesso
<<control>>Inserimento
Ordine
<<entity>>Computer
<<entity>>Clienti
<<entity>>Ordini
<<database>>Gestore Dati<<database>>
Connessione <<database>>Schema
Marina Mongiello
Componenti
• E’ una parte fisica del sistema, un programma software
• Componenti definiti in UML– Eseguibile– Libreria– Tabella– File– Documento
Marina Mongiello
Progetto Passo 3
• Si proponga il diagramma dei componenti
• Poiché la piattaforma d’implementazione non è specificata, l’identificazione di componenti più ridotti (librerie, procedure, etc.) non è effettuata
Marina Mongiello
Lista Prodotti
Diagramma dei componenti Visualizzazione Prodotti
Configurazione
Acquisto
TracciaturaOrdini
Marina Mongiello
Progetto di rilascio
• Un’architettura in grado si supportare applicazioni web sofisticate include quattro strati di nodi elaborativi– Client con browser
• Usato per visualizzare pagine statiche o dinamiche– Server web
• Gestisce le richieste di pagina dal browser e dinamicamente genera pagine e codice per l’esecuzione sul client
– Server applicativo• Indispensabile per gestire oggetti distribuiti (CORBA, DCOm,
– Server database• Gestisce la memorizzazione e l’accesso multiutente di dati
persistenti
Marina Mongiello
Progetto Passo 4
• Proporre il diagramma di deployment valutando la necessità di un server applicativo
Marina Mongiello
Diagramma di deployment
Client Browser
ServerWeb
ServerDatabase
richiesta pagine
richieste database
Marina Mongiello
Progetto Passo 5
• Considerare il documento di analisi “ Ordinare Computer Configurato” ed elaborare una specifica del caso d’uso
Marina Mongiello
Specifica del documento del caso d’uso
Marina Mongiello
Diagramma di collaborazione
• E’ simile al diagramma di sequenza• Sviluppato preferibilmente nella fase di progetto • Mostra esplicitamente le relazioni statiche tra
oggetti lungo cui i messaggi possono propagarsi• Hanno una parte
– strutturale • mostra l’aspetto statico della collaborazione• È un sottoinsieme del diagramma delle classi comprendente
le classi che devono collaborare• È elaborato con i dettagli implementativi
– Comportamentale• Mostra l’aspetto dinamico della collaborazione: come gli
elementi statici collaborano tramite interazioni
Marina Mongiello
Progetto Passo 6
• Si consideri il documento di progetto “ordinare computer configurato” e progettare l’aspetto strutturale della collaborazione che realizza il caso d’uso, basandosi sul flusso di eventi descritto.
Marina Mongiello
Collaborazione Comportamentale
titolodescrizionespedizionecontattofatturapagamentovenditore<<pulsante>> Cancella<<pulsante>>Invia
aggiornare()nuovaPaginaClientOrdine()ordineIncompleto() iniziaTransazione()
commitTransazione()rollbackTransazione()
nuovaPaginaServerOrdine()leggereClient()scrivereOrdine()
<<entity>>e_Configurazione
<<entity>>e_Pagamento
<<pagina client>>B_PaginaClientConfigurazione
<<pulsante>> Acquista
<<pagina client>>b_PaginaClientOrdine
<<modulo>>b_ModuloClientOrdine
nuovoPagamento()
<<pagina server>>c_PaginaServerOrdine
cookie_trans
<<interfaccia db>>d_Transazione
<<entity>>e_Ordine
numero_ordinedata_ordine
nuovoOrdine()cancellaOrdine()
<<entity>>e_Cliente
numero_clientenuovoCliente()
aggiornaCliente()emailCliente()
[on Invia]
[on Acquista]
un_ordineuna_configurazione
un_pagamentoun_ordine
un_ordine
un_ordine
Marina Mongiello
Progetto Passo 7
• Si consideri il documento di progetto “ordinare computer configurato” e diagramma di collaborazione strutturale, progettare l’aspetto comportamentale della collaborazione che realizza il caso d’uso, basandosi sul flusso di eventi descritto e sul diagramma delle classi
Marina Mongiello
Collaborazione comportamentale
:b_ModuloClientOrdine
:b_PaginaClientOrdine
:b_PaginaServerOrdine
:e_Configurazione
:e_Pagamento
:e_Ordine
:e_Cliente
:b_PaginaClientConfigurazione
:d_Transazione
ottenereOIDConf(out OIDConf)
cancellaOrdine
[on Cancella] aggiornare
[on Invia] incompletoOrdine [on Acquista] nuovaPaginaClientOrdine
[on Invia] nuovoOrdine
nuovoOrdine(in OIDConf)
nuovoPagamentolega(in OIDConf)
iniziaTransazione
commitTransazione
emailCliente
NuovoCliente
[oltre 15 minuti] rollback Transazione