Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo"

Transcript

1 Modulo 16 Introduzione ai Design Patterns Partiamo da un analogia Obiettivo: costruire una casa. Tutte le case sono simili, ma non uguali, cioè: Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo Tutte le case sono diverse per dimensioni, forma, ecc.. Tutte le case utilizzano soluzioni architetturali simili: Suddivisione degli ambienti: un soggiorno, da una a tre camere, Disposizione degli ambienti: il soggiorno ha un esposizione alla luce, maggiore delle camere da letto; il bagno si trova vicino alle camere, Proporzione degli ambienti: un soggiorno è solitamente da 1,5 a 2 volte lo spazio occupato da una camera da letto, Elementi di accesso: balconi, porte, finestre Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 2

2 Cosa fanno solitamente gli architetti? Riutilizzano l esperienza passata! Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 3 Cosa fanno solitamente gli ingegneri del software? Usano tutta la loro creatività Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 4

3 Coniugare esperienza e creatività Pensare a nuove soluzioni, basandosi su esperienza e soluzioni sviluppate in passato Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 5 Un principio a cui ispirarsi Quando si sviluppa un nuovo sistema in genere non si parte da zero, ma si riutilizzano soluzioni progettuali che hanno funzionato in passato Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 6

4 Trasferire l esperienza Come trasferire l esperienza e le soluzioni trovate in passato ai nuovi progetti? I design pattern sono emersi da alcuni anni come una delle tecniche più efficaci per trasferire la conoscenza e l'esperienza dei progettisti, rendendola disponibile a tutti in modo comprensibile e concreto. Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 7 Definizione di Design Pattern Soluzione di progettazione generica applicabile a problemi ricorrenti, all'interno di contesti eterogenei. Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 8

5 I pattern non sono un idea ingegeristica. I design patterns sono stati introdotti in architettura da Christopher Alexander "Pattern Language: Towns, Buildings, Construction" (Oxford University Press, 1977) Alexander definisce un pattern come una soluzione architetturale che può risolvere problemi in contesti eterogenei Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 9 GoF La formalizzazione del concetto di Design Pattern è ampiamente attribuita alla cosiddetta Gang of Four (brevemente GOF): Erich Gamma Richard Helm Ralph Johnson John Vlissides Un primo catalogo di 23 Design Patterns "Design Patterns: elements of reusable object oriented software" (Addison-Wesley, 1994) Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 10

6 Design Pattern Un design pattern nomina, astrae ed identifica gli aspetti chiave di una struttura di design comune, che la rendono utile per creare un design OO riusabile. Identifica Le classi e le istanze che vi partecipano I loro ruoli Come collaborano La distribuzione delle responsabilità Luigi Troiano - Tecnologie di Produzione del Software: Modulo Elementi essenziali 1. Il nome del pattern, è utile per descrivere la sua funzionalità in una o due parole. 2. Il problema nel quale il pattern è applicabile. Spiega il problema e il contesto, a volte descrive dei problemi specifici del design mentre a volte può descrivere strutture di classi e oggetti. Può anche includere una lista di condizioni che devono essere soddisfatte precedentemente perché il pattern possa essere applicato. 3. La soluzione che descrive in modo astratto come il pattern risolve il problema. Descrive gli elementi che compongono il design, le loro responsabilità e le collaborazioni. 4. Le conseguenze portate dall'applicazione del pattern. Spesso sono tralasciate ma sono importanti per poter valutare i costi-benefici dell'utilizzo del pattern. Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 12

7 Descrizione DP Il formato che si sceglie per la descrizione di un pattern non è importante, purché la descrizione sia completa e accurata. UML rappresenta uno strumento utile alla descrizione dei pattern Altri linguaggi sono possibili Linguaggi di programmazione Formalismi grafici Linguaggio naturale La descrizione di un design pattern viene comunque data usando un formato preciso, articolato in diversi paragrafi Luigi Troiano - Tecnologie di Produzione del Software: Modulo Esempio Descrizione DP Nome e classificazione del pattern Sinonimi: altri nomi del pattern Scopo: cosa fa il pattern? a cosa serve? Motivazione: scenario che illustra un design problem Applicabilità: situazioni in cui si applica il pattern Struttura: rappresentazione delle classi in stile OMT Partecipanti: classi e oggetti inclusi nel pattern Collaborazioni: come i partecipanti collaborano Conseguenze: come consegue i suoi obiettivi il pattern? Implementazione: che tecniche di codifica sono necessarie? Codice di esempio: scritto in un linguaggio a oggetti Usi noti: esempi d applicazione del pattern in sistemi reali Pattern correlati: con quali altri pattern si dovrebbe usare? Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 14

8 Obbiettivi DP Creare una letteratura all interno della comunità Object-Oriented Aiutare gli sviluppatori a risolvere problemi già trattati Creare un linguaggio per comunicare intuizioni ed esperienza su problemi e sulle loro soluzioni Mostrare che la soluzione descritta è: Utile (ricorrenza) Utilizzabile (contesto specifico) Usata (assodata) Luigi Troiano - Tecnologie di Produzione del Software: Modulo Il catalogo GOF Un esempio di catalogo DP è presente nel libro Design Patterns: Elements of Reusable Object Oriented Software. Il libro classifica 23 design pattern e li suddivide in 3 categorie: Creational, Behavioral e Structural. Alcuni pattern sono utilizzati assieme Alcuni sono alternative di altri Altri sono simili ma hanno intenti differenti Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 16

9 Sommario I Design Patterns descrivono problemi specifici che ricorrono più volte e descrivono il nucleo della soluzione a quei problemi, in modo da poter utilizzare tali soluzioni, senza mai farlo allo stesso modo. Essi aiutano a: costruire del software che sia riusabile. evitare scelte che compromettano il suo riutilizzo migliorare la documentazione e la manutenzione di sistemi esistenti Luigi Troiano - Tecnologie di Produzione del Software: Modulo 16 17

SOMMARIO DESIGN PATTERN

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN 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 DESIGN PATTERN

Dettagli

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern

SOMMARIO DESIGN PATTERN INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE. Introduzione. Cos è un design pattern. Cos è un design pattern INTRODUZIONE AI DESIGN PATTERN INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it DESIGN PATTERN

Dettagli

Ingegneria del Software L-A

Ingegneria del Software L-A Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che

Dettagli

11. Riuso del software e CBSE

11. Riuso del software e CBSE 11. Riuso del software e CBSE Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Riuso del software e CBSE 1 / 38 Sommario 1 Riuso 2 Approcci 3 CBSE Componenti

Dettagli

Ingegneria del Software. Introduzione ai pattern

Ingegneria del Software. Introduzione ai pattern Ingegneria del Software Introduzione ai pattern 1 Definizione di pattern [dal [dal vocabolario vocabolario Garzanti] Garzanti] Alcuni esempi: Pattern architetturale Pattern di circuito stampato Pattern

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte a versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Esercizi design patterns. Angelo Di Iorio,

Esercizi design patterns. Angelo Di Iorio, Esercizi design patterns Angelo Di Iorio, diiorio@cs.unibo.it Esercizio 1 Una parete, che contiene porte e finestre, deve essere dipinta con una vernice. Ogni barattolo contiene una data quantità di vernice,

Dettagli

oggetti, permettono di ridurre i costi di sviluppo, poiché cercano di riusare insiemi di classi e di produrre sistemi più facili da evolvere.

oggetti, permettono di ridurre i costi di sviluppo, poiché cercano di riusare insiemi di classi e di produrre sistemi più facili da evolvere. Lo sviluppo di sistemi orientati agli oggetti mira a descrivere un software nelle sue diverse fasi (analisi, progettazione, codifica) in termini di classi. Tali sistemi sono documentati focalizzando sulle

Dettagli

Parte II Design pattern

Parte II Design pattern Parte II Design pattern Once you understand the design patterns and have had an Aha! experience with them, you won t ever think about object-oriented design in the same way. (Una volta che i pattern di

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a

INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a. 2010-2011 Docenti Marina Zanella Orario ricevimento (S2): martedì 11:30-12:45 venerdì 9:45-10:30

Dettagli

Ingegneria del Software T

Ingegneria del Software T Ingegneria del Software T Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2012/2013 Premessa Una domanda fondamentale Che cosa significa scrivere del buon software? Ingegneria del Software

Dettagli

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi

Dettagli

Origini del concetto di pattern: architectural patterns

Origini del concetto di pattern: architectural patterns Corso Multimedia patterns aa. 2003-04 Origini del concetto di pattern: architectural patterns Responsabile: Prof.ssa Franca Garzotto Tutor di laboratorio: Dott.ssa Deborah Agostini Patterns in architettura

Dettagli

10. Design Patterns. Andrea Polini. Ingegneria del Software Corso di Laurea in Informatica. (Ingegneria del Software) 10. Design Patterns 1 / 36

10. Design Patterns. Andrea Polini. Ingegneria del Software Corso di Laurea in Informatica. (Ingegneria del Software) 10. Design Patterns 1 / 36 10. Design Patterns Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 10. Design Patterns 1 / 36 Problemi Ci focalizziamo nelle problematiche riguardanti la

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare

Dettagli

design patterns e GRASP

design patterns e GRASP design patterns e GRASP 1 design patterns una coppia / particolarmente importante a cui viene dato un nome vengono espressi in un formato molto rigido, ad es. nome descrizione sintetica della descrizione

Dettagli

Ingegneria del Software 2014

Ingegneria del Software 2014 Ingegneria del Software 2014 Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Forum http://forum.informatica.unict.it leggere gli avvisi partecipare alle discussioni fare domande E. Tramontana

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object

Dettagli

Ingegneria del Software 2010

Ingegneria del Software 2010 Ingegneria del Software 2010 Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Forum su SDAI http://www.sdai.unict.it leggere gli avvisi partecipare alle discussioni fare domande Lezioni

Dettagli

IS Corso di Ingegneria del Software 1

IS Corso di Ingegneria del Software 1 Contenuti Analisi dei requisiti L attività di analisi Lo studio di fattibilità L analisi dei requisiti 2001 Corso di Ingegneria del Software Specifica dei requisiti V. Ambriola, G.A. Cignoni C. Montenegro,

Dettagli

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono

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

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

Introduzione ai casi d uso

Introduzione ai casi d uso Introduzione ai casi d uso versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai casi d uso Pag. 1 Obiettivo di questa introduzione fornire elementi di base sui casi d uso fornire indicazioni

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

Introduzione alla OOP Object Oriented Programming

Introduzione alla OOP Object Oriented Programming Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali

Dettagli

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali

Dettagli

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

Un linguaggio per la rappresentazione formale di vincoli su scenari d'uso

Un linguaggio per la rappresentazione formale di vincoli su scenari d'uso Un linguaggio per la rappresentazione formale di vincoli su scenari d'uso Relatore: Benedetto Intrigila Realizzato da: Postoronca Maxim Anno accademico: 2009/2010 Introduzione Introduzione Lo scopo della

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

LEZIONE 10 - Design Patterns

LEZIONE 10 - Design Patterns Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 10 - Design Patterns Catia Trubiani Gran Sasso Science Institute(GSSI), L Aquila catia.trubiani@gssi.infn.it Indice - Contesto: cos è un design

Dettagli

Lezione 1 - Riusabilità del software

Lezione 1 - Riusabilità del software Lezione 1 - Riusabilità del software Corso Programmazione Programmazione ad oggetti Progettazione orientata agli oggetti ed evoluzioni Marco Anisetti e-mail: marco.anisetti@unimi.it web: http://homes.di.unimi.it/anisetti/

Dettagli

Pattern. Corso di ingegneria del software

Pattern. Corso di ingegneria del software Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software Pattern Corso di ingegneria del software Definizione Pattern software la descrizione strutturata di una soluzione esemplare ad

Dettagli

20. Rappresentazione del numero naturale e strumenti di calcolo

20. Rappresentazione del numero naturale e strumenti di calcolo 20. Rappresentazione del numero naturale e strumenti di calcolo Contesto Scuola secondaria di 1 grado, classe prima,1 quadrimestre Modulo: il numero Unità di apprendimento: il sistema di numerazione decimale,

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

1. UML 2 ed il Processo Unificato

1. UML 2 ed il Processo Unificato 1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario

Dettagli

Cos è la competenza? comportamento finale. Insieme di prestazioni osservabili in termini di conoscenze e abilità empiricamente rilevabili

Cos è la competenza? comportamento finale. Insieme di prestazioni osservabili in termini di conoscenze e abilità empiricamente rilevabili Cos è la competenza? Programmazione per obiettivi (anni 70 ) comportamento finale Insieme di prestazioni osservabili in termini di conoscenze e abilità empiricamente rilevabili Valentina Grion - Università

Dettagli

Tecnologie Informatiche L-31. Corso di Ingegneria del software e Laboratorio di Ingegneria del software

Tecnologie Informatiche L-31. Corso di Ingegneria del software e Laboratorio di Ingegneria del software Tecnologie Informatiche L-31 Corso di Ingegneria del software e Laboratorio di Ingegneria del software Anno Accademico 2011/12 Rosario Culmone - p. 1/17 Orario Titolo Partizioni Lezioni Chi tiene il corso

Dettagli

Ingegneria del Software (e Prova Finale) Luciano Baresi

Ingegneria del Software (e Prova Finale) Luciano Baresi Ingegneria del Software (e Prova Finale) Luciano Baresi luciano.baresi@polimi.it Organizzazione dei corsi Ingegneria del software (7 crediti) Lezioni: 42 ore Esercitazioni: 28 ore Prova finale (3 crediti)

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 04 Programmi e Oggetti Software Alfonso Miola Ottobre 2012 http://www.dia.uniroma3.it/~java/fondinf/ Programmi e Oggetti Software

Dettagli

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1 Lezione 1 Ingegneria del Software II- Introduzione e Motivazione Ingegneria del Software 2 Introduzione e Motivazioni 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.1

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

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio

Dettagli

Sotto programmi - Funzioni in C

Sotto programmi - Funzioni in C Sotto programmi - Funzioni in C R. Gallo Settembre 2009 Sommario Le funzioni C/C++ sono l'implementazione in codice C/C++ di uno strumento presente in tutti i linguaggi di programmazione: i sottoprogrammi

Dettagli

Il PROCESSO UNIFICATO

Il PROCESSO UNIFICATO Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante

Dettagli

In passato, occuparsi di informatica era sinonimo di programmare computer

In passato, occuparsi di informatica era sinonimo di programmare computer Programmare =? In passato, occuparsi di informatica era sinonimo di programmare computer attività poco stimolante, atto finale di un processo dove le fasi creative - analisi e progetto - sono già avvenute

Dettagli

Progetto sito web Gigli Elisa

Progetto sito web Gigli Elisa Progetto sito web Gigli Elisa 1 Progetto sito web Indice Introduzione Progetto e Project Management PMBOK o PROJECT CHARTER WBS o o PDM Lista delle attività Matrice delle responsabilità Diagramma di Gantt

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

2. Modellazione dei casi d uso

2. Modellazione dei casi d uso 2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario

Dettagli

Microsoft Visio 2002 UML Sergio Colosio

Microsoft Visio 2002 UML Sergio Colosio Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra

Dettagli

Analisi e Progettazione del Software

Analisi e Progettazione del Software Analisi e Progettazione del Software La Fase di Elaborazione: Introduzione versione 1.0 G. Mecca Università della Basilicata mecca@unibas.it La Fase di Elaborazione: Introduzione >> Sommario Sommario Il

Dettagli

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per

Dettagli

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Richiami dei diagrammi di base per l utilizzo nel corso di RPPI Rielaborazione delle slide proposte da M. Cossentino 1 Perchè usare la progettazione visuale? Mary Loomis,

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

Design Patterns. Introduzione 2. Introduzione 3

Design Patterns. Introduzione 2. Introduzione 3 Design Patterns Introduzione Design patterns: factory, singleton, adapter, composite, decorator, observer Introduzione I Design Patterns sono stati applicati per la prima volta nell architettura Per costruire

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

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

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013 La Raccolta dei Requisiti Corso di Ingegneria del Software Anno Accademico 2012/2013 Introduzione La raccolta dei requisiti è il processo della determinazione in forma testuale (anche grafica) di che cosa

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Sistemi con vincoli. Docente: Francesca Rossi.

Sistemi con vincoli. Docente: Francesca Rossi. E-mail: frossi@math.unipd.it Scopo del corso Dare le nozioni di base della programmazione con vincoli Come rappresentare un problema reale con un insieme di vincoli Tecniche principali per risolverlo Approccio

Dettagli

Formare documenti accessibili a tutti

Formare documenti accessibili a tutti Formare documenti accessibili a tutti Introduzione all accessibilità dei documenti Gianluca Affinito L accessibilità non riguarda solo i disabili L accessibilità non riguarda solo i disabili L accessibilità

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

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

UNIVERSITÀ DEGLI STUDI DI MILANO- BICOCCA CORSO EROGATO IN MODALITÀ BLENDED- LEARNING SYLLABUS

UNIVERSITÀ DEGLI STUDI DI MILANO- BICOCCA CORSO EROGATO IN MODALITÀ BLENDED- LEARNING SYLLABUS UNIVERSITÀ DEGLI STUDI DI MILANO- BICOCCA CORSO EROGATO IN MODALITÀ BLENDED- LEARNING SYLLABUS INFORMAZIONI DEL CORSO Nome Architettura del software Codice Esse3 F1801Q130M Corso di studi Laurea Magistrale

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Web Application Engineering

Web Application Engineering Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa

Dettagli

Le aree dell informatica

Le aree dell informatica Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di

Dettagli

Casi d uso: esercizi

Casi d uso: esercizi Casi d uso: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Casi d uso: esercizi A.A. 2013-2014 1 / 35 Tools UML ArgoUML, http://argouml.tigris.org/ Eclipse MDT UML2, http://www.eclipse.org/uml2/

Dettagli

Tipi di Dati Astratti

Tipi di Dati Astratti Tipi di Dati Astratti April 19, 2017 Dati e Tipi di Dato Tipo di dato: concetto di alto livello Macchina fisica: unico tipo di dato sequenze di bit Macchine Astratte: tipi di dato più complessi Tipo di

Dettagli

design pattern una soluzione progettuale generale a un problema ricorrente

design pattern una soluzione progettuale generale a un problema ricorrente DESIGN PATTERN DESIGN PATTERN Un design pattern può essere definito "una soluzione progettuale generale a un problema ricorrente". Esso non è una libreria o un componente di software riusabile, quanto

Dettagli

SOMMARIO DIAGRAMMI DI SEQUENZA

SOMMARIO DIAGRAMMI DI SEQUENZA SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it SOMMARIO DIAGRAMMI

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

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole

Dettagli

Informatizzare i processi nell'ottica del riutilizzo

Informatizzare i processi nell'ottica del riutilizzo Informatizzare i processi nell'ottica del riutilizzo L'esperienza del System Integrator Alexander Kiesswetter Amministratore delegato dexea s.r.l. Roma, 10 maggio 2005 dexea ha iniziato ad operare nel

Dettagli

Indicazioni su come scrivere la relazione tecnica per il corso di Cartografia numerica e GIS

Indicazioni su come scrivere la relazione tecnica per il corso di Cartografia numerica e GIS Indicazioni su come scrivere la relazione tecnica per il corso di Cartografia numerica e GIS Paolo Zatelli Dipartimento di Ingegneria Civile, Ambientale e Meccanica Università di Trento Paolo Zatelli Università

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

ARCHITECTING AND DESIGNING J2EE APPLICATIONS

ARCHITECTING AND DESIGNING J2EE APPLICATIONS ARCHITECTING AND DESIGNING J2EE APPLICATIONS [cod. S301] UN BUON MOTIVO PER Il corso fornisce le competenze richieste per utilizzare la piattaforma J2EE (Java 2 Platform, Enterprise Edition) per creare

Dettagli

PRIMO MODULO. DURATA: 80 ore CONTENUTI

PRIMO MODULO. DURATA: 80 ore CONTENUTI 0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi

Dettagli

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework Politecnico di Milano Progetto di Ingegneria del Software 2 MPH - Manage Project Homework Project Planning Docente: Autori Capiotto Roberto, matricola 783825 Prof.ssa Di Nitto Elisabetta Conforto Andrea,

Dettagli

Basi di dati. Elena Baralis Politecnico di Torino

Basi di dati. Elena Baralis Politecnico di Torino Libri di testo Atzeni, Ceri, Paraboschi, Torlone, Basi di dati, 2 a ed., McGraw Hill, 1999. Baralis, Belussi, Psaila, Basi di dati: temi d esame svolti, Esculapio, 2000. Introduzione - 2 Introduzione Sistema

Dettagli

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre: Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it

Dettagli

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Introduzione Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Informazioni

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

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

LEZIONE 2 I LINGUAGGI DI MODELLAZIONE && UML

LEZIONE 2 I LINGUAGGI DI MODELLAZIONE && UML Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 2 I LINGUAGGI DI MODELLAZIONE && UML Laboratorio di Ingegneria del Software

Dettagli

UNIVERSITÀ DEGLI STUDI DI VERONA LAUREA IN SCIENZE DELLA COMUNICAZIONE

UNIVERSITÀ DEGLI STUDI DI VERONA LAUREA IN SCIENZE DELLA COMUNICAZIONE UNIVERSITÀ DEGLI STUDI DI VERONA LAUREA IN SCIENZE DELLA COMUNICAZIONE PROGETTAZIONE CONCETTUALE E LOGICA DEL CATALOGO PUBBLICAZIONI DI UNA BIBLIOTECA DI ATENEO Relatore Prof.ssa Margherita Zorzi Laureanda

Dettagli

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer L INFORMATICA c1 Negli incontri precedenti ci siamo occupati di cercare la soluzione di alcuni problemi. Ora cerchiamo di definire cosa si intende per informatica. Informatica è qualcosa che ha a che fare

Dettagli

IL PROCESSO di PROGETTAZIONE

IL PROCESSO di PROGETTAZIONE IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto

Dettagli