EUCIP livello core B - Area di Realizzazione Sistemi Informativi (Build) Acquisition, Development and Implementation of Information Systems

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "EUCIP livello core B - Area di Realizzazione Sistemi Informativi (Build) Acquisition, Development and Implementation of Information Systems"

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

DBMS (Data Base Management System)

DBMS (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

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

IT Service Management, le best practice per la gestione dei servizi

IT Service Management, le best practice per la gestione dei servizi Il Framework ITIL e gli Standard di PMI : : possibili sinergie Milano, Venerdì, 11 Luglio 2008 IT Service Management, le best practice per la gestione dei servizi Maxime Sottini Slide 1 Agenda Introduzione

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING UN BUON MOTIVO PER [cod. E603] L obiettivo del corso è fornire le competenze e conoscenze

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Milano, Settembre 2009 BIOSS Consulting

Milano, Settembre 2009 BIOSS Consulting Milano, Settembre 2009 BIOSS Consulting Presentazione della società Agenda Chi siamo 3 Cosa facciamo 4-13 San Donato Milanese, 26 maggio 2008 Come lo facciamo 14-20 Case Studies 21-28 Prodotti utilizzati

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 5 Marco Fusaro KPMG S.p.A. 1 CobiT: strumento per la comprensione di una

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

La collaborazione come strumento per l'innovazione.

La collaborazione come strumento per l'innovazione. La collaborazione come strumento per l'innovazione. Gabriele Peroni Manager of IBM Integrated Communication Services 1 La collaborazione come strumento per l'innovazione. I Drivers del Cambiamento: Le

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Claudio Chiarenza (General Manager and Chief Strategy Officer) Italtel, Italtel logo and imss (Italtel Multi-Service

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Corso Base ITIL V3 2008

Corso Base ITIL V3 2008 Corso Base ITIL V3 2008 PROXYMA Contrà San Silvestro, 14 36100 Vicenza Tel. 0444 544522 Fax 0444 234400 Email: proxyma@proxyma.it L informazione come risorsa strategica Nelle aziende moderne l informazione

Dettagli

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA SAP World Tour 2007 - Milano 11-12 Luglio 2007 THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA Agenda Presentazione Derga Consulting Enterprise SOA Allineamento Processi & IT Il

Dettagli

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Agenda Che cos è il CMMI Costellazione di modelli Approccio staged e continuous Aree di processo Goals

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Business Intelligence

Business Intelligence aggregazione dati Business Intelligence analytic applications query d a t a w a r e h o u s e aggregazione budget sales inquiry data mining Decision Support Systems MIS ERP data management Data Modeling

Dettagli

CORPORATE OVERVIEW. www.akhela.com

CORPORATE OVERVIEW. www.akhela.com CORPORATE OVERVIEW www.akhela.com BRIDGE THE GAP CORPORATE OVERVIEW Bridge the gap Akhela è un azienda IT innovativa che offre al mercato servizi e soluzioni Cloud Based che aiutano le aziende a colmare

Dettagli

CA RC/Update for DB2 for z/os

CA RC/Update for DB2 for z/os SCHEDA PRODOTTO CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os (CA RC/Update) è uno strumento di gestione di dati e oggetti DB2 che consente agli amministratori

Dettagli

Realizzare un architettura integrata di Business Intelligence

Realizzare un architettura integrata di Business Intelligence Realizzare un architettura integrata di Business Intelligence Un sistema integrato di Business Intelligence consente all azienda customer oriented una gestione efficace ed efficiente della conoscenza del

Dettagli

IT FOR BUSINESS AND FINANCE

IT FOR BUSINESS AND FINANCE IT FOR BUSINESS AND FINANCE Business Intelligence Siena 14 aprile 2011 AGENDA Cos è la Business Intelligence Terminologia Perché la Business Intelligence La Piramide Informativa Macro Architettura Obiettivi

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

Il business risk reporting: lo. gestione continua dei rischi

Il business risk reporting: lo. gestione continua dei rischi 18 ottobre 2012 Il business risk reporting: lo strumento essenziale per la gestione continua dei rischi Stefano Oddone, EPM Sales Consulting Senior Manager di Oracle 1 AGENDA L importanza di misurare Business

Dettagli

IT FINANCIAL MANAGEMENT

IT FINANCIAL MANAGEMENT IT FINANCIAL MANAGEMENT L IT Financial Management è una disciplina per la pianificazione e il controllo economico-finanziario, di carattere sia strategico sia operativo, basata su un ampio insieme di metodologie

Dettagli

ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM. Andrea Mannara Business Unit Manager

ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM. Andrea Mannara Business Unit Manager ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM Andrea Mannara Business Unit Manager ManageEngine Portfolio Network Data Center Desktop & MDM ServiceDesk & Asset Active Directory Log &

Dettagli

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI Prefazione Autori XIII XVII Capitolo 1 Sistemi informativi aziendali 1 1.1 Introduzione 1 1.2 Modello organizzativo 3 1.2.1 Sistemi informativi

Dettagli

Legame fra manutenzione e sicurezza. La PAS 55

Legame fra manutenzione e sicurezza. La PAS 55 Gestione della Manutenzione e compliance con gli standard di sicurezza: evoluzione verso l Asset Management secondo le linee guida della PAS 55, introduzione della normativa ISO 55000 Legame fra manutenzione

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e'

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il continuous improvement ed e' ITIL v3 ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e' giusto che lo applichi anche a se' stessa... Naturalmente una

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

rischi del cloud computing

rischi del cloud computing rischi del cloud computing maurizio pizzonia dipartimento di informatica e automazione università degli studi roma tre 1 due tipologie di rischi rischi legati alla sicurezza informatica vulnerabilità affidabilità

Dettagli

Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking

Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking Seminario associazioni: Seminario a cura di itsmf Italia Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking Andrea Praitano Agenda Struttura dei processi ITIL v3; Il Problem

Dettagli

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL Care Colleghe, Cari Colleghi, prosegue la nuova serie di Newsletter legata agli Schemi di Certificazione di AICQ SICEV. Questa volta la pillola formativa si riferisce alle novità dell edizione 2011 dello

Dettagli

IT Service Management

IT Service Management IT Service Management ITIL: I concetti chiave ed il livello di adozione nelle aziende italiane Matteo De Angelis, itsmf Italia (I) 1 Chi è itsmf italia 12 th May 2011 - Bolzano itsmf (IT Service Management

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Security Governance. Technet Security Day Milano/Roma 2007 NSEC Security Excellence Day Milano 2007. Feliciano Intini

Security Governance. Technet Security Day Milano/Roma 2007 NSEC Security Excellence Day Milano 2007. Feliciano Intini Technet Security Day Milano/Roma 2007 NSEC Security Excellence Day Milano 2007 Security Governance Chief Security Advisor Microsoft Italia feliciano.intini@microsoft.com http://blogs.technet.com/feliciano_intini

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

PMI. Management Maturity Model, OPM3 Second Edition 2008

PMI. Management Maturity Model, OPM3 Second Edition 2008 Nuovi standard PMI, certificazioni professionali e non solo Milano, 20 marzo 2009 PMI Organizational Project Management Maturity Model, OPM3 Second Edition 2008 Andrea Caccamese, PMP Prince2 Practitioner

Dettagli

LA TEMATICA. Questa situazione si traduce facilmente:

LA TEMATICA. Questa situazione si traduce facilmente: IDENTITY AND ACCESS MANAGEMENT: LA DEFINIZIONE DI UN MODELLO PROCEDURALE ED ORGANIZZATIVO CHE, SUPPORTATO DALLE INFRASTRUTTURE, SIA IN GRADO DI CREARE, GESTIRE ED UTILIZZARE LE IDENTITÀ DIGITALI SECONDO

Dettagli

Pronti per la Voluntary Disclosure?

Pronti per la Voluntary Disclosure? Best Vision GROUP The Swiss hub in the financial business network Pronti per la Voluntary Disclosure? Hotel de la Paix, 21 aprile 2015, ore 18:00 Hotel Lugano Dante, 22 aprile 2015, ore 17:00 Best Vision

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Executive Master in. Governance dei Progetti e dei Servizi IT GPSIT

Executive Master in. Governance dei Progetti e dei Servizi IT GPSIT Executive Master in Governance dei Progetti e dei Servizi IT GPSIT OBIETTIVI Il Master ha l obiettivo di formare executive e professional nella governance dei progetti e dei servizi IT, integrando quelle

Dettagli

Presentazione per. «La governance dei progetti agili: esperienze a confronto»

Presentazione per. «La governance dei progetti agili: esperienze a confronto» Presentazione per «La governance dei progetti agili: esperienze a confronto» Pascal Jansen pascal.jansen@inspearit.com Evento «Agile Project Management» Firenze, 6 Marzo 2013 Agenda Due parole su inspearit

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

OPEN DAY: ELOCAL GROUP RELOADED

OPEN DAY: ELOCAL GROUP RELOADED L'ingegneria di Elocal Roberto Boccadoro / Luca Zucchelli OPEN DAY: ELOCAL GROUP RELOADED ELOCAL GROUP SRL Chi siamo Giorgio Dosi Lorenzo Gatti Luca Zucchelli Ha iniziato il suo percorso lavorativo in

Dettagli

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi.

Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi. Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi. I modelli di sourcing Il mercato offre una varietà di modelli di sourcing, ispirati

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm. 2011 IBM Corporation

IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm. 2011 IBM Corporation IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm 2011 IBM Corporation Cosa si intende per Cloud Computing Cloud è un nuovo modo di utilizzare e di distribuire i servizi IT,

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Corso di Amministrazione di Sistema Parte I ITIL 3

Corso di Amministrazione di Sistema Parte I ITIL 3 Corso di Amministrazione di Sistema Parte I ITIL 3 Francesco Clabot Responsabile erogazione servizi tecnici 1 francesco.clabot@netcom-srl.it Fondamenti di ITIL per la Gestione dei Servizi Informatici Il

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

STS. Profilo della società

STS. Profilo della società STS Profilo della società STS, Your ICT Partner Con un solido background accademico, regolari confronti con il mondo della ricerca ed esperienza sia nel settore pubblico che privato, STS è da oltre 20

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

Dettagli

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive 1 MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive Cos è un servizio di e-learning SaaS, multimediale, interattivo

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

IT Service Management

IT Service Management IT Service Management L'importanza dell'analisi dei processi nelle grandi e medie realtà italiane Evento Business Strategy 2.0 Firenze 25 settembre 2012 Giovanni Sadun Agenda ITSM: Contesto di riferimento

Dettagli

Configuration Management

Configuration Management Configuration Management Obiettivi Obiettivo del Configuration Management è di fornire un modello logico dell infrastruttura informatica identificando, controllando, mantenendo e verificando le versioni

Dettagli

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix I veri benefici dell Open Source nell ambito del monitoraggio IT Georg Kostner, Department Manager Würth Phoenix IT Service secondo ITIL Il valore aggiunto dell Open Source Servizi IT Hanno lo scopo di

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it ISO 9001: 2008 Profilo Aziendale METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it Sede legale: * Viale Brodolini, 117-60044 - Fabriano (AN) - Tel. 0732.251856 Sede amministrativa:

Dettagli

group HIGH CURRENT MULTIPLEX NODE

group HIGH CURRENT MULTIPLEX NODE HIGH CURRENT MULTIPLEX NODE edizione/edition 04-2010 HIGH CURRENT MULTIPLEX NODE DESCRIZIONE GENERALE GENERAL DESCRIPTION L'unità di controllo COBO è una centralina elettronica Multiplex Slave ; la sua

Dettagli

Processi ITIL. In collaborazione con il nostro partner:

Processi ITIL. In collaborazione con il nostro partner: Processi ITIL In collaborazione con il nostro partner: NetEye e OTRS: la piattaforma WÜRTHPHOENIX NetEye è un pacchetto di applicazioni Open Source volto al monitoraggio delle infrastrutture informatiche.

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

IL RUOLO E LE COMPETENZE DEL SERVICE MANAGER

IL RUOLO E LE COMPETENZE DEL SERVICE MANAGER IL RUOLO E LE COMPETENZE DEL SERVICE MANAGER Alessio Cuppari Presidente itsmf Italia itsmf International 6000 Aziende - 40000 Individui itsmf Italia Comunità di Soci Base di conoscenze e di risorse Forum

Dettagli

Evoluzione dei servizi di incasso e pagamento per il mercato italiano

Evoluzione dei servizi di incasso e pagamento per il mercato italiano www.pwc.com/it Evoluzione dei servizi di incasso e pagamento per il mercato italiano giugno 2013 Sommario Il contesto di riferimento 4 Un modello di evoluzione dei servizi di incasso e pagamento per il

Dettagli

IT Service Management: il Framework ITIL. Dalmine, 20 Gennaio 2012 Deborah Meoli, Senior Consultant Quint Italy

IT Service Management: il Framework ITIL. Dalmine, 20 Gennaio 2012 Deborah Meoli, Senior Consultant Quint Italy IT Service Management: il Framework ITIL Dalmine, 20 Gennaio 2012 Deborah Meoli, Senior Consultant Quint Italy Quint Wellington Redwood 2007 Agenda Quint Wellington Redwood Italia IT Service Management

Dettagli

dal Controllo di Gestione alla Business Intelligence

dal Controllo di Gestione alla Business Intelligence dal Controllo di Gestione alla strumenti strategici per la gestione delle imprese Giovanni Esposito Bergamo, 29 Ottobre 2012 dal Controllo di Gestione alla 25/10/2012 1 Agenda 14:00 Benvenuto Il Sistema

Dettagli

ITIL v3, il nuovo framework per l ITSM

ITIL v3, il nuovo framework per l ITSM ITIL v3, il nuovo framework per l ITSM ( a cura di Stefania Renna ITIL - IBM) Pag. 1 Alcune immagini contenute in questo documento fanno riferimento a documentazione prodotta da ITIL Intl che ne detiene

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

L ultima versione di ITIL: V3 Elementi salienti

L ultima versione di ITIL: V3 Elementi salienti L ultima versione di ITIL: V3 Elementi salienti Federico Corradi Workshop SIAM Cogitek Milano, 17/2/2009 COGITEK s.r.l. Via Montecuccoli 9 10121 TORINO Tel. 0115660912 Fax. 0115132623Cod. Fisc.. E Part.

Dettagli

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07.

Istruzione N. Versione. Ultima. modifica. Funzione. Data 18/12/2009. Firma. Approvato da: ASSEMBLAGGIO COLLAUDO TRAINING IMBALLO. service 07. Istruzione N 62 Data creazione 18/ 12/2009 Versione N 00 Ultima modifica TIPO ISTRUZIONE ASSEMBLAGGIO COLLAUDO TRAINING MODIFICA TEST FUNZIONALE RIPARAZIONE/SOSTITUZIONE IMBALLO TITOLO DELL ISTRUZIONE

Dettagli