UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione"

Transcript

1 UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Progettazione di un software per la prenotazione telefonica di un biglietto ferroviario tramite lo standard VoiceXML Relatore: Prof. Aldo Franco DRAGONI Tesi di Laurea di: Francesco LIBANI Anno Accademico

2 1

3 RINGRAZIAMENTI Ringrazio i miei genitori,remo e Gisella, che mi hanno sempre sostenuto e dato la possibilità di arrivare alla laurea, i miei fratelli, Enrico e Giulia, per avermi supportato e sopportato, e zia Anna per avermi sempre incoraggiato. Ringrazio Antonella con cui spero di poter passare sempre più tempo insieme. Ringrazio il Professor Aldo Franco Dragoni, Carlo Lucadei,Alessio Del Toro e l azienda SpeechVillage che mi hanno aiutato nella stesura di questa tesi. Ringrazio gli amici di sempre, in modo particolare Boncio, Vale e il gruppo Calabria-Genga. Ringrazio i compagni di quota 145, Vincenzo, Diego,Mattia,Omar,Stefano,FedericoV.,Federico S.,Matteo e tutti gli altri con cui ho condiviso e condividerò le gioie e i dolori della vita universitaria. 2

4 INDICE Introduzione IL VOICEXML Storia del VoiceXML Architettura del sistema Voice Server Automatic Speech Recognition Text to Speech Dual-Tone Multi-Frequency Web Server PROGETTARE UN APPLICAZIONE VOCALE IN VOICEXML Tipologia di utenti Organizzazione contenuti Progettare i dialoghi Progettare la Navigation Architecture Progettare i comandi 15 3 LE GRAMMATICHE Grammatica in VoiceXML Inline grammar External grammar Built-in grammar Active grammars ABNF XML L'elemento <grammar> Grammatiche DTMF ELEMENTI DI PROGRAMMAZIONE IN VXML Applicazione in VoiceXML Esempio di applicazione in VoiceXML Tag form F.I.A Form Item Attributi

5 4.4Tag link Tag prompt Dichiarazione variabili Scope delle variabili Tag assign Gestione degli eventi Tag throw Tag catch Tipi di eventi Altri tag PROGETTAZIONE DEL SOFTWARE Descrizione del progetto Diagramma di flusso Struttura del programma Database index.vxml login-javascript.php Codice.grxml Citta.grxml Data.grxml prenota-javascript.php Log di una chiamata CONCLUSIONI BIBLIOGRAFIA

6 Introduzione Il VoiceXML (Voice Extensible Markup Language) è il linguaggio standard del W3C (World Wide Web Consortium) usato per creare interfacce vocali. Per interfaccia vocale si intende un applicazione che permette ad un essere umano di interagire,tramite dialoghi vocali, con un computer. I vantaggi di costruire un applicazione vocale sono essenzialmente due: - Accesso naturale ai dati: accedere ad informazioni attraverso l uso della voce è più naturale e semplice rispetto all utilizzo di un computer, pensiamo ad esempio alle persone che non hanno molta dimestichezza con il PC. Questo comporta anche l aumento del bacino di utenza a cui è rivolto l applicazione. - Accesso indipendente dal luogo e dall orario: un applicazione vocale è accessibile 24 ore su 24 e la si può raggiungere da qualunque luogo utilizzando un telefono fisso o un cellulare. In particolare il vantaggio principale dell utilizzo del VoiceXML è che il linguaggio è indipendente dai sistemi di riconoscimento e sintetizzazione vocale, perciò il programmatore si può concentrare solo sullo sviluppo dell applicazione. Il VoiceXML è un linguaggio di markup che: - Minimizza le interazioni client-server specificando interazioni multiple per documento. - Separa l interazione codice utente ( in VoiceXML) dalla logica di servizio. - Promuove la portabilità tra le piattaforme di implementazione. - E facile da usare per interazioni semplici e offre la possibilità di supportare dialoghi complessi. 5

7 L interazione uomo-macchina è fornita da un sistema di risposta vocale che comprende: - Sistema di sintesi vocale - Output di file audio. - Riconoscimento dell input vocale. - Riconoscimento dell input DTMF. - Registrazione dell input vocale. - Controllo del flusso di dialogo. - Caratteristiche telefoniche come il trasferimento di chiamata o la disconnessione. In questa tesi dopo aver discusso del linguaggio VoiceXML verrà illustrato lo sviluppo di un programma per la prenotazione telefonica di un biglietto ferroviario utilizzando proprio lo standard VoiceXML. 6

8 CAPITOLO 1 IL VOICEXML 1.1 Storia del VoiceXML Lo sviluppo del VoiceXML iniziò nel 1995 nell azienda AT&T Bell con il progetto PhoneWeb. Lo scopo era quello di sviluppare un linguaggio di markup simile all HTML per apparecchi basati sulla voce come i telefoni o i voice browsers. Nel 1998 la Motorola creò un nuovo linguaggio di voice markup, il VoxML,che è un sottoinsieme dell XML. In seguito anche l IBM lanciò il suo linguaggio,lo SpeechML, poi fu il turno della Sun Microsystem con lo JSML (Java Speech Markup Language ) e dell HP con il TalkML. Nel 1999 le aziende Motorola, IBM, AT&T e Lucent fondarono il VoiceXML Forum per promuovere lo sviluppo di linguaggi basati sulla voce. Questo forum introdusse un nuovo linguaggio chiamato VoiceXML basato sui linguaggi già promossi dalle stesse compagnie. Nel 2000 venne rilasciata la versione 1.0, nel 2004 la versione 2.0 mentre nel 2007 fu pubblicato lo standard VoiceXML 2.1 che ha solo alcuni aggiornamenti rispetto alla 2.0 ma è la versione attualmente utilizzata. Nel Dicembre del 2010 è stata infine rilasciata una bozza di lavoro per la versione Architettura del sistema L architettura del sistema è molto simile a quella di una qualunque applicazione web, dove i documenti HTML sono ospitati in un server e quando l utente ne fa richiesta essi sono mandati in risposta all utente tramite un browser. 7

9 Nel caso del VoiceXML abbiamo quattro elementi: - Web Server - Voice Server o VoiceXML gateway - Rete telefonica : PSTN(Public Switched Telephony Network) - Telefono o qualunque apparecchio in grado di effettuare chiamate telefoniche. Figura 1.2 : Architettura del VoiceXML L utente può accedere all applicazione vocale attraverso un semplice apparecchio telefonico collegato alla rete telefonica. La chiamata arriva al Voice Server che funge da ponte tra la rete telefonica e internet. Infatti una volta che ha acquisito l indirizzo dell applicazione desiderata dall utente invia una richiesta al Web Server dove si trovano le applicazioni. Il Web Server riceve la richiesta dall utente e risponde al Voice Server inviandogli la pagina VoiceXML e i relativi file associati. Il Voice Server deve ora interpretare il codice e mandare in esecuzione l applicazione. 1.3 Voice Server Il Voice Server è la piattaforma runtime di un programmatore in VoiceXML. Altrimenti chiamato VoiceXML gateway, consiste in un VoiceXML browser e risorse hardware o software per l ASR (Automatic Speech Recognition,riconoscitore vocale),il TTS (Text to Speech, sintetizzatore vocale) e 8

10 il DTMF(Dual-Tone Multi-Frequency,riconoscimento toni della tastiera telefonica). Il VoiceXML gateway deve prima accettare la chiamata in entrata e poi a seconda del numero composto dall utente deve fare una richiesta al Web Server per ricevere l applicazione e i relativi file. Ora il gateway deve interpretare il codice scorrendo le varie finestre di dialogo e interagendo con i servizi quali ASR, TTS e DTMF che possono essere ospitati nel gateway oppure in un altro server. Interazioni con altri servizi possono portare a richieste aggiuntive al Web Server. Figura 1.3 : Risorse del VoiceXML gateway 1.3.1Automatic Speech Recognition L Automatic Speech Recognition è una tecnologia che permette ad un computer di identificare le parole che una persona pronuncia in un microfono o in un telefono. Nonostante i molti anni di ricerca in questo settore è praticamente impossibile per un computer riconoscere con una precisione massima tutte le parole che 9

11 vengono pronunciate da una qualsiasi persona indipendentemente dalla dimensione del vocabolario,il rumore o l accento. Al massimo la precisione di riconoscimento è del 90% Text to Speech Il TTS (da testo a voce in italiano) è una tecnica che permette di riprodurre artificialmente la voce umana. La sintesi vocale si può realizzare concatenando registrazioni di parti vocali memorizzate in un database. I vari sistemi di sintesi vocale si differenziano a seconda delle dimensioni dei campioni vocali memorizzati: un sistema che memorizza singoli fonemi o fonemi doppi consente di ottenere molte combinazioni però ha come svantaggio la chiarezza complessiva mentre in altri sistemi concepiti per un impiego specifico si ricorre alla registrazione di parole intere o di intere frasi per ottenere un risultato di qualità elevata. La qualità di un sintetizzatore vocale si valuta sulla base sia della somiglianza con la voce umana che con il suo livello di comprensibilità Dual-Tone Multi-Frequency Il DTMF è un sistema di codifica usato nella telefonia per codificare codici numerici sotto forma di segnali sonori in banda audio. E utilizzato per trasmettere i numeri digitati sulla tastiera telefonica. La tastiera DTMF è una matrice 4x4 dove ogni riga rappresenta una frequenza bassa, e ogni colonna rappresenta una frequenza alta. Premendo un tasto verrà inviato un tono sinusoidale per ognuna delle due frequenze in riga e in colonna. Ad esempio per il tasto 5 saranno di 770Hz e 1336HZ. 10

12 Figura : Tastiera DTM con frequenze 1.4 Web Server Le pagine VoiceXML sono conservate nei Web Server come altri documenti Internet. Il Web Server riceve le richieste dal Voice Server, le processa e il risultato viene inviato come risposta al Voice Server. Il Server Web può fungere anche da database per le applicazioni facilitando il processamento delle applicazioni stesse. In altri casi invece il database può essere separato e il Web Server comunica con il database Server. 11

13 CAPITOLO 2 PROGETTARE UN APPLICAZIONE VOCALE IN VOICEXML Esistono due punti fondamentali da analizzare prima di iniziare a progettare un applicazione vocale: - Tipologia di utenti a cui è rivolta l applicazione. - Organizzazione dei contenuti. 2.1 Tipologia di utenti Gli utenti si possono dividere in due grandi categorie: principianti ed esperti. I principianti sono coloro che hanno poca o nessuna esperienza con un applicazione vocale. Non hanno molta familiarità con i sintetizzatori vocali ed hanno problemi ad approcciarsi con essi. Un altro problema è che sono soliti utilizzare degli intercalari che il sintetizzatore vocale può non riconoscere come risposta. Alcune buone regole di programmazione che riguardano gli utenti inesperti sono: - Costruire dialoghi corti, chiari ed efficaci. - Rendere la grammatica chiara e semplice, includendo tutte le possibili risposte che può dare un utente. - Progettare esaustivi ed efficaci messaggi di errore e di aiuto. Gli utenti esperti invece hanno molta più praticità con le applicazioni vocali e non commettono gli stessi errori dei principianti, quindi è molto più facile progettare un applicazione destinata a loro 12

14 Alcune buone regole di programmazione che riguardano gli utenti esperti sono: - Costruire dialoghi diretti. - Utilizzare il sistema DTMF. - Includere parole chiave tali da rendere maggiormente veloce e semplice la navigazione all interno del programma. 2.2.Organizzazione contenuti Per l organizzazione dei contenuti esistono molti modelli,i più importanti sono: - modello sequenziale - modello gerarchico - modello misto. Il modello sequenziale è il più semplice. Il chiamante interagirà con l applicazione in maniera sequenziale rispondendo ai comandi uno dopo l altro e seguendo quindi una traccia. Questa struttura non offre possibilità all utente di navigare liberamente ed è consigliata per le applicazioni che offrono solo una tipologia di servizio. Il modello gerarchico è invece utilizzato quando un applicazione offre più di un servizio tra cui scegliere. In questa struttura, una lista di servizi è ordinata a seconda della priorità e l utente può scegliere quale strada seguire. In molti casi un applicazione vocale offre una varietà di servizi così un approccio misto sembra essere quello più efficace e più semplice da utilizzare per gli utenti. In questa tipologia di struttura prima di tutto sono dichiarati i maggiori servizi offerti e quindi,una volta che l utente ne ha selezionato uno, l applicazione prosegue con una struttura sequenziale che porterà l utente alla scelta finale. 13

15 2.3 Progettare i dialoghi Esistono due tipologie di modelli per la progettazione dei dialoghi: - direct dialogs - mixed iniziative dialogs. Nel modello direct dialogs una serie di dialoghi diretti e comandi costituiscono l applicazione. Con questo modello viene dato un numero limitato di scelte e l applicazione prosegue a seconda delle scelte fatte dall utente Quindi il dialogo è diretto dall applicazione e ad ogni passo l utente può fare solo una serie di scelte. Il vantaggio si trova nel fatto che è molto più semplice costruire applicazioni con questo modello ma l utente non ha molta libertà di scelta. Con il metodo mixed iniziative il dialogo è diretto dal chiamante e il sistema dopo aver appreso alcune informazioni dall utente, ne può chiedere altre. L applicazione riesce quindi a capire gli input dati dall utente, il chiamante si trova a dialogare con un interfaccia naturale e riesce a concludere positivamente la chiamata in pochi passi. Il maggiore problema di questo metodo si ha quando il sistema di riconoscimento vocale non riesce a decifrare l input dell utente e quindi l applicazione si blocca. Questo modello perciò funziona meglio quando si ha una grammatica scritta chiaramente e quando l utente è un utente esperto. 2.4 Progettare la Navigation Architecture Per Navigation Architecture si intende come l utente riesce a navigare all interno dell applicazione. 14

16 Alcuni punti importanti per facilitare l utente a muoversi all interno dell applicazione sono: - Utilizzo di parole chiave. - Organizzare le informazioni in modo tale che l utente riesca a localizzarle. - Progettare piccoli dialoghi in modo tale da riuscire a riutilizzarli. Una ulteriore buona regola è quella di utilizzare dei titoli descrittivi prima di ogni dialogo in modo tale che l utente possa accedere alle informazioni più facilmente. Infine l utilizzo dei Voice-activated links permette di collegare più parti dell applicazione vocale. I Voice links funzionano esattamente come gli hyperlinks di un sito web. L utente di un sito web può identificare facilmente un link che verrà scritto in un modo differente rispetto al resto del testo. Nel caso di Voice links si possono inserire alcune indicazioni uditive prima e dopo i links in modo da distinguerli dal resto della frase. 2.5 Progettare i comandi Nel costruire un applicazione si ha bisogno di inserire un buon numero di istruzioni che guidino l utente. Esistono quattro tipi di prompts: -Preliminary prompts -Middle-level prompts -Error messages -Help messages 15

17 Figura 2.5 : Elenco dei prompts Preliminary prompts Sono quelle istruzioni che vengono utilizzate all inizio di un applicazione o quando comincia un nuovo dialogo. Lo scopo principale è quello di fornire informazioni di base sul programma. Devono essere frasi corte e una singola applicazione dovrebbe contenere più di un preliminary prompts. Middle-level prompts Sono i prompt più importanti perché guidano passo dopo passo l utente a completare la chiamata. Sono usati per collezionare e fornire informazioni ed eseguire le relative azioni. Error messages I messaggi di errore costituiscono una parte importante del programma perché intervengono quando l utente commette qualche errore, ad esempio quando l input dato non corrisponde a uno di quelli desiderati dall applicazione. 16

18 Questi messaggi sono usati per notificare all utente gli errori e non dovrebbero contenere dettagli confusi o spiegazioni poco chiare. Help messages Quando l utente incontra un problema durante l interazione con l applicazione, i messaggi di aiuto possono offrire una soluzione al problema riscontrato. Anche in questo caso i messaggi non devono essere confusi e portare in errore l utente. 17

19 CAPITOLO 3 LE GRAMMATICHE 3.1 Grammatica in VoiceXML Una grammatica identifica differenti parole o frasi che un utente può dire,ed eventualmente può specificare come interpretare un espressione in termini di valori per le variabili di input. Questo è quindi l elemento che permette al computer di capire cosa dice l utente. Se una parola non è contenuta nella grammatica, questa non viene riconosciuta dal programma. Una grammatica può variare da una semplice lista di possibili parole ad un insieme complesso di possibili frasi. Contiene una o più regole (rules) che specificano la corrispondenza con l ingresso dato dall utente, cioè cosa l utente può dire. Può essere anche definita una root rule così che si può usare la grammatica nell applicazione VoiceXML senza specificare da quale regola partire. Ovviamente più le grammatiche sono estese e più elevato sarà il tempo che ci metterà il motore di riconoscimento per elaborare ciò che ha detto l utente. Le grammatiche possono essere definite in tre modi: inline grammars,external grammars e built-in grammars. Lo standard SRGS 1.0( Speech Recognition Grammar Specification) stabilisce poi che il formato delle grammatiche può essere di due tipi: ABNF(Augmented BNF) e XML. 18

20 3.2 Inline grammar Le inline grammars sono definite,come dice la parola, all interno del codice VoiceXML attraverso l elemento <grammar>. Solitamente sono costituite da pochi elementi che devono però formare una grammatica valida. 3.3 External grammar Le external grammar sono definite in un file diverso rispetto a quello dove si trova il codice dell applicazione. Verranno richiamate all interno del codice VoiceXML attraverso l elemento <grammar> scrivendo nell attributo src il pathname della grammatica esterna. L importanza di scrivere grammatiche esterne si trova nel fatto che esse potranno essere riutilizzate per altre applicazioni. 3.4 Built-in grammar Una built-in grammar è definita direttamente dall Interprete VoiceXML e consente ai programmatori di scrivere applicazioni VoiceXML più complesse e più velocemente. TIPO DESCRIZIONE CARATTERISTICHE boolean Riconosce una risposta affermativa o negativa. currency Riconosce una somma di denaro,in dollari. date digits Riconosce una data del calendario. Riconosce una sequenza di digits. Utilizzando i toni DTMF, l 1 vale si il 2 no Si possono pronunciare frasi che specificano un importo oppure si può utilizzare il DTMF. Possono essere inserite date con il DTMF,le prime quattro cifre sono per l anno, le seguenti due per il mese e le ultime due per il giorno. Possono essere inserite cifre da 0 a 9. 19

21 number Riconosce un numero. phone time Riconosce un numero telefonico. Riconosce l ora dell orologio. I numeri sono riconosciuti utilizzando sia frasi che toni DTMF. Il risultato è una stringa contenente un numero di telefono. Sono riconosciute frasi che specificano ore e minuti. 3.5 Active grammars Il motore di riconoscimento vocale usa solo le grammatiche attive per interpretare gli input dell utente. Una grammatica si definisce attiva nel suo ambito d uso ( in inglese:scope). Esistono quattro tipi di scope: SCOPE CAMPO DIALOGO LA GRAMMATICA E IN SCOPE QUANDO L ESECUZIONE E nell elemento <field> dove è definita o referenziata. nel dialogo dove è definita o referenziata. E SCOPE DI DEFAULT PER UNA GRAMMATICA DEFINITA nell elemento <field>. negli elementi <form> o <choice>. DOCUMENTO nel documento dove definita o referenziata. APPLICAZIONE in un qualunque punto dell applicazione. nell elemento <link> direttamente sotto l elemento <vxml>. in un qualunque elemento dell applicazione. Il motore di riconoscimento vocale andrà prima a vedere se è presente qualche grammatica con scope di campo, poi di dialogo,di documento ed infine di applicazione. Quindi una grammatica definita in un campo ha la precedenza su tutte le altre. 20

22 3.6 ABNF L Augmented Backus-Naur Format (ABNF) è un formato utilizzato per scrivere le grammatiche. In questo formato la definizione di una regola è delimitata all inizio dal simbolo = ed alla fine dal simbolo ; I seguenti simboli hanno una funzione sintattica e delimitano il testo. SIMBOLI DESCRIZIONE Dollaro $ Parentesi angolate < e > Assegna un nome alla regola. Referenziano una regola. Parentesi tonde ( e ) Barra verticale Chiudono una regola di espansione Delimita le alternative Parentesi quadre [ e ] Delimitano gli elementi opzionali Parentesi graffe { e } Delimitano i tag Punto esclamativo! Fissa un identificatore di linguaggio Quindi una grammatica ABNF è formata da stringhe di testo delimitate dai precedenti elementi. Esempio di grammatica ABNF che riconosce i giorni della settimana: $GIORNI_SETTIMANA = lunedì martedì mercoledì giovedì venerdì sabato domenica ; 21

23 3.7 XML Una grammatica XML, come l HTML e il VoiceXML, utilizza i tag di markup. Un tag è una parola chiave racchiusa dalle parentesi angolari < e >,e può avere degli attributi che consisto in un nome ed un valore separati dal simbolo =. Al corrispondente tag iniziale <tag> corrisponde quello finale </tag>. I tag principali sono: TAG DESCRIZIONE ATTRIBUTI <count> <item> Indica un elemento che deve essere ripetuto Indica un elemento della grammatica -number:numero di ripetizioni per quell elemento nessuno <one-of> <rule> Definisce un set di alternative per l utente Definisce una regola grammaticale <ruleref> Definisce una referenza ad una regola anche se si trova in un altro file - tag:utilizzato per salvare il valore ritornato dopo che si è trovata una corrispondenza con un elemento <one-of> -id:identifica una particolare regola -scope:definisce lo scope di una regola come private o public -tag: utilizzato per salvare il valore ritornato dopo che si è trovata una corrispondenza con un elemento <ruleref> <token> Indica una parola o una frase che può essere detta dall utente -uri:definisce la posizione della regola richiesta -lang-list:specifica il linguaggio usato 22

24 Esempio di grammatica XML che riconosce i giorni della settimana: <rule id= Giorni_Settimana > <one-of> <item>lunedì</item> <item>martedì</item> <item>mercoledì</item> <item>giovedì</item> <item>venerdì</item> <item>sabato</item> <item>domenica</item> </one-of> </rule> 3.8 L elemento <grammar> Nel VoiceXML si usa l elemento <grammar> per definire grammatiche per gli elementi di una form o per altri elementi. Questo elemento è in grado di gestire i due formati per le grammatiche già menzionati, l ABNF e l XML. Gli attributi sono: ATTRIBUTI src xml:lang type scope mode version root DESCRIZIONE Utilizzato per definire l URI che determina la posizione del file grammaticale se si vogliono utilizzare le grammatiche esterne. Usato per definire il linguaggio della grammatica utilizzata. Definisce il MIME type della grammatica. Utilizzato per definire lo scope di una grammatica. I possibili valori sono dialog e document. Determina la modalità della grammatica. I possibili valori sono DTMF e voice. Usato per definire la versione della grammatica. Definisce la root rule della grammatica nel caso di inline grammar. 23

25 fetchint fetchtimeout maxage maxstale weight Utilizzato per determinare quando un contenuto deve essere preso. Usato per definire il tempo prima di lanciare l'evento error.badfetch quando il contenuto non è disponibile. Indica che il documento può utilizzare il contenuto fino a che non viene superato il limite di tempo specificato. Usato per indicare che il documento può utilizzare il contenuto oltre il tempo limite specificato. Definisce il peso di una grammatica. Esempio di inline grammar in ABNF: <field name="colore"> <prompt>qual è il tuo colore preferito?</prompt> <grammar mode="voice" type="application/srgs"> $col = giallo verde rosso blu bianco nero rosa arancione; </grammar> </field> Esempio di external grammar in XML: <grammar type="application/srgs+xml" src=" 3.9 Grammatiche DTMF Le grammatiche DTMF giocano un importante ruolo nel migliorare le prestazioni dell applicazione in quanto rendono l interfaccia più velocemente accessibile e facile da utilizzare. In questo modo avremo l attributo mode impostato su DTMF mentre l attributo xml:lang se definito viene ignorato. 24

26 CAPITOLO 4 ELEMENTI DI PROGRAMMAZIONE IN VXML 4.1 Applicazione in VoiceXML Un applicazione in VoiceXML è formata da una serie di documenti che condividono lo stesso application root document. Quando l utente interagisce con un documento, il relativo application root document è caricato e rimarrà caricato finché l utente effettua transazioni con i documenti associati. Quando l application root document è caricato, le sue variabili sono disponibili nei documenti collegati come variabili di applicazione e la sua grammatica rimane attiva per la tutta la durata dell applicazione. Figura 4.1: Application root document 4.2 Esempio di applicazione in VoiceXML Il più classico esempio di applicazione in un qualunque linguaggio è Hello World!. Ecco come viene scritto nel linguaggio VoiceXML. <?xml version="1.0" encoding="utf-8"?> <vxml xmlns=" xmlns:xsi=" xsi:schemalocation=" version="2.0"> <form> <block>hello World!</block> </form> </vxml> 25

27 La prima riga ed il tag vxml costituiscono il prolog VXML ovvero la sezione di un documento xml che contiene le dichiarazioni XML. La prima riga indica quindi che si tratta generalmente di un file XML la seconda indica al processore che si tratta di un file in formato VoiceXML. Gli attributi di <vxml> sono: ATTRIBUTI DESCRIZIONE version Versione del VoiceXML del documento, richiesto. Namespace indicato per il VoiceXML, xmlns definito in richiesto. URI (Uniform Resource Identifier, xml:base stringa di caratteri per identificare una risorsa in internet) del documento. xml:lang Lingua usata nell applicazione application URI dell application root document, se esiste. 4.3 Tag form Le forms sono l elemento fondamentale di un applicazione VoiceXML. Esse comprendono: Una serie di item,elementi di una form che sono divisi in input items che possono essere riempiti dall utente e control item. Dichiarazioni di variabili Gestore di eventi. Blocchi filled che sono eseguiti quando vengono riempiti gli input item. Le form quindi permettono di rivolgere una domanda diretta all utente e di ascoltarne la risposta. 26

28 Gli attributi di <form> sono: ATTRIBUTI id scope DESCRIZIONE Indica il nome della form, se specificato permette di richiamare la form all interno del documento o in altri documenti. Lo scope di default della grammatica della form. Se lo scope è dialog, le grammatiche della form sono attive solo nella form. Se lo scope è document, le grammatiche sono attive durante ogni dialogo nello stesso documento. Se si tratta di un application root document e lo scope è document allora sono attive in ogni documento dell applicazione FIA Le form sono interpretate da un algoritmo,il FIA (Form Interpretation Algorithm). Il FIA ha un ciclo principale che seleziona ripetutamente i form item e li controlla. Le azioni che esegue sono: Selezionare e riprodurre una o più prompt. Ricevere l input dell utente e gestire eventuali errori. Attribuire un valore ai campi contenuti al suo interno. L algoritmo termina quando arriva ad interpretare un comando di trasferimento del controllo ( es. <goto>, <submit>) oppure quando incontra l elemento <exit> e non ci sono più elementi della form. 27

29 4.3.2 Form Item Come già detto i form item si dividono in input items e control items. Gli input items consentono di raccogliere gli input dell utente. I più importanti sono: <field>: input item il cui valore viene ottenuto via ASR o DTMF. <record>: il valore è un audio clip registrato dall utente. <subdialog>: invoca un altro dialogo nella pagina corrente oppure un altro documento VoiceXML. Inoltre vi è un altro elemento, <filled>,che specifica le azioni da compiere quando un form item è stato riempito I control items più importanti sono: <block>: sequenza di istruzioni utilizzate per effettuare richieste ma non per ricevere input. <initial>: controlla l interazione con l utente. E utilizzato per incoraggiare l utente a dire qualcosa che corrisponda con la grammatica Attributi La maggior parte dei form items hanno i seguenti attributi: ATTRIBUTI name expr cond DESCRIZIONE Nome del form item Valore iniziale della variabile associata al form item. Fornisce una condizione booleana per controllare se l elemento è stato modificato. 28

30 Gli altri attributi più importanti sono: Per <field> : ATTRIBUTI type slot modal DESCRIZIONE Tipo di campo. Nome della grammatica per la variabile. Se è settato su true sono abilitate solo le grammatiche di campo, altrimenti tutte le grammatiche. Per <record>: ATTRIBUTI beep finalsilence maxtime modal type DESCRIZIONE Se è settato su vero, viene emesso un tono prima della registrazione. Intervallo di silenzio che indica la fine di un discorso. Durata massima della registrazione. Se è settato a false le grammatiche DTMF sono attive. Indica il formato per la registrazione. Per <subdialog>: ATTRIBUTI namelist src DESCRIZIONE Lista di variabili da passare al sottodialogo. URI del sottodialogo. 29

31 Per <filled> : ATTRIBUTI mode namelist DESCRIZIONE Può essere all o any. Se all,questa azione viene eseguita quando tutti i form item sono riempiti, any solo quando ne sono riempiti alcuni. Lista di input item da azionare. 4.4 Tag link Un altro elemento importante è <link> che permette di: passare ad un altro documento o dialogo. generare un evento. Gli attributi più importanti sono: ATTRIBUTI next expr event DESCRIZIONE Indica l URI dove andare Come next soltanto che l URI può essere determinato dinamicamente da un espressione ECMAScript Evento da generare. 4.5 Tag prompt Il tag prompt è uno dei tag fondamentali perché controlla l output del sintetizzatore vocale. I prompts sono messi in coda per essere eseguiti e dopo che sono stati eseguiti il sistema attende un input dall utente. Una volta ricevuto l input, l esecuzione procede ed altri prompt verranno eseguiti. 30

32 Gli attributi principali di <prompt> sono: ATTRIBUTI DESCRIZIONE bargein Indica se un utente può interrompere il prompt. cond Fornisce una condizione booleana che controlla il prompt. count Numero che permette di emettere diversi prompt quando l utente fa qualcosa di ripetitivo. timeout Indica il timeout per i prossimi input dell utente. xml:base URI del documento. xml:lang Lingua usata nell applicazione In relazione al tag prompt si hanno altri elementi che sono definiti nell SSML ma sono disponibili nel VoiceXML. I più importanti sono: TAG DESCRIZIONE <audio> Specifica il file audio da eseguire. <break> Specifica una pausa nell output del sistema. <emphasis> Specifica che il testo incluso deve essere detto con enfasi. <phoneme> Specifica una pronuncia fonetica per il testo contenuto. <prosody> Specifica informazioni sulla prosodia del testo. <say-as> Specifica informazioni sul tipo di testo. <voice> Specifica le caratteristiche della voce del sintetizzatore vocale. 31

33 4.6 Dichiarazione variabili Le variabili sono dichiarate con il tag var. Esempio: <var name= vxml />. Le variabili prima di essere usate devono per forza essere dichiarate. Le variabili che non hanno un valore iniziale vengono inizializzate con un valore indefinito Scope delle variabili Le variabili hanno quattro tipi di scope: Session : Sono variabili di sola lettura che durano per tutta la sessione dell utente. Sono dichiarate dall interprete e non possono esserne dichiarata di nuove all interno del documento VoiceXML. Application : Sono dichiarate negli elementi <var> che si trovano all interno dell elemento <vxml> dell application root document. Sono inizializzate quando è caricato l application root document, esistono finché esso è caricato e sono visibili in tutti i documenti collegati. Document : Sono dichiarate negli elementi <var> che si trovano all interno dell elemento <vxml> del documento. Sono inizializzate quando il documento è caricato,esistono finché è caricato e sono visibili solo all interno dello stesso documento. Dialog : Sono dichiarate negli elementi <var> che si trovano all interno dell elemento <form>. Sono inizializzate quando l utente entra nella form. Anonymous: Gli elementi <block> o <filled> definiscono uno scope anonimo. 32

34 La gerarchia degli scope è: Gli attributi di <var> sono: Figura :Gerarchia degli scope. ATTRIBUTI name expr DESCRIZIONE Indica il nome della variabile. Indica il valore iniziale della variabile. Se non c è l attributo expr, la variabile verrà inizializzata con un valore indefinito Tag assign L elemento <assign> assegna un valore ad una variabile. Esempio: <assign name= vxml expr= voice />. Ha due attributi: - name: indica il nome della variabile a cui assegnare un valore. - expr: indica il valore da assegnare alla variabile. 33

35 4.7 Gestione degli eventi L applicazione lancia gli eventi quando l utente non risponde o risponde in un modo non corretto e così via. L interprete invece lo fa quando trova un errore di sintassi nel documento o quando incontra l elemento <throw> Tag throw L elemento <throw> lancia un evento che può essere predefinito o definito nell applicazione. Gli attributi sono: event : indica l evento lanciato. message : oltre all evento può essere fornita una stringa di messaggio Tag catch L elemento <catch> contiene il codice che verrà eseguito nel caso venga lanciato un particolare evento. Gli attributi sono: event : indica l evento da catturare. count : indica un contatore che permette di gestire in maniera differente uno stesso evento ripetuto più volte. cond : indica una condizione da verificare Tipi di eventi Gli elementi <error> <help> <no input> <nomatch> sono dei tag contenitori all interno dei quali si trova il codice che viene mandato in esecuzione quando si verifica uno di questi eventi. In particolare : <error> : indica un errore in generale. <help> : indica delle informazioni d aiuto per l utente. 34

36 <noinput> : indica che non è stato riscontrato nessun input da parte dell utente. <nomatch> : indica che l input ricevuto dall utente non si trova nella grammatica. 4.8 Altri tag Altri tag importanti per il controllo del flusso dell applicazione sono: <if>, <else>,<elseif> : usati per verificare una condizione. <reprompt> : per ripetere un prompt. <goto> : usato per passare ad un altro elemento di una form, o ad un altro dialogo del documento o ad un altro documento. <submit> : permette di passare informazioni al Web Server e di passare variabili ad un altro documento con il metodo GET o POST. <exit/> : ritorna il controllo all interprete che decide cosa fare. <return>: ritorna la fine di un sottodialogo e ritorna il controllo e i dati ad un altro dialogo. <log> : permette di generare un messaggio di debug che il programmatore può usare per sviluppare il programma o in fase di analisi della performance dell applicazione. 35

37 CAPITOLO 5 PROGETTAZIONE DEL SOFTWARE 5.1 Descrizione del progetto Per comprendere meglio le potenzialità di questo linguaggio si è deciso di realizzare un programma che, ricevuti in ingresso stazione di partenza,stazione di arrivo e data di partenza,controlla se è presente un treno con quelle caratteristiche, fa un riepilogo dei dati immessi dall utente e passa la chiamata ad un operatore umano che provvederà alla prenotazione del biglietto. Questo programma è stato realizzato in collaborazione con il collega Vincenzo Salvatore e l aiuto dell azienda SpeechVillage di Ascoli Piceno. Inizialmente si è deciso di arrivare al programma finale attraverso due step. Nel primo passo il programma semplicemente dopo aver ricevuto i dati in ingresso dall utente effettuava un riepilogo e passava la chiamata ad un operatore umano. Dopo aver sviluppato questa prima piccola applicazione si è passati allo step successivo che prevedeva: Identificazione dell utente attraverso un codice di una carta fedeltà chiamata carta frecciax. Se l utente è stato identificato correttamente la chiamata assume un tono cordiale e l utente viene chiamato per nome, altrimenti la chiamata è passata ad un operatore. All utente quindi una volta identificato verranno richieste stazione di partenza,stazione di arrivo e data di partenza. Se esiste un treno con determinate caratteristiche verrà data una risposta affermativa e dopo aver fatto un riepilogo verrà passata la richiesta ad un operatore. In caso contrario la chiamata verrà passata comunque ad un operatore ma verrà data una risposta negativa. 36

38 5.2 Diagramma di flusso Figura :Prima parte del diagramma di flusso del programma. In questa prima parte si vede come avviene l identificazione dell utente. Dopo il messaggio di benvenuto vene richiesto il codice della carta frecciax. Se il codice non è corretto oppure non viene riscontrato nessun input viene richiesto di reinserire il codice. Questo può avvenire al massimo per due volte dopodiché la chiamata verrà passata all operatore. Se i dati sono corretti l applicazione procede come di seguito: 37

39 Figura :Seconda parte del diagramma di flusso del programma. In questa fase verranno richiesti i dati del treno desiderato. Anche in questo caso verranno effettuati dei controlli sui dati ricevuti in ingresso e se per due volte consecutive i dati risulteranno non corretti la richiesta verrà passata all operatore. 38

40 Figura :Terza ed ultima parte del diagramma di flusso del programma. In questa ultima fase dopo che l utente ha inserito la data,se tutti i dati sono corretti e se esiste una corrispondenza allora il programma effettuerà un riepilogo delle informazioni e chiuderà la conversazione. Altrimenti la telefonata verrà passata all operatore. 5.3 Struttura del programma Il programma è costituito da documenti VoiceXML,grammatiche in formato XML,script Javascript e PHP,e un database. 39

41 5.3.1 Database Il database chiamato biglietto_ferroviaro è formato da due tabelle : Orari e Utente. Figura 5.3.1: Tabelle Database. Nella prima tabella troviamo gli attributi Partenza ( stazione di partenza), Arrivo (stazione di Arrivo), Data( data di partenza). Figura : Tabella orari. La chiave primaria è costituita dai campi Partenza Arrivo e Data, avendo creato il database in modo tale che in una certa data esiste solo un treno che parte da una data città ed arriva in un altra città. Nella tabella utente avremo gli attributi Nome per il nome dell utente, Cognome per il cognome dell utente e Codice per il codice della carta frecciax. La chiave primaria è naturalmente Codice visto che ogni utente ha un Codice carta frecciax diverso dall altro. 40

42 Figura 5.3.1: Tabella utente index.vxml E il file principale del programma. Dopo il prolog XML troviamo la dichiarazione di quattro variabili che serviranno in seguito. Nella riga successiva inizia la form chiamata prenotazione con l elemento <form id = prenotazione >. Dopo il messaggio di benvenuto verrà richiesto il codice della carta frecciax. Se non ci sono errori si passa al file login-javascript.php dove si controllerà l esistenza del codice detto dall utente nel database. Se il codice esiste il programma prosegue con un tono formale chiamando l utente per nome. Questo perché nelle variabili dichiarate in precedenza verranno assegnati i valori che si trovano nel database. Il programma quindi chiederà i dati all utente. Da notare che in ogni campo field è presente l elemento <grammar> che richiama la grammatica corrispondente. Se non vi sono errori l esecuzione passa al file prenota-javascript.php dove si verificherà l esistenza di un treno con le caratteristiche specificate dall utente. Sia che esista una corrispondenza nel database che non esista verrà fatto un riepilogo e la chiamata sarà passata ad un operatore. Da notare la presenza nel codice dei tag log per facilitare il debug. 41

43 Di seguito viene illustrato il codice del file: <?xml version="1.0" encoding="utf-8"?> <vxml version="2.1" xml:lang="it-it" xmlns=" <!-- Dichiarazione delle varibili e impostazione valori di default--> <var name="nome_cliente" expr="''"/> <var name="cognome_cliente" expr="''"/> <var name="codice_errore" expr="'2'"/> <var name="codice_errore2" expr="'2'"/> <form id="prenotazione"> <block> <log>logunivpm: Applicazione: Prenotazione Biglietto Ferroviario Demo</log> </block> <block> <log>logunivpm: messaggio_benvenuto</log> <log>logunivpm:benvenuto nel portale vocale di prenotazione dei biglietti ferroviari. Grazie a questo servizio le sarà possibile ricevere le informazioni utili per il suo viaggio. Le ricordo che il servizio è riservato ai clienti FrecciaX.</log> <prompt> Benvenuto nel portale vocale di prenotazione dei biglietti ferroviari. Grazie a questo servizio le sarà possibile ricevere le informazioni utili per il suo viaggio. Le ricordo che il servizio è riservato ai clienti Freccia ics. </prompt> </block> <block name="codice_utente"> 42

44 <log>logunivpm: Richiesta codice utente</log> <log>logunivpm: Mi dica il suo codice cliente, una cifra alla volta.</log> <prompt>mi dica il suo codice cliente, una cifra alla volta. </prompt> </block> <field name="cod"> <grammar src="codice.grxml"/> <nomatch count="1"> <log>logunivpm: primo_nomatch_codice</log> <log>logunivpm: Mi scusi non ho capito. Le ricordiamo che il codice carta freccia ics è composto da quattro cifre. Le dica una alla volta</log> <prompt>mi scusi non ho capito. Le ricordiamo che il codice carta freccia ics è composto da quattro cifre. Le dica una alla volta</prompt> </nomatch> <nomatch count="2"> <log>logunivpm: secondo_nomatch_codice</log> <log>logunivpm: Prego, attenda in linea. La metteremo in contatto con un operatore, se tutti gli operatori sono occupati la invitiamo a chiamare più tardi.</log> <prompt>prego, attenda in linea. La metteremo in contatto con un operatore, se tutti gli operatori sono occupati la invitiamo a chiamare più tardi. </prompt> 43

45 <log>logunivpm:telefonata_terminata_ nomatch_codice</log> <exit/> </nomatch> <noinput count="1"> <log>logunivpm: primo_noinput_codice</log> <log>logunivpm: Mi scusi! Può ripetere?</log> <prompt>mi scusi! Può ripetere? </prompt> </noinput> <noinput count="2"> <log>logunivpm: secondo_noinput_codice</log> <log>logunivpm: Prego, attenda in linea. La metteremo in contatto con un operatore, se tutti gli operatori sono occupati la invitiamo a chiamare più tardi. </log> <prompt>prego, attenda in linea. La metteremo in contatto con un operatore, se tutti gli operatori sono occupati la invitiamo a chiamare più tardi. </prompt> <log>logunivpm:telefonata_terminata_ noinput_codice</log> <exit/> </noinput> <filled> <log>logunivpm: Codice utente: l'utente 44

46 </filled> </field> ha detto: '<value expr= "application.lastresult$.utterance"/>' = '<value expr="cod"/>'</log> <block name="autenticazione_utente"> <log>logunivpm: Autenticazione dell'utente </log> <!-- Autenticazione utente --> <!-- Impostazione della chiamata al servizio di autenticazione --> <script><![cdata[var AutenticazioneExpr = " <log>logunivpm: Servizio di Autenticazione: " -javascript.php" -> <value expr="autenticazioneexpr" /></log> <script srcexpr="autenticazioneexpr" charset="iso " fetchtimeout="12s" /> <assign name="nome_cliente" expr="nome" /> <assign name="cognome_cliente" expr="cognome" /> <assign name="codice_errore" expr="codiceerrore" /> <log>logunivpm: Esito autenticazione:</log> <log>logunivpm: Nome cliente = <value expr="nome_cliente"/> </log> <log>logunivpm: Cognome cliente = <value expr="cognome_cliente"/></log> <log>logunivpm: Codice errore = <value expr="codice_errore"/> </log> 45

47 </block> <block> <if cond="codice_errore=='1'"> <log>logunivpm: Mi dispiace ma il codice indicato non esiste, attenda in linea la metteremo in contatto con un operatore</log> <prompt>mi dispiace ma il codice indicato non esiste, attenda in linea la metteremo in contatto con un operatore </prompt> <exit/> <elseif cond="codice_errore=='2'" /> <log>logunivpm: Mi dispiace ma si è verificato un errore, attenda in linea la metteremo in contatto con un operatore</log> <prompt>mi dispiace ma si è verificato un errore, attenda in linea la metteremo in contatto con un operatore </prompt> <exit/> </if> </block> <block name="saluto_utente"> <log>logunivpm: Utente autenticato</log> <log>logunivpm: Ciao <value expr="nome_cliente"/>!</log> <prompt>ciao <value expr="nome_cliente"/>!</prompt> </block> 46

48 <!-- Partenza --> <block> <log>logunivpm: Richiesta della città di partenza</log> <log>logunivpm: Da dove vuoi partire?</log> <prompt>da dove vuoi partire?</prompt> </block> <field name="part"> <grammar src="citta.grxml"/> <nomatch count="1"> <log>logunivpm: primo_nomatch_partenza</log> <log>logunivpm: Puoi scegliere tra Ancona, Milano, Roma e Torino. Da dove vuoi partire?</log> <prompt>puoi scegliere tra Ancona, Milano, Roma e Torino. Da dove vuoi partire?</prompt> </nomatch> <nomatch count="2"> <log>logunivpm:secondo_nomatch_partenza </log> <log>logunivpm: Ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </prompt> <log>logunivpm: telefonata_terminata_nomatch_partenza</log> <exit/> </nomatch> <noinput count="1"> 47

49 <log>logunivpm: primo_noinput_partenza</log> <log>logunivpm: Audio file: <value expr="application.lastresult$.recording"/> </log> <log>logunivpm: Scusami! Da dove vuoi partire?</log> <prompt>scusami! Da dove vuoi partire?</prompt> </noinput> <noinput count="2"> <log>logunivpm:secondo_noinput_partenza </log> <log>logunivpm: Ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </prompt> <log>logunivpm: telefonata_terminata_noinput_partenza</log> <exit/> </noinput> <filled> <log>logunivpm: Città di partenza: l'utente ha detto: '<value expr="application.lastresult$.utterance"/>' = '<value expr="part"/>'</log> </filled> </field> <!-- Arrivo --> <block> <log>logunivpm: Richiesta della città di arrivo</log> 48

50 <log>logunivpm: Dove vuoi arrivare?</log> <prompt>dove vuoi arrivare?</prompt> </block> <field name="arr"> <grammar src="citta.grxml"/> <nomatch count="1"> <log>logunivpm: primo_nomatch_arrivo</log> <log>logunivpm: Puoi scegliere tra Ancona, Milano, Roma e Torino. Dove vuoi arrivare?</log> <prompt>puoi scegliere tra Ancona, Milano, Roma e Torino. Dove vuoi arrivare? </prompt> </nomatch> <nomatch count="2"> <log>logunivpm: secondo_nomatch_arrivo</log> <log>logunivpm: Ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </prompt> <log>logunivpm: telefonata_terminata_nomatch_arrivo</log> <exit/> </nomatch> <noinput count="1"> <log>logunivpm: primo_noinput_arrivo</log> <log>logunivpm: Scusami! Dove devi arrivare? </log> <prompt>scusami! Dove devi arrivare?</prompt> </noinput> 49

51 <noinput count="2"> <log>logunivpm: secondo_noinput_arrivo</log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi. </prompt> <log>logunivpm: telefonata_terminata_noinput_arrivo </log> <exit/> </noinput> <filled> <log>logunivpm: Città di arrivo: l'utente ha detto: '<value expr="application.lastresult$.utterance"/>' = '<value expr="arr"/>'</log> </filled> </field> <!-- Data --> <block> <log>logunivpm: Richiesta della data di partenza</log> <log>logunivpm: Quando vuoi partire?</log> <prompt>quando vuoi partire?</prompt> </block> <field name="data"> <grammar src="data.grxml"/> <nomatch count="1"> <log>logunivpm: primo_nomatch_data</log> <log>logunivpm: Puoi scegliere tra oggi e domani. Quando vuoi partire? </log> <prompt>puoi scegliere tra oggi e domani. Quando vuoi partire?</prompt> 50

52 </nomatch> <nomatch count="2"> <log>logunivpm: secondo_nomatch_data</log> <log>logunivpm: Ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi.</log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi.</prompt> <log>logunivpm: telefonata_terminata_nomatch_data</log> <exit/> </nomatch> <noinput count="1"> <log>logunivpm: primo_noinput_data</log> <log>logunivpm: Scusami! Quando vuoi partire?</log> <prompt>scusami! Quando vuoi partire?</prompt> </noinput> <noinput count="2"> <log>logunivpm: secondo_noinput_data</log> <log>logunivpm: Ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi.</log> <prompt>ti metto in contatto con un operatore, se tutti gli operatori sono occupati ti invito a chiamare più tardi.</prompt> <log>logunivpm: telefonata_terminata_noinput_data</log> <exit/> </noinput> <filled> 51

53 <log>logunivpm: Data di partenza: l'utente ha detto: '<value expr="application.lastresult$.utterance"/>' = '<value expr="data"/>'</log> </filled> </field> <!-- Chiamata a Prenotazione --> <block name="prenotazione_utente"> <!-- Impostazione della chiamata al servizio di prenotazione --> <script><![cdata[var PrenotazioneExpr = " (arr)+'&data='+escape(data);]]></script> <log>logunivpm: Servizio di Prenotazione: " ta-javascript.php" -> <value expr="prenotazioneexpr" /> </log> <script srcexpr="prenotazioneexpr" charset="iso " fetchtimeout="12s" /> <assign name="codice_errore2" expr="codiceerrore" /> <log>logunivpm: Esito prenotazione:</log> <log>logunivpm: Codice errore = <value expr="codice_errore2"/></log> </block> <block> <!-- C'è disponibilità --> <if cond="codice_errore2=='0'"> <log>logunivpm: C'è disponibilità per la richiesta </log> 52

Manuale Utente MyFastPage

Manuale Utente MyFastPage Manuale MyFastPage Utente Elenco dei contenuti 1. Cosa è MyVoice Home?... 4 1.1. Introduzione... 5 2. Utilizzo del servizio... 6 2.1. Accesso... 6 2.2. Disconnessione... 7 2.3. Configurazione base Profilo

Dettagli

Guida all Utilizzo dell Applicazione Centralino

Guida all Utilizzo dell Applicazione Centralino Guida all Utilizzo dell Applicazione Centralino 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad

Dettagli

GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI.

GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI. GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI. INDICE TUTTO SULLA TUA RUBRICA 02 COS È IL SERVIZIO RUBRICA 02 PER UTILIZZARE IL SERVIZIO 03 ALCUNE INFORMAZIONI UTILI

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Guida all accesso al portale e ai servizi self service

Guida all accesso al portale e ai servizi self service Guida all accesso al portale e ai servizi self service INDICE PREMESSA 2 pag. 1 INTRODUZIONE 2 2 MODALITÀ DI PRIMO ACCESSO 2 2.1 LA CONVALIDA DELL INDIRIZZO DI POSTA ELETTRONICA 2 2.2 L INSERIMENTO DELLA

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Analisi applicazione vocale

Analisi applicazione vocale Analisi applicazione vocale semplice e naturale: usa la tua voce DOTVOCAL S.r.l. Piazza Pinelli 1,7 16124 Genova Tel. +39 010 275411 Fax +39 010 27541216 www.dotvocal.com www.portavoce.org OVERVIEW...

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

SICURF@D: istruzioni per l uso

SICURF@D: istruzioni per l uso : istruzioni per l uso : istruzioni per l uso Indice 1. Premessa 2 2. La registrazione 2 3. L accesso all area per utenti registrati 2 4. La consultazione dei manuali 3 5. L utilizzo degli strumenti di

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Servizio on-line di Analisi e Refertazione Elettrocardiografica Servizio on-line di Analisi e Refertazione Elettrocardiografica Guida utente Scopo del servizio... 2 Prerequisiti hardware e software... 3 Accesso all applicazione... 4 Modifica della password... 7 Struttura

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

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

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Monitor Orientamento. Manuale Utente

Monitor Orientamento. Manuale Utente Monitor Orientamento Manuale Utente 1 Indice 1 Accesso al portale... 3 2 Trattamento dei dati personali... 4 3 Home Page... 5 4 Monitor... 5 4.1 Raggruppamento e ordinamento dati... 6 4.2 Esportazione...

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

GUIDA AL PORTALE PARTE 1

GUIDA AL PORTALE PARTE 1 GUIDA AL PORTALE PARTE 1 1 L HOME PAGE Al primo ingresso nel portale www.farmaciefvg.it è visualizzata l Home page (letteralmente pagina di casa ma meglio conosciuta come pagina iniziale ) la cui parte

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili

Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili Questa presentazione intende illustrare brevemente la nuova funzionalità (Notifiche multiple di DM simili) predisposta

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

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

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

NAVIGARE FRA LE PRATICHE...

NAVIGARE FRA LE PRATICHE... Manuale veloce AUTENTICAZIONE... 3 REGISTRAZIONE... 4 NAVIGARE FRA LE PRATICHE... 5 PRATICA TELEMATICA : AVVIO... 7 PRATICA TELEMATICA : COMPILAZIONE, FIRMA DIGITALE E INVIO... 8 PRATICA TELEMATICA : COMPILAZIONE

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

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

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

VoiceSurvey. DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova. Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal.

VoiceSurvey. DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova. Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal. VoiceSurvey DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal.com INSTANT S.r.l. Via Sorio 47, 35141 Padova Tel. +39 049

Dettagli

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05 SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE Versione 05 Novembre 2015 1 Sommario Generalità... 3 Pagare con ICONTO... 7 Pagare con carta di credito... 10 Pagare

Dettagli

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione SUI Sportello Unico Immigrazione Sistema inoltro telematico Manuale utente Versione 9 Data aggiornamento 19/11/2010 17.19.00 Pagina 1 (1) Sommario 1.

Dettagli

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore. CTVClient Il CTVClient è un programma per sistemi operativi Windows che permette la consultazione e la prenotazione delle ore dal tabellone elettronico del Circolo Tennis Valbisenzio. Per utilizzarlo è

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

STUDIUM.UniCT Tutorial per gli studenti

STUDIUM.UniCT Tutorial per gli studenti STUDIUM.UniCT Tutorial per gli studenti Studium.UniCT Tutorial Studenti v. 6 06/03/2014 Pagina 1 Sommario 1. COS È STUDIUM.UniCT... 3 2. COME ACCEDERE A STUDIUM.UniCT... 3 3. COME PERSONALIZZARE IL PROFILO...

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

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

Dipartimento per le Libertà Civili e l Immigrazione

Dipartimento per le Libertà Civili e l Immigrazione Dipartimento per le Libertà Civili e l Immigrazione Sistema inoltro telematico Manuale utente Versione 10 Data aggiornamento: 14/09/2012 Pagina 1 (25) Sommario 1. Il sistema di inoltro telematico delle

Dettagli

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE. Cos'è l'html HTML è una sigla che viene da una frase inglese che vuol dire: " Linguaggio di contrassegno di ipertesti" (Hyper Text Markup Language) L'Html non è un vero e proprio linguaggio di programmazione,

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

Sistema Informativo di Teleraccolta EMITTENTI

Sistema Informativo di Teleraccolta EMITTENTI Sistema Informativo di EMITTENTI aventi l Italia come Stato membro di origine i cui valori mobiliari sono ammessi alla negoziazione in un altro Stato membro dell Unione Europea Art. 116 bis, comma 1, del

Dettagli

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 Progetto ICoNLingua Scienza senza Frontiere CsF- Italia Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 1. Introduzione La valutazione sia in itinere

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

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014 LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 Sommario Introduzione... 4 Caratteristiche del filrbox... 5 La barra principale del filrbox... 7 Elenco degli utenti... 8 Il profilo... 9 Le novità...

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015 Utilizzo della APP IrriframeVoice Versione 1.0 maggio 2015 0.0 Installazione Sul telefono o sul tablet andare sullo store delle applicazioni per scaricare la APP A seconda del sistema operativo del telefono

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

Accise Settore Prodotti Alcolici Manuale d uso

Accise Settore Prodotti Alcolici Manuale d uso Olitech Informatica Telematico Accise Accise Settore Prodotti Alcolici Manuale d uso Versione del manuale: 26-01-2010 1 Indice Accise Settore Prodotti Alcolici Manuale d uso... 1 Indice... 2 Funzionalità

Dettagli

LINEE GUIDA PER I FORNITORI

LINEE GUIDA PER I FORNITORI LINEE GUIDA PER I FORNITORI Monolotto: Presentazione delle Offerte Versione 4.1 del 01/03/2015 Indice Introduzione... 2 Procedura di partecipazione ad una gara mono-lotto... 4 - Richiesta chiarimenti...

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale SIRTEL Sistema Informativo per la Rendicontazione Telematica degli Enti Locali Schema di funzionamento del processo per l Ente Locale Sommario del documento Acronimi...3 FASE 1: REGISTRAZIONE ED ABILITAZIONE

Dettagli

Programma Gestione Presenze Manuale autorizzatore. Versione 1.0 25/08/2010. Area Sistemi Informatici - Università di Pisa

Programma Gestione Presenze Manuale autorizzatore. Versione 1.0 25/08/2010. Area Sistemi Informatici - Università di Pisa - Università di Pisa Programma Gestione Presenze Manuale autorizzatore Versione 1.0 25/08/2010 Email: service@adm.unipi.it 1 1 Sommario - Università di Pisa 1 SOMMARIO... 2 2 ACCESSO AL PROGRAMMA... 3

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore 1. Obbligo di comunicazione dei dati... 2 2. Accesso alla raccolta... 2 3. Compilazione... 6 2.1 Dati generali Sicurezza

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

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

Servizio Fonia Cloud PBX. Manuale utente. Client web RECEPTIONIST per il Posto Operatore Cloud PBX Acantho. Edizione Luglio 2015

Servizio Fonia Cloud PBX. Manuale utente. Client web RECEPTIONIST per il Posto Operatore Cloud PBX Acantho. Edizione Luglio 2015 Servizio Fonia Cloud PBX Manuale utente Client web RECEPTIONIST per il Posto Operatore Cloud PBX Acantho Edizione Luglio 2015 L a p p l i c a t i v o R e c e p t i o n i s t p e r i l P o s t o O p e r

Dettagli

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

I.N.A.I.L. Certificati Medici via Internet. Manuale utente I.N.A.I.L. Certificati Medici via Internet Manuale utente CERTIFICATI MEDICI... 1 VIA INTERNET... 1 MANUALE UTENTE... 1 COME ACCEDERE AI CERTIFICATI MEDICI ON-LINE... 3 SITO INAIL... 3 PUNTO CLIENTE...

Dettagli

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel!

Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel! Guida alla configurazione delle centrali innovaphone Versione 2.0 04-06-2006 Blue s Hotel Pro Il software che hai sempre desiderato per il tuo Hotel! Blue s Hotel Pro è la soluzione ideale per i piccoli

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

COSTER. Import/Export su SWC701. SwcImportExport

COSTER. Import/Export su SWC701. SwcImportExport SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

MANUALE BREVE PER IL DOCENTE TUTOR

MANUALE BREVE PER IL DOCENTE TUTOR MANUALE BREVE PER IL DOCENTE TUTOR INDICE ARGOMENTO PAGINA Descrizione ruolo svolto 2 Note 2 RUOLO TUTOR Modalità di accesso 3 FUNZIONI SOTTO COMUNICA: Messaggeria 5 FUNZIONI SOTTO STRUMENTI: AGENDA 10

Dettagli

Manuale Utente per candidature a procedure di selezione per la mobilità esterna

Manuale Utente per candidature a procedure di selezione per la mobilità esterna Manuale Utente per candidature a procedure di selezione per la mobilità esterna 10 novembre 2014 SOMMARIO 1. Introduzione...2 2. Nozioni di base...2 3. Candidarsi a un avviso di mobilità esterna...2 3.1

Dettagli

PC ai docenti. Comunicazione PIN

PC ai docenti. Comunicazione PIN PC ai docenti La presente guida rappresenta uno strumento informativo e di supporto all utilizzo dell applicazione Web per la comunicazione del PIN al personale docente delle scuole pubbliche di ogni ordine

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Manuale di KSystemLog. Nicolas Ternisien

Manuale di KSystemLog. Nicolas Ternisien Nicolas Ternisien 2 Indice 1 Usare KSystemLog 5 1.1 Introduzione......................................... 5 1.1.1 Cos è KSystemLog?................................ 5 1.1.2 Funzionalità.....................................

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Manuale Backoffice. 1 Introduzione. 2 Attivazione del Backoffice

Manuale Backoffice. 1 Introduzione. 2 Attivazione del Backoffice Manuale Backoffice Indice 1 Introduzione... 1 2 Attivazione del Backoffice... 1 3 Impostazione di un agenda... 3 3.1 Modificare o creare un agenda... 3 3.2 Associare prestazioni a un agenda... 4 3.3 Abilitare

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Modulo Bacheca 1 INDICE 1 Generalità...3 2 Accesso al sistema...4 2.1 Requisiti tecnici 5 3 Elenco funzioni e tasti di navigazione...6 3.1

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

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

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli