Architetture software e dei dati Appello 24/02/2016 Osservazione del Comportamento degli Automobilisti (OCA) 763862 MONTEROSSO FEDERICO 772185 MONTEVECCHI.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Il sistema italiano della qualità della tensione sulle
1 Introduzione ai calcolatori Parte II Software di base.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
DBMS (DataBase Management System)
Unità D1 Architetture di rete.
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Data Bases Distribuiti Finalità Caratteristiche Struttura Mario Capurso
Biglietti e Ritardi: schema E/R
1 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento.
Biglietti e Ritardi: schema E/R
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
L’uso dei database in azienda
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
AdP REGIONE LOMBARDIA E CAMERE DI COMMERCIO LOMBARDE Asse I INNOVAZIONE PER LA COMPETITIVITA Manuale di supporto alla compilazione della domanda on line.
Basi di dati Università Degli Studi Parthenope di Napoli
Daniel Stoilov Tesi di Laurea
DBMS ( Database Management System)
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Implementare un modello di dati
Un report è in grado di personalizzare la stampa delle informazioni rispetto alla stampa di una tabella, di un recordset o di una maschera. I report possono.
Sistemi a sensori distribuiti riflessioni tecniche
S.I.C.C. - Sistema Informativo Call Center
L’algebra relazionale
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Basi di Dati e Sistemi Informativi
sql: esempi di linguaggio sql nell'implementazione mysql
Introduzione alle basi di dati
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Microsoft Access Maschere (II).
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
10 azioni per lo scheduling su Grid Uno scheduler per Grid deve selezionare le risorse in un ambiente dove non ha il controllo diretto delle risorse locali,
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Ing. Adriano Cavicchi Dirigente Generale S.I.N.A.P. Sistema Informativo Nazionale degli Appalti Pubblici Forum P.A. 10 maggio 2004.
Relazione su Access Database
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Progettazione di una base di dati relazionale Terza forma normale.
Mapping Database Atsilo
Di Pietro Demurtas. È il nome di un pacchetto statistico implementato a partire dai primi anni ‘90 da Ihaka e Gentleman. È un linguaggio di programmazione.
Predisposizione del Catasto E Calcolo dei Canoni Milano Giugno Canoni patrimoniali di concessione.
Presentazione Servizi. Di Cosa Ci Occupiamo Hera02 cura per le Aziende i seguenti tre assetti: 1 – I servizi di Telecomunicazioni: Connessione Dati verso.
Sviluppo ed implementazione di un software per il car pooling
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 4 - Le maschere.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Le basi di dati.
EFFICIENZA ENERGETICA PER RETI REGIONALI A SCARSO TRAFFICO (CON MIGLIORAMENTO DELLA QUALITA’ DEI SERVIZI AL PUBBLICO) Promotori : RFT, EST (Elettrifer,
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
Architetture del software e dei dati Appello del 24/2/2016 Università degli Studi di Milano-Bicocca Dipartimento di Informatica Sistemistica e Comunicazione.
Sistema di osservazione del comportamento degli automobilisti Progetto di Architetture del software e dei dati 2015/2016 Alessandro Banfi Camillo.
APPELLO 12/02/2014 STUDENTE: LUCA GRAZIOLI MATRICOLA: Progetto di Architetture del software e dei dati.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Architetture del Software e dei Dati A.A. 2015/16 Sistema di Osservazione del Comportamento degli Automobilisti Lorenzo Fenili Silvio Messi
Architettura del Software e dei Dati Sistema di Osservazione del Comportamento degli Automobilisti (OCA) Gruppo BPS Michele Bellini Daniele Prevedello.
Massimiliano Pianciamore ICAR AP-7 Sistema Informativo Interregionale di Raccordo con Cinsedo.
Transcript della presentazione:

Architetture software e dei dati Appello 24/02/2016 Osservazione del Comportamento degli Automobilisti (OCA) MONTEROSSO FEDERICO MONTEVECCHI LUCA NEGRI ANDREA

ANALISI DEL PROBLEMA Si richiede di sviluppare un sistema per il controllo del comportamento degli automobilisti per una compagnia di assicurazioni, in modo da poter calcolare le relative polizze. Per controllare il comportamento degli automobilisti sono state installati dei sistemi all’interno delle auto contenti dei sensori di posizione, velocità e accelerazione Il sistema deve: Calcolare i dati relativi alla Velocità dell’auto nei vari tratti stradali Rilevare un sinistro Mettere in comunicazioni gli operatori con gli assicurati Calcolare il livello di rischio dell’assicurato basandosi su: Km totali Velocità media per tronco viario Livello di prudenza =(km rispettando i limiti)/(km totali) Età dell’assicurato Numero di denunce Comune di residenza

AMBIGUITA’ Qual è il target del sistema? Come rilevare il sinistro? Ogni quanto tempo i sensori rilevano la posizione, velocità, accelerazione? Ogni quanto tempo il sistema dell’auto invia i dati a OCA Qual è la precisione delle rilevazioni salvate all’interno del database Cosa prevede al massimo l’assistenza dell’operatore?

ASSUNZIONI Il target del sistema è a livello regionale. Nella regione Lombardia è stato stimato un numero di incidenti pari a 93 al giorno(2013). Il sinistro viene rilevato in due modi:  L’utente preme il pulsante nell’auto  Accelerazione negativa sopra una certa soglia Ogni 2 secondi il sistema rileva la posizione, velocità e accelerazione L’auto invia i dati al sistema ogni 24 ore Il sistema tiene traccia dei dati giornalieri, effettuerà quindi una media dei dati ricevuti dall’autovettura. L’assistenza dell’operatore prevede al massimo l’invio di un carroattrezzi.32

ARCHITETTURA DEL SOFTWARE

- ARCHITETTURA DEL PROBLEMA

USES CASES

CLASS DIAGRAM

ACTIVITY DIAGRAMCALCOLO LIVELLO DI RISCHIO

ELABORAZIONE DATI GIORNALIERI

ELABORAZIONE ASSISTENZA SINISTRI

RIDEFINIZIONE POLIZZA ASSICURATO

- ARCHITETTURA LOGICA

PARTIZIONAMENTO ORIZZONTALE 1

Abstraction30 Complexity60 Frequency80 Delay50 Locations20 Extra Flows20 Intra Flows10 Sharing70 FOOTPRINT

PARTIZIONAMENTO ORIZZONTALE 2

FOOTPRINT Abstraction10 Complexity20 Frequency10 Delay10 Locations20 Extra Flows20 Intra Flows10 Sharing90 scartiamo la partizione verticale perché comporterebbe a un'altissima : astrazione, complessità frequenza, delay e locations.

- ARCHITETTURA CONCRETA

SEQUNCE DIAGRAM ASSISTENZA SINISTRI

ELABORAZIONE DATI GIORNALIERI

RIDEFINIZIONE POLIZZA ASSICURATO

STRUTTURA INTERNA DEI COMPONENTI INVIO SEGNALAZIONI SINISTRO =PASSIVO - STATELESS GESTORE ASSISTENZA = PASSIVO - STATELESS INVIO RILEVAZIONI = ATTIVO - STATELESS GESTORE DATI GIORNALIERI = PASSIVO - STATELESS GESTORE RINNOVO POLIZZA = ATTIVO - STATELLES BASE DATI (BDA) = PASSIVO - STATEFULL BASE DATI (OCB) = PASSIVO - STATEFULL

SCELTE TECNOLOGICHE Comunicazione Auto/Sede assicurazione Comunicazione attraverso sistema GSM installato all’interno dell’auto:  PRO: o Infrastruttura già presente, non vanno create altre infrastrutture dedicate; o Non richiesta grande frequenza di utilizzo della rete o Non richiesta continua disponibilità della rete (invio dei dati una volta al giorno, se non si è coperti dalla rete l’invio dei dati viene riprovato successivamente)  CONTRO: o Costo componenti device o Costo traffico dati

NODI:  Auto : o I device non richiedono grande capacità di calcolo  Sede Assicurazione o Abbassamento dei costi per gli elaboratori (richiesti elaboratori di fascia media) o Medio/basso costo iniziale per la creazione dell’infrastruttura o Bassi costi di ampliamento dell’infrastruttura (aumentare potenza di calcolo per la gestione delle Assistenze) o Resistenza ai guasti per i componenti più critici (GestoreAssistenza)

- DEPLOYMENT

SOLUZIONE1

PRO: o bassa complessità o gestione/manutenzione di un unica macchina nella sede dell'assicurazione CONTRO: o bassa scalabilità o scarsa resistenza ai guasti o richiesto macchina con alta capacità di calcolo

SOLUZIONE2

PRO: o in auto hardware dedicato per svolgimento singola attività o complessità media o migliorata resistenza ai guasti CONTRO: o bassa scalabilità o aumento costi per hardware auto o aumenta complessità di gestione accesso ai database

SOLUZIONE 3 (MIGLIORE)

PRO: o costi inferiori per hardware auto o ulteriormente migliorata resistenza ai guasti (dispatcher per assistenza) o alta scalabilità per gestione assistenza o abbassamento dei costi per la sede centrale (richiesti elaboratori con media capacità di calcolo) CONTRO: o aumentata complessità o scarsa resistenza ai guasti per le attività meno critiche (rinnovo polizza / gestione dati giornalieri) o aumenta complessità di gestione accesso ai database

STIME DI LARGA DEI COSTI Installazione sensori + HW di rilevazione all’interno delle vetture 100€ per auto x20000 = Infrastruttura HW sede € circa Costo abbonamenti internet mobile comunicazione vettura- sede 5€ al mese x 12 = 60€ annuo per auto

- ARCHITETTURA DATI

SCHEMA LOGICO BDA Assicurato(NomeCliente, CognomeCliente, CF, dataNascita, cittaDiNascita, cittaDiResidenza, indirizzo) Comune(CAP, Nome, provincia) Polizza(IDPolizza, CFCliente,TargaVeicolo, nomePolizza, PremioAssicurazione, DataStipulazione, DataScadenza, operatore) Sinistro(IDDenuncia, PolizzaCliente, indirizzo, data, tipoSinistro, descrizioneEvento)

SCHEMA CONCETTUALE BDA

SCHEMA LOGICO OCA Assicurato(Nome, Cognome, CF, dataNascita, NumeroTelefono, cittaDiResidenza) Veicolo(targa, Assicurato, annoImmatricolazione, modello) datiGiornalieri(IDDati, TargaVeicolo, vmTrattiUrbani, vmTrattiExtraUrbani, KmTrattiAutostradali, kmGiornalieri, kmRispettandoLimiti, KmTrattiUrbani, KmTrattiExtraUrbani, kmAutostradali, data) Operatore(IDOperatore, Nome, Cognome)

SCHEMA CONCETTUALE BDA

ETEROGENEITA’ BDAOCBTipo EterogeneitàScelta Assicurato.NomeClienteAssicurato.NomeSinonimia(Attributo)Assicurato.Nome Assicurato.CognomeClienteAssicurato.CognomeSinonimia(Attributo)Assicurato.Cognome ComuneAssicurato.cittaResidenzaStrutturaleComune come entità

Corrispondenze Inter-schema stipula OCBOperatore BDAPolizza stipula OCBVeicolo BDAPolizza

SCHEMA LOGICO GLOBALE Assicurato (Nome, Cognome, CF, dataNascita, NumeroTelefono, cittaDiNascita, cittaDiResidenza, indirizzo) Comune(CAP, Nome, provincia) Polizza(IDPolizza, CFCliente,TargaVeicolo, nomePolizza, PremioAssicurazione, DataStipulazione, DataScadenza, OperatorePolizza) Sinistro(IDDenuncia, PolizzaCliente, indirizzo, data, tipoSinistro, descrizioneEvento) Veicolo(targa, Assicurato, annoImmatricolazione, modello) datiGiornalieri(IDDati, TargaVeicolo, vmTrattiUrbani, vmTrattiExtraUrbani, vmTrattiAutostradali, kmGiornalieri, kmRispettandoLimiti, KmTrattiUrbani, KmTrattiExtraUrbani, kmAutostradali, data) Operatore(IDOperatore, Nome, Cognome)C

SCHEMA CONCETTUALE GLOBALE

Assicurato: CREATE VIEW Assicurato Select bda.NomeCliente AS Nome, bAss.CognomeCliente AS Cognome, bAss.CF, bAss.dataNascita, oAss.telefono, bAss.cittaDiNascita, bAss.cittàdiResidenza, bAss.indirizzo FROM BDA.Assicurato as bAss JOIN OCB.Assicurato as oAss ON bAss.CF = oAss.CF Comune: CREATE VIEW Comune SELECT * from BDA.Comune Polizza: CREATE VIEW Polizza Select * from BDA.Polizza GLOBAL MAPPING AS A VIEW

Sinistro: CREATE VIEW Sinistro Select * from BDA.Sinistro Veicolo: CREATE VIEW Veicolo Select * from OCB.Veicolo datiGiornalieri: CREATE VIEW datiGiornalieri Select * from OCB.datiGiornalieri Operatore: CREATE VIEW Operatore Select * from OCB.Operatore

QUERY Selezionare Nome, cognome e veicolo(targa) degli assicurati residenti a Milano e la cui polizza relativa al veicolo in questione scade entro 28/02/2016 SELECT A.Nome AS Nome, A.Cognome AS Cognome, V.targa AS targa FROM Assicurato AS A JOIN Comune AS C ON A. cittaDiResidenza=C.CAP JOIN Polizza AS P ON (A.CF=P.CFCliente) JOIN Veicolo AS V ON (P.TargaVeicolo=V.targa) WHERE P.DataScadenza < 28/02/2016 AND C.Nome=’Milano’; UNFOLDING SELECT A.Nome AS Nome, A.Cognome AS Cognome, V.targa AS targa FROM BDA.Asicurato AS A JOIN BDA.Comune AS C ON A. cittaDiResidenza=C.CAP JOIN BDA.Polizza AS P ON (A.CF=P.CFCliente) JOIN OCB.Veicolo AS V ON (P.TargaVeicolo=V.targa) WHERE P.DataScadenza < 28/02/2016 AND C.Nome=’Milano’;

A causa della necessità di avere database flessibili e scalabili, in contesti come Facebook, Twitter e simili, è nata la necessità di avere database non relazionali o NoSQL. Il problema dei database tradizionale è fondamentalmente la frammentazione dei dati su varie tabele, questo porta a continue interrogazioni di vario tipo e, nel caso di un grande quantitativo di dati si necessità di una grande potenza computazionale. MODELLO DI RAPPRESENTAZIONE NON RELAZIONALE PER OCB

I database NoSQL possono essere implementati seguendo differenti approcci a seconda delle strutture dati con cui si rappresentano i record di dato. Le principali categorie sono le seguenti quattro: Column-oriented database : le informazioni sono memorizzate in colonne. Non c'è bisogno di definire subito le colonne. Tipicamente sono usati nell’ambito della memorizzazione distribuita dei dati. Key/Values store: in questo caso i dati vengono immagazzinati in un elemento che contiene una chiave assieme ai dati veri e propri. É quindi del tutto analogo ad una Hash Table. Questo metodo è il più semplice da implementare, ma anche il più inefficiente se la maggior parte delle operazioni riguardano soltanto una parte di un elemento. Document store: è l’evoluzione del metodo key/value, rispetto ai normali database relazionali invece che immagazzinare i dati in tabelle con dei campi fissi, questi vengono messi in un documento (rappresentato in XML, JSON o BSON) che può contenere illimitati campi di illimitata lunghezza, così se ad esempio di una persona conosciamo solo nome e cognome, ma magari di un’altra persona anche indirizzo, data di nascita 11 e codice fiscale, si evita che per il primo nominativo ci siano campi inutilizzati che occupano inutilmente spazio. Graph database: i dati vengono immagazzinati sotto forma di strutture a grafi, rendendo più performante l’accesso a questi da applicativi orientati agli oggetti. Tipicamente si usa nei social network. Classificazione dei database non relazionali

Scelta implementativa Se si fosse scelto di rappresentare il database OCB sotto forma di DB non relazionale avremmo scelto, il tipo Document. Questo tipo di Struttura dati, permette di: - organizzare i dati in documenti schemaless - non tenere traccia di dati non necessari al sistema - contenere tutte le informazioni senza effettuare operazioni di join - non soddisfare le proprietà ACID per le rilevazioni - memorizzare documenti di lunghezza illimitata (possibile collezionare dati giornalieri) - memorizzare in modo ottimale le grandi quantità di dati provenienti dai sensori. La tipologia Document è inoltre più efficiente rispetto al key-value, per il fatto che quest’ultimo richiede più tempo negli aggiornamenti. Il graph database nel nostro caso non è funzionale poiché sarebbe più utile se dovessimo trovare relazioni interne ai vari dati, ma non è cosi. Infine Column-oriented database si applica nel caso si necessiti di sotto categorie. La forma di implementazione document based scelta è Mongodb: - databsae Open-source (riduzione spese) - scalabile - con possibilità di creare facilmente software (ad esempio per aggregare informazioni) - performance maggiori rispetto a struttura tradizionale