EUCIP livello core B - Area di Realizzazione Sistemi Informativi (Build) Acquisition, Development and Implementation of Information Systems
|
|
- Giorgina Spano
- 8 anni fa
- Visualizzazioni
Transcript
1 The true test of character is not how much we know how to do, but how we behave when we don t know what to do. John W. Holt, Jr. EUCIP livello core B - Area di Realizzazione Sistemi Informativi (Build) 1 Acquisition, Development and Implementation of Information Systems
2 2
3 BUILD: Categorie B.1 Systems Development Process and Methods B.2 Data Management and Databases B.3 Programming B.4 User Interface and Web Design 3
4 B.1 System Development Process and Methods B.1.1 Software in Data Processing Systems B Describe a data processing system as a combination of hardware, firmware, operating system software, application software, system configuration data and user-defined data. B Recognise and list examples of system software. B Recognise and list examples of application software. 4
5 B - BUILD/ B.1 System Development Process and Methods / B.1.1 Application software and system software Data Processing System User Application Data System Configuration Data 5 Firmware
6 B - BUILD/ B.1 System Development Process and Methods / B.1.1 Application software and system software software applicativo e di sistema Business Software ERP Office Workflow Entertainment & Games DataBase Management System Educational Multimedia Publishing Social (was Communication) 6 Device drivers Operating systems Grafical User Interface
7 B - BUILD/ B.1 System Development Process and Methods / B.1.1 Application software and system software ERP Enterprise Resource Planning 7
8 Publishing 8
9 Publishing & Ebook During Jeff Bezos' presentation of the new Kindles, he flashed the slide below which shows the phenomenal growth of Amazon's Kindle ebook sales I n comparison to physical book sales 9
10 Multimedia Tinyshark 8 Tracks Bambuser
11 Social Instant Messaging: ICQ, MSN Messenger,Yahoo! Messenger Internet Forums Wiki ( dalla parola Hawaiana [viti] che significa veloce. Ward Cunningham, the developer of the first wiki software (1995), WikiWikiWeb, originally described it as "the simplest online database that could possibly work. Blogs (contrazione di Web Logs): Wordpress, Drupal. Weebly Social Network Services: Facebook, Google+, Twitter, Linkedin, Foursquare Social Bookmarking: Del.icio.us Virtual Worlds: Second Life, MMOG (Massively Multiplayer Online Games)
12 Operating System Tux Windows XP Windows Vista Windows 7 Windows 8 Mac OS X GNU Linux Distribuzioni: Debian Fedora Knoppix Mandriva Red Hat Slackware SuSE Ubuntu
13 Sistemi Operativi Smartphone & Tablet
14 Sistemi Operativi Smartphone
15 Applicazioni Android
16 La mutazione In video la lunga lezione che Alessandro Baricco ha tenuto al cinema Anteo di Milano su i barbari e la mutazione (7 parti) "Il timore di essere sopraffatti e distrutti da orde barbariche è vecchio come la storia della civiltà. Immagini di desertificazione, di giardini saccheggiati da nomadi e di palazzi in sfacelo nei quali pascolano le greggi sono ricorrenti nella letteratura della decadenza dall'antichità fino ai giorni nostri". Wolfgang Schivelbush - La cultura dei vinti 16
17 Chi è? "Eleganza, purezza e misura, che erano i principi della nostra arte, si sono gradualmente arresi al nuovo stile, frivolo e affettato, che questi tempi, dal talento superficiale, hanno adottato. Cervelli che, per educazione e abitudine, non riescono a pensare a qualcosa d'altro che i vestiti, la moda, il gossip, la lettura di romanzi e la dissipazione morale, fanno fatica a provare i piaceri, più elaborati e meno febbrili, della scienza e dell'arte. Xxxxxxxx scrive per quei cervelli, e in questo pare che abbia un certo successo, se devo credere agli elogi che, da ogni parte, sento fiorire per questo suo ultimo lavoro". The Quarterly Musical Magazine and Review 17
18 Multitasking & Virtual Memory Multitasking Virtual Memory
19 Device Driver Insieme di procedure, che permette ad un sistema operativo di pilotare un dispositivo hardware. Il driver permette al sistema operativo di utilizzare l'hardware senza sapere come esso funzioni, ma dialogandoci attraverso un interfaccia standard che astrae dalla implemenrtazione dell'hardware e che ne considera solo il funzionamento logico. In questo modo hardware diverso costruito da produttori diversi può essere utilizzato in modo intercambiabile. Ne consegue che un driver è specifico sia dal punto di vista dell'hardware che pilota, sia dal punto di vista del sistema operativo per cui è scritto. Il driver è scritto solitamente dal produttore del dispositivo hardware, dato che è richiesta un'approfondita conoscenza dell'hardware.
20 B.1 System Development Process and Methods B.1.2. Systems Development Life Cycles B Describe the typical phases of systems development B Compare the various classical models of systems development life cycle B Describe the life-cycle of a system B Outline specifications for requirements and design 20
21 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Fasi del Ciclo di vita del software 21
22 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Fasi del Ciclo di vita del software 22
23 PRACTICE Happiness nel Ciclo di vita del software 23
24 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - WATERFALL Ogni fase è concatenata in sequenza alla successiva, a cui trasmette le informazioni necessarie per la prosecuzione delle attività. Per ogni passaggio viene effettuata una revisione ed approvazione (design review), che serve da presupposto per il passaggio all attività seguente. E un modello solido e robusto, ma limitato da una struttura poco flessibile. Richiede che tutti i requisiti siano ben definiti all inizio, perchè rivedere le esigenze nelle fasi successive o correggere gli errori ha un costo molto elevato. 24
25 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - PROTOTYPING Spesso un cliente definisce un insieme generale di obiettivi per il software, ma non fornisce un livello dettagliato di requisiti Esempio: Interfaccia Utente In questi casi il Modello Prototipale può essere la soluzione migliore 25
26 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - PROTOTYPING 26
27 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - PROTOTYPING L obiettivo principale di un prototipo è l identificazione di requisiti software. Il prototipo può essere di tipo evolutivo, oppure usa e getta (throw away). Limiti del modello evolutivo (Qualità, Efficienza) E importante definire le regole del gioco 27
28 B - BUILD / B.1 System Development Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - INCREMENTAL Questo modello combina elementi del modello Waterfall con la filosofia iterativa del modello Prototipale. Ogni ciclo Waterfall produce un Incremento rilasciabile del software Focus sul rilascio di un prodotto utilizzabile Questo modello si applica perfettamente nei progetti in cui: Alcune funzionalità di base sono richieste in anticipo. I requisiti sono definiti, ma è possibile ritardare la loro realizzazione. Non è possibile (vincoli di risorse/del rischio) rilasciare tutte le funzionalità allo stesso tempo. Dati i requisiti è complesso disegnare fin dall'inizio la funzionalità. 28
29 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System Implementation Data Migration 29
30 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System Implementation End User Training 30
31 B.1 System Development Process and Methods B.1.3. System Development Tools B Outline the use of tools at different stages of systems development B Outline the strengths development environments and weaknesses of different B Outline the use of simple development tools for editing 31 software
32 B - BUILD / B.1 System Development Process and Methods/ B.1.3 System Development Tools Strumenti per lo sviluppo di sistemi I CASE sono strumenti che applicano i principi dell ingegneria del software sia all analisi che allo sviluppo e con lo scopo di automatizzare la produzione dei sistemi. Esistono stumenti che supportano il reverse-engineering, che permettono di ricostruire a ritroso il percorso effettuato in fase di sviluppo. Upper-CASE Supportano le fasi iniziali del processo (analisi dei requisiti e progettazione) Lower-CASE supportano le fasi finali (programmazione, debugging, testing) 32
33 B - BUILD / B.1 System Development Process and Methods/ B.1.3 System Development Tools Strumenti per lo sviluppo di sistemi CVS Concurrent Versioning System or VCS Version Control System 33
34 B.1 System Development Process and Methods B.1.4. System Testing and Deployment B Describe the different types of testing and review applied during the system development B Describe the main issues in the system implementation phase B Outline the strengths and weaknesses of different implementation approaches B List the typical components of system user manuals and technical reference documents. 34
35 B - BUILD / B.1 System Development Process and Methods/ B.1.4 Software and SystemTesting Testing e collaudo dei sistemi software Definizione di VERIFICA secondo IEEE (Institute of Electrical and Electronics Engineers) L insieme delle attività di revisione, ispezione, collaudo, prova formale, indagine che definisce e attesta come gli oggetti, i processi, i servizi e i documenti siano conformi ai requisiti specificati 35
36 B - BUILD / B.1 System Development Process and Methods/ B.1.4 Software and SystemTesting Testing e collaudo dei sistemi software GESTIONE DELLA RINTRACCIABILITA PROVE FORMALI verificare da un punto di vista logico-matematico la correttezza del software Esempio: Realizzazione di protocolli di comunicazione, Sistemi di cifratura e sicurezza COLLAUDO definisce delle condizioni operative e verifica il sistema usando un ampio numero di input, confrontando i risultati effettivi con quelli attesi e valutandone la corrispondenza o o o Test che controllano l AFFIDABILITA : Volume test: massimo carico di lavoro previsto dalle specifiche Stress test: carico di lavoro eccezionale, non previsto dalle specifiche Test che controllano l EFFICIENZA: Performance test: verifica che i tempi di risposta siano compatibili con i requisiti Storage use test: valuta la quantità di memoria necessaria Test che controllano la PORTABILITA : Configuration test: verifica che il prodotto sia supportato su qualsiasi piattaforma Compatibility test: compatibilità con prodotti/altre applicazioni con cui deve operare 36
37 B - BUILD / B.1 System Development Process and Methods/ B.1.4 Software and SystemTesting Testing e collaudo dei sistemi software V - MODEL 37
38 B - BUILD / B.1 System Development Process and Methods/ B.1.4 Software and SystemTesting Testing e collaudo dei sistemi software Black-Box testing (Copertura Logica): In questo caso non conosciamo come è fatto il modulo che vogliamo testare. Il nostro focus sarà sul comportamento input-output che sarà definito dalle specifiche. Il test può essere effettuato da una terza persona che non ha sviluppato il modulo e può essere automatizzato. White-Box testing (Copertura Topologica): La conoscenze approfondita del modulo permette di testare con un maggior livello di dettaglio. I dati di input possono essere scelti in modo che ogni istruzione sia eseguita almeno una volta. Più difficile da implementare ma è in grado di rilevare un maggiore numero di errori. 38
39 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - Documenti Studio di fattibilità Requisiti Specifiche Funzionali Disegno Architetturale Specifiche di Progettazione Specifiche di Test Specifiche d Integrazione Report di Test Report d Integrazione Manuale d Installazione 39 Codice Codice dei Test Manuale Utente
40 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Requirements Process - Libri Mastering the Requirements Process (3rd Edition) To listen well is as powerful a means of communication and influence as to talk well. John Marshall, Chief Justice of the United States 40
41 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - Libri 41
42 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software - Libri 42
43 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies Modelli per lo sviluppo software Casi d uso 43
44 B - BUILD / B.1 SD Process and Methods/ B.1.2 System Development principles and methodologies DFD Data Flow Diagram 44
45 B.1 System Development Process and Methods B.1.5. System Control and Safety B Distinguish between development, test and production environments B Recognise risks related to system failures B Describe the day-to-day security routines in a distributed system 45
46 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Sicurezza Secondo le norme ISO la sicurezza è definita come l insieme degli sforzi dedicati ad assicurare la protezione dei dati e delle risorse di sistema in termini di integrità, riservatezza e disponibilità INTEGRITA - Integrity prevenire la modifica inopportuna di dati o funzionalità del sistema RISERVATEZZA - Confidentiality è stata definita da International Organization for Standardization (ISO) in ISO come: "ensuring that information is accessible only to those authorized to have access DISPONIBILITA - Availability il tempo in cui un sistema è disponibile ad operare in uno stato affidabile 46
47 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety RAID Redundant Array of Independent Disk 47
48 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Cluster Architecture 48
49 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Architettura DMZ DeMilitarized Zone 49
50 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Availaibility Indici di misura MTBF Mean Time Between Failures MTTR MeanTime To Repair MTBF Availaibility (%) MTBF + 50 MTTR
51 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Sicurezza Altri concetti di sicurezza: IDENTIFICAZIONE AUTENTICAZIONE L autenticazione tramite password viene definita debole perchè: La password ha generalmente una lunghezza limitata La password può essere scoperta facilmente La password viaggia spesso in chiaro sulla rete di comunicazione Algoritmi di hash che consentono di non far viaggiare in chiaro i dati Autenticazione con riconoscimento biometrico: Riconoscimento delle impronte digitali (fingermarks) Scansione della retina (retina scan) NON RIPUDIO Consente di associare il dato a colui che lo ha sottoscritto 51
52 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Crittografia Simmetrica 52
53 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Crittografia Asimmetrica 53
54 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Firma Digitale 54
55 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Firma Digitale 55
56 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Security Policy - Scopo Con la rapida evoluzione dell ICT, i sistemi informatici hanno assunto importanza centrale nell assetto organizzativo e funzionale delle imprese e delle istituzioni. La diffusione delle tecnologie fondate sul paradigma della Rete poi, ha favorito il ridisegno dei confini organizzativi dell impresa, sempre più aperta e connessa con altri soggetti e sistemi informatici. In questo contesto, l adozione di efficaci politiche di sicurezza informatica ha rilevanza cruciale, in quanto da essa possono dipendere le stesse sorti dell impresa/istituzione. Si tratta di un compito non facile, in ragione soprattutto dei continui cambiamenti delle tecnologie e dell elevato impegno operativo, organizzativo e finanziario richiesto a tutti i livelli della struttura aziendale. 56
57 B - BUILD / B.1 System Development Process and Methods/ B.1.5 System control and safety Security Policy Principi Generali Le misure di sicurezza devono essere conformi ai requisiti di business aziendali, nonché alle normative vigenti. La sicurezza riguarda tutti e la consapevolezza individuale gioca un ruolo fondamentale nel conseguimento degli obiettivi di sicurezza prefissati. Le misure di sicurezza devono essere efficaci e comprensibili e bilanciate rispetto ai relativi costi. La sicurezza richiede una combinazione di misure tecniche e organizzative. È necessario che la sicurezza sia pianificata e integrata nelle attività di sviluppo dalle fasi iniziali. Le autorizzazioni devono essere basate sul principio del "need-to-know" correlato al business aziendale.. La sicurezza deve essere continuamente monitorata. 57 Fonte: OCSE, Guidelines for the Security of Information Systems;
58 B.1 System Development Process and Methods B.1.6. Trends in Systems Development B Describe standard and innovative approaches B Understand the impact of current technical architecture developments B Describe the complexity of modern system of systems 58
59 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Tendenze evolutive nello sviluppo dei sistemi La necessità di standardizzare i processi software nasce dall esigenza di assicurarne la qualità in base a determinati parametri di riferimento Enti specializzati nella regolamentazione del processo di produzione software: ISO (International Organization of Standardization) IEEE (Institute of Electrical and Electronics Engineers) SEI (Software Engineering Institute) ANSI (American National Standard Institute) CEN (Comité Europée de Normalisation) UNI (Ente Nazionale Italiano di Unificazione) 59
60 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement ISO
61 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement ISO 9000 ISO 9000 identifica una serie di norme e linee guida sviluppate dall ISO, che propongono un sistema di gestione per la qualità, pensato per tenere sotto controllo i processi aziendali indirizzandoli alla soddisfazione del cliente. Le ISO 9000 attualmente (dall'anno 2000 in avanti) sono suddivise in: ISO 9000 descrive terminologia e principi essenziali dei sistemi di gestione qualità e della loro organizzazione ISO 9001 per la definizione dei requisiti dei sistemi qualità ISO 9004 è la linea guida per il miglioramento delle prestazioni delle organizzazioni 61
62 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement CMM - Capability Maturity Model Il modello CMM del Software Engineering Institute, valuta il grado di maturità dell approccio alla qualità. Consente di classificare le aziende in base all effettivo approccio alla qualità da esse attuato. 62
63 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Software Estimation described in Steve McConnell s book Rapid Development 63
64 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Function Points 64
65 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Capers Jones 65
66 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Capers Jones 66
67 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Capers Jones 67
68 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Capers Jones 68
69 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Capers Jones - libri 69
70 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Metodologie Agili You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete. RICHARD BUCKMINSTER FULLER Le metodologie agili nascono alla fine degli anni 90 con l avvento dei sw per il web. Keypoint: I requisiti cambiano Esempi: Spesso il cliente, soprattutto all inizio di un progetto, non sa quel che vuole Spesso un cliente non sa esprimere quel che vuole (es. non conosce la terminologia) Spesso un cliente ha dei motivi per non esprimersi compiutamente Il cliente cambia semplicemente opinione E stato necessario definire una metodologia di sviluppo software che prendesse in considerazione cambiamenti frequenti nei requisiti. Le metodologie agili non sono predittive, non cercano di prevedere come evolverà il sistema software, bensì sono adattive, ossia cercano di capire le pratiche migliori per meglio adattarsi all evoluzione dei requisiti utente. 70
71 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Metodologie Agili Nell ingegneria del software, per metodologia agile (o leggera) o metodo agile si intende una particolare metodologia di sviluppo del software che coinvolge quanto più possibile il cliente e che ha come fine quello di ridurre il rischio di fallimento nello sviluppo software. Gran parte dei metodi agili tenta di ridurre il rischio di fallimento sviluppando il sw in finestre di tempo limitate chiamate iterazioni. Una iterazione è un piccolo progetto a sé stante che si compone di: Analisi dei requisiti Planning Implementazione e Testing Documentazione Gli scopi sono: permettere al cliente di seguire lo sviluppo e dargli la possibilità di testare dare agli sviluppatori la possibilità di risolvere i bug e gli errori riscontrati dai clienti iterazione dopo iterazione si giungerà al prodotto finale che il cliente desidera extreme Programming (XP),SCRUM,Feature Driven Development, Dynamic Systems Development Method (DSDM),Crystal 71
72 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Metodologie Agili 72
73 PRACTICE Metodologie Agili 73
74 PRACTICE Estimation: the Agile viewpoint 74
75 PRACTICE Metodologie Agili 75
76 PRACTICE Metodologie Agili It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change. CHARLES DARWIN 76
77 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement Three-Tier Application 77
78 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture 78
79 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture Per il chief information officer (CIO), SOA riduce il lifetime cost dell application portfolio, massimizza il return on investment (ROI) sia delle applicazioni e delle risorse tecnologiche, e riduce i tempi per il rilascio di soluzioni al business.. Per il business executive, SOA è un insieme di servizi che può essere reso disponibile a clienti, partners, e altre parti dell organizzazione. Le capacità di Business, le funzioni, e la logica di business può essere combinata e ricombinata per soddisfare le necessità del business oggi e domani. Le applicazioni servono il business perchè sono composte di servizi che possono essere velocemente modificata e redeployed in nuovi contesti di business Permettendo al business di rispondere rapidamente alle necessita dei clienti, alle opportunità di business, e alle condizioni di mercato. Per il business analyst, SOA è un modo per unlocking the value, perchè i processi di business non sono più locked negli application silos. Le applicazioni non si comportano più come inibitori al cambiamento delle necessità di business. 79
80 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture. Per il chief architect o enterprise architect, SOA è un modo per creare applicazioni dinamiche, alltamente configurabili e collaborative costruite per il cambiamento. SOA riduce la complessità e la rigidità IT contrastando la graduale entropia che rende le applicazioni fragili e difficili da modificare. SOA riduce costi e tempi perchè riduce la complessità rendendo più facile la modifica e il test delle applicazioni quando sono strutturate per usare I servizi. Per l IT architect, SOA è una soluzione architetturale per integrare diversi sistemi fornendo uno stile architetturale che promuove il loose coupling e il riuso. Per il developer, SOA is è un modello o paradigma di programmazione dove i web services e i contracts diventano la progettazione dominante per l interoperabilità. Un web service usa il Web Service Description Language (WSDL) o una specifica equivalente per descrivere il servizio. I Web services abilitano le organizzazioni a comunicare, usando messaggi, senza una conoscenza intima dei diversi sistemi. 80
81 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture 81
82 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture Delivering on the promises of SOA improved business agility maximized ROI, q reduced IT complexity and rigidity q reduced costs q reduced lead times q reduced risk q new opportunities to deliver value q increased participation in value networks q incremental implementation q q Richiede una visione olistica della SOA. Se limitiamo la visione della SOA ad un singolo stakeholder (e.g., IT architect, developer, o business analyst) i benefici non verranno maturati perchè la SOA diventerà semplicemente l ennesimo elemento di una lunga lista di tecnologie sopravvalutate piuttosto di essere un nuovo approccio per costruire soluzioni flessibili di business. 82
83 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture Un servizio in SOA è una logical, self-contained business function. I servizi in SOA hanno I seguenti attributi: Stateless: I servizi SOA non ricordano l ultima cosa che è gli è stata richiesta di fare nè si prendono cura di quale sarà la prossima. I servizi non sono dipendenti dal contesto o dallo stato di altri servizi. Il World Wide Web fornisce un eccelente esempio, dove ogni richiesta dell utente di una pagina web non influenza in nessun modo la richiesta successiva. Discoverable: Un servizio deve essere discoverable dai potenziali utilizzatori del servizio.dopo tutto, se non si conosce l esistenza di un servizio probabilmente questi non verrà mai usato. I servizi vengono pubblicati ed esposti dai service providers nelle SOA service directory, da dove vengono discovered and invoked dai service consumers. Self-describing: L interfaccia del servizio SOA descrive, espone, e fornisce un entry point al servizio. L interfaccia contiene tutte le informazioni di cui un service consumer ha bisogno per rilevare e connettersi al servizio, senza che consumer comprenda (o veda) i dettagli tecnici di implementazione. 83
84 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture Composable: I servizi SOA sono, per natura, compositi. Possono essere composti di altri servizi che a loro volta possono essere combinati con altri servizi creando nuove soluzioni di business. Loose coupling: Loose coupling permette di separare le problematiche (concerns) relative alle features delle applicazioni in parti indipendenti fornendo un meccanismo per cui un servizio invoca un altro servizio senza essere strettamente legato a quest ultimo. La separation of concerns si ottiene stabilendo confini logici o fisici che delineano un insieme di responsabilità. Per esempio, un account service ha le features open account, authorization, e audit che delineano le responsabilità e tre di verse aree di responsabilità. Governed by policy: Services are built by contract. Le relazioni tra servizi sono governate da policies e service-level agreements (SLAs), che promuovono la process consistency e riducono la complessità. Independent location, language, and protocol: I servizi sono disegnati per essere location transparent and protocol/platform independent (in termini generali accessibili da ogni utente autorizzato, su ogni piattaforma, da ogni luogo). 84
85 B - BUILD / B.1 SD Process and Methods/ B.1.7 Trends in Systems Development and deployement SOA Service Oriented Architecture Inoltre I servizi di una SOA hanno tipicamente le seguenti caratteristiche: Coarse-grained: I servizi sono tipicamente funzioni di business coarse-grained (a grana grossa). La granularità è un requisito di ricchezza funzionale di un servizio (più un servizio è coarse-grained più sono ricche le funzionalità che offre). I servizi Coarse-grained riducono la complessità per i system developers limitando gli step necessari a soddisfare una data funzione di business. Asynchronous: La comunicazione asincrona non è richiesta per un servizio SOA, ma aumenta la scalabilità di un sistema attraverso un comportamento asincrono e tecniche basate sui messaggi. La latenza di rete non predicibile e gli alti costi di comunicazione possono rallentare I tempi di risposta in un SOA environment a causa della natura distribuita dei servizi. Il comportamento asincrono e il messaging permettono a un servizio di inoltrare una richiesta e continuare l elaborazione fino a quando il service provider ritornerà una risposta. 85
86 B.2 Data Management and Databases B.2.1 Data and Transactions B Outline the importance of durable data recording for transaction processing and reporting systems B Describe how atomicity, consistency, isolation and durability help to guarantee secure database transactions B Outline design and maintenance issues for multi-user systems 86
87 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Transactions Dato e Informazione Definiamo il dato come unita` elementare (grezza) di informazione Informazione e` l elaborazione dei dati per rispondere a esigenze specifiche Un dato è ciò che è immediatamente presente alla conoscenza. Una sua elaborazione può portare alla conoscenza di una informazione Dati: 03/04/ /03/2008 4/3/ Informazione: in diverse forme e rappresentazioni queste stringhe di caratteri possono per esempio corrispondere a una data. 87
88 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Transactions Database Database un insieme di informazioni catalogate e organizzate DBMS acronimo di Data Base Management System è il software che permette di creare e gestire un database 88
89 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Transactions Transazione TRANSAZIONE è un insieme di operazioni sul database che deve essere eseguita in maniera atomica o tutto o niente Una transazione deve essere ACID Atomicity : atomicità, la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni intermedie (COMMIT-ROLLBACK); Consistency : coerenza, quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in uno stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistency) tra i dati archiviati nel DB Isolation: isolamento, ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre, l'eventuale fallimento di una transazione non deve interferire con altre transazioni in esecuzione (DEADLOCK) Durability: persistenza, dopo un commit work, i cambiamenti apportati non dovranno essere più persi. 89
90 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Transactions Database RIDONDANZA E COERENZA Esempio: Data di nascita ed Età INTEGRITA FISICA: Esempio anomalia HW del dispositivo di memoria di massa LOGICA: Esempio: gestione di una Fattura in un sistema di contabilità INTEGRITA REFERENZIALE La dipendenza funzionale di un informazione da un altra viene gestita da un DBMS tramite l Integrità Referenziale, che permette di creare associazione tra i dati ed impedire errori nelle operazioni di inserimento, cancellazione e modifica di questi dati. 90
91 B.2 Data Management and Data Base B.2.2 Database Structure B Distinguish between a file management system and a database management system (DBMS) B Describe the components of a database system, such as data files, data dictionary, indexes, statistical data B Outline the business areas where a DBMS is used B Outline the components of a DBMS B Describe the different roles of a database administrator 91
92 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Transactions Database relazionale Il concetto di database relazionale viene introdotto nel 1970 da E.F. Codd nel libro "A relational Model if Data for Large Shared Data Banks" con lo scopo di rappresentare situazioni reali tramite uno schema concettuale di un database in modo indipendente dalla modalità di memorizzazione dei dati nella memoria di un computer. L'idea innovativa fu di rappresentare le informazioni non come inserite in un'unica grossa entità ma piuttosto di organizzarle in strutture, chiamate relazioni o tabelle. Queste tabelle o relazioni sono definite dalle colonne di cui sono composte e contengono tutte le n-uple o righe dello stesso tipo. Le colonne rappresentano i campi o proprietà dei dati che la tabella contiene. Ogni riga può essere vista come un record o un array e raggruppa i valori che i campi assumono per il particolare oggetto che viene cosi descritto. Le colonne hanno una tipologia e possono contenere al massimo un valore. 92
93 B - BUILD / B.2 Data Management and Databases/B.2.1 Data and Information Database relazionale 93
94 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases File Management System LIMITI Funzioni per Condivisione dati: LOCK su parti di file Funzioni per Integrità Funzioni per Gestionie di Relazioni PATHNAME: /Directory/Sub-Directory/File 94
95 B.2 Data Management and Data Base B.2.3 Data Modeling B Define data abstraction and describe the difference between physical level, conceptual (logical) level, view (user) level B Distinguish between different groups of data models B Describe the principles of record-based logical models B Describe the principles of object-based logical models 95
96 B - BUILD / B.2 Data Management and Databases/B.2.2 Data Modelling Modello Entity-Relationship Il modello si basa su tre elementi principali: entità: classi di oggetti con proprietà comuni relazione: legame logico tra due o più entità attributi: proprietà elementari di un entità Esempio: se dobbiamo creare un database di libri, avremo l entità libro, con attributi come anno di pubblicazione,editore, autore ma avremo anche l entità autore, con attributi anno di nascita e biografia. Queste due entità sono legate Dalla relazione autore ha scritto libri (ogni autore ha scritto più libri) 96
97 B - BUILD / B.2 Data Management and Databases/B.2.2 Data Modelling Modello Entity-Relationship 97
98 B - BUILD / B.2 Data Management and Databases/B.2.2 Data Modelling Modello Entity-Relationship La cardinalità quantifica le relazioni tra le entità. 98
99 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Serial Sequential 99
100 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Indexed Sequential 100
101 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Pila (Stack,Heap) Coda (Queue) 101
102 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Hash 102
103 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Binary Tree (b-tree) 103
104 B - BUILD / B.2 Data Management and Databases/B.2.3 Files and Databases Metodi di accesso ai dati Binary Search (ricerca dicotomica) 104
105 B.2 Data Management and Data Base B.2.4 The Relational Model B Outline the benefits of a relational model, such as non-redundancy, flexibility, scalability B Describe important relational model terms, such as relation, key, primary key, alternate key, foreign key, referential integrity B Explain through simple examples the process of normalisation for 1st, 2nd, 3rd normal form 105
106 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Relational Model COLUMNS (ATTRIBUTES) TABLES ROWS (TUPLES) 106
107 B - BUILD / B.2 Data Management and Databases/B.2.2 Data Modelling Database: modello a tre livelli View level View View 2 View N Logical level La struttura del database che descrive i dati e le loro relazioni Physical level La modalità con cui i dati sono memorizzati nel sistema
108 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Prima forma normale 1NF Prima Forma Normale Definizione: Si dice che una base dati è in 1NF (prima forma normale) se vale la seguente relazione per ogni relazione contenuta nella base dati: una relazione è in 1NF se e solo se: non presenta gruppi di attributi che si ripetono (ossia ciascun attributo è definito su un dominio con valori atomici) esiste una chiave primaria (esiste un insieme di attributi, che identifica univocamente ogni tupla della relazione) 108
109 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Prima forma normale 1NF Il seguente esempio viola la 1NF, perché pur esistendo una chiave primaria ({Matricola,Materia}), l'attributo Voto non è definito su un dominio con valori atomici: Matricola Studente Materia Voto Pietro Basi di Dati 1 sem, B ; 2 sem, F Pietro Basi di Dati 1 sem, A ; 2 sem, A Sara Basi di Dati 1 sem, B ; 2 sem, A È necessario ristrutturare la relazione come segue Matricola Studente Materia Semestre Voto Pietro Basi di Dati 1 B Pietro Basi di Dati 2 F Pietro Basi di Dati 1 A Pietro Basi di Dati 2 A Sara Basi di Dati 1 B Sara Basi di Dati 2 A 109
110 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Prima forma normale 1NF Il seguente esempio viola la 1NF, perché pur non presentando gruppi di attributi che si ripetono, manca una chiave primaria, rendendo impossibile distinguere studentesse e studenti con lo stesso nome: Studente Materia Semestre Voto Pietro Basi di Dati 1 A Pietro Basi di Dati 2 A Pietro Basi di Dati 1 A Pietro Basi di Dati 2 A Sara Basi di Dati 1 B Sara Basi di Dati 2 A 110 È necessario ristrutturare la relazione come segue Matricola Studente Materia Semestre Voto nnnn-nnn Pietro Basi di Dati 1 A... Pietro Basi di Dati 2 A... Pietro Basi di Dati 1 A... Pietro Basi di Dati 2 A... Sara Basi di Dati 1 B... Sara Basi di Dati 2 A
111 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Seconda forma normale 2NF una tabella si dice in 2FN se è in 1FN e inoltre non vi sono attributi che dipendono parzialmente dalla chiave. Consideriamo come esempio la tabella Persone: Nome, Cognome, Luogo Nascita, Regione di Nascita La chiave della tabella è data da (Nome, Cognome, Luogo Nascita). La tabella è certo in 1FN, non essendovi attributi multipli. Ma la regione di nascita dipende solo dal luogo di nascita e non da nome e cognome. Vi è quindi una dipendenza parziale dalla chiave e la tabella non è in 2FN. Vi è dunque anche una dipendenza transitiva dalla chiave. L'unico rimedio è quindi quello classico: spezzare la tabella in più tabelle. In questo caso occorrerebbero tre tabelle: Tabella Persone con campi (Codice, Nome, Cognome, Codice_LuogoNascita); 3.Tabella Luoghi con campi (Codice, Nome, Codice_Regione); 5.Tabella Regioni con campi (Codice, Nome, Stato)
112 B - BUILD / B.2 Data Management and Databases/B.2.6 The relational model Terza forma normale 3NF Uno schema relazionale è nella terza forma normale se soddisfa la 2NF e, inoltre, tutti gli attributi non chiave sono indipendenti fra loro e dipendono solo dalla chiave primaria. Ad esempio: se in una tabella sono presenti i campi Quantità,Prezzo Vendita Prezzo Totale, dobbiamo eliminare l attributo Prezzo Totale, perché può essere calcolato da Quantità e Prezzo Vendita secondo la relazione: PrezzoTotale = Quantità * Prezzo Vendita. 112
113 B.2 Data Management and Data Base B.2.5 Query Languages B Distinguish between procedural and non-procedural query languages B Describe the fundamental operations of the relational algebra B Describe the components of a SQL language: DDL, DML, DCL B Understand SQL DDL commands, such as create, drop, alter table B Understand SQL DCL commands, such as grant, revoke 113
114 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports Operazioni relazionali Selezione: una selezione opera su una sola tabella e produce come risultato un sottoinsieme delle sue tuple, che conservano inalterate i loro attributi. il risultato di una selezione è costituito da una tabella con lo stesso numero di colonne e un numero minore (o tutt al più uguale) di righe. La scelta delle tuple da inserire nel risultato è dettata dalle condizioni prescelte. 114
115 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports Operazioni relazionali Proiezione: una proiezione opera su una sola tabella, producendo come risultato una sua sottotabella formata dalle stesse tuple ma con un sottinsieme degli attributi originari. In genere quindi la proiezione di una tabella ha lo stesso numero di righe ma un numero minore (o tutt al più uguale) di colonne. Anche in questo caso la scelta delle colonne da inserire nel risultato è dettata da condizioni prescelte. 115
116 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports Operazioni relazionali Join: opera su due tabelle producendone una nuova le cui tuple risultano dalla combinazione di una tupla della prima e di una tupla dell altra, secondo regole stabilite dall operazione in svolgimento. In questo caso perciò le colonne della nuova tabella saranno composte da quelle della prima e da quelle della seconda, mentre le righe saranno in numero variabile,in quanto gli abbinamenti dipenderanno dalle condizioni stabilite dal join; In un join senza condizioni ogni tupla della prima tabella è abbinata a ogni tupla dell altra. Più frequente è il join corrispondente a una relazione fra le due tabelle, in cui vengono abbinate le tuple che si corrispondono nella relazione. Inner Join Equi-Join Natural Join 116
117 B - BUILD / B.2 Data Management and Databases/B.2.4 Databases Management Systems SQL (DDL,DCL,DML) SQL (Structured Query Language) è un Linguaggio per database progettato per leggere, modificare e gestire dati memorizzati in un sistema basato sul modello relazionale, per creare e modificare schemi di database, per creare e gestire strumenti di controllo ed accesso ai dati. Il Data Definition Language (DDL) è un linguaggio che permette di creare, modificare o eliminare gli oggetti in un database. L'utente deve avere i permessi necessari per agire sulla struttura del database e questi permessi vengono assegnati tramite il Data Control Language (DCL). Data Manipulation Language (DML) è una linguaggio che consente di leggere, inserire, modificare o eliminare i dati in un database. I comandi DML esprimono azioni da effettuare sui dati identificate dalla parola iniziale dell'istruzione, che quasi sempre è un verbo. I verbi utilizzati sono SELECT ricerca, INSERT l'inserimento, UPDATE l'aggiornamento e DELETE cancellazione. 117
118 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language DDL (Data Definition Language) Create Drop Alter Creare, cancellare, modificare tabelle. 118
119 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per creare una tabella: CREATE TABLE tname (colname coltype [not null], ); Name Description tname Name of the table to be created colname Column Name coltype Data Type of the column not null If the column can or nor have value NULL Coltype: Type Description integer 32 bit number smallint 16 bit number float 64 bit floating number smfloat 32 bit floaing number char(n) Nchar string varchar(n) Varialbe length string, max n chars Date Date 119
120 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per cancellare una tabella ed il suo contenuto. DROP TABLE tname Name tname Description Name of the table to delete Per modificare la struttura di una tabella. ALTER TABLE tname MODIFY ( colnname coltype [not null], Name Description tname Name of the table to be modified Colname Column Name Coltype Column Data Type Not null Sf the column can or nor have value NULL 120 );
121 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per modificare la struttura di una tabella. ALTER TABLE tname ADD ( colnname coltype [not null], ); Permette di aggiungere colonne ad una tabella: non è possibile se la tabella contiene dati e si vuole aggiungere una colonna che non permette valori null. Name Description tname Name of the table to be modified Colname Column Name Coltype Column Data Type Not null Sf the column can or nor have value NULL Per modificare la struttura di una tabella. ALTER TABLE tname DELETE (colnname, ); Permette di rimuovere colonne. Name Description tname Name of the table to be modified Colname Column Name 121
122 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per creare un indice. CREATE [unique] INDEX idxname ON tname (colname, ) Name Description Unique If included, it means that the index is unique Idxname Index name to be created Tname Table name, the index has to be created on Colname Column name, the index has to be created on Non è possibile creare un indice unico in una tabella con dati che non sono compatibili con il nuovo indice unico. Per rimuovere un indice DROP INDEX idxname Name Idxname 122 Description Index name to be deleted
123 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language DCL (Data Control Language) Sicurezza: Grant Revoke Assegna o revoca privilegi. 123
124 B.2 Data Management and Data Base B.2.6 SQL Queries B Understand basic SQL DML commands, such as insert, delete, update, select B Understand SQL clauses, such as where, order by, group by B Outline the use of views and special SQL commands, such as commit, rollback 124
125 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language DML (Data Manipulation Language) Select Insert Delete Update Selezionare, inserire, cancellare, modificare righe. Transazioni: Commit Roll-back 125
126 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Order by permette di ordinare i dati selezionati Group by permette di raggruppare i dati selezionati Where è applicata come prima operazione, può essere seguita da Order by e Group by. Per ultima è applicata la clausola Having 126
127 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per inserire dati in una tabella. INSERT INTO tname (colname, ) VALUES (colval,...); Nome tname colname colval Significato Table name, the data has to be inserted in Column Name Data to be inserted into colname Per cancellare righe di una tabella Questa operazione introduce la clausola where, che abilita la selezione di un numero ridotto di righe. DELETE FROM tname [WHERE colname condition {colval colname}][oprel..]; Name Description tname Colname Table name, data has to be erased from Column name Condition Comparison operation Colval Values to be compared with the content of column colname Oprel Operation of Relation 127
128 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Condition Description = Condition is true if both terms at its sides are equal!= > >= <= < Condition is true if the two terms at its sides are different Relational Operator and or not 128 Condition is true if the two terms at its sides respect the inequalities Description Expression is true if left term and right term are both true. Expression is true if left term is true or right term is true. Negate the condition that follows.
129 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per modificare i valori in una tabella. UPDATE tname SET(colname = valcol, ) [WHERE colname condition {colval colname} [oprel..]]; Name Description tname Table name, the update has to be performed on colname Column name valcol New value for the column condition Comparison operation colval Values to be compared with the content of column colname oprel Relational operator Permette l aggiornamento contemporaneo di un insieme di righe in un insieme di colonne. 129
130 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per selezionare informazioni SELECT (colname, ) FROM tname [WHERE [GROUP BY (colname, )] [ORDER BY(colname, )] [having ] [INTO [temp] table tname]; Description Name tnme Table name, the data has to be retrieved from colname Column name where Where clause as seen for delete and update having Where clause, but evaluated on partial results 130
131 B - BUILD / B.2 Data Management and Databases/B.2.7 Queries and reports SQL Language Per creare una User View. Una User View appare come una tabella ma, è il risultato di una operazione di select. CREATE VIEW vname AS select ; Description Name vname View name to be created select Select command that explain how to retrieve data Per rimuovere una User View DROP VIEW vname; Name vname 131 Description View name to be deleted
132 B.2 Data Management and Data Base B.2.7 Database Administration and Security B Describe the most important database administration procedures B Describe the security and integrity problems covered by the acronym CIA (Confidentiality, Integrity, Availability) B Outline examples of different security policies, such as human security, physical security, operating system security, database security B Describe recovery schemes based on different types of failure, such as logical errors, system errors, system crash, disk failure 132
133 B - BUILD / B.2 Data Management and Databases/B.2.8 Database administration Database administration Le Database management operations sono svolte dal Database administrator (DBA) che ha in carico: La gestione della configurazione del DB La gestione del DB schema usandi i comandi DDL Configurare le User Access Policies 133
134 B - BUILD / B.2 Data Management and Databases/B.2.7 Security and integrity of data Security and Integrity of Data 3 proprietà principali: CONFIDENTIALITY solo chi è autorizzato può accedere ai dati INTEGRITY si riferisce alla validità dei dati Può essere compromessa da: q q Software bugs,virus,malfunzionamenti hardware come Crash dei dischi Errori umani nell enter dei dati Ci sono molti modi per minimizzare le minacce all integrità: q q q Regolari operazioni di Backup Controllare l accesso ai dati tramite meccanismi di sicurezza Progettare interfacce che prevengono l input di dati non validi AVALAIBILITY dati sono disponibili se richiesti 134
135 B.2 Data Management and Data Base B.2.8 Data Warehousing and Data Mining B Describe the concept and components of a Data Warehousing system B Define the concept of data mining B Recognise the principle uses of Data Warehousing systems 135
136 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining Data Warehousing 136
137 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining Data Warehousing & Data Mart & Data Mining Il Datawarehouse è il luogo di consolidamento dell'insieme dei dati aziendali. Il creatore del concetto di DataWareHouse, Bill Inmon, lo definisce come segue: raccolta di dati tematici, integrati, non volatili e storici per la presa di decisioni Il termine Data Mart (letteralmente deposito di dati) designa un sotto-insieme del data warehouse che contiene i data del data warehouse per un particolare settore aziendale (dipartimento, direzione, servizio, gamma prodotto, ecc.). Si parla quindi ad esempio di Data Mart Marketing, Data Mart Commerciale Il Data Mining ha per oggetto l'estrazione di un sapere o di una conoscenza a partire da grandi quantità di dati e l'utilizzazione industriale o operativa di questo sapere. Oggi il Data Mining (letteralmente: estrazione di dati) ha una duplice valenza: Estrazione, con tecniche analitiche all'avanguardia, di informazione implicita, nascosta, da dati già strutturati, per renderla disponibile e direttamente utilizzabile Esplorazione ed analisi, su grandi quantità di dati allo scopo di scoprire pattern (schemi) significativi. Questo tipo di attività è cruciale in molti ambiti della ricerca scientifica, ma anche in altri settori. E utilizzata per risolvere problematiche diverse tra loro, che vanno dalla gestione delle relazioni con i clienti (CRM), all individuazione di comportamenti fraudolenti per finire all'ottimizzazione di siti web. 137
138 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining ETL Extract, Transform, Load (ETL) si riferisce al processo estrazione, trasformazione e caricamento dei dati in un sistema di sintesi (Data Darehouse, Data Dart). I dati vengono estratti da sistemi sorgenti quali database transazionali (OLTP), comuni file di testo o da altri sistemi informatici (ad esempio, sistemi ERP o CRM). Subiscono quindi un processo di trasformazione, che consiste nel: Selezionare solo quelli che sono di interesse per il sistema Normalizzare i dati (per esempio eliminando i duplicati) Tradurre dati codificati Derivare nuovi dati calcolati Eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle Raggruppare i dati Tale trasformazione ha lo scopo di consolidare i dati (cioè rendere omogenei dati provenienti da sorgenti diverse) in modo che siano aderenti alla logica di business. Vengono infine caricati nelle tabelle del sistema di sintesi (load). Occorre prestare attenzione alla granularità delle informazioni da memorizzare nella struttura. Queste infatti, non solo devono essere aggregate in modo da non avere un dettaglio eccessivo ma devono anche mantenere una granularità che consenta di effettuare le necessarie analisi sui dati 138
139 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining Data Warehousing 139
140 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining OLAP OLAP, acronimo che sta per l'espressione On-Line Analytical Processing, designa un insieme di tecniche software per l'analisi interattiva e veloce di grandi quantità di dati, che è possibile esaminare in modalità piuttosto complesse. Questa è la componente tecnologica base del data warehouse, serve alle aziende per analizzare i risultati delle vendite, l'andamento dei costi di acquisto merci, al marketing per misurare il successo di una campagna pubblicitaria, etc. 140
141 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining Dashboard 141
142 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining OLAP warehouse time product 142
143 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining ROLL-UP & DRILL DOWN Roll-up Al l Roll-up Roll-up Sto re Time 143 Product Al l Time Product All Al All l All Drill-Down Time Drill-Down Drill-Down
144 B - BUILD / B.2 Data Management and Databases/B.2.5 Data Warehousing e Data Mining SLICE St o re SLICE Product St o re Product 144 Time (quarters) Time(semesters)
145 B.3 Programming B.3.1 Software design methods and techniques B Outline the main features of different program design methods B Describe the use of abstraction as a technique for problem-solving and software design B Outline the specific needs of legacy systems B Distinguish between open source and proprietary software development. B Outline the different licensing requirements 145
146 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Alcuni termini o o o o o o o o o Modificability Intellegibility Reusability Top Down Bottom up Divide and Conquer Cohesion (coesione) Decoupling (disaccoppiamento) Legacy Systems 146
147 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione Strutturata Le idee chiave della programmazione strutturata si possono ricondurre alla critica della struttura di controllo del salto incondizionato (o goto, "vai a"), che rappresentava, negli anni '60, lo strumento fondamentale per la definizione di algoritmi complessi nel software. In un celebre articolo del 1968, Goto statement considered harmful, Edsger Dijkstra discusse approfonditamente gli effetti deleteri del goto sulla qualità del software, e in particolare sulla sua leggibilità e modificabilità (il cosiddetto problema dello spaghetti code). Un'altra celebre pubblicazione che risultò fondamentale all'affermarsi della programmazione strutturata fu Flow Diagrams, Turing Machines, and Languages with Only Two Formation Rules, in cui Corrado Böhm e Giuseppe Jacopini dimostrarono il loro celebre teorema. Secondo tale teorema, qualsiasi programma scritto usando il goto poteva essere riscritto senza, a patto di avere a disposizione altri tre tipi di strutture di controllo: sequenza, ripetizione e alternativa. 147
148 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione Strutturata Le strutture di controllo ammesse dai linguaggi strutturati, e le regole sintattiche e semantiche del loro uso, possono variare nei dettagli specifici; tuttavia, devono essere rispettati un insieme di requisiti fondamentali: completezza. Un linguaggio strutturato deve fornire la sequenza, almeno una struttura di tipo alternativa, e almeno una struttura di tipo iterativa; singolo punto di ingresso e di uscita. Idealmente, ogni struttura di controllo, completa delle istruzioni controllate, deve poter essere considerata come una singola macro-istruzione dal punto di vista del controllo complessivo, con un ben identificato punto di ingresso e un ben identificato punto di uscita. componibilità. Ogni struttura di controllo può avere fra le sue istruzioni controllate, ricorsivamente, altre strutture di controllo (senza limiti). 148
149 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione Strutturata 149
150 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione Object-Oriented La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione, che prevede di raggruppare in un'unica entità (la classe) sia le strutture dati che le procedure che operano su di esse, creando per l'appunto un "oggetto" software dotato di proprietà (dati) e metodi (procedure) che operano sui dati dell'oggetto stesso. Oggetto = auto Le cose che un auto può fare sono: Andare, Fermarsi, Girare a destra, Girare a sinistra Noi sappiamo che l auto fa queste cose, ma non conosciamo come vengono fatte, cioè non sappiamo come vengono implementate. Un auto può avere le seguenti caratteristiche o attributi: Colore, Velocità max, Dimensioni, Tipo di carburante Come questi attributi sono memorizzati o definiti è irrilevante. 150
151 B.3 Programming B.3.2 Data Structures and Algorithms B Describe structured and unstructured data types B Evaluate the fit between typical search and sort algorithms and the different data structures. 151
152 B - BUILD / B.3 Programming / B.3.2 Data structures and algorithms Data structures and algorithms Linked List Bi-directional Linked List Binary search tree: V = visit, L = left, R = right Pre-order (VLR) traversal: F, B, A, D, C, E, G, I, H In-order (LVR) traversal: A, B, C, D, E, F, G, H, I Post-order (LRV) traversal: A, C, E, D, B, H, I, G, F Level-order traversal: F, B, G, A, D, I, C, E, H 152
153 B.3 Programming B.3.3 Programming Languages B Distinguish between and describe the merits of the main types of programming languages B Describe the use of procedures and functions, and distinguish between call by value and call by reference B Define the term syntax and outline its importance in programming languages. B Distinguish between compilation and interpretation 153
154 B - BUILD / B.3 Programming / B.3.3 Type of programming languages Linguaggi di programmazione: generazioni Prima Generazione 1GL: linguaggio macchina Seconda Generazione 2GL: Assembler Terza Generazione 3GL: FORTRAN : FORmula TRANslator COBOL: Common uso scientifico Business Oriented Language business BASIC: Beginners All-purpose Symbolic Instruction Code PASCAL: Didattico Quarta Generazione 4GL: 154 SQL: non procedurale
155 B - BUILD / B.3 Programming / B.3.3 Type of programming languages Compilatore Esempio di fasi di compilazione (C language) q Pre-processor: esamina le direttive di compilazione q Compiler: controlla la correttezza del codice e genera codice Assembler q Optimizer: ottimizza il codice Assembler per ottimizzare le performance q Assembler: traduce l Assembler in codice oggetto q Linking: link di librerie e generazione eseguibile 155
156 B - BUILD / B.3 Programming / B.3.3 Type of programming languages Interprete 156
157 B - BUILD / B.3 Programming / B.3.3 Type of programming languages Java Virtual Machine 157
158 B.3 Programming B.3.4 Object-Oriented programming B Describe the main concepts of object-oriented design B Describe the concept of object-oriented programming B Describe the concept of a class, object, instance, method and their relationship in object-oriented programming B Describe the concepts of abstraction and encapsulation B Describe how polymorphism contributes to efficient software design through the development of reusable components 158
159 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Object Oriented 159
160 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Object Oriented 160
161 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione OO - Encapsulation Un oggetto è una istanza di una classe. Un oggetto occupa memoria, la sua classe definisce come sono organizzati i dati in questa memoria. Ogni oggetto possiede tutti gli attributi definiti nella classe, ed essi hanno un valore, che può mutare durante l'esecuzione del programma. Il paradigma OOP suggerisce un principio noto come information hiding che indica che si debba accedere agli attributi dell'istanza solo tramite metodi invocati su quello stesso oggetto. L'incapsulamento è la proprietà per cui un oggetto contiene ("incapsula") al suo interno gli attributi (dati) e i metodi (procedure) che accedono ai dati stessi. Lo scopo principale dell'incapsulamento è appunto dare accesso ai dati incapsulati solo attraverso i metodi definiti, nell'interfaccia, come accessibili dall'esterno. Gestito in maniera intelligente, l'incapsulamento permette di vedere l'oggetto come una black-box, cioè una scatola nera di cui, attraverso l'interfaccia, è noto cosa fa e come interagisce con l'esterno ma non come lo fa. I vantaggi principali portati dall'incapsulamento sono: robustezza, indipendenza e l'estrema riusabilità degli oggetti creati. 161
162 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione OO - Ereditarietà L'OOP prevede un meccanismo molto importante, l'ereditarietà, che permette di derivare nuove classi a partire da classi già definite. L'ereditarietà permette di aggiungere membri ad una classe, e di modificare il comportamento dei metodi, in modo da adattarli alla nuova struttura della classe. Da una stessa classe è possibile costruire diverse classi derivate. Da una classe derivata è possibile derivarne una ulteriore con lo stesso meccanismo. Sintatticamente, una classe può essere definita come derivata da un'altra classe esistente. In molti linguaggi la classe derivata, o sottoclasse, eredita tutti i metodi e gli attributi della classe "genitrice", e può aggiungere membri alla classe, sia attributi che metodi, e/o ridefinire il codice di alcuni metodi. L'ereditarietà può essere usata come meccanismo per gestire l'evoluzione ed il riuso del software: il codice disponibile definisce delle classi, se sono necessarie modifiche, vengono definite delle sottoclassi che adattano la classe esistente alle nuove esigenze. 162
163 B - BUILD / B.3 Programming / B.3.1 Software design methods and techniques Programmazione OO - Polimorfismo La possibilità che le classi derivate implementino in modo differente i metodi e le proprietà dei propri antenati rende possibile che gli oggetti appartenenti a delle sottoclassi di una stessa classe rispondano diversamente alle stesse istruzioni. Ad esempio in una gerarchia in cui le classi "Cane" e "Gatto" discendono dalla SuperClasse "Animale potremmo avere il metodo mangia() che restituisce la stringa "osso" se eseguito sulla classe "Cane" e "pesce" se eseguito sulla classe "Gatto". I metodi che vengono ridefiniti in una sottoclasse sono detti polimorfi, in quanto lo stesso metodo si comporta diversamente a seconda del tipo di oggetto su cui è invocato 163
164 B.3 Programming B.3.5 Elementary Constructs B Interpret and evaluate input/output instructions B Interpret and evaluate control statements B Interpret and evaluate arithmetic and logical operations 164
165 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione Le istruzioni che compongono un linguaggio procedurale sono: q Dichiarative q Operazioni Aritmetico-Logiche; q Istruzioni di controllo q Istruzioni di I/O. Le dichiarative assegnano ad un nome simbolico un tipo dato ed eventualmente un valore di inizializzazione. E possibile dichiarare vettori o matrici. 165 char alfa; int beta=1; float gamma; char delta[21]; int epsilon [10]; float fi[20];
166 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione Operazioni aritmetiche + Somma - Sottrazione * Moltiplicazione / Divisione Istruzioni logiche 166
167 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione Condizioni: v1 operator v2 Operator ==!= The condition is true when two values are different > The condition is true when v1 is greater than v2 < The condition is true when v1 is lower than v2 <= The condition is true when v1 is equal or lower than v2 The condition is true when v1 is equal or greater than v2 >= 167 The condition is true when the two values are equals
168 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione if (a>3) 168 { b = 5; } false-instruction] else true-instruction [else { c = 6; } if (condition)
169 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione j = j+1; } j+1; { k[j] = int j, k[10]; j=0; while (j<10) while (condition) instructions 169
170 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione j=0; do { k[j]=j+1; j = j+1; } while (j<10); do instructions while (condition) int j, k[10]; 170
171 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione } k[j]=j+1; { for (j=0; j<10; j = j+1) instructions for (start; condition; increase) int j, k[10]; 171
172 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione Printf ( message, var1 [, var2 ]); message String to be written var1 Variable to be written var2 Variable to be written standard output (stdout) 172
173 B - BUILD / B.3 Programming / B.3.4 Introduction ti programming concepts Elementi di programmazione Readf (var1 [, var2 ]); var1 Variable to be read var2 Variable to be read standard input (stdin) 173
174 B.3 Programming B.3.6 Testing B Define basic testing concepts, such as error, fault, failure B Describe the different purposes and scope of unit testing, system testing, acceptance testing B Distinguish between static and dynamic test methodologies 174
175 175 Il termine Errore (Bug) è usato per indicare un anomalia In realta è la causa di un anomalia. Errori nell interpretazione delle specifiche q Errori nella fase concettuale q q q Errori dovuti alla mancanza di conoscenza del linguaggio o degli strumenti Errori di distrazione Testing B - BUILD / B.3 Programming / B.3.5 Testing
176 176 Test di regressione: Nel software capita spesso che l'introduzione di una nuove funzionalità in un vecchio prodotto comprometta la qualità di funzionalità preesistenti. Pertanto, per assicurarsi la qualità del prodotto bisognerebbe ripetere l'intero collaudo ad ogni modifica. Il collaudo di funzionalità preesistenti e già collaudate, eseguito per assicurare che modifiche al prodotto non ne abbiano compromesso la qualità si chiama "collaudo di regressione" (in inglese, "regression testing"), in quanto si vuole verificare se la qualità fosse regredita. Se erano stati predisposti dei collaudi automatizzati, il collaudo di regressione ha normalmente un basso costo, in quanto si tratta solo di lanciare le procedure di collaudo esistenti, eventualmente ritoccate. Un completo collaudo di regressione manuale sarebbe invece enormemente costoso, e per tale motivo normalmente il collaudo di regressione manuale è più sbrigativo del collaudo originale Testing B - BUILD / B.3 Programming / B.3.5 Testing
177 177 I moduli possono essere testati in un enviroment simulato che tipicamente consiste di: Stub moduli, che sono invocati dal dal modulo da testare e che generano l output previsto. Driver moduli che usano il modulo testato e che devono simulare il comportamento del chiamante. I moduli possono essere integrati con: Il metodo Non incremental (big bang test): Il metodo Incremental method (incremental test) Testing B - BUILD / B.3 Programming / B.3.5 Testing
178 B.3 Programming B.3.7 Documentation and Maintenance B Describe the common documentation for software development and delivery B Describe the value of well-structured and documented code B Outline how to document changes in software and program documentation B Describe methods to attain quality in program maintenance, such as code inspections, rules for comments in the code, technical reference documents 178
179 B - BUILD / B.3 Programming / B.3.6 Documentation UML In ingegneria del software, UML (Unified Modeling Language, "linguaggio di modellazione unificato") è un linguaggio di modellazione e specifica basato sul paradigma object-oriented. Il nucleo del linguaggio fu definito nel 1996 da Grady Booch, Jim Rambaugh e Ivar Jacobson (detti "i tre amigos") sotto l'egida dello OMG, che tuttora gestisce lo standard di UML. UML svolge un'importantissima funzione di lingua franca nella comunità della progettazione e programmazione a oggetti. 179
180 B - BUILD / B.3 Programming / B.3.6 Documentation UML Di per sé, UML è solo un linguaggio di modellazione, e non definisce alcuna specifica metodologia per la creazione di modelli (o alcun processo software). UML può quindi essere utilizzato nel contesto di diversi approcci metodologici. UML consente di costruire modelli object-oriented per rappresentare domini di diverso genere. Nel contesto dell'ingegneria del software, viene usato soprattutto per descrivere il dominio applicativo di un sistema software e/o il comportamento e la struttura del sistema stesso. Il modello è strutturato secondo un insieme di viste che rappresentano diversi aspetti della cosa modellata (funzionamento, struttura, comportamento, e così via), sia a scopo di analisi che di progetto, mantenendo la tracciabilità dei concetti impiegati nelle diverse viste. 180
181 B - BUILD / B.3 Programming / B.3.6 Documentation UML 181
182 182 Changing of a software product executed, after the release, in order to correct the malfunctions, enhancing performance or adapt it to the changed using context (Definition adopted by the IEEE) Nasce la necessità di avere un modello del processo di Maintenance per monitorare i cambiamenti del software durante il suo ciclo di vita. q q La legge dei continui cambiamenti: un sistema deve necessariamente cambiare ed evolvere continuamente e mantenere intatto il proprio livello di utilità, dato i costanti cambiamenti dell environment in cui il sistema opera. Legge della complessità crescente: la struttura di un sistema che evolve tende a diventare più complessa e bisogna investire delle risorse per preservare la semantica e semplificare la struttura. Maintenance B - BUILD / B.3 Programming / B.3.7 Maintenance
183 B - BUILD / B.3 Programming / B.3.7 Maintenance Maintenance Software Maintenance Activities Maintenance can be defined as four activities: Corrective Maintenance A process that includes diagnosis and correction of errors. Adaptive Maintenance Activity that modifies software to properly interface with a changing environment (hardware and software). Perfective Maintenance Activity for adding new capabilities, modifying existing functions and making general enhancements. This accounts for the majority of all effort expended on maintenance. Preventive Maintenance Activity which changes software to improve future maintainability or reliability or to provide a better basis for future enhancements. Still relatively rare. Distribution of maintenance activities (based on a study of 487 software development organizations): Perfective: 50% Adaptive: 25% Corrective: 21% Others (Including Preventive): 4% 183
184 B - BUILD / B.3 Programming / B.3.7 Maintenance Configuration Management ll Configuration Management ha lo scopo di controllare e gestire le attività che portano alla produzione di software. Questa attività si appoggia sempre su un data base dove sono memorizzati gli oggetti sottoposti a controllo di configurazione (i configuration items). Nell'ambito del configuration management vengono gestiti gli input/output direttamente o indirettamente legati alla costruzione di un prodotto software. Si tratta quindi non solo di archiviare in modo controllato le varie versioni del codice sorgente sviluppato, ma anche le altre entità create nel corso delle diverse fasi dello sviluppo. Ogni elemento oggetto delle attività di gestione della configurazione viene normalmente chiamato configuration item. Una delle funzioni svolte da un sistema di controllo della configurazione è quella di correlare tra loro i vari oggetti archiviati relativamente ad un prodotto software, mantenendo allo stesso tempo traccia delle varie versioni degli oggetti e della loro applicabilità. Perché tutti i configuration items possano essere adeguatamente gestiti è necessario che siano definite le possibili tipologie e le operazioni che su di essi possono essere compiute, compresi i ruoli dei vari attori dello sviluppo del software. Tutto ciò viene tipicamente definito all'inizio del processo di sviluppo del software. 184
185 B - BUILD / B.3 Programming / B.3.7 Maintenance Configuration Management La gestione della configurazione può essere applicata a qualunque categoria di documenti o di "artefatti" che svolga un ruolo nel processo software. Alcuni esempi di configuration item ("elementi di configurazione") sono: q q q q q q q q q q q q q 185 Specifiche dei requisiti Specifiche funzionali Project plan Quality plan Manuale utente Specifiche di progetto Codice sorgente Test Case Manuali di installazione e gestione del prodotto Programmi eseguibili Schemi dei database Documenti relativi alla manutenzione del prodotto Standard e procedure adottate
186 B.3 Programming B.3.8 Programming Examples B Interpret small program segments constructed from a given hypothesis B Identify errors or weaknesses in the code and modify it to meet requirements 186
187 187 main() { int j; for (j=1; j<=10; j=j+1) { printf(j); } } main() { printf( hello world! ); } Programming examples B - BUILD / B.3 Programming / B.3.8 Programming examples
188 188 main() { int j; int num[10]; for (j=0; j<=10; j=j+1) { num[j]=j+1; } for (j=9; j>=0; j=j-1){ printf(num[j]); } } Programming examples B - BUILD / B.3 Programming / B.3.8 Programming examples
189 189 main() { float pi= ; float ray, area; printf( insert the value of ray ); readf(ray); area = pi * ray * ray; printf ( the ray is :, ray); printf ( the area is:, area) } Programming examples B - BUILD / B.3 Programming / B.3.8 Programming examples
190 190 main() { float base, height, area; printf( insert the area and base value: ); readf(area, base); if (base == 0 ) { printf( base = 0, impossible calculation ); return; } height = area /base; printf ( the height is :, height); } Programming examples B - BUILD / B.3 Programming / B.3.8 Programming examples
191 191 main() { int j; char name[]= abcdefghijklmnopqrstuvwxyz char a; for (j=0; j<13; j=j+1) { a = name[j]; name[j] = name [25-j]; name[25-j] = a; } printf(name); } Programming examples B - BUILD / B.3 Programming / B.3.8 Programming examples
192 B.4 User Interface and Web Design B.4.1 Human-Computer Interaction: Guidelines and Standards B Define basic concepts of communication theory B Understand how communication applies to human beings B Define the concept of a User Interface B Outline the various technologies that communicate information to human senses B List models for testing the effectiveness of a user interface 192
193 B.4 User Interface and Web Design B.4.2 Graphics Design B Outline the concepts of graphics and animation (bitmap and vector), digital audio and video B Describe the benefits of using drawings, pictures, colours, animation B Use common tools for simple picture manipulation in terms of size, shape, colours, contrast, transparency 193
194 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Text Font 194
195 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Text Font 195
196 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Text Font 196
197 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Colours 197
198 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Colours 198
199 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Dpi DPI: Dot Per Inch, punti per pollice. Una delle unità di misura della risoluzione. Con il DPI si esprime la quantità di punti stampati o visualizzati su una linea lunga un pollice (2,54 cm). Nota: per un'immagine fotografica visualizzata su monitor, 72 dpi sono accettabili, mentre per una buona stampa sono necessari almeno 300 dpi 199
200 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Immagini Si distinguono generalmente due grandi categorie di immagini : immagini bitmap (dette anche immagini raster): si tratta di immagini pixelizzate, cioè un insieme di punti (pixel) contenuti in una tabella, ciascuno di questi punti ha uno o più valori che ne descrivono il colore. immagini vettoriali: le immagini vettoriali sono delle rappresentazioni di entità geometriche come un cerchio, un rettangolo o un segmento. Questi sono rappresentati da formule matematiche (un rettangolo è definito da due punti, un cerchio da un centro e un raggio, una curva da più punti e un'equazione). Sarà il processore ad essere incaricato di "tradurre" queste forme in informazioni interpretabili dalla scheda grafica. 200
201 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Immagini l formato GIF (Graphic Interchange Format) fu diffuso negli anni Ottanta come metodo efficiente di trasmissione delle immagini su reti di dati. All'inizio degli anni Novanta i progettisti originali del web lo adottarono per l'efficienza che offriva. Oggi la stragrande maggioranza delle immagini sul web è in questo formato ed è supportato da tutti i browser web. Il formato GIF usa una forma di compressione LZW che mantiene inalterata la qualità dell'immagine, ovvero riduce le dimensioni del file senza pregiudicare la qualità grafica dell'immagine. La profondità dei colori delle immagini GIF è di 8 bit, che consente di usare una tavolozza di 256 colori. Meno colori si usano e maggiori saranno le possibilità di compressione, ovvero minori saranno le dimensioni del file. 201
202 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Immagini JPEG è Un formato grafico utilizzato di frequente sul Web per ridurre le dimensioni dei file grafici è lo schema di compressione JPEG (Joint Photographic Expert Group). A differenza delle immagini GIF, le immagini JPEG sono policrome (24 bit, o 16,8 milioni di colori). Questo tipo di immagini ha generato un altissimo interesse tra fotografi, artisti, progettisti grafici, specialisti della composizione di immagini La compressione JPEG utilizza una sofisticata tecnica matematica, chiamata trasformazione discreta del coseno, per produrre una scala scorrevole di compressione delle immagini. È possibile scegliere il grado di compressione che si desidera applicare a un'immagine in formato JPEG, ma in questo modo si determina anche la qualità dell'immagine. JPEG può raggiungere rapporti di compressione incredibili, riducendo le immagini di circa 100 volte rispetto ai file originali; l'algoritmo JPEG scarta alcuni dati durante la compressione dell'immagine e per questo motivo la tecnica di compressione è definita a perdita. Sta a voi quindi sperimentare l'impostazione più adatta per creare un file dall'aspetto accettabile. Quando create immagini JPEG ricordate sempre di salvare una copia dell'immagine originale. Dopo aver convertito un'immagine in formato JPEG, non è più possibile recuperare la qualità dell'immagine originale. 202
203 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Graphical Design Immagini Il Tagged Image File Format detto anche TIFF è un formato immagine. Le specifiche del formato TIFF permettono una notevole flessibilità. Il TIFF è largamente utilizzato per lo scambio di immagini raster fra stampanti e scanner perché permette di specificare numerose indicazioni aggiuntive come le informazioni sulla calibratura del colore. Il TIFF quindi è utilizzato per far comunicare più macchine all'interno dello stesso studio fotografico o di editing che hanno la stessa calibratura. Sono possibili anche diversi formati di compressione tra cui l'lzw. Un file TIFF può contenere immagini divise su più "pagine : ad esempio, si possono inserire in un unico file tutte le pagine che compongono un fax. 203
204 B.4 User Interface and Web Design B.4.3 Web and Hypermedia: Possibilities and Limitations B Describe the history behind the Internet and the World Wide Web B Define hypertext and hypermedia B Outline the common components used in web pages, such as top bar, side bar, site map, contact, search feature, help, last updated, navigation icons B Describe the use and value of internal and external websites in a company B Outline some of the challenges in maintaining a business website 204
205 B.4 User Interface and Web Design B.4.4 Web Design requirements and methods B Recognise the needs of the target group for whom a web page has been designed B Outline the risks of having too many messages on one page B Outline the problems associated with a poor mix of colours B Describe guidelines for developing user-friendly websites B Describe general quality criteria for web text B Explain the need for easy navigation on a website B Outline the tools for the development of a website B Outline the use and purpose of structure diagrams for website design B Describe the major methods used for navigation B Describe some project approaches to web design and common techniques 205
206 B.4 User Interface and Web Design B.4.5 Designing Web Pages B Outline the concept of a markup language and describe the main features of HTML B Use basic HTML commands and interpret layout commands B Outline basic graphic principles for normal written text, such as font size, percentage white space B Outline the basic elements of XML B Describe the concept of style sheets, such as Cascading Style Sheets (CSS) and Extensible Stylesheet Language (XSL) 206
207 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design HTML L'HTML è il linguaggio con cui potete indicare come i vari elementi vanno disposti in una pagina Web. Un documento html non è nient'altro infatti che un file di testo con delle indicazioni sul colore delle scritte, sulla posizione delle immagini all'interno della pagina, su come far scorrere il testo, e altre cose di questo genere. Il Browser svolge principalmente due compiti: scarica i vari files che si trovano su un computer remoto (il server) e che fanno riferimento a un certo indirizzo legge i documenti scritti in html, e visualizza la pagina in accordo con i comandi descritti; inoltre i vari files associati a quel documento (ad esempio le immagini, o i filmati in flash) vengono disposti secondo le indicazioni del codice html 207
208 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Browser 208
209 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Browser 209
210 B - BUILD / B.4 User Interface and Web Design/ B.4.2 Graphic design Browser 210
Lezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliPROGRAMMA DI CLASSE 5AI
Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliData Warehousing (DW)
Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliIntroduzione al data base
Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli
DettagliCiclo di vita dimensionale
aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema
DettagliSistemi informativi secondo prospettive combinate
Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliDatabase. 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
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliBASI DI DATI - : I modelli di database
BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità
DettagliTEORIA sulle BASI DI DATI
TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere
DettagliDATABASE RELAZIONALI
1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliBASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliCorso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati
Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliPolitica per la Sicurezza
Codice CODIN-ISO27001-POL-01-B Tipo Politica Progetto Certificazione ISO 27001 Cliente CODIN S.p.A. Autore Direttore Tecnico Data 14 ottobre 2014 Revisione Resp. SGSI Approvazione Direttore Generale Stato
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliGestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza
DettagliIntroduzione all Architettura del DBMS
Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
DettagliINFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.
INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed
DettagliSoftware per Helpdesk
Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella
DettagliArchivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliLezione 1. Introduzione e Modellazione Concettuale
Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and
DettagliIl 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
DettagliSistemi Informativi e Basi di Dati
Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliBrochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8
Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare
DettagliIntroduzione 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
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliPROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO
PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO Modulo 1: IL LINGUAGGIO HTML Formato degli oggetti utilizzati nel Web Elementi del linguaggio HTML: tag, e attributi
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliCorso di Basi di Dati e Conoscenza
Corso di Basi di Dati e Conoscenza Gestione dei Dati e della Conoscenza Primo Emicorso - Basi di Dati Roberto Basili a.a. 2012/13 1 Obbiettivi Formativi Scenario Le grandi quantità di dati accumulate nelle
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliBasi di Dati e Microsoft Access
Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliTecnologia di un Database Server (centralizzato) Introduzione generale
Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliOrganizzazione delle informazioni: Database
Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)
DettagliRiepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0
Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente
DettagliDispensa 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.
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliFacoltà di Farmacia - Corso di Informatica
Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito
DettagliCorso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini
Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la
DettagliPer capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.
DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del
DettagliL architettura di un DBMS
L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze
DettagliLo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliPROCEDURA OPERATIVA PER LA GESTIONE DELLO SVILUPPO DEL SOFTWARE BM-33T
Proc. 23 Pag. 1 di 8 PROCEDURA OPERATIVA PER LA GESTIONE DELLO SVILUPPO DEL SOFTWARE BM-33T 1. SCOPO... 2 2. APPLICABILITÀ... 2 3. DOCUMENTI DI RIFERIMENTO... 2 3.1. Norme e leggi di riferimento... 2 3.2.
DettagliTransazioni - Parte 1
Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliAnno Scolastico: 2014/2015. Indirizzo: Sistemi informativi aziendali. Classe quarta AS. Disciplina: Informatica. prof.
Anno Scolastico: 2014/2015 Indirizzo: Sistemi informativi aziendali Classe quarta AS Disciplina: Informatica prof. Competenze disciplinari: Secondo biennio 1. Identificare e applicare le metodologie e
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliIl software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
DettagliLorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17
Lorenzo Braidi Database design Libro_datadesign.indb 1 23-11-2004 10:06:17 Sommario Introduzione...XI Capitolo 1 Le basi di dati relazionali... 1 Le basi di dati... 1 Un po di storia... 2 I database gerarchici...
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliGestione del workflow
Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario
DettagliIntroduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei
Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliBASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA
BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliMANUALE DELLA QUALITÀ Pag. 1 di 6
MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.
DettagliSistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Sistemi di gestione delle basi di dati 1 Cos è un DBMS? Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni (ad esempio, Madonna
DettagliSQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.
SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL
DettagliCiclo di vita del software
Ciclo di vita del software Nel corso degli anni, nel passaggio dalla visione artigianale alla visione industriale del software, si è compreso che il processo andava formalizzato attraverso: un insieme
DettagliLinguaggio SQL: fondamenti D B M G. Gestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione
DettagliMac 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
Dettagliwww.happybusinessapplication.net
www.astudio.it Cosa è HBA Project HBA Project è una Web Business Application gratuita che può essere installata sul proprio dominio come una «personal cloud», alla quale avrà accesso solo l utente che
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliITI M. FARADAY Programmazione modulare a.s. 2014-2015
Indirizzo: INFORMATICA E TELECOMUNICAZIONI Disciplina: Informatica Docente:Maria Teresa Niro Classe: Quinta B Ore settimanali previste: 6 (3 ore Teoria - 3 ore Laboratorio) ITI M. FARADAY Programmazione
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
DettagliQuality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard
Quality gate Nei punti chiave del processo di sviluppo del software, viene integrato un insieme di quality gate per monitorare la qualità del prodotto intermedio prima che quest ultimo possa passare al
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliREFERENZIAZIONI 2001) NUP
Agenzia del Lavoro Provincia Autonoma di Trento PROFILO FORMATIVO Profilo professionale e percorso formativo DENOMINAZIONE FIGURA PROFESSIONALE - TECNICO INFORMATICO PROGRAMMATORE SOFTWARE E APPLICAZIONI
DettagliLA 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
DettagliSviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.
Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare
Dettagli