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 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).