1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,

Slides:



Advertisements
Presentazioni simili
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Reti informatiche: Introduzione AICA © 2005.
Advertisements

Meccanismi di IPC Problemi classici di IPC
1 t Mobilità internazionale e conversione dei voti Maria Sticchi Damiani Università della Calabria 8 febbraio 2013.
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
/ fax
1 Introduzione ai calcolatori Parte II Software di base.
Introduzione Cosa è un Sistema Operativo? Una breve storia
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Basi di Dati prof. A. Longheu
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
DISEGNO TECNICO INDUSTRIALE
Marketing MARKETING DEL TURISMO Facoltà di Scienze Politiche e
Training On Line - Report. 2 Report storico Da menu: Reportistica -> Report storico Si accede alla pagina di selezione del report storico.
DIAGRAMMI DI FLUSSO DEI DATI
8. Progettazione del Software
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Distributed Object Computing
EPA 01/02 VIII /1 Analisi delle relazioni tra produzione, trasformazione e distribuzione in un sistema connesso verticalmente.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
eliana minicozzi linguaggi1a.a lezione2
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Unità Didattica 2 I Linguaggi di Programmazione
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Capitolo 10 La determinazione del prezzo Comprendere e cogliere
Il marketing: costruire una relazione profittevole con il cliente
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Contatore: esempio di circuito sequenziale
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
La funzione del magazzino e la politica delle scorte
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
GeoSoft BLU short presentation 1. GeoSoft BLU short presentation 2 Il software BLU è un prodotto software di tipo CRM (Customer Relationship Management)
L’ingegneria del software
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Soluzioni mobile per le aziende European Mobility Forum
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
La tabella dei voti ECTS Maria Sticchi Damiani Sapienza, Roma 26 settembre
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Il Sistema Operativo (1)
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
LE COMPONENTI DEL SISTEMA INFORMATIVO
LE COMPONENTI DEL SISTEMA INFORMATIVO
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
lun mar mer gio ven SAB DOM FEBBRAIO.
1 Progettazione Architetturale. 2 Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Programmazione ad oggetti
Lezione 1 Panoramica sui paradigmi di programmazione
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Reti di computer Condivisione di risorse e
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Le basi di dati.
Transcript della presentazione:

1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura, e come larchitettura di un singolo sistema può essere modellata in diversi modi

2 Processo di progettazione architetturale Strutturazione del sistema Il sistema viene diviso in sottosistemi, e vengono identificato come i sottosistemi comunicano Modellazione del controllo Viene stabilito un modello delle relazioni di controllo tra le differenti parti del sistema Scomposizione modulare I sottosistemi vengono a loro volta divisi in moduli

3 Sottosistemi e moduli Un sottosistema è un sistema di per sè: le sue operazioni sono indipendenti dai servizi offerti dagli altri sotto-sistemi Un modulo è una componente del sistema che offre servizi ad altre componenti, ma che non può essere considerato un sistema a se stante

4 Strutturare un sistema Significa scomporre il sistema in sottosistemi Larchitettura viene espressa di solito con un diagramma a blocchi, che presenta una visione dinsieme della struttura del sistema Si possono sviluppare modelli più specifici, che mostrano come i sottosistemi siano distribuiti e condividono dati, e che mostrano le interfacce tra i vari sottosistemi

5 Sistema di controllo di un robot di impacchettamento

6 Il modello repository I sottosistemi possono scambiarsi dei dati. Questo può essere fatto in due modi: I dati condivisi sono mantenuti in un database centrale (o deposito) al quale possono accedere tutti i sottosistemi Ogni sottosistema mantiene un proprio database e passa i dati esplicitamente agli altri sottosistemi Quando devono essere condivise grosse quantità di dati, viene usualmente scelto il modello di deposito (repository model)

7 Architettura di un toolset CASE

8 Caratteristiche del modello a deposito Vantaggi Modo efficiente di condividere grandi quantità di dati I sottosistemi possono disinteressarsi a come i dati vengono prodotti, alle operazioni di backup, sicurezza ecc. Svantaggi I sottosistemi devono concordare su un modello dei dati, che inevitabilmente è un compremesso tra esigenze diverse Levoluzione dei dati è difficoltosa e dispendiosa Non cè spazio per politiche specifiche di gestione dei dati La distribuzione dei dati non è efficiente

9 Modello client-server Modello per sistemi distribuiti, che mostra come dati e processi sono distribuiti su un insieme di componenti Insieme di servers autonomi che offrono servizi specifici, ad es. di stampa, di gestione dei dati... Insieme di clienti che richiedono questi servizi Rete che permette ai clienti di accedere ai server

10 Emeroteca

11 Caratteristiche del modello client- server Vantaggi La distribuzione dei dati è semplice Fa uso effettivo del sistema di rete, e può richiedere hardware economico E facile aggiungere nuovi server o fare lupgrade dei server esistenti Svantaggi Non cè un modello dei dati condiviso da tutti i sottosistemi, quindi i sottosistemi possono usare organizzazioni diverse dei dati e lo scambio dei dati può risultare inefficiente Gestione di dati ridondante in ogni server Non cè un registro centrale dei nomi e dei servizi: può risultare difficile sapere quali dati/servizi sono disponibili

12 Modello macchina astratta Usato per modellare linterfaccia tra sottosistemi Organizza il sistema in un insieme di livelli (o macchine astratte) ognuno dei quali offre un insieme di servizi Supporta lo sviluppo incrementale di sottosistemi a livelli diversi: quando linterfaccia di un livello cambia, ne è affetto solo il livello adiacente

13 Sistema di gestione delle versioni

14 Riassumendo (1) Modelli di struttura di un sistema: Repository Client-server Macchina astratta

15 Modelli di controllo (tra sottosistemi) Controllo centralizzato Un sottosistema ha il controllo globale e dà inizio e fine agli altri sottosistemi Modello call-return: gerarchia di procedure, in cui il controllo viene gestito top-down. Applicabile a sistemi sequenziali. Modello manager: una componente del sistema controlla linterruzione, linizio e il coordinamento degli altri processi. Applicabile a sistemi concorrenti. Può essere implementato in sistemi sequenziali con un comando case. Controllo basato sugli eventi Ogni sottosistema può rispondere ad eventi generati dallesterno da altri sottosistemi o dallambiente esterno al sistema

16 Modello Call-return

17 Modello Manager

18 Modello basato sugli eventi Guidato da eventi generati dallesterno, dove la temporizzazione degli eventi è fuori dal controllo dei sottosistemi che gestiscono levento Due modelli event-driven principali Modello broadcast: un evento è trasmesso a tutti i sottosistemi. Ogni evento è trasmesso a tutti i sottosistemi. Ogni sottosistema in grado di gestire levento può farlo. Modello interrupt-driven. Usato nei sistemi real-time dove le interruzioni sono individuate da ogni gestore di interruzioni e passate a qualche altra componente per processarle

19 Modello broadcast Efficace per integrare sottosistemi su diversi computer in rete Ogni sottosistema si dichiara interessato a degli eventi specifici. Quando questi occorrono, il controllo viene trasferito ai sottosistemi che possono gestirlo Le politiche di controllo non sono interne allevento o al gestore del messaggio. E tutto lasciato ai sttosistemi. Tuttavia i sottosistemi non sanno se e quando levento sarà gestito.

20 Broadcasting selettivo

21 Sistemi interrupt-driven Usati in sistemi real-time, dove la velocità di risposta ad un evento è essenziale Ci sono tipi di interruzione noti, con un gestore definito in corrispondenza ad ogni tipo Ogni tipo è associato a una locazione di memoria e uno switch hardware lo trasferisce al suo gestore Consentono rapidità di risposta, ma sono complicati da programmare e difficili da validare

22 Controllo interrupt-driven

23 Riassumendo (2) Modelli di controllo centralizzato Call-return Manager Modelli di controllo basato su eventi Broadcast Interrupt-driven

24 Scomposizione modulare E un ulteriore livello strutturale: i sottosistemi sono scomposti in moduli Due modelli di scomposizione: Un modello a oggetti, dove il sistema è scomposto in oggetti che interagiscono Un modello data-flow, dove il sistema è scomposto in moduli funzionali che trasformano inputs in outputs (modello pipeline) Se possibile, ogni decisione rispetto alla concorrenza dovrebbe essere posticipata fino allimplementazione dei moduli

25 Modelli a oggetti Consiste nello strutturare il sotto-sistema in un insieme di oggetti con accoppiamento lasco e interfacce ben definite La scomposizione orientata ad oggetti significa identificare le classi degli oggetti, gli attributi (campi) e le operazioni (metodi) Quando vengono implementati, gli oggetti sono istanze di queste classi e qualche modello di controllo è usato per coordinarne i metodi

26 Sistema di smaltimento fatture

27 Modelli data-flow Trasformazioni funzionali che producono un output a partire da un input Possono riferirsi ad un modello a pipe e a filtri (come la shell Unix) Quando le trasformazioni sono sequenziali, è un modello batch sequenziale molto usato nei sistemi di gestione dati Il modello data-flow non si adatta bene a sistemi interattivi

28 Sistema smaltimento fatture

29 Architetture domain-specific Modelli di architettura di sistema che sono specifici rispetto a qualche dominio di applicazione Due tipi di modelli domain-specific: Modelli generici: sono astrazioni da un certo insieme di sistemi reali e contengono le caratteristiche principali di questi sistemi Di solito sono modelli bottom-up Modelli di riferimento: sono modelli idealizzati, più astratti. Offrono informazione su quella classe di sistemi e permettodo di confrontare diverse architetture Di solito sono modelli top-down

30 Modelli generici: un compilatore

31 Modelli generici: un sistema di analisi di linguaggio

32 Architetture di riferimento Modelli di riferimento: sono ottenuti studiando il dominio di applicazione piuttosto che i sistemi esistenti Possono essere usati come base per implementare sistemi o per confrontare diversi sistemi. Hanno il ruolo di standard rispetto ai quali valutare un sistema Esempio: il modello OSI è un modello di riferimento per i sistemi di comunicazione

33 Modello di riferimento OSI