Corso di Ingegneria del Software. La architettura software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Ingegneria del Software. La architettura software"

Transcript

1 Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca

2 Il concetto e il ruolo della architettura Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura 3. Stili architetturali 4. Architetture speciali 5. Bibliografia

3 Il concetto e il ruolo della architettura Il concetto di architettura Il tutto è maggiore della somma delle sue parti. (Aristotele Metafisica)

4 Il concetto e il ruolo della architettura Il concetto di architettura L architettura fornisce una vista delle parti del sistema, e delle loro relazioni e di come formano il sistema. L architettura partiziona il sistema in parti ogni parte ha una propria funzione e ruolo descrive il sistema in termini di queste parti e delle loro interrelazioni

5 Il concetto e il ruolo della architettura Il concetto di architettura L architettura fornisce una vista delle parti del sistema, e delle loro relazioni e di come formano il sistema. L architettura partiziona il sistema in parti ogni parte ha una propria funzione e ruolo descrive il sistema in termini di queste parti e delle loro interrelazioni

6 Il concetto e il ruolo della architettura Il ruolo L architettura comprendere il sistema comunicare le caratteristiche del sistema costruzione ed evoluzione riuso analisi individuazione in anticipo di importanti proprietà del sistema

7 Il concetto e il ruolo della architettura Il ruolo Evidenzia le parti di software che formano il sistema. Ci possono essere differenti architetture per lo stesso sistema, chiamate viste architetturali (architectural views) Ogni vista si concentra su qualche aspetto del sistema una vista riduce la complessità del sistema

8 Il concetto e il ruolo della architettura Il ruolo The value of system architecture is only recently being recognized in the software industry. As I stated before, paraphrasing Wittgenstein, architecture is the space in which objects operate. It defines the contracts through which they interact with external system components and each other. The primary duty of a system architect is to ask the question, What if...?.

9 Tipi di architettura Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura 3. Stili architetturali 4. Architetture speciali 5. Bibliografia

10 Tipi di architettura Tipi di architettura Module Component and connector C&C Allocation

11 Tipi di architettura Architetture a moduli Il sistema è visto come una collezione di unità di codice (code unit) ciascuna implementante qualche parte delle funzionalità del sistema. I moduli sono code-based non rappresentano esplicitamente strutture eseguibili del sistema. Esempi di moduli: packages una classe una procedura un metodo un insieme di funzioni un insieme di classi

12 Tipi di architettura Architetture a moduli Le relazioni tra i moduli sono code-based e descrivono le interazioni del codice del modulo con altri moduli Esempi di relazioni: è una parte di un modulo è una parte di un altro usa o dipende da un modulo usa i servizi di un altro modulo per compiere le sue proprie funzioni generalizzazione o specializzazione

13 Tipi di architettura Architetture component and connector (C&C) Il sistema è visto come una collezione di entità runtime ( componenti). Esempi di componenti sono: oggetti collezioni di oggetti processi Le relazioni tra i componenti rappresentano interazioni in esecuzione. Esempi di relazioni: pipe socket dati condivisi middleware

14 Tipi di architettura Allocazione Allocation view: come le differenti unit software differenti sono allocate alle risorse (hardware, file system). Una allocation view specifica le relazioni tra gli elementi software e gli elementi dell ambiente nel quale il software è eseguito. Quali processi sono eseguito su quale processore Come i file sono organizzati in un file system

15 Tipi di architettura Allocation view Zheng Qin, Jiankuan Xing, Xing Zheng Software Architecture, Springer, 2008, pag. 20

16 Tipi di architettura Una descrizione architetturale consiste di viste di differenti tipi: ciascuna Module strutturazione del software in un insieme di unità C&C strutturazione del software in elementi runtime interagenti Allocation views relaziona il software a strutture non software

17 Tipi di architettura La vista C&C Elementi: componenti Elementi computazionali o data store. connettori Mezzi di interazione Run time Grafo

18 Tipi di architettura La vista C&C

19 Tipi di architettura La vista C&C

20 Tipi di architettura Un esempio

21 Tipi di architettura Un esempio

22 Tipi di architettura Un esempio

23 Stili architetturali Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura 3. Stili architetturali 4. Architetture speciali 5. Bibliografia

24 Stili architetturali Stili architetturali C&C Ci sono architetture molto usate (architetture standard o generali) che sono utili per risolvere molti problemi. pipe and filter layered architecture shared data client server publish subscribe

25 Stili architetturali pipe and filter Questa architettura ha un solo tipo di componente (filter) Un filtro compie trasformazioni sui dati e invia i dati trasformati ad altri filtri mediante il pipe. Un filtro può avere più input e più output. un solo tipo di conneettore (pipe) Il pipe è un canale monodirezionale che trasporta dati da un punto ad un altro.

26 Stili architetturali pipe and filter

27 Stili architetturali pipe and filter : Comandi Unix UNIX shell commands $comando 1 argomenti j comando 2 argomenti Lo stdout del comando 1 viene reindirizzato nello stdin del comando 2. $grep ciao 00 testo :txt j wc l $catapple :txt j wc

28 Stili architetturali pipe and filter : proprietà Proprietà: un filtro non ha necessita di conoscere l identità dei filtri che gli inviano i dati e di quelli che useranno i dati che produce. i filtri possono essere implementati in parallelo il comportamento del sistema è la composizione dei comportamenti dei filtri.

29 Stili architetturali Esempio: KWIC KWIC (Keyword In Context) index system INPUT: un insieme ordinato di linee linea = insieme ordinato di parole parola: insieme ordinato di caratteri OUTPUT: lista di tutti gli shift circolari di tutte le linee in ordine alfabetico D. L. Parnas, On the Criteria To Be Used in Decomposing Systems into Modules. Commun. ACM 15(12): (1972)

30 Stili architetturali Esempio: KWIC Elenco di poligoni, poliedri e politopi. poligoni, poliedri e politopi. Elenco di poliedri e politopi. Elenco di poligoni, politopi. Elenco di poligoni, poliedri e

31 Stili architetturali KWIC : soluzione pipe and filter Vantaggi Controllo distribuito Facile modifica Svantaggi No interazione Inefficiente in termini di spazio

32 Stili architetturali Layered architecture Un layer (eccetto il primo e l ultimo) fornisce servizi al layer superiore e riceve servizi dal layer inferiore

33 Stili architetturali Layered architecture : Unix

34 Stili architetturali Layered architecture : Unix

35 Stili architetturali Layered architecture : ISO OSI

36 Stili architetturali ESERCIZIO CONSIGLIATO Modellare una compagnia di trasporti usandi i casi d uso, i diagrammi di attività e proporre una architettura.

37 Stili architetturali Layered architecture : Internet model

38 Stili architetturali Layered architecture : Vantaggi e svantaggi Vantaggi: 1. livelli di astrazione 2. enhancement 3. riuso Svantaggi: 1. Non sempre possibile 2. Corretti livelli di astrazione Simile a pipe filter. Non è considerato un vero stile architetturale.

39 Bibliografia Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura 3. Stili architetturali 4. Architetture speciali 5. Bibliografia

40 Bibliografia Bibliografia Riferimenti bibliografici generali 1. R. Pressman Ingegneria del software Mc Graw Hill Italia, 5a edizione, 2007, capitol P. Jalote A Concise Introduction to Software Engineering Springer, 2008, capitolo Zheng Qin, Jiankuan Xing, Xing Zheng Software Architecture, Springer, D. Garlan, M. Shaw An Introduction to Software Architecture Carnegie Mellon University Technical Report CMU-CS , 1994.

41 Bibliografia Bibliografia Riferimenti bibliografici specifici 1. D. L. Parnas, On the Criteria To Be Used in Decomposing Systems into Modules. Commun. ACM 15(12): (1972)

Corso di Ingegneria del Software. Casi d uso

Corso di Ingegneria del Software. Casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. 2. 2.1 Il linguaggio dei casi d uso 2.2 Esempi 3. Bibliografia Sommario 1. 2. 2.1 Il linguaggio dei casi d uso

Dettagli

Corso di Ingegneria del Software. La architettura software

Corso di Ingegneria del Software. La architettura software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Stili architetturali Sommario 1. Il concetto e il ruolo della architettura 2. Tipi di architettura 3. Stili architetturali

Dettagli

Corso di Ingegneria del Software. Testing

Corso di Ingegneria del Software. Testing Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Concetti base Strategie di testing Bibliografia Sommario Concetti di base Concetti di base Error (1) The difference

Dettagli

Corso di Ingegneria del Software. Esempi di casi d uso

Corso di Ingegneria del Software. Esempi di casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Casi d uso Sommario 1. 2. 3. Casi d uso e specifica dei requisiti 4. Esempio: sistema iscrizione ed esami 5. Bibliografia

Dettagli

Ingegneria del Software 13a. Architetture software. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 13a. Architetture software. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 13a. Architetture software Dipartimento di Informatica Università di Pisa A.A. 2014/15 un esempio di specifica tornando ai classici dalle viste all insieme con stili diversi per

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Le fasi - Manutenzione e Gestione Figura: (waterfall model) Le fasi - Manutenzione e Gestione Manutenzione del software:

Dettagli

Corso di Ingegneria del Software. Metriche Parte II

Corso di Ingegneria del Software. Metriche Parte II Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Metriche Sommario 1. Concetti di base 2. METRICHE DIMENSIONALI 3. METRICHE FUNZIONALI 4. 5. Bibliografia Il numero

Dettagli

Ingegneria del Software 13c. Altre viste. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 13c. Altre viste. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 13c. Altre viste Dipartimento di Informatica Università di Pisa A.A. 2014/15 viste logistiche Elementi software: moduli, componenti e connettori dell ambiente: hardware, struttura

Dettagli

Modulo 2 Architetture dei SD Lezione 1

Modulo 2 Architetture dei SD Lezione 1 Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents

Dettagli

Materiale didattico. Sommario

Materiale didattico. Sommario Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

ottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo

ottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo Luca Cabibbo Architetture Software Dispensa MW 1 ottobre 2008 1 -Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) [Gorton] Essential Software Architecture, Chapter 4, A Guide to Middleware

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 2.3 Modelli evolutivi 2.4 Comparazione dei modelli 2.5 Modelli

Dettagli

Corso di Ingegneria del Software. Activity Diagram

Corso di Ingegneria del Software. Activity Diagram Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.

Dettagli

CSIM. Emiliano Casalicchio Csim - Emiliano Casalicchio 1

CSIM. Emiliano Casalicchio Csim - Emiliano Casalicchio 1 CSIM Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Csim - Emiliano Casalicchio 1 Simulation Engine E un insieme di oggetti e metodi usati per costruire un modello di simulazione Un ambiente di

Dettagli

Descrizioni architetturali, punti di vista e viste

Descrizioni architetturali, punti di vista e viste Luca Cabibbo Architetture Software Descrizioni architetturali, punti di vista e viste Dispensa ASW 140 ottobre 2014 Se non è stato descritto, allora non esiste. Philippe Kruchten 1 -Fonti [SAP] Chapter

Dettagli

CODESYS Test Manager: Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi

CODESYS Test Manager: Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi : Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Introduzione 2 Introduzione al

Dettagli

Viste e punti di vista architetturali

Viste e punti di vista architetturali Luca Cabibbo Architettura dei Sistemi Software Viste e punti di vista architetturali dispensa asw130 marzo 2018 These pictures are meant to entertain you. There is no significant meaning to the arrows

Dettagli

INTRODUZIONE AD OMNET++

INTRODUZIONE AD OMNET++ INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili

Dettagli

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso

Filtri e pipeline. qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso Filtri e pipeline qualsiasi comando unix ha a disposizione 3 file con cui comunicare con il resto del sistema: standard input in ingresso standard output in uscita standard error in uscita stdin (fd 0)

Dettagli

Struttura dei Sistemi Operativi

Struttura dei Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Compiti di un ambiente sw per il C.D. NetSolve: un ambiente per il calcolo distribuito. gestire gli accessi alle risorse. gestire l eterogeneita

Compiti di un ambiente sw per il C.D. NetSolve: un ambiente per il calcolo distribuito. gestire gli accessi alle risorse. gestire l eterogeneita Compiti di un ambiente sw per il C.D. NetSolve: un ambiente per il calcolo distribuito gestire gli accessi alle risorse gestire l eterogeneita gestire la dinamicita http://icl.cs.utk.edu/netsolve A. Murli

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Le fasi - Disegno del software Figura: (waterfall model) Le fasi - Disegno del software In questa fase si stabilisce

Dettagli

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A. Obiettivi del Corso. Argomenti trattati

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A. Obiettivi del Corso. Argomenti trattati Università di Bologna Corso di Laurea in Ingegneria Informatica A.A. 2004-2005 Sistemi Operativi L-A Prof. Maurelio Boari http://www.lia.deis.unibo.it/courses/soa0405/ Obiettivi del Corso Fornire alcuni

Dettagli

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A

Università di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A Università di Bologna Corso di Laurea in Ingegneria Informatica A.A. 2004-2005 Sistemi Operativi L-A Prof. Maurelio Boari http://www.lia.deis.unibo.it/courses/soa0405/ Obiettivi del Corso Fornire alcuni

Dettagli

Ingegneria del Software

Ingegneria del Software Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A1_1 V3.4 Ingegneria del Software Il contesto industriale del software

Dettagli

Corso di Ingegneria del Software. Casi di studio Parte II

Corso di Ingegneria del Software. Casi di studio Parte II Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Casi di studio Casi di studio Sommario (Da Ambriola et al. 2009) Bibliografia Requisiti L evoluzione tecnologica nel

Dettagli

Presentazione corso. Contenuti e diagramma di Pert. Definizione lista di spedizione. UML

Presentazione corso. Contenuti e diagramma di Pert. Definizione lista di spedizione. UML Aule & edificio Giorno Ora C6ED Lun 14:00-16:00 C6ED Mer 11:30-13:15 C6ED Gio* 16:00-17:45 Opzionale C6ED Ven** 11:30-13:15 C2ED Ven*** 16:00-17:45 C6ED Sab*** 09:30-12:15 C6ED Sab*** 11:30-12:30 * Vedere

Dettagli

Corso di Ingegneria del Software. I costi del software

Corso di Ingegneria del Software. I costi del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Riepilogo Tre stime Base livello specifiche Intermedio livello architettura Dettagliato livello architettura di dttaglio

Dettagli

Informazioni sul corso

Informazioni sul corso Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati Introduzione alle Basi di Dati Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 1 Appunti dalle lezioni SQL

Dettagli

Corso di Ingegneria del Software. La progettazione della interfaccia utente

Corso di Ingegneria del Software. La progettazione della interfaccia utente Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Dimensioni dell usabilità Facilità di apprendimento facilità nell apprendere il comportamento del sistema. Esempio:

Dettagli

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Page 1 Shell e programmazione La shell di UNIX definisce un vero e proprio linguaggio di programmazione, le cui caratteristiche principali

Dettagli

Prof. G. Ascia. Sistema Operativo

Prof. G. Ascia. Sistema Operativo Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo

Dettagli

Programmazione modulare

Programmazione modulare Programmazione modulare 2015-2016 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5A e 5B Docente: Maria Lizzi Ore settimanali previste:

Dettagli

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A. 2003-2004 Prof. Giuseppe Visaggio Presentazione

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A. 2003-2004 Prof. Giuseppe Visaggio Presentazione Scenario dello Sviluppo nella I.T. INGEGNERIA DEL SOFTWARE A.A. 2003-2004 Prof. Giuseppe Visaggio DIB 1 DIB 2 Obiettivi Il Corso!Conoscenza di principi, tecniche e metodi per i processi di sviluppo software.

Dettagli

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix

Page 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Programmazione E` possibile memorizzare sequenze di comandi all'interno di le eseguibili: Ad esempio: #!bin/bash echo hello world!

Dettagli

Corso di Ingegneria del Software. Architetture in UML

Corso di Ingegneria del Software. Architetture in UML Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario Tipi di viste viste di tipo strutturale

Dettagli

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2012 2013 2 rcardin@math.unipd.it SOMMARIO 3 4 Analisi dei Requisiti, Specifica

Dettagli

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva) Anno Scolastico 2018/2019 PROGRAMMA DIDATTICO CONSUNTIVO CLASSE 1ME Docenti Marco Cirrito, Pier Luigi Girelli Disciplina Tecnologie Informatiche OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Dettagli

Architetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09

Architetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09 Architetture dei sistemi distribuiti Mariagrazia Fugini Impianti Como 08-09 Sommario Sistemi centralizzati e distribuiti Meccanismi per sistemi distribuiti RPC Client-server Middleware Distributed object

Dettagli

UML I diagrammi implementativi

UML I diagrammi implementativi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di

Dettagli

La Shell: esecuzione dei comandi

La Shell: esecuzione dei comandi La Shell: esecuzione dei comandi Shell Unix - Linux comandi La shell, utilizzando i servizi del kernel, crea un nuovo processo che esegue il comando, provvedendo a "passargli" in modo opportuno gli eventuali

Dettagli

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Seminario di Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio Corso di Ingegneria dei Sistemi Software e dei Servizi in Rete Parte 5. Evoluzione

Dettagli

SOMMARIO DIAGRAMMI DI ATTIVITÀ

SOMMARIO DIAGRAMMI DI ATTIVITÀ SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2010 2011 2 ingegneria.software.math.unipd@gmail.com SOMMARIO 3 4 Analisi

Dettagli

Corso di Ingegneria del Software. Informazioni sul corso

Corso di Ingegneria del Software. Informazioni sul corso Corso di Ingegneria del Software a.a. 2010/2011 Mario Vacca mario.vacca@uniroma1.it Corso di Ingegneria del Software - a.a. 2010/2011 1. 2. Il programma del corso Sommario Corso di Ingegneria del Software

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13 UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Organizzazione della lezione Obiettivi

Dettagli

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Un sistema software distribuito è composto da un insieme di processi in esecuzione su più nodi del sistema Un algoritmo distribuito può

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

CHAPTER 2: Introduction to Systems Concepts and Systems Architecture

CHAPTER 2: Introduction to Systems Concepts and Systems Architecture CHAPTER 2: Introduction to Systems Concepts and Systems Architecture The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili 3. Comparazione

Dettagli

Il Sistema Operativo Ripasso

Il Sistema Operativo Ripasso ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi

Dettagli

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D

Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7. Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Come si accede a BASH Tasti utili: Ctrl-Alt-F1, Ctrl-Alt-F7 Il Primo comando : exit (CASE SENSITIVE!!) Si può uscire con CTRL-D Il secondo comando: ls Opzioni: ls l, ls a, ls R ls --full-time Parametri:

Dettagli

Progettazione Concettuale. Raccolta e analisi dei requisiti

Progettazione Concettuale. Raccolta e analisi dei requisiti Progettazione Concettuale Raccolta e analisi dei requisiti Il prodotto è uno schema E-R in grado di descrivere le specifiche sui dati relative ad una applicazione. Il reperimento dei requisiti è un'attività

Dettagli

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Introduzione. Sommario. Il software. Definizione di Ingegneria del software Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,

Dettagli

Università degli studi dell Aquila. Sistemi di elaborazione dell informazione

Università degli studi dell Aquila. Sistemi di elaborazione dell informazione Università degli studi dell Aquila Sistemi di elaborazione dell informazione 9 C.F.U. Ing. Gaetanino Paolone (gaetanino.paolone@univaq.it) Programma del corso 1. Le tecnologie per lo sviluppo di sistemi

Dettagli

Introduzione ai sistemi distribuiti

Introduzione ai sistemi distribuiti Luca Cabibbo Architettura dei Sistemi Software Introduzione ai sistemi distribuiti dispensa asw410 marzo 2017 A distributed system is one in which the failure of a computer you didn t even know existed

Dettagli

introduzione al corso di sistemi operativi a.a maurizio pizzonia

introduzione al corso di sistemi operativi a.a maurizio pizzonia introduzione al corso di sistemi operativi a.a. 2008-2009 maurizio pizzonia contatti Maurizio Pizzonia pizzonia@dia.uniroma3.it ricevimento studenti mercoledì 17:30 Dip. Informatica e Automazione secondo

Dettagli

COMPUTATIONAL THINKING

COMPUTATIONAL THINKING COMPUTATIONAL THINKING Università degli Studi di Verona Tandem 2014/15 Presentazione Area di Scienze e Ingegneria 17 ottobre 2015 ultimo aggiornamento 22/01/15 SOMMARIO Che cos è il Pensiero Computazionale?

Dettagli

Sistema Operativo. (hardware e software) della della macchina

Sistema Operativo. (hardware e software) della della macchina Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti

Dettagli

Hypermedia Design Model

Hypermedia Design Model Hypermedia Design Model Monica Maritati Dipartimento di Elettronica e Informazione maritati@elet.polimi.it tel. 02-23993494 04/04/2002 Progettazione Applicazioni Web 1 Un modello di progettazione Permette

Dettagli

Implementation diagram Component diagram - mostrano la struttura del codice Deployment diagram - mostrano la struttura del sistema run-time

Implementation diagram Component diagram - mostrano la struttura del codice Deployment diagram - mostrano la struttura del sistema run-time Implementation diagram Component diagram - mostrano la struttura del codice Deployment diagram - mostrano la struttura del sistema run-time 1 Component diagrams evidenzia l'organizzazione e le dipendenze

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

ARCHITETTURA DI UN DBMS

ARCHITETTURA DI UN DBMS ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce

Dettagli

Gestione dello sviluppo software Modelli Base

Gestione dello sviluppo software Modelli Base Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto

Dettagli

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando

Dettagli

Architetture a livelli

Architetture a livelli Architetture a livelli Stratificazione Protocolli di rete Famiglie e pile di protocolli Messaggi in una pila di protocolli Modello di riferimento ISO/OSI Architettura tt di Internet t Stratificazione (layering)

Dettagli

Tema d esame. 20 aprile 1995

Tema d esame. 20 aprile 1995 20 aprile 1995 1. La paginazione nella gestione della memoria. Illustrare tale tecnica, i vantaggi da essa offerti, gli svantaggi (in termini di efficienza) e le soluzioni proposte per eliminarli o attenuarli.

Dettagli

Ingegneria del Software A.A. 2016/2017 Esame

Ingegneria del Software A.A. 2016/2017 Esame Ingegneria del Software A.A. 2016/2017 Esame 2017-07-13 Esercizio 1 (6 punti) Monster è uno dei principali siti sul mondo del lavoro al mondo. Al suo interno chiunque può ricercare tra le offerte di lavoro

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Sistema operativo: Introduzione

Sistema operativo: Introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Introduzione La presente dispensa e da utilizzarsi

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software definire la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 18 Design Nella fase di design

Dettagli

Sistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008

Sistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Ingegneria del Software 16. Progettazione dettaglio. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 16. Progettazione dettaglio. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 16. Progettazione dettaglio Dipartimento di Informatica Università di Pisa A.A. 2014/15 classificatore strutturato È un classificatore di cui si vede la struttura interna, data

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 4 (proposta) Server Multiservizio: Socket C con select Luca Foschini Anno accademico 2010/2011 Esercitazione

Dettagli

Il software. Il solo hardware non è sufficiente per usare un calcolatore

Il software. Il solo hardware non è sufficiente per usare un calcolatore Sistemi Operativi Il software Il solo hardware non è sufficiente per usare un calcolatore Servono dei programmi per far interagire l hardware sfruttare le risorse di calcolo e memorizzazione facilitare

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 3 (proposta) Socket C senza e con connessione Luca Foschini Michele Solimando Anno accademico 2016/2017

Dettagli

Spazio di indirizzamento virtuale

Spazio di indirizzamento virtuale Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){

Dettagli

Ingegneria del Software 23. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 23. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 23. Esercizi riassuntivi Dipartimento di Informatica Università di Pisa A.A. 2014/15 Descrizione del problema. L esempio descrive un sistema per il commercio, chiamato TradingSystem,

Dettagli

Il Sistema Operativo

Il Sistema Operativo Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer

Dettagli

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE

GARA SECONDARIA DI PRIMO GRADO INDIVIDUALE GARA2 2019 SECONDARIA DI PRIMO GRADO INDIVIDUALE ESERCIZIO 1 Premessa La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna

Dettagli

INFORMATICA. L informatica comprende:

INFORMATICA. L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 2 rcardin@math.unipd.it SOMMARIO Introduzione

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 2.4 Comparazione dei modelli 2.5

Dettagli

L integrazione di mail in un sistema automatico di distribuzione di ontologie: Ontology Mail Manager

L integrazione di mail in un sistema automatico di distribuzione di ontologie: Ontology Mail Manager L integrazione di mail in un sistema automatico di distribuzione di ontologie: Ontology Mail Manager Candidato: Romina Tuori Relatore: Prof. Fabio Vitali Correlatori: Dott.ssa Silvia Duca Dott. Antonio

Dettagli

OBIETTIVI: FILONI PRINCIPALI FONDAMENTI DI INFORMATICA II

OBIETTIVI: FILONI PRINCIPALI FONDAMENTI DI INFORMATICA II FILONI PRINCIPALI Corso di FONDAMENTI DI INFORMATICA II OBIETTIVI: Approfondire la conoscenza dei concetti e dei modelli alla base del funzionamento dei sistemi di calcolo Architettura + Sistema Operativo

Dettagli

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso

Dettagli

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base. SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 SOMMARIO Introduzione

Dettagli

Progettare per gli attributi di qualità

Progettare per gli attributi di qualità Luca Cabibbo Architettura dei Sistemi Software Progettare per gli attributi di qualità dispensa asw210 marzo 2017 For every complex question there is a simple answer, and it is wrong. Henri Louis Mencken

Dettagli