Programmazione con Java Realtà e sistemi informatici Scopo dell informatica Studiare e produrre tecnologie, tecniche e metodi per rappresentare il mondo reale mediante dati, informazioni e conoscenza che siano elaborabili da un calcolatore elettronico Produrre algoritmi ed applicazioni che permettano di effettuare per quanto possibile automaticamente tali elaborazioni Realtà e sistemi informatici 2 1
Dati informazioni e conoscenza Un dato è una rappresentazione di un oggetto (o fenomeno) del mondo reale espressa per mezzo di un formato memorizzabile ed elaborabile in un calcolatore elettronico Es. Mario è un dato memorizzato in una variabile identificata come nome Una informazione è qualunque risultato della elaborazione di un insieme di dati effettuata per un certo scopo Es. Qual è il telefono di Mario? Conoscenza è informazione costruita tramite ragionamenti di varia natura Es. Non capisco la seconda cifra del numero scritto sulla agenda, 0?375674, ma non può essere che 2, perché so che Mario vive a Milano Realtà e sistemi informatici 3 La rappresentazioni del mondo reale: vista utente osservazione rappresentazioni mentali ragionamento oggetti reali mondo reale mondo mentale azione utente Realtà e sistemi informatici 4 2
La rappresentazioni del mondo reale: vista sistema informatico input dati algoritmi oggetti reali mondo reale mondo informatico output Realtà e sistemi informatici 5 Realtà, utenti e sistemi informatici Il sistema informatico puro completamente autonomo esiste nella fantascienza nei desideri degli informatici puri, per i quali l utente è un disturbo I tre mondi coesistono e interagiscono Sistemi informativi L utente interagisce con il mondo reale Il sistema informatico non interagisce direttamente con il mondo reale Supporta l archiviazione dei dati e le decisioni Sistemi embedded L utente non interagisce direttamente con il mondo reale Il sistema informatico interagisce con il mondo reale È il tramite fra utente e mondo reale Esistono innumerevoli situazioni intermedie Realtà e sistemi informatici 6 3
Sistemi informativi mondo reale mondo mentale mondo informatico Realtà e sistemi informatici 7 Sistemi embedded mondo reale mondo informatico mondo mentale Realtà e sistemi informatici 8 4
Cosa fa l informatica? 1/2 Un sistema informatico gestisce e manipola immagini di oggetti del mondo reale interessanti per l utente Gli oggetti del mondo reale e le possibili manipolazioni sono definiti nel mondo mentale dell utente Analisi: capire gli oggetti interessanti del mondo reale cosa sono come possono essere manipolati come sono organizzati La visione del mondo dell utente è il riferimento Realtà e sistemi informatici 9 Cosa fa l informatica? 2/2 Design: progettare gli oggetti sw che modellano oggetti reali le loro interrelazioni gli algoritmi per manipolarli scegliendo le soluzioni tecnologiche (piattaforme, linguaggi ) Implementazione: realizzare programmi che fanno quanto definito nel design con pochissimi gradi di libertà Esempio: architetto, ingegnere, impresa di costruzioni Realtà e sistemi informatici 10 5
Oggetti di analisi e di disegno Come è fatta un automobile Struttura interna motore, ruote, ammortizzatori, molle, iniettori, pompa, freni, Algoritmi Come si accelera, come si frena, Informazione inutile per l utente Realtà e sistemi informatici 11 Oggetti di analisi e di disegno Cosa è un automobile Cosa si vede e cosa ci si può fare Attributi colore, dimensioni, velocità max, Comportamento (osservabile) si muove, accelera, rallenta Comandi avvia, cambia marcia, frena Informazione utile per l utente Realtà e sistemi informatici 12 6
Analisi e disegno Analisi: capire gli oggetti dal punto di vista dell utente Quelli che vengono definiti i concetti di dominio del problema Design: progettare la struttura degli oggetti software e il modo con cui collaborano per soddisfare i requisiti Errore: partire dal design Peggio: partire dall implementazione Realtà e sistemi informatici 13 Le fasi di un progetto (1/2) Inception annusare il problema Analisi capire il problema indipendentemente dagli aspetti realizzativi cosa deve fare (e a cosa serve, e a chi serve) il sistema, non come è fatto Progetto come è fatto architettura: la struttura del sistema ingegnerizzazione: le tecnologie Realtà e sistemi informatici 14 7
Le fasi di un progetto (2/2) Implementazione la realizzazione (= programmazione) Integrazione mettere insieme i pezzi Testing verificare che faccia quello che deve Manutenzione correttiva (correggere i bachi ) evolutiva (nuove esigenze, nuove tecnologie) Realtà e sistemi informatici 15 Il ciclo a cascata Inception Analisi Design Implementazione Integrazione Testing Manutenzione Realtà e sistemi informatici 16 8
Il ciclo a fontana Manutenzione Integrazione Implementazione Design Testing Testing Programmatore Progettista Analista Capo progetto Analisi Inception Analisi Design Realtà e sistemi informatici 17 9