Bibliografia ed altri riferimenti
Il testo di riferimento per il corso IN530 è il seguente: M. Pighin, A. Marzona, Sistemi Informativi Aziendali - Struttura e applicazioni, terza edizione, Pearson, 2018.
Molti degli argomenti trattati durante le lezioni del corso sono presenti in questo libro. Per ulteriori approfondimenti si riporta di seguito un insieme di riferimenti bibliografici e alcune dispense sulle lezioni del corso IN530.
Riferimenti bibliografici
- Brian W. Kernighan, D is for Digital, ed. DisforDigital.net, 2011.
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, Basi di dati - Concetti, linguaggi, architetture, McGraw-Hill, 1996.
- Andrea Guidi, Daniela Dorbolò, Guida a SQL, McGraw-Hill, 1996.
- Craig Hunt, TCP/IP Network Administration, O'Reilly & Associates, 1994.
- Roger S. Pressman, Principi di Ingegneria del Software, McGraw-Hill, 2000.
- Andrew S. Tanenbaum, David J. Wetherall, Reti di calcolatori, quinta edizione, Pearson, 2011.
Dispense del corso
- 0. Presentazione del corso (aggiornamento del 2/3/2020)
- Presentazione del corso e dei suoi obiettivi, orario delle lezioni, prova finale, bibliografia.
- 1. Dal computer al sistema informativo (aggiornamento del 2/3/2020)
- Breve cronologia dell'evoluzione dei sistemi informatici dagli anni '50/'60 ad oggi; principali architetture applicative: applicazioni centralizzate, applicazioni client server, applicazioni web based “three-tier”, architetture SOA (service oriented architecture), infrastrutture cloud.
- 2. Componenti di un sistema informativo aziendale (aggiornamento del 3/3/2020)
- Presentazione di un'ipotesi semplificata di struttura organizzativa aziendale e delle esigenze di carattere informativo e di condivisione dei dati tra le diverse unità organizzative dell'azienda; componenti che costituiscono la struttura del sistema informativo aziendale; focalizzazione sulle diverse componenti software di un sistema informativo.
- 3. Sistemi Operativi (aggiornamento del 23/3/2020)
- Scopo e caratteristiche principali di un sistema operativo, struttura del sistema operativo, kernel, gestione dei processi e scheduler, gestione della memoria primaria, gestione del filesystem, gestione delle periferiche e delle unità di I/O, gestione della memoria secondaria, gestione della sicurezza, interfaccia verso gli utenti, il sistema X Window.
- 4. Reti di computer (aggiornamento del 22/3/2020)
- Funzioni di una rete, classificazioni in base alla topologia, all'estensione fisica, alla modalità di comunicazione; modello a livelli dell'architettura informatica del software per la gestione della rete, il modello ISO/OSI, il modello OSI semplificato, l'architettura TCP/IP; descrizione delle funzioni e dei protocolli relativi ai cinque livelli della pila OSI semplificata (Fisico, Data Link, Network access, Transport, Application); alcuni protocolli applicativi (FTP, Telnet, SMTP, POP3, DNS), il sistema dei nomi di dominio; alcuni dispositivi hardware di rete.
- 5. Database relazionali (aggiornamento del 14/4/2020)
- Obiettivi dell'archiviazione informatica di informazioni, principali funzioni di un DBMS (DataBase Management System), il modello relazionale, il concetto di relazione, schema entità/relazioni, schema fisico; normalizzazione del database, forme normali, forma normale di Boyce e Codd; il linguaggio SQL, le istruzioni DDL (create, drop), le istruzioni DCL (grant, revoke), le istruzioni DML (insert, select, update, delete); inclusione di istruzioni SQL in altri linguaggi di programmazione, strumenti ORM; altri modelli di database, NO-SQL database.
- 6. Data Warehouse (aggiornamento del 21/4/2020)
- Sistemi operazionali e informazionali, scopi e caratteristiche di un data warehouse; struttura logica di un data warehouse, fatti, misure, dimensioni, il Dimensional Fact Model; operazioni comuni di analisi su un data warehouse; ipercubi, modello MOLAP e ROLAP; architettura di un sistema data warehouse.
- 7. Applicazioni Web Based (aggiornamento del 26/4/2020)
- Architettura di una web application, server HTTP, protocollo HTTP, URL, linguaggio di marcatura del testo HTML e fogli di stile CSS; interfaccia CGI (Common Gateway Interface) ed esempi per la realizzazione di una web application in linguaggio Perl; il framework JEE, i servlet Java e le pagine JSP (Java Server Pages); programmazione lato client e linguaggio Javascript. Vedi anche gli Appunti per la progettazione di un'applicazione web CGI.
- 8. Sicurezza dei Sistemi Informativi (aggiornamento del 12/5/2020)
- Requisiti della sicurezza delle informazioni: riservatezza (confidenzialità), integrità, disponibilità; minacce e attacchi informatici al sistema informativo, contromisure di sicurezza fisica e logica; sicurezza perimetrale, sicurezza degli end-point, sicurezza applicativa, sistemi AAA (authentication, authorization, accounting); sistemi di identity management; autenticazione, autenticazione forte, single sign-on, sistemi di access management, sistemi di identity federation, il sistema SPID italiano; raccolta di log e i sistemi SIEM; alcune normative sulla sicurezza delle informazioni.
- 9. Principi di Ingegneria del Software (aggiornamento del 26/5/2020)
- Ciclo di vita del prodotto software, fasi del ciclo di vita, attività e principali deliverable, figure professionali coinvolte; aspetti rilevanti nella progettazione del prodotto software, definizione dei requisiti, tipologie di requisito, definizione dell'architettura; UML (unified modeling language), use case diagram, class diagram, sequence diagram, activity diagram; gestione della configurazione; cenni sui sistemi di gestione per la qualità.