Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA



Похожие документы
Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

Soluzione dell esercizio del 2 Febbraio 2004

Programmazione a Oggetti Modulo B

Soluzione dell esercizio del 12 Febbraio 2004

Traccia di soluzione dell esercizio del 25/1/2005

Gestione Risorse Umane Web

Raggruppamenti Conti Movimenti

INSERIMENTO DATI BASILARI

Guida alla Navigazione e Utilizzo dell Area Fattura PA

Registratori di Cassa

MAGAZZINO FISCALE (agg. alla rel )

Creare una nuova spedizione personalizzata.

Fasi di creazione di un programma

Realizzazione di una classe con un associazione

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

MANUALE UTENTE CENTRI ED OFFICINE. L accesso al portale è regolata da una sistema di controllo basato su credenziali utente con password

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

PrestaShop 1.5. Manuale per gli utenti. Ultimo aggiornamento: 25 gennaio A cura di:

CHIUSURE di MAGAZZINO di FINE ANNO

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Gestione Catalogo Online e Vendita

1) GESTIONE DELLE POSTAZIONI REMOTE

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

Basi di dati I. Esercitazione proposta

Gestionale CIA. -Contabilizzazione movimenti-

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Manuale Modulo FATTURE FORNITORI

Esercitazione di Basi di Dati

Database 3 affitto veicoli. Testo del quesito

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Guida all uso di Java Diagrammi ER

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

MANUALE D USO DELL E-COMMERCE. Versione avanzata

IL MODULO CAUZIONI A&D srl

Il calendario di Windows Vista

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

CONTABILITÀ. Gestione Attività Multipunto. Release 5.20 Manuale Operativo

ESECUZIONE INVENTARIO TOTALE CHECKSTORE

Database 1 biblioteca universitaria. Testo del quesito

DATABASE. nozioni di base

Pubblicazione e modifica di articoli per il Portale della Protezione Civile

Aggiornamento v Integrazione al manuale d uso

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

Eprogram tecnologici V anno Esercitazione per l avvicinamento all Esame di stato

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Programmazione ad Oggetti: JAVA. Esercitazione

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

ProSky Progettare una facciata continua non è mai stato così semplice.

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

LEGGERE ATTENTAMENTE

Utenti esolver ed Enologia. 1) Creazione nuovo esercizio contabile

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Identificare le classi in un sistema

SISTEMA CONTROLLO ACCESSO PARCHI AVVENTURA JUNGLE TRACK

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

AUTOMAZIONE DELLE PROCEDURE DI GESTIONE MAGAZZINO E GESTIONE LAVORAZIONI, CON INTRODUZIONE DI LETTORI PORTATILI DI CODICI A BARRE WI-FI

FIRESHOP.NET. Gestione del taglia e colore.

CONTROLLO DI GESTIONE DELLO STUDIO

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

MANUALE D UTILIZZO DEL NUOVO PROTOCOLLO INFORMATICO (GESTIONE DOCUMENTALE) A differenza del vecchio software di Protocollo, non va più utilizzato il

Architettura MVC-2: i JavaBeans

Scheda operativa Versione rif c00. Libro Inventari

CREAZIONE DI UN AZIENDA

Organizzazione degli archivi

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

IL MIO PRIMO SITO: NEWS

DOCUMENTO ESERCITAZIONE ONENOTE. Utilizzare Microsoft Offi ce OneNote 2003: esercitazione rapida

Aggiornamento v Integrazione al manuale d uso

Eleonline gestione dello spoglio elettorale

Esercizio data base "Biblioteca"

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Introduzione ai database relazionali

Gestione dei Prodotti Web

Esercizi della lezione 5 di Java

Cosa è un foglio elettronico

ANTEPRIMA. w w w. s o f t w a y. i t. Novità ARCO

Mon Ami 3000 Ratei e Risconti Calcolo automatico di ratei e risconti

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Tempo a disposizione: 2 ore 30 minuti

Ciao, intanto grazie per essere arrivato/a fin qui.

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Object Oriented Programming

prima registrazione del 4 gennaio watch?v=_ursc5we6ny ; seconda registrazione del 4 gennaio

Per CONOSCERE uno STRUMENTO UTILE a migliorare l Efficienza ed ottenere Espansione vedi nel mio sito la sezione intitolata: Migliorare i Risultati.

MacBOOK. Gestionale per librerie Windows e Mac

FIRESHOP.NET. Gestione della distinta base & della produzione.

Guida Utente PS Contact Manager GUIDA UTENTE

Università di Roma La Sapienza, Facoltà di Ingegneria

Транскрипт:

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

ES 02 - ORGANIZER Voglio un gestionale (organizer) che permetta a ciascun dipendente della mia azienda di inserire le attività che svolgono durante la giornata lavorativa. Realizzare il diagramma UML delle classi e [DIFFICILE] un applicazione di test che permetta di istanziare un dipendente, aggiungere alcune attività lavorative e calcolare il numero totale di ore svolte dal dipendente

DIAGRAMMA UML DELLE CLASSI.

STRUTTURA DELL APPLICAZIONE Creo 2 classi con la logica del programma AttivitaLavorativa Dipendente Creo una classe con l interfaccia grafica Jframe AbsoluteLayout Controlli grafici

CLASSE ATTIVITÀ LAVORATIVA Non mi servono funzioni particolari creo attributi richiesti e costruttore standard Decido di tenere gli attributi Public per non dover creare i metodi GET e SET

CLASSE DIPENDENTE Attributi Costruttore che istanzia un vettore di massimo 1000 attività lavorative Metodi per Aggiungere una nuova attività (si noti che le attività vengono memorizzate in sequenza utilizzando la prima posizione vuota con valore null) Calcolare il numero totale di ore

INTERFACCIA GRAFICA tbnome tbcognome tbdatanascita tbluogonascita tbdataattivita tboreattivita tbdesc tboutputore

CLASSE DELL INTERFACCIA GRAFICA Gestione Evento Button CREA DIPENDENTE Leggo i dati dalla text field e passo quanto letto al costruttore per instanziare un nuovo dipendente

CLASSE DELL INTERFACCIA GRAFICA Gestione Evento Button CARICA ATTIVITA Leggo i dati dalle text field e passo quanto letto al costruttore per instanziare una nuova attività lavorativa successivamente aggiungo l attività lavorativa al dipendente richiamando il metodo addattivita Si noti che la variabile miodipendente è un attributo della mia classe che eredita la JFrame e pertanto è visibile ovunque all interno della classe

CLASSE DELL INTERFACCIA GRAFICA Gestione Evento Button CALCOLA NUMERO ORE Semplicemente richiamo il metodo getnumtotore dalla mia variabile locale miodipendente nella quale ho precedentemente caricato i dati del dipendente e delle attività.

ES 03 FLUSSI DI CASSA Voglio un programma a cui può accedere un solo utente per memorizzare e gestire i flussi di cassa di una ditta Realizzare il diagramma UML delle classi e un applicazione di test che permetta di istanziare una transazione, aggiungere l acquisto di servizi alla transazione e calcolare costo totale della transazione stessa Svolgimento analogo a Caso Aziendale 02

ES 04 CATALOGO ONLINE Voglio ampliare il mio sito web, mostrando il mio intero catalogo prodotti con funzioni di ricerca avanzate Realizzare il diagramma UML delle classi e [FACILE] un applicazione di test che permetta di istanziare un prodotto calcolando il prezzo ivato e scontato [DIFFICILE] un applicazione di test che permetta di istanziare un prodotto inserendo alcuni prodotti correlati. Scrivere in output l elenco dei prodotti correlati con il relativo prezzo tra parentesi e il totale se si dovessero acquistare tutti.

DIAGRAMMA UML DELLE CLASSI

STRUTTURA DELL APPLICAZIONE SVOLGIAMO L ESERCIZIO FACILE Creo 2 classi con la logica del programma Prodotto Categoria Creo una classe con l interfaccia grafica Jframe AbsoluteLayout Controlli grafici

CLASSE CATEGORIA L attributo categoriapadre memorizza l eventuale categoria contenitore in modo da gestire un diagramma ad albero delle categorie (non serve per lo svolgimento del nostro esercizio).

CLASSE PRODOTTO Attributi Costruttore che istanzia un vettore di massimo 1000 prodotti correlati Metodi per Aggiungere un nuovo prodotto correlato (non serve per l esercizio facile) Calcolare il prezzo ivato non scontato Calcolare il prezzo scontato (richiamando il metodo per calcolare il prezzo intero) Funzione di stampa dei prodotti correlati (non riportata nelle schermata non serve per l esercizio facile)

INTERFACCIA GRAFICA tbiva tbnome tbprezzo tbsconto tbprezzointero tbprezzofinale

CLASSE DELL INTERFACCIA GRAFICA Gestione Evento Button CALCOLA Leggo i dati dalla text field e passo quanto letto al costruttore per instanziare un nuovo PRODOTTO Una volta instanziato scrivo in output i valori calcolati dai metodi getprezzointeroivato getprezzoscontato

ESECUZIONE DELL APPLICAZIONE

ES 05 GESTIONE MAGAZZINI Voglio un programma per gestire i magazzini della mia azienda che vende materiale al cliente finale in alcuni negozi della mia regione Realizzare il diagramma UML delle classi e [FACILE] un applicazione di test che permetta di istanziare una giacenza prodotto e il valore totale dei pezzi di quel prodotto in giacenza in base al prezzo di vendita e di acquisto [DIFFICILE] un applicazione di test che permetta di istanziare un magazzino ed alcune giacenze di prodotti. Calcolare per il magazzino il numero di prodotti (codice prodotto) ed il numero di pezzi effettivi (considerare che per un codice prodotto possono essere presenti + pezzi).

DIAGRAMMA UML DELLE CLASSI Ogni magazzino ha diverse giacenze (ossia prodotti fisici presenti in magazzino con una certa quantità). Un singolo modello di prodotto (classe Prodotto) può essere presente in tanti magazzini. Modelliamo un magazzino avente un array di giacenze come attributo, ciascuna giacenza conterrà un unico prodotto come attributo

STRUTTURA DELL APPLICAZIONE SVOLGIAMO SIA L ESERCIZIO FACILE SIA QUELLO DIFFICILE Creo 3 classi con la logica del programma Prodotto Giacenza Magazzino Creo una classe con l interfaccia Grafica per ciascuno dei 2 esercizi Jframe AbsoluteLayout Controlli grafici

INTERFACCIA GRAFICA tbnomeprodotto tbivaperc tbprezzovendita tbprezzoacquisto tbvalorevendita tbvaloreacquisto

CLASSE PRODOTTO Recupero apportando minime modifiche la classe prodotto utilizzata nel caso aziendale 04

CLASSE GIACENZA Inserisco un attributo di tipo Prodotto che chiamo prodotto (sfruttando il fatto che il linguaggio sia case sensitive). Implemento i metodi getvaloreacquisto Giacenza e getvalorevenditag iacenza

CLASSE MAGAZZINO Inserisco un array di giacenze. Implemento i metodi che permettono di inserire una nuova gaicenza prodotto in magazzino e il metodo che calcola il numero di pezzi in magazzino

CLASSE DELL INTERFACCIA GRAFICA Gestione Evento Button btcreaprodottogiacenza Leggo i dati dalla text field e passo quanto letto al costruttore per instanziare un nuovo PRODOTTO Appena creato il prodotto, passo il mio prodotto instanziato (insieme alla quantità) al costruttore della mia Giacenza Richiamo i metodi del mio oggetto giacenza per ottenere i risultati

ESECUZIONE DELL APPLICAZIONE

SVOLGIMENTO ESERCIZIO DIFFICILE Cambio solo la classe dell interfaccia grafica perché avevo già preimpostato tutti i metodi necessari

EVENTO BUTTO AGGIUNGI MAGAZZINO Inserisco un attributo di tipo Magazzino di nome miomagazzino

EVENTO BUTTON AGGIUNGI GIACENZA Inserisco la giacenza come prima e alla fine ripulisco le caselle di testo per poter inserire una nuova giacenza

EVENTO BUTTON CALCOLA NUMERO PEZZI Devo solo richiamare il metodo appropriato del mio oggetto Magazzino precedentemente riempito Si noti che tutte le classi GIACENZA PRODOTTO MAGAZZINO sono rimaste invariate e sono riusabili Per risolvere l esercizio semplice non era necessario implemenatare la classe magazzino, ma solo GIACENZA e PRODOTTO

CASO AZIENDALE 10 DA SVOLGERE Voglio un programma che mi gestisca le iscrizioni ai corsi di nuoto che organizza la mia associazione Realizzare il diagramma UML delle classi e [FACILE] un applicazione di test che permetta di istanziare un atleta ed indicare (calcolando l età sulla base dell anno di nascita) lo sconto percentuale che ottiene (un 5% per ogni anno sotto i 18 fino ad un massimo del 40%) [DIFFICILE] un applicazione di test che permetta di istanziare un atleta e i corsi a cui ha partecipato calcolando il numero di corsi e il nmero totale di lezioni di tutti i corsi.

CASO AZIENDALE 11 DA SVOLGERE Voglio un programma che mi gestisca le ordinazioni per la cucina e l emissione di scontrini/fatture del mio ristorante Realizzare il diagramma UML delle classi e [FACILE] un applicazione di test che permetta di istanziare un tavolo ed il totale di piatti ordinati [DIFFICILE] un applicazione di test che permetta di istanziare un tavolo e il conto finale indicando per ciascun piatto o coperto ordinato il numero di ordinazioni (che saranno poi moltiplicate per il relativo prezzo unitario).