Ingegneria del software L-A. Introduzione Si richiede di realizzare il client di un sistema per la gestione della compravendita di oggetti allasta. Collegandosi.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

“Niente di Nuovo” Mercatino dell’Usato
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Le nuove funzioni della piattaforma Puntoedu lingue.
PHP.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
CIVIS comunicazioni irregolarità virtualizzate per intermediari serviti Intermediari Servizio prototipale.
Gli utenti esterni, (delegati, datori di lavoro, agenzie per il lavoro, enti, ecc), individuati con il ruolo di master è consentito gestire, la propria.
ARGONEXT Accesso Docente
Introduzione a EBSCOhost Tutorial. Benvenuti alla panoramica sullinterfaccia di EBSCOhost. In questo tutorial viene illustrata linterfaccia di ricerca.
Sistema di Approvvigionamento Elettronico. 2 Descrizione Area pubblica ed area privata Profilazione Richiesta di Acquisto Gara telematica Agenda.
Monitoraggio Pratiche Didattiche della provincia di Reggio Calabria Copyright©2007 DARGAL Web Solutions. È vietata la riproduzione anche parziale.
Centro di Assistenza Multicanale (C.A.M.) di Cagliari
Gestione Clienti Online
Registrazione Per accedere al portale e gestire i dati della propria Istituzione Scolastica, Ente o Associazione, ogni utente deve necessariamente compilare.
Presenta Progetto Hyper-Club. Hyper-code Via Domenico Mercante 6, Verona (VR) – Tel Cell mail. Agenda.
GeoSoft BLU short presentation 1. GeoSoft BLU short presentation 2 Il software BLU è un prodotto software di tipo CRM (Customer Relationship Management)
Gestimp IV Il pacchetto software GESTIMP© di Isea S.r.l., di seguito indicato con GESTIMP©, permette di gestire la supervisione e la telegestione di impianti.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
L’Abilitazione come Punto Ordinante
Come registrarsi al portale SINTESI come Datore di lavoro: Cliccare su REGISTRAZIONE.
MIGLIORAMENTO USABILITA TIPI FASCICOLO. Miglioramento usabilità tipi fascicolo Esigenza Lutilizzo avanzato delle tipologie di fascicoli procedimentali.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Primo accesso Dimenticato la password? Navigare in piattaforma Come accedere a un corso.
MANUALE PRENOTAZIONE – MODIFICA LABORATORI NUOVA PRENOTAZIONE MODIFICA PRENOTAZIONE CANCELLA PRENOTAZIONE PRENOTAZIONE LUNGO PERIODO.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Obiettivi di Design Rappresentano, in un prodotto software, le basi del successivo sviluppo del prodotto, perché, su di esse, si fondano le scelte prese.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
Lazienda SCInformatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Console del Dipendente
Costruire una tabella pivot che riepiloghi il totale del fatturato di ogni agente per categorie di vendita, mese per mese. Per inserire una tabella pivot.
Processo di Registrazione portali: MyCompany
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Manuale per la presentazione, gestione e rendicontazione dei Voucher Aggiornato al 03 maggio 2013.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Laboratorio di Progettazione A cura di: Arosio Cattaneo Prandi
Registrazione degli ospiti INFN e gestione del database via web M.Corosu, A.Brunengo INFN Sezione di Genova Linguaggio di programmazione: perl Web server:
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
GUIDA ALL’UTILIZZO DEL
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
CORSO INTERNET la Posta elettronica
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Manuale Utente – i-Sisen Questionario dei Consumi
Manuale Utente – i-Sisen Questionario del Gas Naturale
Flipped classroom e nuove metodologie didattiche Modulo 2 – Terza lezione Antonio Todaro “ Il Sito Web del docente ” prima parte.
SISTEMA GESTIONE TOMBINI
LA COMPRAVENDITA LA COMUNICAZIONE COMMERCIALE NELLA COMPRAVENDITA.
PPT- Postecert PEC – 05/2009 Postecert Posta Elettronica Certificata.
1 REGOLAMENTO (CE) N.1224/09 – CONTROLLO PESCA CORSO IN AUTOISTRUZIONE  GESTIONE DATI OPERATORE  NOTE DI VENDITA  ASSUNZIONE IN CARICO  DOCUMENTO DI.
Ingegneria del software I DEE - Politecnico di Bari M. MongielloRequisiti1 Requisiti.
CIVIS canale telematico per l’assistenza sulle comunicazioni di irregolarità, sulle cartelle di pagamento e la presentazione documenti (36/ter)
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Gestire i dati: download e salvataggio. L’importanza dei dati La quasi totalità delle applicazioni hala necessità di gestire varie funzionalità relative.
04/06/2016Francesco Serafini INDICO Corso Nazionale Novembre 2007.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Usare le mappe. MapKit Per utilizzare le mappe all’interno di uno specifico VIewController, è sufficiente inserire al suo interno una view di tipo MKMapView.
Controlli. Storyboard L’assistant editor consente una visualizzazione contestuale in cui sono affiancati verticalmente il ViewController nello storyboard.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
28/06/2016Francesco Serafini INDICO Parte 2. 28/06/2016Francesco Serafini CREAZIONE EVENTI Gli eventi possono essere creati in qualsiasi categoria, che.
Transcript della presentazione:

Ingegneria del software L-A

Introduzione Si richiede di realizzare il client di un sistema per la gestione della compravendita di oggetti allasta. Collegandosi ad un server remoto, il client deve permettere ad un utente autenticato di visualizzare le aste inserite da altri utenti, creare nuove aste e proporre offerte al rialzo sulle aste in corso. Il server notificherà in tempo reale le modifiche avvenute sulle aste, in modo che tutti i client collegati possano mostrare le attività degli altri utenti che usufruiscono contemporaneamente del servizio.

Documento dei requisiti Gli utenti che intendono usufruire dei servizi offerti dal sistema devono essere registrati. Per ciascun utente il sistema conserva il nome, il cognome, lindirizzo e la password scelta; lindirizzo e- mail e la password verranno richiesti allutente ogni volta che egli intende autenticarsi nel sistema. Lautenticazione, la registrazione e le modifiche effettuale dallutente autenticato sulle aste presenti nel client, verranno inviate dal client stesso ad un Data Base remoto. Un server remoto osserverà le modifiche al Data Base remoto e notificherà tutti i client in tempo reale.

Documento dei requisiti Lutente può creare unasta specificando una data e ora di inizio e fine e lammontare dei singoli rialzi. Ogni asta mantiene inoltre il prezzo attuale di vendita raggiunto. Per ogni asta lutente può vendere un solo oggetto, costituito da un nome, una sola categoria di appartenenza, una descrizione dettagliata, un valore stimato ed eventualmente una immagine. Le immagini degli oggetti vengono inserite nel sistema dallutente che ha definito loggetto. Se alloggetto non è stata assegnata una immagine il sistema provvede ad associare allasta unimmagine di default. Le categorie (caratterizzate da un nome) raggruppano oggetti con caratteristiche comuni. Sono predefinite nel sistema. Gli utenti possono proporre unofferta per unasta solo dopo che lasta è iniziata e solo se non hanno già fatto lultima offerta per lasta. Il prezzo attuale dellasta, quando questa inizia, coincide con il valore stimato delloggetto in vendita.

Documento dei requisiti Lutente che intende proporre unofferta per unasta deve dichiarare un importo pari o superiore al prezzo attuale più il rialzo specificato dal venditore. Lutente può altrimenti dichiarare un importo pari al prezzo iniziale delloggetto associato solamente se è il primo utente ad effettuare offerte per quellasta. Alla fine dellasta si aggiudica il relativo oggetto lutente che ha fatto lultima offerta: sarà il server a notificare allutente venditore lesito dellasta e leventuale nominativo dellutente compratore che si è aggiudicato loggetto. In questo modo lutente venditore potrà contattare personalmente lutente compratore per il pagamento e la spedizione delloggetto. Se un utente compratore si è aggiudicato lasta, loggetto risulta venduto, quindi lasta e loggetto relativo vengono automaticamente rimossi dal Data Base remoto; in caso contrario il venditore potrà scegliere se rimuovere lasta o se riproporre lasta reimpostando la data e lora di inizio e fine.

Documento dei requisiti Ogni utente può vedere le aste inserite nel sistema filtrandole in base alla categoria in cui loggetto è stato inserito dal venditore. Gli utenti venditori hanno a disposizione un elenco vendite, che mostra landamento delle aste sui suoi oggetti (evidenziando per tutte le aste iniziate il prezzo attuale di vendita). Lutente compratore che ha proposto una o più offerte per almeno un oggetto in vendita allasta, ha a disposizione un registro offerte, che mostra il prezzo attuale per gli oggetti a cui è interessato.

Casi duso: Gestione Aste

Casi duso: Elenco Aste

Scenario 1: Crea Asta DescrizioneUn utente venditore vuole creare unasta per vendere un oggetto. RelazioniAutenticazione, Gestione Aste, Carica immagine AttoriUtente PrecondizioniLutente deve essersi autenticato nel sistema Scenario principale 1.1. Lutente specifica i dati delloggetto che vuole vendere fornendo il nome, la descrizione, il valore stimato, scegliendo una categoria tra quelle presenti nel sistema e può caricare una immagine Il sistema verifica che tutti i dati siano stati forniti e che il valore stimato sia un numero valido Lutente specifica la data e ora di inizio e fine dellasta e lammontare dei rialzi Il sistema verifica che le date e ore fornite siano valide e successive alla data e ora attuale e che il valore stimato sia un numero valido Il sistema invia al Data Base remoto i dati delloggetto e i parametri dellasta. Scenari alternativi 1.2.a. Lutente non ha inserito tutti i dati Il sistema comunica allutente che servono tutti i dati per proseguire. 1.4.a. Lutente non ha inserito una data successiva a quella attuale o la data di fine asta precede la data di inizio Il sistema comunica allutente di inserire una data corretta. 1.4.b. Lutente ha inserito un valore stimato minore di 0 o non numerico Il sistema comunica allutente che ha inserito un numero errato. 1.5.a. Il Data Base remoto non è raggiungibile Il sistema comunica allutente che loperazione non può essere portata a termine.

Scenario 2: Rimuove Asta DescrizioneUn utente venditore vuole eliminare unasta. RelazioniGestione Aste, Autenticazione AttoriUtente PrecondizioniLutente deve essersi autenticato nel sistema Scenario principale 2.1. Lutente seleziona unasta da rimuovere Il sistema chiede conferma allutente La richiesta di rimozione viene eseguita sul Data Base remoto, quindi lasta e i relativi dati vengono rimossi. Scenari alternativi 2.1.a. Lasta che lutente vuole rimuovere è in corso Il sistema comunica allutente che non è possibile rimuovere unasta in corso. 2.2.a. Lutente non conferma la rimozione Lasta non viene rimossa. 2.3.a. Il Data Base remoto non è raggiungibile Il sistema comunica allutente che loperazione non può essere portata a termine.

Scenario 3: Propone Offerta DescrizioneLutente stabilisce un importo per unasta in corso. RelazioniGestione Aste, Autenticazione AttoriUtente Precondizioni Lutente deve essersi autenticato nel sistema. Lasta deve essere in corso. Lasta non deve essere stata creata dallutente stesso. Scenario principale 3.1. Lutente inserisce limporto desiderato Il sistema chiede conferma allutente Il sistema controlla che lofferta sia superiore alla massima offerta finora proposta più il rialzo e che lasta non sia conclusa La nuova offerta viene salvata sul Data Base remoto. Scenari alternativi 3.2.a. Lutente non conferma linserimento dellimporto Limporto non viene inserito. 3.3.a. Lutente ha inserito un importo non numerico o inferiore alla massima offerta finora proposta più il rialzo Il sistema comunica allutente di inserire un importo superiore allimporto attuale più il rialzo. 3.3.b. Lasta è conclusa Il sistema comunica allutente che lasta si è conclusa e che non vengono accettate ulteriori offerte. 3.4.a. Il Data Base remoto non è raggiungibile Il sistema comunica allutente che loperazione non può essere portata a termine.

Scenario 4: Visualizza Aste Inserite DescrizioneIl sistema mostra le categorie disponibili e le aste presenti nella categoria selezionata RelazioniAutenticazione, Elenco Aste AttoriUtente PrecondizioniLutente deve essersi autenticato nel sistema Scenario principale 4.1. Il sistema mostra le categorie disponibili leggendole dal Data Base remoto Lutente seleziona la categoria di suo interesse Il sistema mostra le aste disponibili allinterno della categoria selezionata Lutente seleziona unasta tra quelle disponibili. Scenari alternativi 4.1.a. Il Data Base remoto non è raggiungibile o loperazione non viene terminata completamente Il caricamento delle aste non può essere eseguito: lapplicazione viene terminata per evitare che vengano eseguite operazioni su un elenco di aste inconsistente. 4.3.a. Allinterno della categoria non sono presenti aste Il sistema segnala allutente che non ci sono aste presenti nella categoria. 4.4.a. Al momento della selezione lasta non è più disponibile Il sistema comuni7ca allutente che lasta non è più disponibile.

Seconda parte

Diagramma delle classi di analisi

Note: La classe Asta contiene le informazioni inerenti allasta che possono variare nel tempo (ad esempio il prezzo attuale). La classe Periodo contiene la data e ora di inizio e fine dellasta e permette di ricavare la durata complessiva dellasta e il tempo rimanente in base alla data e ora attuali. LOggetto è associato univocamente ad unasta e non può essere modificato. Limmagine in esso contenuta, a seconda di cosa è stato scelto dallutente, può essere ImmagineDaUrl o ImmagineDefault. LImmagineDaUrl contiene un link ad unimmagine esterna. LImmagineDefault viene utilizzata nel caso in cui lURL non sia stato indicato dallutente o se lURL non corrisponde ad unimmagine valida. La classe Categoria è un aggregato di oggetti ed è usata per raggrupparli quando devono essere visualizzati. La classe Utente mantiene le informazioni relative ad un utente del sistema. La classe Offerta associa unasta ad un Utente che ha proposto unofferta.

Diagramma di sequenza Invio di una offerta al server:

Diagramma di sequenza Ricezione di una offerta dal server:

Terza parte

Fase di progettazione Il server (che non fa parte del progetto) mantiene le informazioni relative ad aste e offerte allinterno di un Data Base e si occupa di inviare notifiche ai client in seguito a modifiche avvenute sulla base di dati. Il client riceve le notifiche del server attraverso un Controller, che a sua volta invoca le funzioni necessarie allaggiornamento del Model. Il Model scatena degli eventi a cui le View sono registrate, in modo da mostrare le variazioni in tempo reale. I Gestori sono componenti ausiliari usati dal client per inviare i dati sul Data Base del server.

Diagramma classe Asta

Diagramma classe Offerta

Diagramma classe Categoria

Diagramma classe Offerta

Diagramma Viste

Diagramma Controller

Servizi Aggiornamento DB

Diagramma classe Program

Pattern Singleton Il pattern singleton ha permesso di evitare che le classi ElencoOfferte, ElencoAste ed ElencoCategorie venissero istanziate più di una volta, generando inconsistenze nel modello e difficoltà di aggiornamento.

Pattern Flyweight e Factory In base alle specifiche di progetto, loggetto in vendita allasta può non avere unimmagine associata. In tal caso il sistema deve associare allasta unimmagine di default. Pattern factory: la classe Oggetto mantiene un riferimento allinterfaccia IImmagine, implementata dalle due sottoclassi ImmagineDaUrl e ImmagineDefault. ImmagineFactory crea una delle due sottoclassi di IImmagine in base al valore della stringa URL passata al metodo statico GetImmagine(). Pattern flyweight: ImmagineDefault viene creata una sola volta da ImmagineFactory e ne viene restituito il riferimento a tutti gli Oggetti che la richiedono. ImmagineDefault è istanziabile soltanto da ImmagineFactory (perché annidata e privata), e viene condivisa simultaneamente da più clienti indipendenti tra loro (classi Oggetto).

Pattern MVC Per separare più facilmente le responsabilità delle varie classi del progetto si è pensato di suddividere lapplicazione seguendo un modello simile allMVC

Pattern MVC Il Model è composto da ElencoAste, ElencoOfferte e ElencoCategorie e contiene tutte le operazioni necessarie per aggiungere e rimuovere aste e offerte dagli elenchi. Le modifiche al modello scatenano gli eventi che possono essere intercettati dalle viste registrate. Le classi AsteInserite, RegistroOfferte, ElencoVendite e DettagliAsta rappresentano il blocco View dello schema. Si occupano di mostrare le aste che rispondono ai requisiti di progetto e reagiscono agli eventi scatenati dalle classi del Model. Il Controller riceve le notifiche dal server e invoca le funzioni delle classi del Model per modificarne lo stato (ad esempio aggiungendo una nuova asta ad ElencoAste). Le classi GestioneAste, GestioneOfferte e GestioneAutenticazione fanno parte del blocco dei Gestori e si occupano di gestire la comunicazione da e per il Data Base (ad esempio, durante la fase di autenticazione, l e la password vengono inviati al DB tramite una query, e il risultato delloperazione determina laccesso al programma).

Principio di inversione delle dipendenze Per disaccoppiare il Server dal Client è stata aggiunta linterfaccia IController, implementata da ControllerConcreto. Questo accorgimento rende il client più flessibile e indipendente dalle modifiche eseguite sul server. Inoltre, affiancando o sostituendo ControllerConcreto con altre classi che implementano IController, è possibile ricevere le notifiche attraverso diversi mezzi di comunicazione (via TCP/IP, usando.NET Remoting, interrogando il server in polling, ecc.).