ESEMPIO DI MODELLIZZAZIONE OOP Sistema di gestione dei contatti con i clienti da parte del reparto vendite tratto da : VISUAL BASIC 6 Programmazione ad.

Slides:



Advertisements
Presentazioni simili
Come si fa a visualizzare una query? Attivato lelenco delle query, si fa doppio clic sullopzione Attivato lelenco delle query, si fa doppio clic sullopzione.
Advertisements

Programmazione ad oggetti
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Lez. 5 (10/11 - PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
Lez. 5 (11/12- PB)Elementi di Programmazione1 Lezione 5 Procedure Funzioni Passaggio di parametri.
L’Informatica dal Problema alla Soluzione
Università degli Studi di Modena e Reggio Emilia
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Moduli 1 In Access è possibile automatizzare diverse operazioni mediante l’utilizzo del linguaggio VBA (Visual Basic for Applications). Le istruzioni.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
O.O.P. Costruiamo la prima classe in VISUAL BASIC Corso abilitante riservato ad abilitati in altra classe classe di concorso A042 - INFORMATICA.
CONFIGURAZIONI Soluzione Apricancello
Sistema Geomonitor Schema di funzionamento generale
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
DBMS ( Database Management System)
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
Gli utenti esterni, (delegati, datori di lavoro, agenzie per il lavoro, enti, ecc), individuati con il ruolo di master è consentito gestire, la propria.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
1 Il presente documento vuole essere una guida alla richiesta di rimborso da parte dei Fipsas Point. Alla presentazione della Winner Card, il Fipsas Point.
Monitoraggio Pratiche Didattiche della provincia di Reggio Calabria Copyright©2007 DARGAL Web Solutions. È vietata la riproduzione anche parziale.
PRENOTAZIONE COLLOQUI
File ad accesso casuale o random
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Gerarchia delle funzioni e modello FH
Array a un dimensione : vettori
Registrazione Per accedere al portale e gestire i dati della propria Istituzione Scolastica, Ente o Associazione, ogni utente deve necessariamente compilare.
Manutenzione dati. Estrazione e caricamento dati Dati Comunicazione Elenchi Clienti/Fornitori/1 Come visto precedentemente è possibile estrarre i dati.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
L’Abilitazione come Punto Ordinante
Progettare un database
Programmare in Visual Basic
TESSERAMENTO E BREVETTAZIONE ON LINE DA PARTE DELLE SOCIETA’
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
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.
User stories Claudio Maccari Mail:
GESTIONE GRANULARE DEGLI ACCESSI FINESTRE DI DETTAGLIO INTERSCAMBIO DEI DATI CON LARCHIVIO DI ALTRE PROCEDURE TRASFERIMENTO E SALVATAGGIO STAMPE PDF GESTIONE.
GESTIONE MARKETING 1.
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.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Oggetti in C# Lezione 1 Classi ed istanze Oggetti in C# - Lezione 1.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
La modellazione degli oggetti
CORSO DI PROGRAMMAZIONE II Lezione 22
Programmazione ad oggetti
Lez. 5 (13/14)Elementi di Programmazione1 Lezione 5 Procedure.
Realizzato dagli stagisti media educator Per creare un utente andate su Amministrazione del sito -> Utenti -> Profili -> Nuovo utente. L'username.
Word: gli strumenti di formattazione
Presentazione delle principali funzionalità
MODULO 5: Database ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica” Lezione 2.
Progetto Finale Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
GUIDA ALL’UTILIZZO DEL
Everywhere Takeaway Progetto di SSCSWeb A.A. 2011/2012 V. Costamagna, F. Dotta, F. Barbano, L. Violanti, Oltikuka.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Manuale Utente – i-Sisen Questionario del Gas Naturale
Inserire le modalità di recupero nel registro elettronico
Facoltà di Informatica Laboratorio Base dati II Prof. Flavio Fontana Simone Silvestri Anno Accademico 2003/2004 Matr Mail :
NEWS 2015 MyCompany Presentazione. MyCompany Supervisione di tutti gli Impianti registarti nel Cloud Creazione di Offerte personalizzate con il proprio.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Gioacchino la rocca - diritto privato del mercato finanziario1 I “beni” negoziati nel mercato finanziario: gli “strumenti finanziari”. 1. Il problema della.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Controlli. ActionSheet e Alert Selezionare un’azione In molte situazioni è necessario fornire all’utente una scelta fra varie azioni disponibili. per.
Transcript della presentazione:

ESEMPIO DI MODELLIZZAZIONE OOP Sistema di gestione dei contatti con i clienti da parte del reparto vendite tratto da : VISUAL BASIC 6 Programmazione ad oggetti G.Swartzfager - R.Chandak - P.Chandak - S.Alvarez Corso abilitante riservato ad abilitati in altra classe classe di concorso A042 - INFORMATICA

Specifiche (1) Sistema di gestione per i contatti di vendita Il reparto vendite intende utilizzare un sistema di gestione dei contatti per la rilevazione dei possibili clienti e dei relativi contatti. In particolare ci serviranno le seguenti informazioni sul possibile cliente: nome, indirizzi di casa e d’ufficio, numeri di telefono e di fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. segue

Specifiche (2) segue Il sistema dovrà permettere di specificare data, ora, tipo di contatto (telefonico, , lettera, di persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione del contatto. Se un cliente decide di acquistare durante un contatto, si deve poter registrare che cosa e quanto è stato acquistato, e trasformare il cliente da possibile cliente a cliente acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

Individuare gli oggetti (1) Selezionare dalle specifiche i nomi significativi, esplicitando i pronomi ed i nomi sottointesi: Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

Osservazioni per individuare gli oggetti reparto_vendite sono gli utenti e non fanno parte del sistema sistema_di_gestione_dei_contatti è il titolo del sistema possibili_clienti un oggetto contatti un oggetto nome, indirizzo di casa, indirizzo d’ufficio, telefono di casa, telefono d’ufficio, fax sono tutti attributi di possibile_cliente clienti è un tipo particolare di possibili_clienti data, ora, tipo di contatto sono attributi di contatti telefonico, , lettera, di persona sono tipi particolari di contatto prodotti un oggetto appunti, descrizione del contatto sono attributi di contatto quanto è un attributo (il prezzo) di un prodotto cliente_acquisito è un tipo particolare di possibili_clienti venditore è un utente del sistema, e non ne fa parte

Modello del sistema dato (1) contatti prodotti possibile_cliente

Trovare le relazioni Individuare le frasi che mettono in relazioni gli oggetti individuati: Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore. un cliente ha più contatti in un contatto si discutono (ha) più prodotti

Modello del sistema dato (2) possibile_clientecontattiprodotti ha vengono discussi N N cardinalità della relazione

Trovare gli attributi (di possibile_cliente) Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

Modello del sistema dato (3) contatti prodotti ha vengono discussi N N Nome TipoCliente Indirizzi NumeriTelefonici possibile_cliente

contatti prodotti ha vengono discussi N N Nome TipoCliente possibile_cliente Tipo Valore indirizzi Cancella Tipo Valore numeriTel Cancella ha NN Modello del sistema dato (4)

Trovare gli attributi (di contatto) Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

Modello del sistema dato (5) Data Ora TipoContatto Memo contatti prodotti ha vengono discussi N N Nome TipoCliente possibile_cliente Tipo Valore indirizzi Cancella Tipo Valore numeriTel Cancella ha NN

Trovare gli attributi (di prodotto) Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

TipoProdotto Prezzo [read only] Data Ora TipoContatto Memo contatti prodotti ha vengono discussi N N Nome TipoCliente possibile_cliente Tipo Valore indirizzi Cancella Tipo Valore numeriTel Cancella ha NN Modello del sistema dato (6)

Trovare i metodi (1) Individuare i verbi e le locuzioni verbali presenti nelle specifiche: Il reparto_vendite intende utilizzare un sistema_di_gestione_dei_contatti per la rilevazione dei possibili_clienti e dei relativi contatti. In particolare ci serviranno (al reparto_vendite) le seguenti informazioni sul possibile_cliente: nome, indirizzi di casa e d’ufficio, numeri_di_telefono e numeri_di_fax (casa, ufficio, altri) e tutti i contatti avvenuti con il possibile_cliente. È importante prevedere un sistema per distinguere tra tutti i contatti, quelli che successivamente saranno divenuti dei clienti. Il sistema dovrà permettere (al reparto_vendite ) di specificare data, ora, tipo_di_contatto (telefonico, , lettera, di_persona,...), i prodotti discussi, ed uno spazio per appunti e la descrizione_del_contatto. Se un possibile_cliente decide di acquistare durante un contatto, si deve poter registrare che prodotti e quanto è stato acquistato, e trasformare il possibile_cliente in cliente_acquisito. Sarebbe anche interessante poter inserire gli estremi del possibile contatto successivo, e di chiedere al sistema di ricordarlo automaticamente al venditore.

Trovare i metodi (2) Il verbo in esame è un metodo se provoca un cambiamento di stato dell’oggetto richiede calcoli o operazioni sugli attributi dell’oggetto Vanno individuati i parametri (obbligatori o facoltativi) di ogni metodo individuato. Vanno distinti i metodi dagli eventi, cioè quei metodi che l’oggetto esegue nel mondo esterno per avvertire qualcun altro che è successo qualcosa al suo interno

Osservazioni per individuare i metodi intende utilizzare non è un metodo, ma l’esecuzione dell’applicazione serviranno non è un metodo, elenca gli attributi di possibile_cliente distinguere e saranno divenuti non sono veri e propri metodi di possibile_cliente acquistare metodo Acquista() dell’oggetto prodotto registrare non è un metodo, specifica un obiettivo dell’applicazione è stato acquistato evento HaAcquistato() dell’oggetto prodotto, e conseguente evento ProdottiAcuistati dell’oggetto contatti per far diventare cliente effettivo inserire metodo ProssimaVisita() dell’oggetto possibile_cliente ricordarlo evento Notifica() dell’oggetto contatto, per fissare il prossimo aggiungere un cliente operazione tipica dell’applicazione, che comporta nell’oggetto possibile_cliente i metodi AggiungiIndirizzo e AggiungiNumTel e AggiungiContatto() eliminare un cliente operazione tipica dell’applicazione, che comporta negli oggetti Indirizzi e NumeriTel i rispettivi metodi Cancella() eliminare un contatto metodo Cancella() dell’oggetto contatto, operazione derivata dall’eliminazione di un cliente

Modello del sistema dato (7) TipoProdotto Prezzo [read only] Data Ora TipoContatto Memo contatti Cancella() Notifica(): evento ProdottiAcquistati(): evento prodotti Acquista(prezzo) HaAcquistato(): evento ha vengono discussi N N ProssimaVisita() AggiungiIndirizzo(Indirizzo) AggiungiTelefono(Numero) AggiungiContatto(Contatto) Nome TipoCliente possibile_cliente Tipo Valore indirizzi Cancella() Tipo Valore numeriTel Cancella() ha NN

VisualBasic (1) In VisualBasic per creare classi e oggetti si usano gli oggetti ClassModule, o moduli di classe, definendo- ne le procedure Property, Function, Sub e Event. In ogni progetto VB possono essere utilizzati più moduli di classe, uno per ogni nuova classe definita. Le proprietà rappresentano i dati che descrivono lo stato dell’oggetto. In VB possono essere definite come variabili pubbliche o come dichiarazione di proprietà. Molto meglio le seconde. segue

VisualBasic (2) Le procedure di proprietà prevedono l’utilizzo di schemi prestabiliti per Letscrivere un valore in una proprietà Getleggere il valore di una proprietà Un metodo rappresenta il comportamento di un oggetto, un’azione che può fare. I metodi in VB possono essere Function o Sub: le prime restituiscono un valore, le seconde no. segue

VisualBasic (3) Gli eventi descrivono le reazioni dell’oggetto a particolari situazioni. Ad esempio quando lo stato interno raggiunge configurazioni particolari, l’oggetto comunica all’esterno questo particolare evento.

Specifiche del VisualBasic (1) Per creare una classe: 1.inserire un modulo di classe (dal menu Progetto) 2.impostare il nome della classe 3.definire le proprietà: –definire le proprietà della classe, dichiarando le variabili pubbliche e quelle private –definire le procedure Property, che rendono accessibili le variabili private, sono di tipo Get (leggi), Let (scrivi) o Set (per gli oggetti) 4.creare i metodi –determinare se il metodo è pubblico o privato –se restituisce un valore va definito Function, altrimenti Sub segue

Specifiche del VisualBasic (2) 5. predisporre gli eventi –ci sono due eventi incorporati: Initialize() e Terminate() –Initialize() assomiglia ad un costruttore, ma non accetta parametri

Traduzione in VisualBasic (1) ’Area delle intestazioni: Classe PossibileCliente ’Area delle dichiarazioni: Option Explicit Private WithEvents mContatti As Contatti Private Nome As String Attribute mContatti.VB_VarHelpID = -1 ’Area delle proprietà: Public Property Get Nome() As String End Property Public Property Let Nome(NuovoNome As String) End Property Public Property Get TipoCliente() As String End Property ’ segue

Traduzione in VisualBasic (2) ’segue Classe PossibileCliente Public Sub ProssimaVisita(Data As Date, Ora As String) End Sub Public Function AggiungiIndirizzo() As Indirizzo End Function Public Function AggiungiTelefono() As NumeriTel End Function Public Function AggiungiContatto() As Contatto End Function

Traduzione in VisualBasic (3) ’Area delle intestazioni: Classe Contatti ’Area delle dichiarazioni: Option Explicit Private mContattiData As Date Private mContattiOra As String Private mContattiTipo As String ’Area delle proprietà: Public Property Get Nome() As String End Property Public Property Let Nome(NuovoNome As String) End Property Public Property Get TipoCliente() As String End Property ’ segue