Ingegneria del software e i formalismi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ingegneria del software e i formalismi"

Transcript

1 Ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5.

2 Creazione di un software: dal problema ai risultati (/2) problema ANALISI algoritmo FORMALIZZAZIONE specificazioni PROGRAMMAZIONE programma. Comprendere il problema 2. Comprendere le soluzioni idea risolutrice 3. Formalizzazione dell algoritmo 4. Algoritmo tradotto in un linguaggio di alto livello Creazione di un software: dal problema ai risultati (2/2) programma TRADUZIONE eseguibile ESECUZIONE risultati MANUTENZIONE 4. Algoritmo tradotto in un linguaggio di alto livello 5. Traduzione in linguaggio macchina 6. Valutazione dei risultati 7. Manutenere il software

3 Ingegneria del software Il termine viene coniato durante una conferenza NATO nel 968 in Germania a Garmish - crisi del software - costi, controllo, governabilità, qualità, manutenzione La IEEE (993) definisce gli ambiti dell ingegneria del software: (a) disciplina che regola in modo scientifico lo sviluppo, la gestione e la manutenzione del software, (b) studio delle strategie di cui al punto a). Insieme di passi che definiscono il percorso di creazione del software Strategia di base STUMENTI METODI PROCESSO QUALITA TOTALE Tool automatizzati di supporto ai metodi e ai processi - CASE Tecniche per governare i passi Motivazioni incrementare la qualità del software ossia rendere maggiormente industrializzato un processo che è ancora molto artigianale governare la complessità ossia non far fallire progetti di grandi dimensioni o di nuova concezione minimizzare i costi di produzione e manutenzione ossia consentire un facile intervento da parte di persone diverse dallo sviluppatore originario riciclare il software ossia riutilizzo di lavoro già fatto

4 Ciclo di vita del software Analisi - analisi dei requisiti -3%* Progettazione - specifiche - 8% Implementazione - sviluppo del codice - 7% Validazione - collaudo - 5% Installazione e documentazione Modificazione - 67% del costo Smaltimento 0% correzioni 0% adattamenti 50% nuove funzioni Modelli di processo Modello a cascata - le fasi elencate sono in stretta sequenza - 70 Modello prototipale - le fasi si intersecano e producono ciclicamente prototipi da sottoporre al cliente - usa e getta o esplorativa Modello incrementale - produce versioni intermedie di prodotto raffinabile fino alla versione finale Modello a spirale di Boehm - 88 ogni ciclo della spirale rappresenta una fase suddivisa per funzioni che mirano a controllare il rischio

5 Modello a cascata Modello prototipale

6 Modello incrementale Fase 3 Fase 2 Fase Modello a spirale

7 Documenti legati ad una commessa di sviluppo software Attivita Analisi requisiti Definizione requisiti Specifica del sistema Progetto architetturale Progetto interfaccia Codifica Testing dei moduli Testing di integrazione Testing del sistema Test di accettazione Collaudo Documenti Prodotti Studio di fattibilita, Piano di lavoro Documenti dei requisiti, Piano di integrazione con altri sistemi informatici/informativi Specifiche funzionali, Draft del manuale utente Specifica architetturale, piano di testing del sistema Specifica interfaccia Codice del programma Rapporto sul test dei moduli Rapporto sul tesi di integrazione Rapporto sui test del sistema Sistema finale e documentazione Verbale di collaudo Documentazione tecnica Documenti contrattuali Studio di fattibilità - deve essere accettato dal cliente - nei casi di pubblica amministrazione il CNIPA esprime il parere di congruità tecnica ed economica Elenco dei requisiti di sistema - deve essere approvato dal cliente - definisce la base delle funzioni su cui si effettuerà il collaudo finale Specifiche di interfaccia - firmate dal cliente Verbale di avanzamento lavori - deve essere prodotto dal fornitore e vidimato dal cliente al fine di documentare ritardi, modificazioni, integrazioni, etc. rispetto all elenco dei requisiti di sistema Verbale di collaudo finale - deve essere approvato dal cliente e solitamente è il passo che da vita al pagamento Documentazione tecnica e documentazione utente - occorre sempre richiederla - non sempre viene infatti fornita

8 Clausole contrattuali marchio e logo proprietà - colui che è proprietario del bene uso - clausole che regolamentano l uso del bene differenziando anche la destinazione d uso (per ricerca, scopo di lucro, etc.) accesso - clausole che regolamentano l accesso ai dati connessi al bene (banche dati) rivendita/cessione - clausole che regolamentano la rivendita a terzi territorialità - clausole che regolamentano la territorialità geografica delle clausole sopra esposte manutenzione occorre stabilire con chiarezza la durata della manutenzione e il tipo integrabilità - clausole che regolamentano la possibilità di integrare il software altri programmi reverse engineering evitare clausole contra legem Domande possibili Quali sono le fasi del ciclo di vita del software Quali sono i principali modelli Cosa serve l ingegneria del software La manutenzione che ruolo gioca nel ciclo di vita del software Come incide l ingegneria del software sulla qualità e la manutenibilità del software

9 UML Unified Modeling Language Lezione n. 5.2 Cos è UML Serie di diagrammi per rappresentare ogni fase dello sviluppo del software: livello concettuale, logico, fisico Nato nel 998 ad opera di Booch, Rumbaugh e Jacobson (tres amigos) Alcuni ambienti di programmazione sono in grado di convertire diagrammi UML in codice e viceversa dal codice è possibile ottenere i diagrammi Modello orientato agli oggetti: il mondo è visto attraverso la modellazione di oggetti che si raggruppano in classi omogenee Superiore ricchezza espressiva rispetto a ER (entità relazioni) perché unisce diagrammi statici a diagrammi dinamici, diagrammi sui dati a diagrammi sulle attività Unifica diversi modelli di formalizzazione: standard mondiale

10 Struttura del paradigma Object Oriented Il mondo viene modellato partendo dagli oggetti reali gli oggetti reali si aggregano in classi di oggetti uniformi ad ogni classe si possono associare attributi ovvero caratteristiche dell oggetto che descrive ad ogni classe si possono associare dei comportamenti che l oggetto può compiere detti metodi o servizi le classi comunicano scambiandosi messaggi mediante i metodi Esempio Notazione Classe Oggetto Nome classe attributi metodi Automobile Colore Modello Prezzo Motore Impianto elettrico Impianto idraulico Guida Vende Acquista Rottama Fiat Punto Colore Modello Prezzo Motore Impianto elettrico Impianto idraulico Guida Vende Acquista Rottama

11 I principi del paradigma OO Incapsulamento Ogni oggetto è incapsulato come se fosse una scatola nera e quindi l utilizzatore non deve necessariamente sapere cosa c è dentro, ma solo utilizzare i bottoni esterni Ereditarietà Classi figlie ereditano le proprietà dalle classi padre Polimorfismo Capacità di una classe padre di richiamare in modo dinamico le classi figlie sulla base del contesto senza a priori conoscere la scelta Relazione di composizione Classi complesse possono essere divise e collegate tramite la relazione di composizione. Es. 4 ruote compongono la macchina Incapsulamento la classe e gli oggetti che ne derivano chiudono in se stessi come in un pacchetto i dati e le operazioni nascondendone i dettagli da parte di oggetti esterni Si dice che le classi e gli oggetti incapsulano i loro dettagli sollevando chi li usa dal sapere cosa c è dentro Motore Imp. Idraulico Imp. elettrico Caburatore etc. Pompa etc. Batteria etc. Accensione etc. raffredda Avviamento etc.

12 Gerarchia ed Ereditarietà Spesso si rende necessario astrarre le classi con un raggruppamento di sovra-classe o metaclasse o superclasse. Nasce la gerarchia delle classi Le classi figlie ereditano dalle classi padre tutti i loro attributi e le loro operazioni Le classi figlie possono aggiungere dettagli rispetto agli attributi e alle operazioni ereditate Le classi figlie possono ereditare attributi ed operazioni da più classi padre - multieredità Esempio - ereditarietà Colore Modello, etc. Autoveicolo Guida Vende, etc. is-a TIR Colore Modello Trazione Guida Vende Carica PULMAN Colore Modello Abitacolo Passeggeri Guida Vende Carica Passeggeri

13 Esempio - multiereditarietà Automobile Colore Modello Abitacolo Guida Vende etc. Casa mobile Colore Modello Bagno, letti Aggancia Vende Carica Passeggeri Camper Colore Modello Abitacolo Bagno, letti Aggancia Vende Carica Passeggeri Polimorfismo La classe B richiede dei servizi alla classe A mediante le chiamate dei metodi Il polimorfismo è la proprietà di una classe A di poter eseguire flessibilmente una operazione di una sottoclasse A.x in base al tipo di chiamata effettuata da una classe B Le chiamate che B invoca sono dinamiche ossia vengono risolte durante la fase di run-time Esempio: tracciare un grafico comporta a) acquisizione dati b) scelta del tipo di grafico - variabile tipografico c) disegno del grafico scelto

14 Esempio - polimorfismo dati disegna Grafico Report Testo, disegni, immagini Messaggio[tipografico.disegna, dati] Torta dati disegna Istogrammi dati disegna Se la variabile tipografico è = a istogrammi il messaggio viene indirizzato alla classe istogrammi Se la variabile tipografico è = a torta il messaggio viene indirizzato alla classe torta La relazione di composizione Una proprietà delle classi e la loro scomponibilità in parti in modo da riciclare i loro componenti Le classi quindi possono essere degli aggregati di altre classi più atomiche Esempio: il funzionamento di una automobile si può dividere nelle sue componenti in modo da poter riciclare le definizioni dei componenti anche per alti usi. Motore, ruota, impianto elettrico, impianto idraulico, etc sono componenti della classe AUTOMOBILE. Non ha senso descrivere tutto nella classe AUTOMOBILE risulta più conveniente e più facile da progettare dividere la complessità

15 Relazione di composizione Automobile Colore Modello Abitacolo, Motore, Imp. Idraulico, Ruota HAS-A Guida Vende etc. 4 Motore Imp. Idraulico Ruota Caburatore etc. Accensione etc. Pompa etc. raffredda Larghezza tipo aderisce Diagrammi UML.0 Vi sono 5 categorie di diagrammi per un totale di 9 diagrammi, non devono per forza essere usati tutti Diagrammi introduttivi diagramma dei casi d uso (use case) Diagrammi d interazione diagramma di sequenza (sequence) diagramma di collaborazione (collaboration) Diagrammi statici diagramma delle classi (class) diagramma delle oggetti (object) Diagrammi di stato diagramma di stato (statechart) diagramma delle attività (activity) Diagrammi di implementazione (3 diagrammi)

16 Diagramma dei Casi d Uso Use Case attore associazione use case Avvocato Deposito Memoria E una descrizione di come gli utenti interagiscono con il sistema informativo/informatico Si definiscono molti scenari di utilizzo (use case) del sistema in modo vago per poi raffinarli successivamente Il diagramma è formato da: Actor: rappresenta un ruolo o un agente colui che agisce Use case: rappresenta le azioni Associazione: collega gli attori al caso d uso Attori Un attore è un entità esterna al sistema che si sta rappresentando che interpreta un ruolo nei confronti del sistema da modellare Non necessariamente è persona fisica, può essere un dispositivo, un computer, un database, un agente intelligente L attore non è un individuo ossia un singolo ma rappresenta una classe di tipologia di attori Es. Avvocato non rappresenta una concreta istanza di avvocato (Avv. Rossi) ma la classe di tutti gli Avvocati

17 Diagrammi di Casi d Uso Dominio Costituzione dell attore Attore Procura Attore Avvocato Fascicolo= Procura+atto di citazione+ iscrizione in ruolo Cancelleria Caso d uso Notifica Convenuto Il diagramma d uso rappresenta lo scenario del problema così come è visto dall utente finale Relazioni fra casi d uso Inclusione <<inclusion>> caso di utilizzo di un altro caso d uso, aiuta a riutilizzare casi d uso già presenti senza ripetizioni Estensione <<extension>> Indica una specificazione di un caso generale aggiungendo elementi più precisi: generale particolare Generalizzazione particolare generale

18 Diagrammi di Casi d Uso Fissazione dell udienza usa <<inclusion>> PolisWeb Avvocato- Attore Consultazione agenda Caso particolare <<extend>> Proposta Proposta Via Web Richiesta conferma Fissazione Cancelleria Giudice Diagramma delle classi Nome attributi operazioni Il diagramma di classi descrive i tipi di oggetti che compongono il sistema indicando le relazioni statiche fra le classi stesse Le classi sono la descrizione di un insieme di oggetti omogenei mediante attributi, operazioni e vincoli Le classi sono in relazione fra loro mediante le relazioni di: Associazione Aggregazione Composizione has_a Gerarchia is_a

19 Diagramma delle classi esempio dell orologio Classe Molteplicità 2 PushButton state push() release() SimpleWatch LCDDisplay blinkidx blinkseconds() blinkminutes() blinkhours() stopblinking() referesh() 2 Battery load() Operazioni Associazione Attributi Time now() Il diagramma delle classi rappresenta come gli oggetti del dominio sono in relazione fra loro (Colin Potts) Associazioni relazione generica matricola Studenti pagatasse(): stato frequenta(): anno esame(): esito..* codice crediti anni CorsoLaurea Le associazioni esprimono relazioni fra le classi non qualificate La molteplicità indica quanti oggetti di quella classe sono in relazione con l altra classe 0..*..* n..m Esattamente una istanza Da Zero fino ad un numero di istanze infinto Almeno una istanza fino ad un numero di istanze infinto Da n a m istanze

20 Diagramma delle classi - esempio Clienti clientedal getordini emette 0..* Ordini dataordine stato emesso da calcolatasse calcolatotale setstato Articoli codice descrizione peso prezzo nell ordine riguarda atricolo 0..*..* DettagliOrdine quantità calcolapeso calcolaprezzo (Marco Padoan) Associazioni -to- and -to-many Country name:string Has-capital City name:string -to- association draw() Polygon * Point x:integer y:integer -to-many association (Colin Potts)

21 Diagramma delle classi: Aggregazione Aggregazione: tipo particolare di associazione; esprime concetto è parte di (part of ), che si ha quando un insieme è relazionato con le sue parti. Si rappresenta con un diamante dalla parte della classe che e il contenitore (Marco Padoan) Diagramma delle classi: Composizione E un caso particolare di aggregazione in cui:. la parte (componente) non può esistere da sola, cioè senza la classe composto 2. una componente appartiene ad un solo composto Esempio: Azienda Dipendenti Poligono Punti (caso di raffinamento di una associazione generica tramutata in composizione) Il diamante si disegna pieno

22 Diagramma delle classi: aggregazione/composizione Università Docenti aggregazione composizione Dipartimenti (Marco Padoan) Diagramma delle classi: ereditarietà Persona nome cognome indirizzo cambiaindirizzo superclasse simbolo di ereditarietà Giudice nome giurisdizione tipo corte sottoclassi Avvocato nome specializzazione

23 Diagramma delle classi: esempio x y Punti Poligoni coloreriemp colorebordo tipobordo setcolorebordo setcoloreriemp settipobordo 3..* identifica Vertici colore dimensione (Marco Padoan) Diagramma delle classi: esempio Persone nome Frequenze Docenti Studenti turno matricola * * * sostiene relativo a di insegna..* tenuto da Corsi nome durata del corso Esami voto data (Marco Padoan)

24 Diagramma di sequenza Linea della vita Messaggio Risposta Oggetto/ Attore Attività Il diagramma di sequenza mostra le interazioni fra gli oggetti/classi allo scorrere del tempo Indica quindi la cooperazione e i messaggi che le classi si cambiano per raggiungere un obiettivo Le azioni si volgono lungo la linea della vita simulazione del passare del tempo Diagramma di sequenza - PCT Il diagramma di sequenza mostra le interazioni fra gli oggetti/classi allo scorrere del tempo Indica quindi la cooperazione e i messaggi che le classi si cambiano per raggiungere un obiettivo

25 Diagramma di sequenza - PCT Diagramma di sequenza il cambio di orario in un orologio Object :WatchUser :SimpleWatch :LCDDisplay :Time pressbutton() pressbutton() blinkhours() blinkminutes() pressbutton2() pressbuttonsand2() stopblinking() incrementminutes() refresh() commitnewtime() Activation Message Sequence diagrams represent the behavior as interactions (Colin Potts)

26 Esempio di diagramma di sequenza prestito in biblioteca (Paolo Ciancarini) Sintassi di un Diagrammi di Sequenza oggetto name : Class other linea della vita messaggio azione name ( ) new ( ) : Class Cancella l azione ritorno creazione (Punpiti Piamsa)

27 Differenti tipi di frecce Operazione sincrona Operazione asincrona Ritorno Azione riflessiva sullo stesso attore/classe (Punpiti Piamsa) Diagramma di Attività Il diagramma di attività traccia il flusso temporale delle operazioni che permettono di raggiungere un obiettivo Simile al diagrammi a blocchi, ma aggiunge potenzialità espressive maggiori (fork, join) Il diagramma di attività evidenzia come si evolve l azione e di come gli oggetti passano da uno stato all altro, come interagiscono fra loro, come portano a termine delle azioni I cambiamenti sono dette transizioni che mutano lo stato dell oggetto al verificarsi di un certo evento

28 Esempio di diagramma di attività - (Paolo Ciancarini) Sintassi dei diagrammi di attività inizio fine azione

29 Sintassi dei diagrammi di attività Act. branch Act.2 merge condizione: è l analogo dell if e consente di effettuare un ramo della decisione in via esclusiva. Si compone di due costrutti: branch (per l apertura) e merge (per la chiusura) Act. Act.2 fork: quando vi sono processi paralleli indipendenti nei quali la sequenza di esecuzione è indifferente. I processi vengono eseguiti entrambi in un ordine non predeterminabile join: tutti i fork devono avere un punto di ricongiunzione detto join Sintassi del diagramma di attività per colonne (swim lane)

30 Esempio di diagramma di attività esempio di richiesta di un libro condizione fork join (Paolo Ciancarini) Domande possibili Cosa è la progettazione object oriented Quali caratteristiche principali contraddistinguono il paradigma orientato agli oggetti Cosa sono inclusione, ereditarietà, polimorfismo, composizione Cosa è l UML e che relazione ha con l Ingegneria del software UML e relazione con il framework di Zachmann Diagrammi d uso, di classi, di sequenza, di attività: sintassi, caratteristiche, obiettivi Fare piccoli esempi a piacere di casi modellati in ciascuno dei diagrammi sopra esposti

La ingegneria del software e. i formalismi Lezione n. 5. Ingegneria del software. Lezione n. 5.1

La ingegneria del software e. i formalismi Lezione n. 5. Ingegneria del software. Lezione n. 5.1 La ingegneria del software e i formalismi Lezione n. 5 Creazione di un software: dal problema ai risultati (1/2) Ingegneria del software Lezione n. 5.1 Creazione di un software: dal problema ai risultati

Dettagli

Ingegneria del software e i formalismi

Ingegneria del software e i formalismi Ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5.1 Creazione di un software: dal problema ai risultati (1/2) problema ANALISI algoritmo FORMALIZZAZIONE specificazioni

Dettagli

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1 La ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5. Creazione di un software: dal problema ai risultati (/2) Creazione di un software: dal problema ai risultati

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

Programmazione con Java

Programmazione con Java Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale

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

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Lezione n. 2 Cos è UML Fornisce una serie di diagrammi per rappresentare ogni tipo di modellazione Alcuni ambienti di programmazione sono in grado di convertire diagrammi

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Dall idea al software, dall artigianato al processo industriale

Dall idea al software, dall artigianato al processo industriale Operatore giuridico d impresa Informatica Giuridica A.A 2002/2003 II Semestre Dall idea al software, dall artigianato al processo industriale prof. Monica Palmirani Hardware e Software - prima definizione

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

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

I Diagrammi di Flusso OO

I Diagrammi di Flusso OO Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a

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

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

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

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

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

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

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

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

UML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president:

UML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president: UML Unified Modeling Language (UML) Lo standard emergente nella progettazione del software (e non solo) Perchè usare la progettazione visuale? Perchè usare la progettazione visuale? Ken Jacobs, Oracle

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

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

Introduzione alla programmazione Object Oriented. Luca Lista

Introduzione alla programmazione Object Oriented. Luca Lista Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:

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

La programmazione ad oggetti: chiamate di metodi. Overloading. This

La programmazione ad oggetti: chiamate di metodi. Overloading. This ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.

Dettagli

Fase di Analisi Class Diagram. Esercizi

Fase di Analisi Class Diagram. Esercizi Fase di Analisi Class Diagram Esercizi Nota Iniziale Esercizi 1 e 2 : possono essere svolti dopo l introduzione del concetto di attributo nelle associazioni nei class diagram Esercizi 3, 4, 5 e 6: possono

Dettagli

CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE. Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE

CORSO I.F.T.S. TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE. Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE Dott. Imad Zaza Lezione del 16/07/2014 Page 1 Ristorante

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

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

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

Ciclo di vita del software

Ciclo di vita del software Operatore Informatico Giuridico Informatica Giuridica A.A 2003/2004 I Semestre Ciclo di vita del software Lezione 2 prof. Monica Palmirani Hardware e Software - prima definizione Hardware: parte fisica

Dettagli

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

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo 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

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

Analisi e progettazione ad oggetti

Analisi e progettazione ad oggetti Analisi e progettazione ad oggetti Richiami di Analisi e progettazione ad oggetti L idea di base della analisi ad oggetti è di partire da una descrizione del problema in termini di entità e relazioni tra

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009 La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema

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

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1 IL MODELLO ENTITY RELATIONSHIP il modello ER 1 CONOSCENZA CONCRETA costrutti fondamentali PROPRIETÀ o ATTRIBUTI: fatti che descrivono le caratteristiche delle istanze di entità e le caratteristiche delle

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

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

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

Il modello Entità/Relazioni (ER)

Il modello Entità/Relazioni (ER) Il modello Entità/Relazioni (ER) Basi di dati 1 Il modello Entità/Relazioni (ER) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il modello Entità/Relazioni (ER) Basi di dati

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

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

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

Analisi e diagrammi di struttura: esercizi

Analisi e diagrammi di struttura: esercizi Analisi e diagrammi di struttura: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Analisi e diagrammi di struttura: esercizi A.A. 2013-2014 1 / 18 Modello di dominio e classi di analisi

Dettagli

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Gerarchia di Generalizzazione 22 Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Mette in relazione (legami logici) una o più entità, E 2,...,

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi di classe e sistemi orientati agli oggetti Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema

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

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

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

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino Modellazione di Workflow mediante le Reti di Petri Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Il successo di un sistema di workflow si basa sulla qualità dei flussi di lavoro che lo compongono.

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli Basi di dati Progettazione di basi di dati: Metodologie e modelli Perché preoccuparci? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo?

Dettagli

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship: elementi avanzati Il modello Entity-Relationship: elementi avanzati Sistemi Informativi T Versione elettronica: 06.2.ER.avanzato.pdf Identificatori esterni Oltre a poter identificare un entità E mediante uno o più attributi

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Metodologie e modelli di progetto

Metodologie e modelli di progetto Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Progettazione OO Agenda Astrazione e classificazione Generalizzazione e Refactoring Riuso Interfacce e classi di utilità Patterns di progettazione GRASP Obiettivi Ottenere dei modelli

Dettagli

Modello Entità-Relazione

Modello Entità-Relazione Modello Entità-Relazione Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse

Dettagli

Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007

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

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Progettazione del Sofware

Progettazione del Sofware Corso Serale Progettazione del Sofware Perché Modellare un Sistema Necessità di realizzare un artefatto, indipendentemente dalla sua dimensione e settore di interesse (una casa, un particolare macchinario,

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016

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

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++ Informatica 3 Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Lezione 7 -

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

Analisi e specifica dei requisiti

Analisi e specifica dei requisiti Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non

Dettagli

Modelli e Metodi per la Simulazione (MMS)

Modelli e Metodi per la Simulazione (MMS) Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di

Dettagli

Principi di programmazione OO

Principi di programmazione OO Principi di programmazione OO Ing. Paolo Vaccari Giovedì 9 e 16 Marzo 2006 Corsi Speciali L.143/04 - SSIS TOSCANA 2005/2006 Principi di programmazione OO Prima lezione: Programmazione

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti tesi di laurea Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti Anno Accademico 2005/2006 relatore Ch.mo Prof. Stefano Russo correlatore Ing. Generoso Paolillo candidato

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Elena Baralis, Claudio Demartini

Elena Baralis, Claudio Demartini Progetto concettuale Il progetto concettuale 1 Obiettivo: produrre lo schema concettuale Strumenti: meccanismi di astrazione forniti dal modello Entità-Relazione Specifiche iniziali: descrizioni in linguaggio

Dettagli

MATERIALI PER LA DISCUSSIONE

MATERIALI PER LA DISCUSSIONE SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,

Dettagli

Paradigma object-oriented

Paradigma object-oriented Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced

Dettagli

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 ECDL - Database Introduzione European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 Informazioni sul corso orario: Giovedì - 14.30-16.30 materiale: http://www.fotoboni.com/carlo/ docente: webmaster@fotoboni.com

Dettagli

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità PROGETTAZIONE LOGICA L obiettivo della fase di progettazione Logica è progettare lo Schema Logico della Base di Dati partendo da quanto prodotto nella fase di progettazione Concettuale. Si ricorda che,

Dettagli

Introduzione ai casi d uso. Iolanda Salinari

Introduzione ai casi d uso. Iolanda Salinari Introduzione ai casi d uso Iolanda Salinari Dai requisiti ai casi d uso definire gli obiettivi gli obiettivi del committente derivano da una o più esigenze di cambiamento funzionale e/o organizzativo e/o

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Fase di Analisi Class Diagram. Esercizi

Fase di Analisi Class Diagram. Esercizi Fase di Analisi Class Diagram Esercizi Nota Iniziale Esercizi e 2 : possono essere svolti dopo l introduzione del concetto di attributo nelle associazioni nei class diagram Esercizi 3, 4, 5 e 6: possono

Dettagli

oggetti, classi e notazione UML

oggetti, classi e notazione UML oggetti, classi e notazione UML 1 object orientation il paradigma object oriented è usato come linguaggio per esprimere modelli domain models design models implemenetation models ecc. tutto ciò che vedremo

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica

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

Corso di Linguaggi di Programmazione + Laboratorio

Corso di Linguaggi di Programmazione + Laboratorio Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un

Dettagli

OOP in Python L O R E N Z O D I S I L V E S T R O

OOP in Python L O R E N Z O D I S I L V E S T R O L O R E N Z O D I S I L V E S T R O w w w. d m i. u n i c t. i t / ~ d i s i l v e s t r o d i s i l v e s t r o @ d m i. u n i c t. i t Imperativo Paradigmi di programmazione 2 i programmi sono sequenze

Dettagli

Dipartimento di INFORMATICA TC - TTRG. Anno Scolastico Piano di Lavoro Disciplinare. INFORMATICA Articolazione: INFORMATICA Classe IV

Dipartimento di INFORMATICA TC - TTRG. Anno Scolastico Piano di Lavoro Disciplinare. INFORMATICA Articolazione: INFORMATICA Classe IV Dipartimento di INFORMATICA TC - TTRG Anno Scolastico 2015-2016 Piano di Lavoro Disciplinare INFORMATICA Articolazione: INFORMATICA Classe IV Docenti del Dipartimento: Maculotti Marina (IV A i ) Mazzucchelli

Dettagli

SCUOLA SECONDARIA DI I GRADO ALIGHIERI - TANZI MOLA DI BARI ANNO SCOLASTICO 2011/1012

SCUOLA SECONDARIA DI I GRADO ALIGHIERI - TANZI MOLA DI BARI ANNO SCOLASTICO 2011/1012 SCUOLA SECONDARIA DI I GRADO ALIGHIERI - TANZI MOLA DI BARI ANNO SCOLASTICO 2011/1012 ASSE SCIENTIFICO-TECNOLOGICO (Scienze, Geografia, Tecnologia, Scienze Motorie) L asse scientifico-tecnologico ha l

Dettagli

INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI

INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI Docente: Prof. Giacomo Cabri Come Contattarmi: E-mail (consigliato) Giacomo.cabri@unimore.it Telefono 059-2056190 Ricevimento Lunedì pomeriggio dalle

Dettagli