INFORMATICA • Varie definizioni: – “Scienza degli elaboratori elettronici” (Computer Science) – “Scienza dell’informazione” • Definizione proposta: – Scienza della rappresentazione e dell’elaborazione dell’informazione ELABORATORE ELETTRONICO (“COMPUTER”) uno strumento per la rappresentazione e l’elaborazione delle informazioni L’informatica comprende: metodi per la rappresentazione delle informazioni metodi per la rappresentazione delle soluzioni linguaggi di programmazione, di coordinazione architettura dei calcolatori sistemi operativi reti di calcolatori calcolo numerico ... Ingegneria del Software Disciplina applicata da gruppi di lavoro per produrre su ampia scala software: economico di alta qualità che soddisfi le richieste dell’utente che possa essere mantenuto ed esteso nel tempo Ingegneria del Software (segue) Disciplina dell’ingegneria concernente: ricerca specifica progetto sviluppo realizzazione verifica manutenzione gestione dei sistemi software L’ing. del software comprende: tecniche di programmazione principi e strumenti di ingegneria del software interfacce uomo / macchina gestione e pianificazione del progetto algoritmi e strutture dati metodi formali, analisi e verifica dei requisiti stima e metrica del software riusabilità sicurezza, integrità e robustezza ... ARCHITETTURE MULTI-COMPONENTE • componenti software e hardware eterogenei • servizi distribuiti: i componenti forniscono servizi ad altri componenti e usano i servizi forniti da altri componenti • necessità di protocolli di comunicazione • esecuzione distribuita nel tempo e nello spazio INTERAZIONE e COORDINAZIONE • Comunicare non basta • Inter-operare non basta • Occorre poter gestire e controllare l'interazione tra i componenti • Ruolo della comunicazione: input e output • computazione e coordinazione RETI DI CALCOLATORI • Reti Locali: connettono elaboratori fisicamente vicini (nello stesso ufficio o stabilimento). • LAN (Local Area Network) Stampante di qualita` Stampante ad aghi Disk server Bus di rete Workstation Workstation Workstation Workstation Workstation RETI DI CALCOLATORI (segue) • Reti geografiche: collegano elaboratori medio-grandi situati anche a grande distanza. • WAN (Wide Area Network) Rete geografica printer Host Host PC mini Host Rete locale terminali remoti INTERNET: la rete delle reti • Internet: la rete risultante dalla interconnessione mondiale di tutte le reti. • Milioni di elaboratori (“siti”) collegati a ragnatela • World-Wide Web (WWW) INTERNET: numerazione dei siti • Ogni sito è identificato da un numero univoco (come i telefoni!): il numero IP • scritto per comodità in 4 pezzi separati da punti • 137.204.57.139 INTERNET: identificazione dei siti • Ogni sito è identificato da un nome univoco per comodità • www.deis.unibo.it • La struttura del nome fa capire dove si trova quel sito ESEMPIO • La struttura del nome fa capire dove si trova quel sito webeggs.deis.unibo.it nome del computer Dip. Elettronica, Informatica e Sistemistica ITalia UNIversità di BOlogna ALTRI ESEMPI DI SITI • • • • • • • • • www.alitalia.it www.fs-on-line.it www.meteo.fr www.nasa.gov www.city.net www.rai.it www.parlamento.it www.finanze.it www.cnn.com INTERNET: un po’ di storia • creata storicamente per esigenze militari • un tempo usata per scopi specialistici, fra università e centri di ricerca • oggi sempre più il principale strumento per... INTERNET: un po’ di storia (segue) scambiarsi rapidamente informazioni di ogni tipo trovare qualunque informazione in tempo reale sviluppare applicazioni distribuite coordinare gruppi di lavoro ... INTERNET: i servizi lettura ipertesti in linea trasferimento file posta elettronica terminale remoto gruppi di discussione transazioni sicure http ftp mailto telnet news https … e tutto ciò che su questo si può costruire! (commercio elettronico, prenotazioni …) “NAVIGARE” SULLA RETE Per “navigare” occorre: un “navigatore” Microsoft Internet Explorer Netscape Navigator (ne esistono decine, gratuiti, per qualsiasi tipo di computer e di sistema operativo) conoscere l’indirizzo del sito che interessa (URL) http://www.repubblica.it ftp://volftp.tin.it “NAVIGARE” SULLA RETE INFORMAZIONE... …, ORARI, BIGLIETTI, ... …, RETI CIVICHE ... COME CREARE UNA “PAGINA WEB”? • Con un programma di videoscrittura • Con un programma apposito • in grado di creare documenti nel formato proprio delle pagine Internet: HTML • Ad esempio: – Microsoft FrontPage (Express) – Netscape Composer – quasi tutte le ultime versioni dei più noti applicativi di videoscrittura, presentazione, editing... CREARE UNA “PAGINA WEB” CREARE UNA “PAGINA WEB” LA POSTA ELETTRONICA (e-mail) • Concettualmente analoga alla posta normale • Per spedire un messaggio a qualcuno occorre conoscere l’indirizzo di posta elettronica della persona [email protected] Nome persona Dip. Elettronica, Informatica e Sistemistica ITalia UNIversità di BOlogna LA POSTA ELETTRONICA (segue) • Per ricevere un messaggio da qualcuno occorre avere un proprio indirizzo di posta elettronica su un qualche sito “account” • Tale sito deve essere sempre acceso e collegato per poter ricevere la posta e metterla nella opportuna mailbox (casella postale) COMUNICARE SULLA RETE Per spedire/ricevere posta elettronica occorre: un “programma di posta” Eudora (Light / Pro) Microsoft Outlook Express Netscape Messenger (ne esistono decine, gratuiti, per qualsiasi tipo di computer) che consente di inoltrare al sito i messaggi da spedire prelevare dal sito i messaggi arrivati COMUNICARE SULLA RETE INTERNET… A CASA PROPRIA? • Per essere “in rete” occorre che “il filo di Internet” arrivi sul proprio computer • Ma Internet collega direttamente solo reti geografiche di università, centri di ricerca, etc • …e il mio computer di casa? INTERNET… A CASA PROPRIA! Idea: a casa arriva già le rete telefonica posso usare il filo del telefono per arrivare da casa a un sito collegato a Internet MODEM • Ma…dove telefonare? – Perché qualcuno dovrebbe lasciarmi usare il suo sito per collegarmi a Internet?? L’INTERNET SERVICE PROVIDER (ISP) Provider: qualcuno che ha un sito collegato a Internet in via permanente (sempre acceso) ... e consente di accedere a Internet telefonando presso di lui Richiede un abbonamento – ieri a pagamento, oggi anche gratuito – ..ma la telefonata si paga sempre!! L’ELABORATORE ELETTRONICO • uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari • le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati) • l’esecuzione di azioni viene richiesta all’elaboratore attraverso frasi scritte in un qualche linguaggio (istruzioni) PROGRAMMAZIONE • L’attività con cui si predispone l’elaboratore a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema DATI INPUT Elaboratore Elettronico RISULTATI OUTPUT I PROBLEMI DA RISOLVERE Hanno natura molto varia: • Trovare il maggiore fra due numeri • Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona • Dati a e b, risolvere l'equazione ax+b=0 • Stabilire se una parola precede un’altra • Identificare e prenotare aerei, treni, hotel... • Ordinare una lista di elementi • Creare, modificare e alterare suoni, canzoni, ... • Analizzare e riconoscere immagini IL PUNTO La descrizione del problema non indica direttamente (in genere) un modo per ottenere il risultato voluto Differenza tra specifica di un problema e specifica del processo di risoluzione Risoluzione di un problema E’ quel processo che dato un problema individuato un opportuno metodo risolutivo trasforma i dati iniziali nei corrispondenti risultati finali ALCUNE DOMANDE • Si può risolvere un problema senza prima fissare un insieme di “mosse elementari” possibili per l’elaboratore? No, bisogna prima scendere al livello della macchina, per conoscerne le caratteristiche Ma… quale macchina? ALCUNE DOMANDE (segue) • Ma... è corretto impostare la soluzione a partire da tali mosse elementari ? SI, per risolvere il problema in modo efficiente NO, se la macchina di partenza ha mosse di livello troppo basso Occorre risalire a un più adeguato livello di astrazione ASTRAZIONE • Processo di aggregazione di informazioni e dati • e di sintesi di modelli concettuali che – ne enucleano le proprietà rilevanti – escludendo i dettagli inessenziali