1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

“Niente di Nuovo” Mercatino dell’Usato
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Prototipo del Portale Fiscale per le Aziende. Portale Fiscale x le Aziende Area informativa news Area abbonati, accesso alla home page personalizzata,
Introduzione ai Casi dUso (c) TECNET DATI (c) TECNET DATI Pag. 2 Dai requisiti ai casi duso obiettividefinire gli obiettivi –gli obiettivi del committente.
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.
Creazione di una classe virtuale e associazione di corsisti alla classe: indicazioni generali per gli e-tutor Introduzione.
Gestione documenti La funzione principale di MOSAICO è il trattamento documenti. Grazie ad una corretta configurazione dellanagrafica documenti e causali,
MANDATO INFORMATICO COSA E’ STATO IMPLEMENTATO IN ORACLE
Il software per la Ristorazione
Sistema di Approvvigionamento Elettronico. 2 Descrizione Area pubblica ed area privata Profilazione Richiesta di Acquisto Gara telematica Agenda.
GESTIONE GRANULARE DEGLI ACCESSI FINESTRE DI DETTAGLIO INTERSCAMBIO DATI CON LARCHIVIO DI ALTRE PROCEDURE CREAZIONE AUTOMATICA DELLE DELEGHE DI PAGAMENTO.
CASO DI SUCCESSO SM : SUPPLIERS MANAGEMENT : Facilita linterfaccia tra fornitore e azienda Due applicazioni in ambiente grafico utilizzando data base e.
Il modo migliore per gestire il panificio con il computer
Area BASE Modulo Base - Controparti. Area BASE Modulo Base - Controparti Il Modulo BASE contiene le funzioni e i 3 gruppi di archivi utilizzati in comune.
Registrazione Per accedere al portale e gestire i dati della propria Istituzione Scolastica, Ente o Associazione, ogni utente deve necessariamente compilare.
SCS SGR - Sistema Gestione Rifiuti Software gestionale per la gestione di raccolta, conferimento, smaltimento dei rifiuti.
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.
Manutenzione dati. Estrazione e caricamento dati Dati Comunicazione Elenchi Clienti/Fornitori/1 Come visto precedentemente è possibile estrarre i dati.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Introduzione alla programmazione Object Oriented
Lo sviluppo del progetto informatico
L’Abilitazione come Punto Ordinante
TESSERAMENTO E BREVETTAZIONE ON LINE DA PARTE DELLE SOCIETA’
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.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
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.
Ingegneria del software L-A. Introduzione Si richiede di realizzare il client di un sistema per la gestione della compravendita di oggetti allasta. Collegandosi.
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012.
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Lazienda SCInformatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Progetto Ingegneria del Software
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Console del Dipendente
La gestione dei rifiuti secondo la normativa vigente
La modellazione degli oggetti
Il software per la gestione dei Panifici
Realizzato dagli stagisti media educator Per creare un utente andate su Amministrazione del sito -> Utenti -> Profili -> Nuovo utente. L'username.
Presentazione progetti per il bando “Interventi per il miglioramento dell’efficienza energetica degli impianti di illuminazione pubblica” Manuale di supporto.
Presentazione delle principali funzionalità
Diagramma delle Classi
Archivi Esempi Movimenti contabili di un’azienda
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
UML Corso ingegneria del software. UML Attore: cittadino - utente Caso d’uso: ricerca di una licenza edilizia 1.Visualizzata la pagina relativa all’interrogazione.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
GUIDA ALL’UTILIZZO DEL
PROGRAMMA DI GESTIONE IN EXCEL
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
NiXuS srl1 Training Galco Italia 22 Gennaio 2000 pMeter Software per l’analisi delle performance aziendali. N I X U S srl Via G. Scarabelli Roma,
GATECOP Benvenuti in Gatecop, programma specializzato per la gestione delle Palestre.
Integrazione con e /. Integrazione e/ - Banche24 Aggiornamenti previsti nel 2012 Sono previsti due momenti di rilascio per le funzionalità di integrazione.
Permessi di accesso e sosta: come essere avvisati della scadenza tramite SMS oppure 12 Novembre 2015.
Le basi di dati.
Padova, 17 novembre
Software gestionale per fatturazione e magazzino.
Guida introduttiva. Inserire e confermare la nuova password. (Deve contenere almeno 7 caratteri almeno uno dei quali un numero e una lettera.) Inserire.
LA COMPRAVENDITA LA COMUNICAZIONE COMMERCIALE NELLA COMPRAVENDITA.
Agenda On Line Procedura di gestione appuntamenti tramite web.
Melchioni S.p.A B2b 3.0 User guide.
04/06/2016Francesco Serafini INDICO Corso Nazionale Novembre 2007.
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:

1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009

La ViaggiateSicuri S.R.L. è un’azienda che si occupa della vendita al dettaglio di pneumatici, cerchi e vari tipi di accessori per vetture stradali. Il sistema deve occuparsi della gestione del magazzino per tali prodotti, delle vendite e dell’anagrafica dei clienti. I prodotti sono divisi in categorie; ogni categoria ha un nome ed è raggruppabile in altre categorie. Ogni prodotto è caratterizzato da un codice, una descrizione, il prezzo d'acquisto, il prezzo di vendita e la giacenza; si può depositare un prodotto in uno o più magazzini. Si prevede, inoltre, la possibilità di gestire l'anagrafica dei prodotti. Ingegneria Del Software L-A2

Il sistema di autenticazione prevede tre tipi di utenti: l'utente guest, l'operatore e l'amministratore: guest o L'utente guest può solamente controllare lo stato delle giacenze per i vari prodotti. operatore o Il login come operatore permette di iniziare una nuova vendita, di effettuare un preventivo e di registrare l’arrivo di nuova merce. amministratore o L'amministratore può: gestire gli amministratori, gestire gli operatori, gestire i magazzini, gestire le categorie. Inoltre, l'amministratore, deve poter stampare un promemoria d'acquisto per gli ordini da effettuare ai fornitori. Ingegneria Del Software L-A3

Il sistema deve tenere aggiornata la giacenza di ogni prodotto, registrare l’arrivo di nuova merce e avvisare l'amministratore, al termine di una vendita, quando la giacenza di un prodotto è inferiore ad una certa soglia. Al momento della vendita si registrano i movimenti dei prodotti, la data, il cliente; ad ogni prodotto è possibile applicare un tasso di sconto; ad ogni vendita è associato l'operatore che l'ha effettuata. Come documento di vendita, i clienti possono scegliere tra la fattura e lo scontrino fiscale. Le modalità di pagamento previste sono i contanti e la carta di credito. Ingegneria Del Software L-A4

Al cliente viene offerta la possibilità di registrarsi in modo da poter recuperare i suoi dati ad ogni sua visita successiva. Ogni cliente può essere associato a una o più vetture delle quali vengono registrati modello e targa. Ad ognuno di loro viene rilasciata una WheelCard per tener traccia di eventuali bonus spesa. Il sistema deve poter notificare al cliente (ad esempio tramite sms), in una data scadenza stabilita dall'operatore all'atto della vendita, l'invito ad effettuare dei controlli per verificare lo stato del prodotto venduto. Ingegneria Del Software L-A5

6

Gerarchia di Utenti La gerarchia degli attori permette all’Operatore di ereditare i casi d’uso di Guest L’Amministratore, quindi, eredita i casi d’uso di entrambi Ingegneria Del Software L-A7

Autenticazione L’Utente che vuole accedere al sistema deve effettuare l’Autenticazione fornendo le sue credenziali Ingegneria Del Software L-A8

Gestione Tutti i casi d’uso di tipo Gestione sono da considerare ogni volta come Inserimento, Modifica o Cancellazione Ingegneria Del Software L-A9

Guest Guest può: Controllare la Giacenza di un prodotto in Magazzino Effettuare il Logout Ingegneria Del Software L-A10

Operatore Ingegneria Del Software L-A11

Amministratore Ingegneria Del Software L-A12

Conclusione Vendita La conclusione di una Vendita fa scattare l’Aggiornamento della Giacenza dei prodotti venduti ed eventualmente Avvisa l’Amministratore che alcuni prodotti stanno per terminare. Ingegneria Del Software L-A13

Notifica Ogni giorno, il sistema si occupa di inviare le Notifiche ai Clienti, impostate dall’Operatore durante le Vendite. Ingegneria Del Software L-A14

Ingegneria Del Software L-A15

Vendita Descrizione Lo scenario descrive l'operazione di vendita da parte di un operatore Attore Operatore Pre-condizioni Esiste almeno una categoria contenente almeno un prodotto Flusso principale 1.L'operatore > da registrare nella vendita 2.L'operatore seleziona la quantità di ogni prodotto 3.Il sistema controlla che la giacenza di ogni prodotto sia sufficiente 4.L'operatore applica un tasso di sconto ai prodotti 5.L'operatore sceglie le modalità di notifica al cliente 6.L'operatore conclude la vendita con il > Ingegneria Del Software L-A16

Vendita(2) Flusso alternativo 3a. La giacenza di un prodotto non è sufficiente -> Il sistema avvisa l'operatore che la disponibilità non è sufficiente 6a. L’operatore > 6b. L'operatore > Flusso alternativo secondario 6a. L'operatore annulla la vendita Ingegneria Del Software L-A17

Pagamento Descrizione Lo scenario descrive le operazioni per effettuare il pagamento di una vendita Attore Operatore Pre-condizioni Esiste almeno un prodotto registrato nella vendita Flusso principale 1. L'operatore sceglie il documento di vendita (fattura o scontrino) 2. L'operatore > if ( scelta fattura ) 2.1 Il Sistema controlla che il cliente abbia una partita iva 3. L'operatore conclude l'operazione di pagamento 4. Il Sistema > dei prodotti venduti 5. Il Sistema aggiorna il bonus spesa della Wheelcard 6. Il Sistema notifica la corretta conclusione dell'operazione Ingegneria Del Software L-A18

Pagamento(2) Flusso alternativo 1a. if ( scelto scontrino ) 1a.1 L'operatore può saltare al punto 3 ma non esegue il punto 5 2a. La ricerca del cliente non produce risultati -> L'operatore > 5a. Il cliente non ha con sé la Wheelcard -> non viene aggiornato il bonus spesa 6a. Il sistema notifica che si è verificato un problema Ingegneria Del Software L-A19

Ricerca Cliente Descrizione Lo scenario descrive le operazioni per effettuare la ricerca di un cliente Attore Operatore Pre-condizioni Esiste almeno un cliente registrato Flusso Principale 1. L'operatore sceglie se cercare tramite Wheelcard o anagrafica 2. If ( Wheelcard ) 2.1 Il sistema legge la Wheelcard dall'apposito lettore If ( Anagrafica ) 2.1 L'operatore inserisce nome e cognome del cliente 3. Il sistema restituisce il risultato della ricerca del cliente Ingegneria Del Software L-A20

Ricerca Prodotto Descrizione Lo scenario descrive le operazioni per effettuare la ricerca di un prodotto da aggiungere alla vendita Attore Operatore Pre-condizioni Esiste almeno un prodotto L'operatore ha iniziato una vendita Flusso Principale 1. L'operatore sceglie una o più categorie 2. L'operatore inserisce i parametri di ricerca del prodotto 3. Il Sistema restituisce il risultato della ricerca del prodotto 4. L'operatore sceglie uno o più prodotti da aggiungere alla vendita 5. L'operatore aggiunge alla vendita i prodotti scelti Flusso Alternativo 3a. Il risultato della ricerca è vuoto -> l'operatore > Ingegneria Del Software L-A21

Ingegneria Del Software L-A22

Ingegneria Del Software L-A23 Negozio Utente Magazzino Prodotto Vendita Categoria Elenco delle Classi: Cliente Vettura Wheelcard Notifica

Ingegneria Del Software L-A24

Negozio La classe d’origine del progetto è la classe Negozio Si trova in relazione con Utente e si presuppone che il negozio abbia almeno due utenti, un amministratore e un guest Si trova in composizione con Magazzino in quanto la distruzione dell’oggetto Negozio implica la distruzione dei magazzini. Ingegneria Del Software L-A25

Utente Specifiche: “Il sistema di autenticazione prevede tre tipi di utenti: l'utente guest, l'operatore e l'amministratore” È stata realizzata una classe utente generico dalla quale derivano gli utenti specifici Ingegneria Del Software L-A26

Prodotto e Categoria Specifiche: “si può depositare un prodotto in uno o più magazzini” La classe prodotto si trova in relazione con Magazzino, che rappresenta un’aggregazione di prodotti Categoria possiede una composizione ad anello su sé stessa perché ogni categoria può avere sottocategorie Ingegneria Del Software L-A27

Specifiche: “Al momento della vendita si registrano i movimenti dei prodotti, la data, il cliente” “Il sistema deve poter notificare al cliente (ad esempio tramite sms), in una data scadenza stabilita dall'operatore all'atto della vendita, l'invito ad effettuare dei controlli per verificare lo stato del prodotto venduto” Ingegneria Del Software L-A28 Vendita

Da essa deriva Preventivo, in gerarchia unica perché l’operatore può anche decidere di salvare una vendita come preventivo. Ingegneria Del Software L-A29

Specifiche: “Al cliente viene offerta la possibilità di registrarsi in modo da poter recuperare i suoi dati ad ogni sua visita successiva. Ogni cliente può essere associato a una o più vetture delle quali vengono registrati modello e targa. Ad ognuno di loro viene rilasciata una WheelCard per tener traccia di eventuali bonus spesa” Ingegneria Del Software L-A30 Cliente

Cliente Privato e Cliente Azienda sono in gerarchia con Cliente in quanto specificano Cliente generico. Eliminando un cliente si elimina anche la Wheelcard associata. Ingegneria Del Software L-A31

Enumerativi Le classi identificano rispettivamente: – Il tipo di Notifica che può essere inviata – Il tipo di Documento di Vendita che può essere emesso Ingegneria Del Software L-A32

Ingegneria Del Software L-A33

Diagramma di sequenza: Ingegneria Del Software L-A34

Ingegneria Del Software L-A 35

Diagramma modificato Ingegneria Del Software L-A36 Prime decisioni significative: Introduzione delle classi contenitore Decisione di contenimento per riferimento in quanto gli oggetti esistono anche fuori dal contenitore Definizione dei tipi di dato (es. Enumerativi) Primo Controllo Navigabilità completa della soluzione

Ingegneria Del Software L-A37

Negozio Pattern Singleton Entry-point del nostro sistema Riferimenti a vari elementi del sistema che sono resi accessibili da ogni punto del sistema stesso.

Perché la gerarchia di Utenti (1) Si sarebbe potuto far collassare la gerarchia in un attributo RUOLO? Conseguenti problemi di permessi sull’operazioni. Come capire se l’utente corrente è autorizzato ad eseguire l’operazione? Soluzione senza gerarchia: IF - SWITCH In caso di aggiunta di nuovi tipi di utente? Violazione dell’open/close principle.

Perché la gerarchia di Utenti (2) Con la gerarchia è possibile la realizzazione di un sistema di double dispatch In caso di nuovi utenti il codice esistente non necessita di modifica ma è sufficiente scrivere la parte nuova Utente classe astratta o interfaccia? Necessitiamo di uno stato e di una implementazione parziale  classe astratta

Double Dispatch Ogni azione che l’utente può compiere estende la classe astratta OperazioneUtente. Classe astratta e non interfaccia per evitare di scrivere codice più volte  utilizzo di una politica di default denied

Flessibilità di questa soluzione Possibilità di inserire nuove azioni Possibilità di inserire nuovi utenti SENZA modificare il codice già esistente La classe astratta permette di dare una implementazione “banale” permettendo una gestione capillare dei permessi Non è a carico del programmatore capire di che tipo è l’istanza dell’utente corrente

UtenteFactory Unica responsabilità: restituire l’oggetto corretto tra la gerarchia di Utenti Con l’utilizzo della Reflection non è necessario conoscere le sottoclassi Perché non un metodo statico in Utente? Rispetto del principio di Single Responsability  Utente modella già un utente del sistema

Categoria Si è scelto di non applicare un design pattern per l’implementazione in quanto modella un oggetto che può evolvere Si era pensato ad un pattern Composite con una categoria senza sottocategoria come Leaf e una categoria composta come Component Impossibile stabilire a priori le Leaf e i Component

Ingegneria Del Software L-A45

Vendita Classe fulcro del sistema Numerosi riferimenti ad altri oggetti Relazione d’uso con la classe Clienti necessaria per inserire i dati del cliente nella vendita

Ingegneria Del Software L-A47