Programmazione a Oggetti Modulo B

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione a Oggetti Modulo B"

Transcript

1 Programmazione a Oggetti Modulo B Lezione 5 Dott. Alessandro Roncato 08/11/2011

2 Riassunto Pattern Singleton Pattern Plolimorfismo Classi e Interfacce 2

3 Ereditarietà multipla In Java una classe può estendere una sola altra classe, mentre può implementare tante interfacce In altri linguaggio possiamo avere l'estensione multipla (ovvero la possibilità che una classe estenda tante altre classi) In ogni caso l'ereditarietà multipla è fonte di problemi 3

4 Interfacce multiple <<interface>> BeneInventariato <<interface>> Veicolo <<implements>> <<implements>> Automobile OK 4

5 Ereditarietà multipla BeneInventariato Veicolo Automobile NO! 5

6 Codice (se si potesse) public class B { public methodb1(){...}; public methodb2(){...}; } public class C { public methodc1(){...} public methodc2(){...} } public class A extends B C { 6

7 Uso classe public class XXX { A a public void peresempio(){ a.methodb1(); a.methodc1(); B b = a; b.methodb2(); C c = a; c.methodc2(); } 7

8 Ereditarietà multipla Come ottenere l'ereditarietà multipla in Java? Supponiamo che A erediti dalle classi B, C, D etc. A estende una sola delle classi (meglio la classe con più metodi pubblici) Le altre classi vengono incorporate nella classe A Servono delle interfacce IB, IC, etc 8

9 Ereditarietà multipla B C A 9

10 Ereditarietà singola +... B <<interface>> IC <<implements>> A C c: IC 10

11 Codice public interface IC { methodc1(); methodc2(); } public class C implements IC { public methodc1(){...} public methodc2(){...} } public class A extends B implements IC { IC c = new C(); } public methodc1(){c.methodc1();} //wrapper public methodc2(){c.methodc2();} //wrapper 11

12 Uso classe public class XXX { A a public void peresempio(){ a.methodb1(); a.methodc1(); B b = a; b.methodb2(); IC c = a; c.methodc2(); } 12

13 Pattern Nelle lezioni vediamo come applicare i pattern in alcuni punti della progettazione Gli stessi pattern possono essere applicati anche in altre parti della progettazione E' parte del lavoro di progetto considerare tutti i punti in cui un pattern può essere applicato. 13

14 Tipi Pattern Creazionali (diagrammi classi e sequenza) Strutturali (diagramma classi) Comportamentali (diagramma sequenza) Concorrenza (diagramma attività) 14

15 Ricerca di un prodotto La responsabilità di gestire la ricerca può essere gestita in due modi: 1) da uno (o più) metodo(i) di una classe esistente 2) da una classe a se stante. 15

16 Classe esistente Un oggetto globale (visibile globalmente) gestisce la ricerca Per esempio l'oggetto Negozio può gestire la ricerca Problemi : 1)bassa coesione 2)una ricerca per ogni oggetto a cui è associata (potrebbero essere poche o troppe!). Se associata al Negozio, abbiamo un'unica ricerca. 16

17 public class Negozio { Esempio Set<Prodotto> risultatoricerca;... public Negozio(){ }...//inizializzazione negozio // piu' // inizializzazione ricerca //metodi Negozio più metodi ricerca public void cercaprodotti(string query){...} Bassa coesione Difficile il riuso Alta dipendenza public Set<Prodotto> getricerca(){ return risultatoricerca();} } public void raffinaricerca(string query){...} 17

18 Svantaggi Bassa coesione: cosa hanno a che fare i metodi di Negozio con quelli della ricerca dei Prodotti? Riuso difficile: come posso riusare le funzionalità della ricerca senza la classe Negozio? Dipendenza: aumentano le classi che hanno bisogno di accedere alla classe Negozio (Negozio+ chi deve accedere alle ricerche) 18

19 Pure Fabrication P: come assegnare le responsabilità in modo da ottenere Low Coupling and High Coesion se I.E. NON è appropiato? S: assegna un insieme altamente coeso di responsabilità a una classe artificiale (di pura invenzione) che non rappresenta un concetto del dominio del problema, ma qualcosa di inventato per sostenere H.C., L.C. e il riuso. 19

20 Esempio Facciamo gestire le ricerche da una nuova classe inventata Ricerca (Questa classe non è proprio una pura invenzione perché come concetto la Ricerca esiste) Vedremo poi altri esempi in cui inventiamo nuove classi più di sana pianta 20

21 public class Ricerca { Set<Prodotto> risultato; Esempio public void cercaprodotti(string query){...} public Set getricerca(){return risultatoricerca(); public void raffinaricerca(string query){...} } } Alta coesione Riuso Riduce dipendenza 21

22 Pure Fabrication Ricerca * 1 Negozio Cassiere 1 * Prodotto * 0..1 Carrello 22

23 Pure Fabrication Ricerca * 1 Negozio Cliente 1 * Prodotto * 0..1 Carrello 23

24 Altri esempi Chi è responsabile della persistenza degli oggetti? Persistenza=salvare, leggere, aggiornare, cercare gli oggetti nel filesystem o in un DB Per I.E. Dovrebbe essere l'oggetto stesso a farlo Ma questo ha gli svantaggi già visti Si preferisce una Pure Fabrication che gestisca la persistenza di tutti gli oggetti 24

25 Altri esempi Chi è responsabile della di gestire la visualizzazione? Per I.E. Dovrebbe essere l'oggetto stesso a farlo Ma questo ha gli svantaggi già visti Si preferisce una Pure Fabrication che gestisca la visualizzazione degli oggetti 25

26 Svantaggi Pure Fabrication Una classe in più Potrebbe essere difficile da individuare la classe responsabile Visione procedurale invece che ad oggetti (raggruppo per funzionalità e non per concetto) (vedremo come limitare questo ultimo problema) 26

27 Chi crea gli oggetti letti dal DB? public class Prodotto { static public Prodotto load(int id){ Class.classForName( Driver ); Connection con=drivermanager.get.conn... Statement sta = con.createstatement(); ResultSet rs = sta.executequery(... if (rs.next){ String codice=rs.getstring( codice ); return new Prodotto(codice,... } } 27

28 Chi crea gli oggetti letti dal DB? public class Cliente { static public Cliente load(int id){ Class.classForName( Driver ); Connection con=drivermanager.get.conn... Statement sta = con.createstatement(); ResultSet rs = sta.executequery(... if (rs.next){ String nome=rs.getstring( nome ); return new Cliente(nome,... } } 28

29 Svantaggi Logica di creazione complessa Poca coesione Forte dipendenza degli oggetti del modello da le classi di gestione del DB Ripetizione di codice in classi diverse (vedi esercizio più avanti) 29

30 Soluzione Specializzazione di Pure Fabrication: Factory (o anche detto Simple Factory o Concrete Factory) Un oggetto di pura invenzione crea gli oggetti del modello Attenzione: Factory=Fabbrica Fabrication=Invenzione 30

31 Pattern Factory P: chi deve creare gli oggetti quando la creazione è complessa? S: Un oggetto di pura invenzione chiamato Factory 31

32 Factory public class ProdottoFactory { public Prodotto load(int id){ Class.classForName( Driver ); Connection con=drivermanager.get.connection(...); Statement sta = con.createstatement(); ResultSet rs = sta.executequery(... ); if (rs.next){ String codice=rs.getstring( codice ); return new Prodotto(codice,...); } } } 32

33 Factory public class ClienteFactory { public Cliente load(int id){ Class.classForName( Driver ); Connection con=drivermanager.get.connection(...); Statement sta = con.createstatement(); ResultSet rs = sta.executequery(... ); if (rs.next){ String nome=rs.getstring( nome ); return new Cliente(nome,...); } } } 33

34 Uso Factory public class XXX { public qualchemetodo() { Prodotto prodotto=...load(id); } } //cosa metto al posto dei...? //quante Factory sono necessarie? //che visibilità devono avere? //vedi esercizio 34

35 Considerazioni Una classe in più per ogni classe del Modello Più coeso Facile il riuso? 35

36 Factory ProdottoFactory XXX Prodotto 36

37 Esercizi Cosa metto al posto dei puntini...? Che vantaggi e svantaggi ci sono? Come posso ottenere alta coesione e bassa dipendenza usando static invece che Factory? Che vantaggi e svantaggi ci sono? 37

38 Factory Method Nell'esempio di Simple Factory abbiamo visto che la Factory definisce il metodo load che è un esempio Factory Method. Possibilità di avere nomi significativi per i metodi (es. loadfromdb, loadfromfile, createnew) (invece il costruttore ha un nome imposto) 38

39 Factory method public class Prodotto { private Prodotto() { } public static Prodotto createnew(){ return new Prodotto(); } public static Prodotto loadfromdb(int id){...//come già visto } } 39

40 Abstract Factory A differenza del Simple Factory che è una classe, l'abstrac Factory definisce un'interfaccia Ci vogliono quindi almeno una classe e un'interfaccia (prima avevo un'unica classe) L'interfaccia definisce almeno un factory method che poi verrà implementato da una o più classi 40

41 Abstract Factory <<interface>> AbstractProdottoFactory <<implements>> ProdottoFactory XXX Prodotto 41

42 Abstract Factory public interface AbstractProdottoFactory { public Prodotto createnew(); } 42

43 Abstract Factory public class ProdottoFactory implements AbstractProdottoFactory { public Prodotto createnew(){... } } 43

44 Uso Abstract Factory public class XXX { public void qualchemetodo() { Prodotto prodotto=...createnew(); //cosa metto al posto dei...? //la differenza rispetto a Simple Factory //dipende da cosa metto nei puntini } } } 44

45 Esercizio Fare in modo di usare Polimorfismo e ConcreteFactory in modo che il codice di accesso al DB venga riusato quanto più possibile. Nella applicazioni reali si usa anche la Reflection in modo da evitare addirittura la necessità delle sottoclassi e che Factory dipenda dagli oggetti della nostra applicazione 45

46 Polimorfismo + Factory ClienteFactory Cliente Factory ProdottoFactory Prodotto ScontrinoFactory Scontrino

47 Reflection + Factory Cliente Factory Prodotto Scontrino... 47

48 Reflection Reflection viene spesso usato assieme ad altre tecniche per ridurre la dipendenza Vediamo come sia possibile cercare di ridurre la dipendenza anche altro modo. 48

49 Protect Variations Come proteggere un oggetto/sistema dai cambiamenti indotti dagli altri oggetti/sistemi? Mascherando i cambiamenti degli altri oggetti tramite una inter-faccia stabile Una tecnica per mascherare è la progettazione guidata dai dati e un caso particolare è un file di configurazione 49

50 Come ridurre dipendenza Come possiamo sfruttare un file di configurazione per ridurre la dipendenza? Mettiamo nel file di configurazione tutti i tipi per la creazione dei libri 50

51 Dipendenze prima Negozio AlimentareFac. Alimentare Factory ElettroFact. Elettrodom. Prodotto RivistaFactory Rivista 51

52 Dipendenza Il fatto che Negozio costruisca tramite le varie Factory tutti i prodotti crea una forte dipendenza di Negozio: c'é più possibilità che Negozio debba essere modificata a causa di un cambiamento alla costruzione di un oggetto Prodotto che per una modifica al funzionamento del Negozio stessa 52

53 Dipendenze dopo java.io.file java.io.bufferedreader java.util.stringtokenizer Negozio AlimentareFact Alimentare Factory ElettroFact. Elettrodom. Prodotto RivistaFactory Rivista 53

54 Dipendenze dopo java.io.fileinputstream java.util.properties Negozio AlimentareFact Alimentare Factory ElettroFact. Elettrodom. Prodotto RivistaFactory Rivista 54

55 Pro e contro +/- Tolgo dipendenze ma ne Aggiungo altree + Ma le dipendenza con classi delle API standard di Java sono meno problematiche perché molto stabili (pochi cambiamenti in vista) - Non tutto il comportamento risiede nel codice, bisogna sapere dell'esistenza del file esterno 55

56 Formato file.properties #commenti preceduti dal carattere #!commenti preceduti dal carattere! number=23; stringa=questa è una stringa stringasumoltelinee=una stringa \ su più linee altrastringa:quaranta stringaconuguale=x\=y stringaconslash=x\\y stringacon2punti=x\:y nomecon\:=valore 56

57 try { FileInputStream fis = Codice new FileInputStream( negozio.properties ); Properties props = new Properties(); props.load(fis); fis.close(); String tempnum=props.getproperty( numeroprodotti ); int num = Integer.parseInt(tempNum); for (int i=0; i<num; i++) { Prodotto prodotto=new Prodotto(); prodotto.setcodice(props.getproperty( codice +i)); double prezzo = Double.parseDouble(props.getProperty( prezzo +i)); 57

58 File negozio.properties #negozio.properties # numeroprodotti=4 codice0= prezzo0= codice1= prezzo1=43.21 codice2= Prezzo2= codice3= prezzo3=

59 Cosa manca? Generare i Prodotti in maniera polimorfa! In pratica dobbiamo riuscire a creare i prodotti 0 e 1 di tipo Alimentare, mentre il prodotto 2 di tipo Elettrodomestico e il 3 di tipo Rivista Serve di nuovo la Reflection La reflection è una tecnica spesso usata per implementare P.V. 59

60 File negozio.properties #negozio.properties # numeroprodotti=4 codice0= prezzo0=12.34 class0=negozio.alimentare... codice1= prezzo1=43.21 class1=negozio.alimentare codice2= prezzo2=23.41 class2=negozio.elettrodomestico codice3= Prezzo3=32.14 class3=negozio.rivista 60

61 try { FileInputStream fis = Codice new FileInputStream( negozio.properties ); Properties props = new Properties(); props.load(fis); fis.close(); String tempnum=props.getproperty( numeroprodotti ); int num = Integer.parseInt(tempNum); for (int i=0; i<num; i++) { Prodotto prodotto = Class.forName(props.getProperty( class +i)).newinstance(); prodotto.loadfromproperties(props,i); } 61

62 Esercizio Perché abbiamo richiamato il metodo loadfromproperties? A cosa serve il parametro i di questo metodo? 62

63 Protect Variation Più complesso Più lento Più costoso Senza controllo compilatore (vedi try-catch) Bisogna valutare se effettivamente l'interfaccia rappresenta un punto di possibile cambiamento La modifica può essere fatta senza bisogno di modificare il codice Java 63

64 Esercizio Progettare e implementare una Simple Factory con Protect Variation per la creazione dei Prodotti (elencare pro e contro) Negozio Prodotti ProdottiFactory java.io.fileinputstream java.util.properties 64

65 Esercizio Pensare a dover modificare l'applicazione dovendo aggiungere nuovi tipi di Prodotti. Quale delle scelte viste risulta la migliore? 65

66 Evoluzioni progettisti Alle prime esperienze, i progettisti tendono a essere troppo ottimisti e pensare che non ci saranno variazioni, bug e manutenzione e quindi la struttura del codice risulta troppo sensibile ai cambiamenti Successivamente, i progettisti tendono a essere troppo pessimisti e prevedono troppi punti di cambiamento e il codice risulta troppo complesso 66

67 Riflessioni sulla reflection La reflection è molto interessante e permette di ottenere codice molto flessibile Analoga alla reflection sono i Metadati per quanto riguarda i DB Attenzione che usando la reflection perdiamo i vantaggio di avere un linguaggio fortemente tipato e spostiamo al run-time la scoperta di possibili errori. 67

68 Riflessioni sulla reflection 2 Tramite reflection è possibile cambiare al run-time la visibilità dei membri di una classe: è quindi possibile accedere ad un attributo che è privato Questo permette a molte librerie/framework di accedere in modo uniforme allo stato degli oggetti Il problema della mancanza di controllo del compilatore viene mitigato dal fatto che il codice è ben testato dai tanti utilizzatori 68

69 Reflection e sicurezza Vale la pena di rimarcare che il fatto che tramite la reflection sia possibile cambiare la visibilità di attributi di una classe, ancora di più sottolinea che l'unico scopo delle visibilità private, protected e package è quello di limitare la dipendenza tra le classi e NON riguarda minimamente aspetti di sicurezza applicativa. Quindi: per nascondere le password non ha senso usare private 69

70 Sicurezza e Java Spesso si sente dire che Java è un linguaggio sicuro a differenza del C. Questa è vero ma NON riguarda il fatto che C non ha le visibilità private, protected etc. Bensì, riguarda i controlli fatti al run time dalla virtual machine quando esegue il nostro codice (es. controllo indici, SecurityManager, Eccezioni etc.) 70

DESIGN PATTERNS Parte 2. Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection

DESIGN PATTERNS Parte 2. Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection DESIGN PATTERNS Parte 2 Polimorfismo Pure Fabrication Simple Factory/Concrete Factory Factory Method Abstract Factory Protect Variations + Reflection POLIMORFISMO Il polimorfismo è la base della programmazione

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

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

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

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

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

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

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

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

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

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

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

design patterns e GRASP

design patterns e GRASP design patterns e GRASP 1 design patterns una coppia / particolarmente importante a cui viene dato un nome vengono espressi in un formato molto rigido, ad es. nome descrizione sintetica della descrizione

Dettagli

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 15 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA 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

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

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

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

DESIGN PATTERNS Parte 6. State Proxy

DESIGN PATTERNS Parte 6. State Proxy DESIGN PATTERNS Parte 6 State Proxy STATE Il Design Pattern State nasce dall'esigenza di poter gestire gli stati di una classe senza dover usare dei costrutti come gli Enum e quindi delle switch. Prendiamo

Dettagli

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Software Gestionale per alberghi e strutture ricettive

Software Gestionale per alberghi e strutture ricettive TOURING HOME V.4.0.0 Software Gestionale per alberghi e strutture ricettive Guida all aggiornamento Abbiamo il piacere di presentarvi la nuova versione 4.0.0 di TouringHome Completamente rivisto graficamente,

Dettagli

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 14 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Object Oriented Software Design

Object Oriented Software Design Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario Relazioni

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

PrestaShop 1.5. Manuale per gli utenti. Ultimo aggiornamento: 25 gennaio 2014. A cura di: http://www.prestashoprisolto.com/

PrestaShop 1.5. Manuale per gli utenti. Ultimo aggiornamento: 25 gennaio 2014. A cura di: http://www.prestashoprisolto.com/ PrestaShop 1.5 Manuale per gli utenti Ultimo aggiornamento: 25 gennaio 2014 A cura di: http://www.prestashoprisolto.com/ 1 Sommario 1 PER L UTENTE... 3 1.1 GESTIONE DELL E-COMMERCE... 3 1.1.1 CONCETTI

Dettagli

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Dettagli

http://www.programmiamo.altervista.org/c/oop/o...

http://www.programmiamo.altervista.org/c/oop/o... PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Dettagli

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte Java riutilizzo delle classi G. Prencipe prencipe@di.unipi.it Introduzione Una delle caratteristiche fondamentali in Java è il riutilizzo del codice Ci sono due modi per ottenerlo Creare oggetti di classi

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

COME CREARE UN SONDAGGIO CON SCELTA SU MOODLE

COME CREARE UN SONDAGGIO CON SCELTA SU MOODLE COME CREARE UN SONDAGGIO CON SCELTA SU MOODLE Inserisci le tue credenziali di accesso in alto sulla colonna di destra denominata Login. Si devono inserire le credenziali come editor del corso Il modulo

Dettagli

Brand Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Introduzione

Brand Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Introduzione Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Un corso di Marco De Veglia Brand Positioning: la chiave segreta del marketing Mi occupo di Brand Positioning

Dettagli

DESIGN PATTERNS Parte 5. Facade Strategy Composite Interpreter

DESIGN PATTERNS Parte 5. Facade Strategy Composite Interpreter DESIGN PATTERNS Parte 5 Facade Strategy Composite Interpreter FACADE Per proteggere la nostra applicazione sfruttando il Protect Variation possiamo usare il pattern Facade. Questo pattern è ottimo per

Dettagli

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311

Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 Veneto Lavoro via Ca' Marcello 67/b, 30172 Venezia-Mestre tel.: 041/2919311 INDICE 1. INTRODUZIONE... 3 1.1 SCADENZA... 3 1.2 CAUSALE DA UTILIZZARE... 3 2. MODALITÀ OPERATIVE DI COMUNICAZIONE DATI... 4

Dettagli

Da dove nasce l idea dei video

Da dove nasce l idea dei video Da dove nasce l idea dei video Per anni abbiamo incontrato i potenziali clienti presso le loro sedi, come la tradizione commerciale vuole. L incontro nasce con una telefonata che il consulente fa a chi

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

FIRESHOP.NET. Gestione del taglia e colore. www.firesoft.it

FIRESHOP.NET. Gestione del taglia e colore. www.firesoft.it FIRESHOP.NET Gestione del taglia e colore www.firesoft.it Sommario SOMMARIO Introduzione... 3 Configurazione iniziale... 5 Gestione delle varianti... 6 Raggruppamento delle varianti... 8 Gestire le varianti

Dettagli

Telematica II 17. Esercitazione/Laboratorio 6

Telematica II 17. Esercitazione/Laboratorio 6 Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

I DATABASE Database relazionale

I DATABASE Database relazionale Database relazionale Modello di database che consiste di diversi file separati che sono correlati l'un l'altro attraverso campi chiave. Si può accedere alle informazioni memorizzate in un file attraverso

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Esercitazione n 4. Obiettivi

Esercitazione n 4. Obiettivi Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:

Dettagli

SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive

SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive SISTEMA di GESTIONE QUALITÀ Non Conformità ed Efficacia delle Azioni Correttive Preventive Il sistema di gestione della qualità a cui mi riferisco è quello relativo alla norma ISO-9001:2000. Prima di entrare

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del

Dettagli

COME PARLARE DI DISLESSIA IN CLASSE.

COME PARLARE DI DISLESSIA IN CLASSE. COME PARLARE DI DISLESSIA IN CLASSE. UNA METAFORA PER SPIEGARE I DSA La psicologa americana ANIA SIWEK ha sviluppato in anni di pratica professionale un modo semplice ed efficace di spiegare i DSA ai bambini,

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

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

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Corso di formazione CerTICTablet

Corso di formazione CerTICTablet Redattore prof. Corso di formazione CerTICTablet Sesta Dispensa Comitato Tecnico Scientifico: Gruppo Operativo di Progetto CerticAcademy Learning Center, patrocinato dall assessorato al lavoro e alla formazione

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

CMS MUSEO&WEB. Mappe grafiche. Andrea Tempera (OTEBAC) 12 aprile 2010

CMS MUSEO&WEB. Mappe grafiche. Andrea Tempera (OTEBAC) 12 aprile 2010 CMS MUSEO&WEB Mappe grafiche Andrea Tempera (OTEBAC) 12 aprile 2010 Introduzione Grazie ad appositi tag HTML possiamo associare molteplici collegamenti a differenti zone di un'unica immagine; un'immagine

Dettagli

Vlan Relazione di Sistemi e Reti Cenni teorici

Vlan Relazione di Sistemi e Reti Cenni teorici Cosa sono le Vlan? Vlan Relazione di Sistemi e Reti Cenni teorici Le Vlan sono un tipo di rete particolare che permettono di creare tante reti logiche a partire da una singola rete fisica. Questo significa

Dettagli

INSERIMENTO DATI BASILARI

INSERIMENTO DATI BASILARI PASSO PASSO. Questo applicativo software nasce con l idea di essere molto semplice da usare. Di fatto lo è ed infatti non dispone di un help in linea all interno dello stesso. Tuttavia ci sentiamo in dovere

Dettagli

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università

Dettagli

Analisi di programmi: Crittografia

Analisi di programmi: Crittografia Analisi di programmi: Crittografia Come caso concreto di sistema, proviamo ad abbozzare e a vedere una prima implementazione di un sistema di crittografia a chiave pubblica La crittografia studia le tecniche

Dettagli

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

Dettagli

Google AdWords. Corrispondenze Parole Chiave

Google AdWords. Corrispondenze Parole Chiave Google AdWords Corrispondenze Parole Chiave Una mini guida sulle varie tipologie di corrispondenze per le parole chiave di Google AdWords, la scelta su quali usare può far cambiare di molto il punteggio

Dettagli

Ottava Esercitazione. introduzione ai thread java mutua esclusione

Ottava Esercitazione. introduzione ai thread java mutua esclusione Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

IL BUDGET 04 LE SPESE DI REPARTO & GENERALI

IL BUDGET 04 LE SPESE DI REPARTO & GENERALI IL BUDGET 04 LE SPESE DI REPARTO & GENERALI Eccoci ad un altra puntata del percorso di costruzione di un budget annuale: i visitatori del nostro sito www.controllogestionestrategico.it possono vedere alcuni

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Versione 7.0 Taglie e Colori. Negozio Facile

Versione 7.0 Taglie e Colori. Negozio Facile Versione 7.0 Taglie e Colori Negozio Facile Negozio Facile: Gestione taglie e colori Il concetto di base dal quale siamo partiti è che ogni variante taglia/colore sia un articolo a se stante. Partendo

Dettagli

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014)

INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) INSTALLAZIONE NUOVO CLIENT TUTTOTEL (04 Novembre 2014) Se la Suite risulta già stata installata e quindi sono già presenti le configurazioni di seguito indicate, si prega di andare direttamente alla fine

Dettagli

Grafico della parabola

Grafico della parabola Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un

Dettagli

Relazioni tra tabelle

Relazioni tra tabelle Relazioni tra tabelle Una delle caratteristiche principali di Access è la possibilità di definire le relazioni fra tabelle in modo molto semplice vista l interfaccia grafica visuale. Le relazioni possono

Dettagli

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

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli