Introduzione al corso

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione al corso"

Transcript

1 Programmazione Java Avanzata e Mobile Introduzione al corso Anno 2013/2014

2 Programmazione Java Avanzata e Mobile Struttura del corso/slide: - Background - Hibernate - Struts - Spring (opzionale) - Android Ogni lezione prevede la presentazione dell argomento dal punto di vista teorico e l utilizzo delle conoscenze apprese attraverso un esercitazione

3 Programmazione Java Avanzata e Mobile Testi Consigliati Dispense delle lezioni Java Persistence with Hibernate, Second Edition of Hibernate in Action, Christian Bauer and Gavin King, Manning Publications Co. Struts 2 in Action, Donald Brown, Chad Michael Davis, and Scott Stanlick, Manning Publications Co. Android Developers Si raccomanda la frequenza del corso, in modo particolare delle esercitazioni.

4 Programmazione Java Avanzata e Mobile Modalità dell esame L esame consiste in una prova progettuale relativa all implementazione di una Web Application. Il progetto è tipicamente svolto da gruppi di due persone. La discussione del progetto è effettuata solo durante il periodo di esami.

5 Programmazione Java Avanzata e Mobile Software utilizzati: Eclipse Java EE IDE for Web Developers (cons. Kepler) MySQL e MySQLWorkbench (cons. 5) Hibernate 4 Struts 2.3 Android Developer Tools (cons. v22)

6 Programmazione Java Avanzata e Mobile Richiami di Java (opzionali) Anno 2013/2014

7 Richiami di base su Java Creazione di riferimenti e instanziazione Object o; (crea un riferimento ad Object ma non lo istanzia) Object o = new Object(); (alloca lo spazio in memoria) 7

8 Richiami di base su Java I tipi primitivi (numerici) come int, float, double, ecc. non sono oggetti. Per utilizzarli come tali esistono le classi wrapper Integer, ecc. Non esiste il concetto di puntatore, ma solo quello di riferimento. Tutte le variabili che contengono oggetti sono riferimenti, tranne quelle che contengono tipi primitivi. Non esiste il concetto di distruttore (per la presenza nella VM del Garbage Collector). 8

9 Richiami di base su Java Il passaggio di parametri è fissato: per valore (tipi primitivi) per riferimento (tipi oggetto) Le variabili locali devono essere inizializzate prima di essere utilizzate. Gli attributi, se non inizializzati dal costruttore, assumono il valore zero per i tipi numerici e null per quelli di tipo riferimento a oggetto. 9

10 Programmazione Object-Oriented Paradigma di programmazione che mette al centro la nozione di oggetti, raggruppati in classi. Una classe definisce un tipo di dati che rappresenta una nozione (concreta o astratta della realtà). Ogni oggetto è definito da un insieme di dati (attributi) e funzioni (metodi). Gli attributi ne rappresentano lo stato, i metodi ne modellano il comportamento. 10

11 Programmazione Object-Oriented Lo scopo principale dell OOP è consentire il riuso del codice attraverso la sua modularizzazione per minimizzare la presenza di bug e accelerare i tempi di sviluppo del software. Caratteristiche fondamentali dei linguaggi OOP: Incapsulamento Ereditarietà Polimorfismo 11

12 Incapsulamento Ogni oggetto contiene sia i propri dati che le funzioni che operano su tali dati. L accesso ai dati di un oggetto avviene attraverso metodi di accesso (usando i qualificatori di accesso). Oggetti come scatole nere : non sono noti i dettagli di funzionamento, ma solo l'interfaccia. E possibile cambiare l implementazione di un oggetto senza modificare il resto del codice. 12

13 Incapsulamento in Java Qualificatori di accesso: private package (per default) protected (package + sottoclassi) public L incapsulamento richiede la visibilità minima 13

14 Ereditarietà Estensione di una classe base La classe derivata eredita (li vede come se fossero i suoi) attributi e metodi (non privati) della classe base. La classe derivata può ridefinire attributi/metodi della classe base o avere attributi/metodi aggiuntivi. 14

15 Ereditarietà in Java Sintassi: class Derivata extends Base Aggiunta/overriding di attributi/metodi Accesso ad attributi/metodi della classe Base: uso di super Ereditarietà pubblica : non è possibile ridurre l accesso ad attributi/metodi nella classe Derivata attraverso overriding. Solamente ereditarietà singola. 15

16 Ereditarietà in Java Esempio: public class Studente extends Persona Studente può aggiungere attributi (es. matricola) o metodi - es. getmatricola() Studente può ridefinire metodi di Persona - es. void print() 16

17 Polimorfismo Permette di avere metodi con la stessa signature che si comportano in modo differente a seconda degli oggetti su cui vengono invocati. Polimorfismo ed ereditarietà: uso di metodi che accettano in input il super-tipo ma il cui comportamento si adatta ai sotto-tipi. Late binding la scelta del metodo corretto avviene a run-time e non a compile-time. 17

18 Classi Astratte in Java Classi in cui alcuni metodi sono astratti (non sono implementati, c è solo la signature). Sintassi: public abstract class FiguraGeometrica { public abstract double perimetro(); } Non è possibile istanziare oggetti di una classe astratta. E possibile dichiarare riferimenti di tipo astratto. Per istanziare oggetti è necessario derivare una classe che implementa tutti i metodi astratti. 18

19 Classi Astratte in Java Esempio: public class Quadrato extends FiguraGeometrica { public double perimetro(){ return misuralato*4; } } E possibile istanziare oggetti di Quadrato solo se tutti i metodi astratti ereditati sono implementati. E possibile inizializzare un riferimento FiguraGeometrica con un oggetto Quadrato (subtyping). 19

20 Interfacce in Java Simili alle classi astratte, ma possono contenere solo signature di metodi (pubblici) senza implementazione. Servono a forzare una classe a implementare un insieme di metodi. I metodi sono pubblici per default. Sintassi: public interface FiguraGeometrica { public double perimetro(); } Non è possibile istanziare oggetti di una interfaccia. E possibile dichiarare riferimenti di tipo interfaccia. 20

21 Interfacce in Java E possibile istanziare oggetti di una classe che implementa quell interfaccia. Sintassi: public class Quadrato implements FiguraGeometrica { public double perimetro(){ return misuralato*4; } } 21

22 Eccezioni controllate e non Eccezioni controllate: Il compilatore controlla che noi non le ignoriamo dovute a circostanze esterne che il programmatore non può evitare Es. FileNotFoundException Eccezioni non controllate: rappresentano un errore del programmatore Es. ArrayIndexOutOfBoundsException

23 Gestione delle Eccezioni Due Possibilità: 1. Catturare l eccezione blocchi try / catch 2. Dire al compilatore che vogliamo terminare il metodo quando si verifica l eccezione. Usare throws Enunciato finally Per eseguire task che devono essere comunque completati (sia in presenza che in assenza di errori, es. chiusura file)

24 Programmazione Java Avanzata e Mobile Nozioni aggiuntive di Java Anno 2013/2014

25 Nozioni aggiuntive di Java Convenzioni sui nomi Programmazione generica Annotations Serializzazione Logging 25

26 Convenzioni I nomi delle classi sono sostantivi che iniziano in maiuscolo Es. class Studente{ } I nomi delle istanze iniziano con lettera minuscola Es. Studente studente=new Studente(); Tutte le variabili (locali) devono essere inizializzate prima di essere utilizzate. Es. void contaripetizioni (){ int cont=0; 26

27 Convenzioni Se il nome è composto da più di un sostantivo, ognuno di questi avrà l'iniziale maiuscola Es. class StudenteLavoratore{... } I nomi dei metodi sono composti da un verbo, oppure un verbo + sostantivo; solo la prima iniziale è minuscola Es. int getricaviesercizio() I nomi delle variabili membro sono composti da sostantivi e usano la stessa convenzione dei metodi Es. int annoiscrizione 27

28 Convenzioni I metodi di accesso sono relativi agli attributi: Es. int getmatricola() Es. void setmatricola(int matricola) Per gli attributi booleani si utilizza la forma is Es. boolean isready() 28

29 Convenzioni Le costanti sono tutte in maiuscolo, con i sostantivi separati da underscore Es. final int MAX_VOTO = 30 I nomi dei package sono tutti in minuscolo, con i sostantivi separati da underscore Es. package ing.programmazione_java_avanzata L organizzazione in package è un elemento molto importante 29

30 Programmazione Generica Tecnica di programmazione per cui è possibile realizzare strutture dati e algoritmi che funzionano con diversi tipi di dati. public class ArrayList<T> { public ArrayList() {...} public void add(e element) {...}... } Usata in questo modo: ArrayList<String> listanomi = new ArrayList<String>(); 30

31 Programmazione Generica Collection rappresenta il concetto di gruppo di oggetti (duplicati o no, ordinati o no, con priorità, ) 31

32 Programmazione Generica Per cui potrei: Set insieme=new HashSet(); Element e=new Element(); Insieme.add(e); Gli elementi possono essere di diverso tipo. E necessario un cast in fase di accesso in lettura. E preferibile parametrizzare. Set<Element> insiemeelementi=new HashSet<Element>(); 32

33 Java Annotations Dalla versione 5.0 Java ha introdotto dei meccanismi per inserire metadati descrittivi nel codice stesso Questi metadati (dati a proposito dei dati) possono essere usati per rendere espliciti alcuni comportamenti Sono immersi nel codice ed esistono analizzatori in grado di adoperarli per semplificare il lavoro si sviluppo o potenziare il Design By @SuppressWarnings Molti framework definiscono annotation proprie 33

34 Serializzazione La Serializzazione, in Java, è la trasformazione di un oggetto nella sua rappresentazione binaria Un oggetto serializzato può essere salvato su disco, su database, inviato via internet etc Gli oggetti, per essere serializzabili, devono implementare l'interfaccia Serializable Ogni oggetto serializzabile deve avere una variabile membro serialversionuid È una sorta di hash che serve a controllare che non vengano deserializzati oggetti di versioni diverse 34

35 Serializzazione serialversionuid può essere gestita o meno dal programmatore. Tipicamente abbiamo: public class Utente implements Serializable { } private static final long serialversionuid = 1L; 35

36 Logging Nella fase di testing o di debugging può essere utile evidenziare il verificarsi di situazioni particolari: public class Esame { private int voto; void setvoto(int voto){ if (voto > 30) System.out.println( Errore ); this.voto=voto; } 36

37 Logging L'output su console (System.out.println) non è una soluzione ideale in quanto: - La console deve essere tenuta sotto controllo da una persona competente - Per salvare l'output dobbiamo realizzare script al di fuori del nostro programma - Tutto l'output viene inviato nello stesso luogo: non c'è modo di separare per priorità o per sottosistema 37

38 Logging Un Log è un file di testo che raccoglie l'output da un programma È usato normalmente per segnalazione e per debug (es. server) Si vogliono raccogliere dati sull'uso ed il comportamento di determinati oggetti Si vuole avere un resoconto delle funzioni eseguite 38

39 Apache Log4J 2 È una libreria usata nei progetti Java È ormai uno standard de facto per il logging La seconda versione (Log4J 2) ha migliorato performance, funzionalità e affidabilità ma non è compatibile con la precedente ( Le librerie minime da usare sono log4j-api e log4jcore (attualmente log4j-api-2.0-beta9.jar e log4jcore-2.0-beta9.jar) 39

40 Apache Log4J 2 E utile includere i JavaDoc Definisce diversi livelli di log a seconda della gravità: FATAL, ERROR, WARN, INFO, DEBUG, TRACE Un file di configurazione (XML o JSON) ci permette di scegliere la destinazione dei nostri log, cosa loggare e il formato del log. 40

41 Apache Log4J public class ProvaLog4J { private static Logger logger = LogManager.getLogger("Nome del logger"); public static void main(string[] args){ logger.fatal("esempio di log fatal"); logger.error("esempio di log error"); logger.info("esempio di log info"); } } 41

42 Apache Log4J 2 File log4j2.xml (nel classpath in src) <?xml version="1.0" encoding="utf-8"?> <configuration status="off"> <appenders> <Console name="console" target="system_out"> <PatternLayout pattern="%d{hh:mm:ss.sss} [%t] %- 5level %logger{36} - %msg%n"/> </Console> </appenders> <loggers> <root level="all"> <appender-ref ref="console"/> </root> </loggers> 42 </configuration>

43 Apache Log4J 2 Esercitazione 1 43

44 Programmazione Java Avanzata e Mobile PATTERN

45 Pattern Una soluzione progettuale generale a un problema ricorrente Elementi per il riuso di software ad oggetti Vantaggiosi e obbligatori da usare

46 Pattern Un pattern è caratterizzato da: Nome - rappresentativo del pattern stesso Problema - la situazione (o condizione) alla quale si può applicare il pattern Soluzione la configurazione degli elementi adatta a risolvere il problema Conseguenze, vantaggi (risultati) e svantaggi (vincoli) che derivano dall'applicazione del pattern

47 Pattern Importanti sono le conseguenze: Esse comprendono considerazioni di tempo e di spazio, possono descrivere implicazioni del pattern con alcuni linguaggi di programmazione e l'impatto con il resto del progetto

48 Pattern Il pattern Singleton

49 Pattern - Singleton Semplice da presentare e implementare (in Java), risulta molto utilizzato Nome: Singleton Problema: assicurare che per una determinata classe esista un unica istanza attiva. Utile nel caso in cui si abbia la necessità di centralizzare informazioni e comportamenti in un unica entità condivisa da tutti i suoi utilizzatori. Es. Spooler di stampa

50 Pattern - Singleton Soluzione: associare alla classe stessa la responsabilità di creare le proprie istanze. Conseguenze: accesso controllato alla singola istanza; possibilità di usare un numero variabile di istanze; una maggiore flessibilità (es. posso modificare i dati gestiti dal singleton senza invalidare l unicità dell istanza)

51 Pattern - Singleton Implementazione in Java: public class Gestore { private static Gestore gestore = null; private Gestore() {} } public static synchronized Gestore getgestore() { if (gestore == null) gestore = new Gestore(); return gestore; }

52 Pattern - Singleton Controllo dell unicità: public static void main(string[] args) { Logger l = LogManager.getLogger("Test"); Gestore g1=gestore.getgestore(); l.info(g1.tostring()); } Gestore g2=gestore.getgestore(); l.info(g2.tostring());

53 Pattern Il pattern DAO (Data Access Object)

54 Pattern - DAO Nome: DAO Problema: disaccoppiare l accesso ai dati rispetto alla sua memorizzazione sottostante. Es. i metodi create( ), read( ), update( ), delete( ) usati per la persistenza dei dati (CRUD) andrebbero tutti modificati al cambiare della sorgente dei dati (passo da Oracle a MySQL)

55 Pattern - DAO Soluzione: sposto la logica di accesso ai dati all oggetto DAO che indica quali funzionalità sono supportate nascondendo la sorgente Conseguenze: portabilità delle applicazioni da una sorgente di dati ad un altra posso iniziare l implementazione senza dovermi occupare di quale sia la sorgente dei dati

56 Pattern - DAO Implementazione in Java: scaricare esercitazione Dao

57 Pattern Il pattern Factory (Factory Method)

58 Pattern - Factory Nome: Factory Problema: creare oggetti senza specificare (esplicitamente) la classe specifica a cui gli oggetti appartengono. Soluzione: definire metodi ad hoc (factory) per la creazione degli oggetti. Conseguenze: rende completamente interscambiabili le implementazioni che soddisfano un interfaccia

59 Pattern - Factory Implementazione in Java: esercitazione Factory (Factory con Singleton) public class UtenteDAOFactory { private static UtenteDAO utentedao = null; private UtenteDAOFactory(){} public static UtenteDAO getdao() { if (UtenteDao == null ) { utentedao = new UtenteDAOSimpleImpl(); } return utentedao; } }

60 Pattern - Factory Passi aggiuntivi - Modifico istanziazione del DAO (lo chiedo al Factory) UtenteDAO utentedao = UtenteDAOFactory.getDAO(); - Modifico visibilità del costruttore dei DAOImpl protected UtenteDAOSimpleImpl(){}; -

61 Pattern Il pattern MVC (separazione delle responsabilità)

62 Pattern - MVC Scheda (molto) sintetica Nome: MVC (Model-Control-View) Problema: manutenibilità del codice (vedi prossime slide) Soluzione: suddivisione del codice in tre classi distinte (vedi prossime slide) Conseguenze: promuove il riuso del codice, consente lo sviluppo del codice in parallelo, facilita l implementazione di nuove funzionalità, e molte altre cose positive

63 Pattern - MVC Problema a cui si applica: esempio Consideriamo un sito e le pagine per gestire l autenticazione di un utente. Una pagina risponde alla richiesta di login, elabora i dati, memorizza delle informazioni, e mostra il risultato della procedura (autorizzato o no). Una modifica ad una delle funzionalità sopra coinvolge tutte le altre funzionalità.

64 Esempio

65 Esempio: Vincoli Gli stessi dati aziendali devono essere presentati in più modi: HTML, WML, JFC/Swing, XML. Gli stessi dati aziendali devono essere aggiornati a seguito di differenti tipi di interazione: uso di link su una pagina HTML o WML, uso di pulsanti su una GUI JFC/Swing, uso di messaggi SOAP scritti in XML. Supportare molteplici tipi di presentazioni (view) ed interazioni non deve avere impatto sui componenti

66 Problemi/1 Il mix fra il codice che riguarda la logica dell applicazione (login, inserimento informazioni, ecc.) e quello che riguarda la presentazione dei risultati (HTML, XML, ) causa: Duplicazione di codice (relativo alla logica) in ogni nuova interfaccia (presentazione) che viene aggiunta all applicazione. Difficoltà nel debug del codice e nella manutenzione.

67 Problemi/2 Difficoltà nel mantenere costante la logica al variare della presentazione (presentazione logica). Se in futuro cambia la logica, si devono operare tante modifiche per quante volte essa è ripetuta nei moduli di presentazione (logica presentazione). L implementazione di una pagina richiede competenze estese (Java, HTML, XML, SOAP, )

68 Soluzione: Model-View-Controller Model. Si occupa solo dei dati utili all applicazione e fornisce i metodi per accedere ad essi. View. Si occupa solo della gestione dell interfaccia utente. Non si preoccupa della logica applicativa o dell elaborazione/validazione dell input. Garantisce che l interfaccia rifletta lo stato corrente del modello. Controller. Si occupa soltanto di validare/elaborare l input dell utente (fornito dalla parte View) e tradurlo in aggiornamenti (messaggi) che vengono passati al modello. Non si occupa di come sia ricevuto l'input (interfaccia) o di che cosa faccia il modello con questi aggiornamenti.

69 Soluzione: Model-View-Controller

70 Flusso di controllo MVC Model submit form Controller View 14

71 Pattern MVC Responsabilità del Model: Il model memorizza i dati e fornisce del metodi specifici per l applicazione per definire i valori di questi. I metodi di gestione dei dati non sono generici. Sono personalizzati per l applicazione e devono essere noti al controller e alla view. Il model deve anche fornire alle view un modo con cui queste possono registrarsi e annullare la loro registrazione. In tal modo, se determina che il suo stato è cambiato, deve inviare una notifica a tutte le viste registrate.

72 Pattern MVC I dati potrebbero essere ovunque: File locale, File remoto, DBMS Oracle, DBMS MySQL, Se sono su un DBMS, possiamo utilizzare Hibernate per implementare il Model. Hibernate facilita la memorizzazione (persistenza) e gestione di oggetti Java associati a relazioni di un DBMS. La suddivisione dell applicazione in package dovrebbe rispecchiare l implementazione del pattern MVC

73 Pattern Il pattern Inversion Of Control (opzionale)

74 Pattern - IoC Nome: Inversion Of Control Problema: la dipendenza tra le classi Il principio della separazione delle responsabilità (MVC) porta all esplosione del numero delle classi (ognuna specializzata su una particolare responsabilità). Le classi arrivano ad accumulare dipendenza da decine di altre classi. Le istanze per essere inizializzate richiedono di crearne altre, e queste ancora altre, e così via

75 Pattern - IoC Conseguenze delle dipendenze (RFI): 1. E complicato modificare una classe perchè tale cambiamento coinvolge altre classi (Rigidità) 2. Effettuando una modifica ad una classe, un altra parte del sistema smette di funzionare (Fragilità) 3. E complicato riutilizzare moduli di un applicazione perchè prima devono essere sganciati dal resto del codice (Immobilità)

76 Pattern - IoC Esempio: public Class OggettoA { } public Class OggettoB { private OggettoA a; OggettoB (){ this.a=new OggettoA( ); } } OggettoB dipende da OggettoA Il costruttore genera un forte accoppiamento tra le classi

77 Pattern - IoC Principi alla base della soluzione: 1. I moduli di alto livello non devono dipendere da quelli di basso livello: entrambi dovrebbero dipendere solo da astrazioni (interfacce) 2. Le astrazioni non dovrebbero dipendere dai moduli di basso livello, questi ultimi dovrebbero dipendere dalle astrazioni.

78 Pattern - IoC Dependency Injection come soluzione: Es. Construction Injection - la dipendenza viene iniettata tramite l'argomento del costruttore public Class OggettoB { } private OggettoA a; OggettoB (OggettoA a){ this.a=a; } Es. Setter Injection - la dipendenza viene iniettata attraverso un metodo "set"

79 Pattern Il pattern Decorator (opzionale)

80 Pattern - Decorator Nome: Decorator Problema: aggiungere funzionalità (Decorazioni) ad una classe (Component) a run-time Soluzione: - Definire un'interfaccia (astrazione) del Component, che le classi concrete implementano Definire una classe (Decorator) che rappresenta l a decorazione, implementa l'interfaccia Component e contiene l oggetto che decora

81 Pattern - Decorator Gelato (Componente), Decorazioni (panna, 3_gusti, max, ) public interface Gelato { public double getprezzo();} public class GelatoBase implements Gelato { public double getprezzo() {return 1;} } abstract public class GelatoDecorator implements Gelato { private Gelato decoratedgelato; public GelatoDecorator(Gelato decoratedgelato) { this. decoratedgelato = decoratedgelato; } public double getprezzo() { return decoratedgelato.getprezzo(); } }

82 Pattern - Decorator public class ConPanna extends GelatoDecorator { public conpanna(gelato decoratedgelato) { super(decoratedgelato); } public double getprezzo() { return super.getprezzo() + 0.2; } } public class Max extends GelatoDecorator { public Max(Gelato decoratedgelato) { super(decoratedgelato); } public double getprezzo() { return super.getprezzo() + 0.7; } }

83 Pattern - Decorator Gelato g = new GelatoBase(); System.out.println( Prezzo: " + g.getprezzo()); g = new conpanna(g); //Gelato con panna System.out.println( Prezzo: " + g.getprezzo()); g = new Max(g); //Gelato Max con Panna System.out.println( Prezzo: " + g.getprezzo());

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Lezione 3 Progettazione di siti

Lezione 3 Progettazione di siti Lezione 3 Progettazione di siti Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano Elementi base della progettazione di servizi

Dettagli

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole

Dettagli

Lettura e scrittura di file di dati input/output

Lettura e scrittura di file di dati input/output Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

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

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti:

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti: Introduzione Questo libro, espressamente rivolto ai programmatori esperti in Java, tratta gli elementi essenziali della piattaforma Java 2 Enterprise Edition (J2EE) e analizza in modo particolare le nuove

Dettagli

Gestione delle eccezioni in Java

Gestione delle eccezioni in Java Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Informazioni generali Docente Giacomo Cabri Come contattarmi Via email (consigliato) giacomo.cabri@unimore.it Telefono 059/2058320 Ricevimento Lunedì dalle 15 alle 17 presso Matematica,

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa

Dettagli

Refactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale

Refactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale Refactoring Un metodo sta usando più caratteristiche (attributi e operazioni) di un altra classe che non quella in cui è definito Crea un nuovo metodo con un corpo simile nella classe che il metodo usa

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro - PowerDIP Software gestione presenze del personale aziendale - Guida all inserimento e gestione dei turni di lavoro - Informazioni preliminari. E necessario innanzitutto scaricare e installare l ultima

Dettagli

public BankAccount() { balance = 0; } public BankAccount(double initialbalance) { balance = initialbalance; }

public BankAccount() { balance = 0; } public BankAccount(double initialbalance) { balance = initialbalance; } Il Linguaggio Java Le interfacce La classe BankAccount public class BankAccount { public BankAccount() { balance = 0; public BankAccount(double initialbalance) { balance = initialbalance; public void deposit(double

Dettagli

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software. www.hyperbolicsoftware.com

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software. www.hyperbolicsoftware.com Quick Print Quick Print Guida Utente I nomi dei prodotti menzionati in questo manuale sono proprietà delle rispettive società. Copyright 2013 Hyperbolic Software. www.hyperbolicsoftware.com 1 Tabella dei

Dettagli

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino

Aggiorna. La Funzione Aggiorna Listino Aggiornare Listino Pr7 / Le connessioni / Listino METEL. Aggiorna Lis no. Aggiornamento del listino mento del listino re il listino è molto semplice e richiede poco tempo. Prima di lanciare il comando listino occorre fare attenzione al tipo di listino che si deve aggiornare. Tenere ben presente che i

Dettagli

I MODULI SOFTWARE. Wireless Network. Internet

I MODULI SOFTWARE. Wireless Network. Internet IL SOFTWARE Il sistema rappresenta una soluzione volta alla realizzazione di strumenti per la tracciabilità ed il monitoraggio dei dati relativi alle operazioni di carico e di scarico effettuate durante

Dettagli

INTRODUZIONE ALLE BASI DATI RELAZIONALI

INTRODUZIONE ALLE BASI DATI RELAZIONALI INTRODUZIONE ALLE BASI DATI RELAZIONALI RELAZIONI E TABELLE Nelle BASI DI DATI RELAZIONALI le informazioni sono organizzate in TABELLE; Le tabelle sono rappresentate mediante griglie suddivise in RIGHE

Dettagli

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi Progetto B Progettare un applicazione web basata su Servlet e JSP che permetta la collaborazione di diversi utenti nel creare, aggiornare e gestire un archivio di pagine personali degli autori di un giornale.

Dettagli

Cosa è importante: pom.xml Goal Plug-in Repository

Cosa è importante: pom.xml Goal Plug-in Repository Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio

Dettagli

SAP Manuale del firmatario DocuSign

SAP Manuale del firmatario DocuSign SAP Manuale del firmatario DocuSign Sommario 1. SAP Manuale del firmatario DocuSign... 2 2. Ricezione di una notifica e-mail... 2 3. Apposizione della firma sul documento... 3 4. Altre opzioni... 4 4.1

Dettagli

Autodesk Map parte I digitalizzazione e importazione dati

Autodesk Map parte I digitalizzazione e importazione dati Autodesk Map parte I digitalizzazione e importazione dati Marco Negretti e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it V 5.1 10/10/08 I dati in Autodesk Map I dati vengono memorizzati

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web AnthericaCMS Gestisci in autonomia i contenuti del tuo sito-web INDICE I vantaggi di un sito dinamico... 1 I vantaggi di anthericacms... 2 La piattaforma di gestione dei contenuti... 3 Accesso: le sezioni...

Dettagli

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito.

SQL Server 2008. Architettura Client-Server. SQL Server 2008. Introduzione all uso di SQL Server 2008. Dutto Riccardo. http://dbdmg.polito. SQL Server 2008 Introduzione all uso di SQL Server 2008 Dutto Riccardo http://dbdmg.polito.it SQL Server 2008 Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL Server Business

Dettagli

Sul pattern Decorator

Sul pattern Decorator Sul pattern Decorator 1 Introduzione Consideriamo una famosa panineria fa tre tipi di panini: al prosciutto crudo, al prosciutto cotto, al tonno. A ciascuno di questi tre tipi corrisponde un costo. Figura

Dettagli

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Manuale Utente CMMG Corso Medici Medicina Generale

Manuale Utente CMMG Corso Medici Medicina Generale CMMG- Manuale Utente CMMG Aprile 2014 Versione 1.1 Manuale Utente CMMG Corso Medici Medicina Generale CMMG-Manuale Utente.doc Pagina 1 di 14 CMMG- Manuale Utente AGGIORNAMENTI DELLE VERSIONI Versione Data

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

Programmazione Java Avanzata

Programmazione Java Avanzata Programmazione Java Avanzata Librerie fondamentali Ing. Giuseppe D'Aquì Testi Consigliati Eclipse in Action (David Gallardo, Ed Burnette and Robert McGovern), Manning (2003) JUnit Cookbook [http://junit.sourceforge.net/doc/cookbook/cookbook.htm]

Dettagli

Xerox FreeFlow Print Server V 9.0 SP3

Xerox FreeFlow Print Server V 9.0 SP3 FreeFlow Print Server V9 SP3 Novembre 2012 708P90226 Xerox FreeFlow Print Server V 9.0 SP3 Pacchetto di benvenuto per i sistemi Xerox Color 550/560, Xerox 700 e 770 Digital Color e Xerox J75 e C75 Digital

Dettagli

Gestione risorse (Windows)

Gestione risorse (Windows) Gestione risorse (Windows) Organizzazione dei file Il sistema di memorizzazione è organizzato ad albero secondo una struttura gerarchica DISCO (drive) FILES CARTELLE (directory) FILES SOTTOCARTELLE FILES

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione alle macchine a stati (non definitivo) Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

Dettagli

Guida alla registrazione dal Portale

Guida alla registrazione dal Portale Guida alla registrazione dal Portale La presente guida fornisce indicazioni di base per l utilizzo del portale Edoc. Indice dei contenuti Premessa... 3 1. Generalità... 4 2. Registrazione... 5 3. Accesso

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.

Dettagli

Procedura operativa per la gestione della funzione di formazione classi prime

Procedura operativa per la gestione della funzione di formazione classi prime Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati

Dettagli

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Guida introduttiva su Eclipse Ing. Marco Dell'Unto marco.dellunto@iet.unipi.it Introduzione Eclipse è un ambiente di sviluppo (IDE) multilinguaggio e multipiattaforma scritto in Java. E Open Source. Può

Dettagli

Manuale Sito Videotrend

Manuale Sito Videotrend Manuale Sito Videotrend 1 Sommario INTRODUZIONE...3 PRESENTAZIONE...4 1 GESTIONE DDNS...6 1.1 GESTIONE DDNS...6 1.2 CONNESSIONE DDNS...6 1.3 CREA ACCOUNT DDNS...7 1.4 GESTIONEACCOUNT...7 1.5 IMPIANTI DDNS...8

Dettagli

Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare!

Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare! Introduciamo l'uso della programmazione ad oggetti in PHP...perchè si può fare! Elena M. Brambilla Technical Account Manager & Training Manager - Zend Technologies Chi sonoio.elena M. Brambilla Technical

Dettagli

Note_Batch_Application 04/02/2011

Note_Batch_Application 04/02/2011 Note Utente Batch Application Cielonext La Batch Application consente di eseguire lavori sottomessi consentendo agli utenti di procedere con altre operazioni senza dover attendere la conclusione dei suddetti

Dettagli

ARCHITETTURA FISICA DEL SISTEMA

ARCHITETTURA FISICA DEL SISTEMA PROGETTO EBLA+ L uso dei contenitori EBLAplus ti aiuterà a gestire i tuoi documenti in modo facile e organizzato. Potrai in ogni momento, dal tuo dispositivo mobile, controllare quali documenti compongono

Dettagli

MANUALE UTENTE RIO-42

MANUALE UTENTE RIO-42 MANUALE UTENTE RIO-42 Dispositivo generico di Telecontrollo con 4 ingressi e 2 uscite. Manuale Utente RIO-42 Rev.0 SOMMARIO PRESENTAZIONE... 3 Caratteristiche generali (TODO)... 3 Caratteristiche tecniche...

Dettagli

Come usare la piattaforma StartUp

Come usare la piattaforma StartUp Come usare la piattaforma StartUp Gestione del profilo personale Per rendere visibile il tuo profilo agli altri utenti: Accedi al tuo profilo Ø Personal desktop > Personal Data and Profile Aggiorna il

Dettagli

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno. Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere

Dettagli

PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione Email Daniel Ernst EN02 2013-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

testo Saveris Web Access Software Istruzioni per l'uso

testo Saveris Web Access Software Istruzioni per l'uso testo Saveris Web Access Software Istruzioni per l'uso 2 1 Indice 1 Indice 1 Indice... 3 2 Descrizione delle prestazioni... 4 2.1. Utilizzo... 4 2.2. Requisiti di sistema... 4 3 Installazione... 5 3.1.

Dettagli

Symantec IT Management Suite 8.0 powered by Altiris technology

Symantec IT Management Suite 8.0 powered by Altiris technology Symantec IT Management Suite 8.0 powered by Altiris technology Informazioni sulle operazioni e sulle azioni di Monitor Solution Oltre alle attività standard di Symantec Management Platform, i pacchetti

Dettagli

INFORMATIVA SULL'USO DEI COOKIE

INFORMATIVA SULL'USO DEI COOKIE INFORMATIVA SULL'USO DEI COOKIE UTILIZZO DI COOKIE Questo sito utilizza i Cookie per rendere i propri servizi semplici e efficienti per l'utenza che visiona le pagine di questo sito web. Gli utenti che

Dettagli

APPENDICE - Pratiche di radiazione Polo ACI

APPENDICE - Pratiche di radiazione Polo ACI APPENDICE - Pratiche di radiazione Polo ACI Lo scopo del documento è quello di descrivere le modalità ed i requisiti di utilizzo, da parte degli operatori ACI, Agenzie e PRA, dell interfaccia al dominio

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver. 1.0 19/12/2014

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver. 1.0 19/12/2014 Ver. 1.0 19/12/2014 Sommario 1 Introduzione... 3 1.1 Aspetti funzionali NtipaTime... 3 2 Accesso al sistema... 4 2.1 Riservatezza dei dati login Utente... 4 2.2 Funzionalità Role_user... 5 2.2.1 Struttura

Dettagli

TERNA SRM- Aste On Line Manuale Fornitore

TERNA SRM- Aste On Line Manuale Fornitore TERNA SRM- Aste On Line Pagina 1 di 21 Indice dei contenuti INDICE DEI CONTENUTI... 2 INDICE DELLE FIGURE... 3 INDICE DELLE TABELLE... 3 1. INTRODUZIONE... 4 1.1. GENERALITÀ... 4 1.2. SCOPO E CAMPO DI

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Progetto DSA: Guida al metodo di studio

Progetto DSA: Guida al metodo di studio Progetto DSA: Guida al metodo di studio CESPD - Centro Studi e Ricerche per la Disabilità Scuola di Psicologia Dipartimento di Scienze della Formazione e Psicologia Scuola di Ingegneria Dipartimento di

Dettagli

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette. 3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,

Dettagli

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi

7 Disegni sperimentali ad un solo fattore. Giulio Vidotto Raffaele Cioffi 7 Disegni sperimentali ad un solo fattore Giulio Vidotto Raffaele Cioffi Indice: 7.1 Veri esperimenti 7.2 Fattori livelli condizioni e trattamenti 7.3 Alcuni disegni sperimentali da evitare 7.4 Elementi

Dettagli

Grafici e Pagina web

Grafici e Pagina web Grafici e Pagina web Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro. Quando si crea un grafico ogni riga

Dettagli

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s. ECDL CORE 5.0 Modulo 1 Concetti di base dell ICT Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s. 2012/2013 Scopi del Modulo 1 Concetti di base dell ICT, richiede che il candidato comprenda

Dettagli

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 SRM: Un Sistema Tollerante ai Guasti per la Gestione di Risorse Condivise in Una Rete

Dettagli

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO Servizi per l e-government nell università Federico II WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO CONNESSIONE_TERMINAL_SERVER PAG. 1 DI 13 Indice 1. Premessa...3

Dettagli

Java Native Interface Appunti

Java Native Interface Appunti Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Procedura tecnica di accreditamento dei Registrar

Procedura tecnica di accreditamento dei Registrar Procedura tecnica di accreditamento dei Registrar Linee Guida Versione 2.1 settembre 2015 SOMMARIO 1 Revisioni 1 2 Introduzione 2 3 Durata e tempi del test 2 4 Accounts 2 5 Corretta esecuzione e completamento

Dettagli

Riconoscere e formalizzare le dipendenze funzionali

Riconoscere e formalizzare le dipendenze funzionali Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse

Dettagli

Guida all utilizzo di Campaign Builder

Guida all utilizzo di Campaign Builder Guida all utilizzo di Campaign Builder Sommario 1. Accedere a Campaign Builder 2 a. Accesso per Partner già registrati 2 b. Accesso per Partner non ancora registrati 3 2. Upload del proprio logo 4 3. Personalizzazione

Dettagli

Proteggere la rete I FIREWALL (seconda parte)

Proteggere la rete I FIREWALL (seconda parte) Proteggere la rete I FIREWALL (seconda parte) Index Architetture di rete con Firewall A cosa serve il NAT Cosa sono gli Intrusion Detection System Esistono molte architetture possibili per inserire un

Dettagli

Esercitazione sui Design Pattern

Esercitazione sui Design Pattern Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore

Dettagli

POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG

POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG POSTALIZZAZIONE Manuale d'uso del modulo di postalizzazione di RipartoIG Ultimo Aggiornamento: 15 Aprile 2016 Ultima versione disponibile al link: http://www.inve.it/external/manuale Postalizzazione RipartoIG

Dettagli

Normalizzazione. Definizione

Normalizzazione. Definizione Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione

Dettagli

Capitolo 9. Esercizio 9.1. Esercizio 9.2

Capitolo 9. Esercizio 9.1. Esercizio 9.2 Capitolo 9 Esercizio 9.1 Considerare lo relazione in figura 9.19 e individuare le proprietà della corrispondente applicazione. Individuare inoltre eventuali ridondanze e anomalie nella relazione. Docente

Dettagli

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................

Dettagli

EPOD.com MAGAZZINO RICAMBI MANUALE D USO. Aggiornamento 01/05/2010 pag.1

EPOD.com MAGAZZINO RICAMBI MANUALE D USO. Aggiornamento 01/05/2010 pag.1 EPOD.com MAGAZZINO RICAMBI MANUALE D USO Aggiornamento 01/05/2010 pag.1 Finalità La presente sezione si pone l obiettivo di fornire al sito/ufficio centrale uno strumento per la gestione e la condivisione

Dettagli

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA

Via Oberdan, 42, 48018 Faenza (RA) Italy Tel.: ++39-0546-677111 Fax: ++39-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA Via Oberdan, 4, 4808 Faenza (RA) Italy Tel.: ++9-0546-677 Fax: ++9-0546-677577 E-mail: support_ahd@eu.irco.com WAVE MODE MOBILE GUIDA RAPIDA * tasti con doppia funzionalità : dipende dalla modalità di

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1 Release NOTE 1.1 Prima Versione del Manuale INDICE 1-INTRODUZIONE... 4 2- GESTIONE DEL CATALOGO PIXMANIA-PRO SU IMAIO... 5 3-Configurazione

Dettagli

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007

Files in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007 Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)

Dettagli

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. PIANIFICAZIONE La pianificazione è la prima fase. Questa è la più delicata

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE TRIENNIO: TERZA DISCIPLINA: INFORMATICA MODULO 1: HTMLe CSS UNITÀ ORARIE PREVISTE: 35 Il linguaggio HTML ed il web I principali tag I fogli di stile:

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA WEB MULTI-AGENTE PER LA PIANIFICAZIONE DI ITINERARI Relatore: prof. Ing.

Dettagli

Gestione Multilingua

Gestione Multilingua Gestione Multilingua REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale junior 28/01/2011 REVISIONI Revisione 00 Prima emissione Descrizione

Dettagli

REGISTRAZIONE ed ACCESSO AL PORTALE PER LA CONSULTAZIONE DELLE FATTURE DI GAS NATURALE E DI ENERGIA ELETTRICA

REGISTRAZIONE ed ACCESSO AL PORTALE PER LA CONSULTAZIONE DELLE FATTURE DI GAS NATURALE E DI ENERGIA ELETTRICA REGISTRAZIONE ed ACCESSO AL PORTALE PER LA CONSULTAZIONE DELLE FATTURE DI GAS NATURALE E DI ENERGIA ELETTRICA Indirizzo Portale: http://acea.novisolution.it accessibile anche dal Sito Web Acea Pinerolese

Dettagli

Utilizzo della SAPGUI ed accesso al sistema SAPLight

Utilizzo della SAPGUI ed accesso al sistema SAPLight Utilizzo della SAPGUI ed accesso al sistema SAPLight Indice ACCESSO AL SISTEMA... 3 LE BARRE COMUNI... 6 IA VOCE DI MENÙ SISTEMA... 8 IA VOCE DI MENÙ HELP... 9 IL PULSANTE DI CONFIGURAZIONE DELLA SAPGUI...

Dettagli

Modulo 2 Data Base - Modello Relazionale

Modulo 2 Data Base - Modello Relazionale Modulo 2 Data Base - Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Modello Relazionale

Dettagli

Gestione centralizzata caselle PEC per l INFN. Alessandro Brunengo, per il gruppo Mailing

Gestione centralizzata caselle PEC per l INFN. Alessandro Brunengo, per il gruppo Mailing Gestione centralizzata caselle PEC per l INFN Alessandro Brunengo, per il gruppo Mailing Caselle attive Numero caselle PEC INFN acquistate(attive) 70 (65) presso Postecom (~6.5 euro/casella/anno) tutte

Dettagli

Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007

Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007 Introduzione a JSF: Le basi in un esempio. Giulio Rossetti 20/09/2007 Introduzione: Java Server Faces è un framework, le cui specifiche sono rese disponibili dalla Sun, che permette di realizzare GUI in

Dettagli

Guida per il cacciatore

Guida per il cacciatore Guida per il cacciatore Versione ottobre 2012 Il sistema telematico campaniacaccia.it Il sistema "campaniacaccia.it" è stato realizzato e viene gestito dalla Regione Campania e contiene la banca dati delle

Dettagli

Ridimensionamento Immagini

Ridimensionamento Immagini Page 1 of 8 COME RIDIMENSIONARE LE IMMAGINI PER ilist.net Ridimensionamento Immagini Le immagini scaricate dalla macchina fotografica digitale sono troppo pesanti e di dimensioni troppo grosse per poter

Dettagli