Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:



Documenti analoghi
Componenti di una applicazione. Esempio: Microsoft Word

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

Base di dati e sistemi informativi

Sistemi informativi secondo prospettive combinate

Laboratorio di Informatica

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

BrokerINFO La soluzione integrata per la distribuzione dei dati dei mercati finanziari. Advanced Advanced Technology Solutions

Modulo: Fogli elettronici

Il calcolatore - Applicazioni

Il Sistema Operativo (1)

7.4 Estrazione di materiale dal web

Corso di Basi di Dati e Conoscenza

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Progettaz. e sviluppo Data Base

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

Prova di informatica & Laboratorio di Informatica di Base

Access. P a r t e p r i m a

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

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Tecnologia.

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Sistemi Informativi e Basi di Dati

Anagrafica. Check-List. Autocomposizione guidata

Microsoft Word Microsoft Word 2002

Protocollo. Outlook Documenti

Modulo 2 Uso del computer e gestione dei file

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

La Metodologia adottata nel Corso

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Cosa è un foglio elettronico

Corso di Informatica

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Corso Online Analista Programmatore Microsoft

Lezione 1. Introduzione e Modellazione Concettuale

SDD System design document

FPf per Windows 3.1. Guida all uso

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

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

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

VPN RETI PRIVATE VIRTUALI: ACCESSO REMOTO

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

CONOSCENZE Sapere Riconoscere e descrivere con terminologia

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Capitolo 3 Guida operativa del programma TQ Sistema

Guida n 7 ! " # $ % & 10. " & ' " & ' ( ) " ) * $,

Corso Analista Programmatore Microsoft. Corso Analista Programmatore Microsoft Programma

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

Database e reti. Piero Gallo Pasquale Sirsi

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

IMPORTAZIONE DI GRAFICI E TABELLE DA EXCEL A WORD

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Archiviazione digitale per SAP con DocuWare

Più veloce. Più veloce, più intuitivo, più ricco, più compatibile: tutto questo in DIMS 3.0 Consultazione.

Sistema di Gestione Documentale V.2.5.x. ARCHIVIAZIONE OTTICA, FASCICOLAZIONE E PROTOCOLLO V.2.5.x

Laboratorio informatico di base

Microsoft Access. Microsoft Access

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Guida Rapida di Syncronize Backup

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Uso del computer e gestione dei file. Elaborazione testi. Foglio elettronico. Strumenti di presentazione

Scenario di Progettazione

Proposta UNIF Progetto: Portale delle fonti di energia rinnovabile. Obiettivi

capitolo 8 LA CHECKLIST PER LA VALUTV ALUTAZIONEAZIONE TECNOLOGICA

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Il database management system Access

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Informatica I per la. Fisica

Faber System è certificata WAM School

Concetti base. Impianti Informatici. Web application

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Al giorno d oggi, i sistemi per la gestione di database

Istruzioni per l installazione

Basi di dati. Basi di dati = database. Basi di dati

ISTITUTO TECNICO ECONOMICO MOSSOTTI

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Come usare P-touch Transfer Manager

Client - Server. Client Web: il BROWSER

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Aggiornamenti Sistema Addendum per l utente

IRSplit. Istruzioni d uso 07/10-01 PC

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

Introduzione a JDConnector

ARCHIMEDIA Il Programma di ARCHIVIAZIONE OTTICA

Sicurezza dei file Le protezioni nei programmi

RETI INFORMATICHE Client-Server e reti paritetiche

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Transcript:

Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation layer) incaricato di controllare i comandi e i dati che l utente fornisce come input e di presentare come output i risultati dell esecuzione del programma. Un sottosistema di logica applicativa ( LA, business logic layer) che implementa gli specifici algoritmi di manipolazione dei dati che caratterizzano l applicazione. Un sottosistema di gestione dei dati ( GD, data layer) che si occupa dell organizzazione dei dati, della loro memorizzazione e del loro reperimento efficiente

Esempio: Microsoft Word IU: finestre, icone, menù. LA: formattazione dei caratteri, ricerche e sostituzioni, controllo dell ortografia GD: testi che vengono scritti, modelli, dizionari.

Indipendenza concettuale ed implementazione. Es. sistemi monolitici con sottosistemi IU e GD realizzati ad hoc in funzione di LA (anni ottanta). Problemi per lo sviluppo: necessità di riprogettare IU e GD per ogni applicazione. Problemi per l utente: necessità di utilizzare interfacce diverse. Problemi con GD: accessibilità ai dati solo attraverso il programma che li ha immessi.

Il sottosistema IU- Intefaccia Utente Interfaccia a linea di comando conta1 conta il numero di occorrenze di un carattere all interno di una stringa. Se viene specificato il terzo argomento, il conteggio viene effettuato senza distinguere tra maiuscole e minuscole. Uso: conta1 -c<carattere> -s <stringa> [-m] < > testo variabile [..] testo opzionale >conta1 -ce -s E l esempio di un programma Numero di occorrenze: 2

1. l utente specifica tutti i parametri di input e mette in esecuzione il programma; 2. Il programma viene eseguito: 3. Il risultato prodotto viene presentato all utente come output del programma. 4. L esecuzione termina. L interfaccia gestisce l interazione con l utente in modo integrato (interfaccia di tipo batch)

>conta 2 Conta il numero di occorrenze all interno di una stringa Carattere: a Stringa: Ancora una prova Distinguere tra minuscole e maiuscole <S/N>? N Numero di occorrenze: 4

Interfacce interattive modali 1.L utente mette in esecuzione il programma 2. Il programma attiva una sessione domande-risposte per ottenere dall utente i parametri di input 3. Viene eseguita la parte del programma che opera sui parametri di input per ottenere il risultato 4. Il risultato ottenuto viene presentato all utente come output del programma; l esecuzione termina. In ogni istante l utente non può che rispondere alla domanda che gli è posta, disponendo al più dell opzione per interrompere il dialogo (es. ESC).

Interazione non modale. 1. L utente mette in esecuzione il programma 2. Il programma attiva un interfaccia utente interattiva non modale e si mette in condizione di ascolto 3. Fino a che l utente non seleziona il pulsante per terminare l esecuzione del programma: a. L utente immette i parametri b. L utente seleziona il pulsante che mette in esecuzione la parte di programma che opera sui parametri di input per ottenere il risultato c. Il risultato ottenuto viene mostrato all utente 4. l esecuzione termina

Caratteristiche dell interfaccia interattiva non modale Maggiore complessità. Condizione di ascolto del programma in cui gestisce gli eventi di interfaccia utente che l utente genera Presentazione dello stato dell esecuzione. Il pulsante che attiva il conteggio potrebbe essere mantenuto disattivo (non selezionabile) fino a che entrambe le caselle di testo non sono state compilate. Molteplicità negli strumenti di input. Stessa funzionalità acquisibile in modi diversi(es. Ctrl-c, menù Modifica e voce copia, tastiera o mouse, etc..). In futuro: voce, riconoscimento testo scritto a mano. Stile d uso dell utente.

Numerosità delle funzioni. Es. Microsoft Word (alcune centinaia di funzioni). Interfacce consistenti Accesso a funzioni analoghe in modo analogo (minimizzare lo sforzo cognitivo dell utente) Sistemi GUI (Graphical User Interface). Introdotta da APPLE con il Macintosh, 1984.( Es. X-Windows, ambiente Unix-Linux, Microsoft Windows). Widget (window object). Elementi di una finestra (barra del titolo, menu, barre di scorrimento, pulsanti,..) con un estetica riconoscibile cui corrispondono funzioni ormai uniformi (standard)

Sottosistema GD-gestione dei dati DBMS (Data Base Management System).Una tecnologia consolidata per la gestione di dati persistenti (cioè che devono essere mantenuti in modo permanente e non solo durante la esecuzione del programma): efficiente memorizzazione ed accesso a grandi quantità di dati. Basati sul modello relazionale: Oracle, SQL Server, DB2, Informix, Access. Caratteristica: interfaccia comune per la definizione della struttura del DB, l amministrazione del DB stesso e l accesso ai dati, ottenuta con l impiego del linguaggio SQL. OLE DB (legato al mondo Windows), JDBC(legato al mondo Java): interfacce di programmazione che consentano di accedere con la stessa logica tabellare non solo ai dati contenuti in DBMS, ma anche a file sequenziali, a fogli di calcolo (spreadsheet), a liste di messaggi di posta elettronica.

Applicazioni come sistemi Obiettivo: riutilizzo del codice Libreria di sottoprogrammi:contiene programmi utilizzabili da altri programmi dopo aver importato la libreria nel programma. API (Application Program Interface) : documentazione della semantica e della sintassi dei vari sottoprogrammi inclusi nella libreria

Descrizione dell interfaccia per un sottoprogramma che determina il giorno della settimana corrispondente ad una data: intestazione Semantica Sintassi Giorno della settimana Fornisce in output il giorno della settimana corrispondente alla data indicata in input Uso: stringa= GiornodellaSettimana (data) Esempio: x= giorno della settimana ( 19.08.2004 ) if x= domenica then print Buona domenica

Linguaggi orientati agli oggetti ( object oriented ). Librerie come alberi di classi, cioè insieme di classi, ciascuna con metodi e proprietà, strutturate secondo la relazione di ereditarietà. Linguaggio Java (C++) caratterizzato da un ricchissimo insieme di librerie. Possibilità di costruire i programmi in forma modulare, come sistemi che assemblano in modo organico componenti definite. Early binding: collegamento dei componenti richiesti al programma principale al momento della generazione del codice. Late binding: collegamento dei componenti richiesti al programma principale al momento dell esecuzione

Applicazioni come sistemi distribuiti I sottosistemi di un applicazione( IU,LA,GD) possono essere residenti ed eseguiti su calcolatori diversi. Modello client- server. Se l utente opera con un calcolatore ( PC, palmare, telefono cellulare) connesso alla rete, l unico sottosistema che deve essere eseguito localmente è IU (componente client dell applicazione). LA e GD (componente server dell applicazione) possono risiedere ed essere eseguiti su un calcolatore remoto connesso alla rete.

client richiesta risposta server

Vantaggi dell architettura C/S L utente si deve preoccupare solo della parte IU. I problemi relativi ad LA (es. aggiornamento dei programmi) e GD (es. procedure necessarie per garantire la sicurezza ed integrità dei dati) sono delegati ad altri. Possibilità di condivisione di servizi applicativi e dati da parte di più client che possiedono l apposito sistema IU e che sono autorizzati ad accedervi.

Esempio Applicazione per effettuare la somma di due numeri. 1. Interagendo con il client l utente specifica due numeri. 2. Il client attiva la richiesta al server, passandogli i due numeri come parametri. 3. Il server riceve la richiesta ed attiva il sottoprogramma sommatore, passandogli i due parametri ricevuti. 4. Il sottoprogramma sommatore produce il risultato e lo rende disponibile. 5. Il server invia tale risultato come risposta al client. 6. Il client riceve la risposta e ne visualizza il contenuto per l utente.

Protocollo di applicazione Insieme di regole stabilite convenzionalmente per consentire il dialogo tra client e server. Esempio precedente: il protocollo deve specificare: -il formato con cui il client deve inviare i due numeri da sommare (potrebbero essere separati da un carattere speciale, es. +) -il formato con cui il server deve inviare il risultato al client

Architettura Client/Server Architettura a due livelli LA e GD costituiscono il componente server, mentre IU è la componente client (sistema C/S a due livelli con client magro ) IU e LA costituiscono la componente client (sistema C/S a due livelli con client grasso ). LA è suddivisa tra client e server (sistema client server a due livelli con soluzione mista). Architettura a tre livelli LA è situata su un server dedicato (application server).