UML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano
|
|
- Sofia Laura Maggio
- 6 anni fa
- Visualizzazioni
Transcript
1 UML Unified Modeling Language (linguaggio di modellazione unificato) 1
2 Cos è UML L UML nasce negli anni 90 come unificazione di diverse metodologie di analisi. Si propone come strumento per facilitare la comunicazione all interno dei gruppi di analisi e sviluppo. 2
3 Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo di modellazione Alcuni ambienti di programmazione sono in grado di convertire diagrammi UML in codice e viceversa 3
4 Cos è un modello? Un modello è la rappresentazione semplificata di una realtà complessa. Si usa per visualizzare graficamente il sistema e facilitare la comunicazione e la comprensione di requisiti e specifiche. 4
5 Standard in evoluzione 5
6 Diagrammi UML Use Case (casi d uso) Class (delle classi) Sequence (di sequenza ) Collaboration (di collaborazione ) Statechart (di stato ) Activity (delle attività ) Component (dei componenti ) Deployment (di distribuzione ) 6
7 Modelli e Diagrammi I diagrammi non sono il modello, ma solo una sua vista. Un modello può utilizzare più tipi di diagrammi diversi. 7
8 Quali usare? Tanti diagrammi per dare la possibilità di rappresentare qualsiasi realtà Non devono necessariamente essere usati tutti, anzi vanno scelti quelli adatti alle nostre esigenze di progetto (ovvero cosa dobbiamo rappresentare) 8
9 Use Case Diagram 9
10 Use case diagram Il diagramma UML rappresenta con simboli grafici, in modo semiformale, le funzionalità di un sistema complesso. Si usa nella programmazione a oggetti ma è adatto anche nello sviluppo della programmazione procedurale. E rivolto sia al cliente che agli sviluppatori. Rappresenta, quindi, il sistema più semplice per discutere con gli utenti o committenti al fine di scoprire tutte le loro esigenze. 10
11 A cosa serve? Serve a rappresentare graficamente le relazioni tra gli attori (persona, gruppo o hardware/software) e i casi d uso (funzionalità del sistema). L insieme degli attori (actors) e dei casi d uso (use case) formano uno scenario. Il diagramma può comprendere uno o più scenari. funzione 1 cliente funzione 2 manager funzione 3 webserver 11
12 Le Relazioni Associazioni (association): indica che l attore interagisce con il caso d uso Generalizzazione (generalization): indica che uno use case o un attore è un caso particolare di un altro. Inclusione (include): rappresenta un caso d uso, eseguito sempre, collegato non all attore ma ad uno o più use case. Estensione (extend): casi d uso eseguiti (non sempre) in situazioni particolari (errori, stampa, ecc.) 12
13 Gli errori da evitare o Bisogna fare un uso moderato delle relazioni fra use case e delle generalizzazioni fra attori o La modellazione deve avvenire ad un grado di astrazione sufficientemente elevato; non è questo il diagramma da usare per esprimere tutti i dettagli contenuti nelle specifiche in linguaggio naturale o Occorre essere ordinati (evitare linee che si intersecano, ecc...) 13
14 Use case (esempio completo) Attore Generalizzazione Caso d uso 14
15 Come costruire uno Use Case 1. Definire il contesto del sistema: a) Identificare gli attori e i loro ruoli b) Identificare gli use case, in termini di goal e/o risultati che devono essere prodotti 2. Valutare gli attori e gli use case per trovare eventuali raffinamenti, in termini di divisione o accorpamento. 3. Trovare le relazioni di inclusione 4. Trovare le relazioni di estensione 5. Valutare attori e use case per trovare eventuali generalizzazioni 6. Disegnare le restanti associazioni 15
16 Esempio: biglietteria automatica Il viaggiatore può: consultare l orario ferroviario acquistare un biglietto 16
17 Esempio: biglietteria automatica (include) Per poter consultare l orario o acquistare un biglietto, il viaggiatore deve scegliere la stazione da un elenco. 17
18 Esempio: biglietteria automatica (extend) Al momento dell acquisto di un biglietto il viaggiatore può, opzionalmente, prenotare i posti a sedere pagando un prezzo aggiuntivo. 18
19 Esempio: biglietteria automatica (generalization) E possibile acquistare diversi tipi di biglietto (il flusso base dell acquisto è sempre lo stesso): Biglietto ordinario Biglietto under-26 Biglietto over-65 Consulta Orario <<include>> Viaggiatore <<extend>> Acquista Biglietto <<include>> Seleziona Stazione Prenota posti a sedere Acquista Biglietto Ordinario Acquista Biglietto Under 26 Acquista Biglietto Over 65 19
20 Esercizio: Sportello Bancomat Il Sistema sarà eseguito su uno sportello bancomat automatico previa verifica utente L'utente deve essere in grado di depositare assegni sul suo conto L'utente deve essere in grado di prelevare i soldi dal suo conto L'utente deve poter interrogare il Sistema sul saldo del suo conto Se lo richiede, l'utente deve poter ottenere la ricevuta per la transazione (deposito e prelievo). 20
21 Esercizio: Sportello Bancomat (soluzione) 21
22 Esercizio: prenotazione visita medica Consideriamo il problema di un utente che deve prenotare on-line una visita medica a pagamento 1. Individuare attori 2. Individuare use case 3. Disegnare le relazioni 22
23 Soluzione: prenotazione visita medica 23
24 Class Diagram 24
25 Diagramma delle classi Il diagramma delle classi è una delle viste più importanti ed usate. Rappresenta le classi che compongono il sistema, cioè le collezioni di oggetti, ciascuno con il proprio stato e comportamento (attributi ed operazioni) Specifica, mediante associazioni, le relazioni fra le classi. 25
26 Un esempio Automobile marca modello colore targa cambiatarga cambiacolore Nome Attributi (proprietà) Operazioni (metodi) 26
27 Class diagram Nome: inizia con una lettera maiuscola e non contiene underscore (esempio: Prezzi, ControlloPeso, GestioneProdotto) Attributi: rappresentano le caratteristiche comuni degli oggetti della classe; iniziano con una lettera minuscola e il nome è seguito dal tipo. (esempio: pesoveicolo:integer, nome:string) Metodi: insieme di funzionalità che esprimono il comportamento di un oggetto; iniziano con una lettera minuscola, il nome è seguito dal tipo e dal valore di ritorno. esempio: muoviauto(marcia: int):float Il costruttore deve avere lo stesso nome della classe, ma senza valore di ritorno. esempio: GestVoti (nome: String, p:int) 27
28 Visibilità privata indicata con il simbolo per gli attributi e per i metodi (solo all interno della classe) pubblica indicata con il simbolo + per la classe e per i metodi (visibile all esterno) protetta indicata con il simbolo # (visibile dalle sottoclassi) 28
29 Esempio public class GestVoti { private int voti; } public void GestVoti(int n, int p) { } public void carmanuale(int n, int p) { } public void carautomatico() { } public void visvoti() { } public int ricvoto(int p) { } public void ordvoti() { } public void insvoto(int n, int p) { } public void modvoto(int p) { } public void cancvoto(int p) { } public int contpromossi() { } attributi costruttore -voti: int GestVoti +GestVoti(n: int, p: int) +carmanuale(n: int, p: int): void +carautomatico(): void +visvoti(): void +ricvoto(p: int): int +ordvoti(): void +insvoto(n: int, p: int): void +modvoto(p: int): void +cancvoto(p: int): void +contpromossi(): int 29
30 Relazioni delle classi Indicano il modo in cui le classi comunicano tra loro. Relazioni principali: Generalizzazioni o Ereditarietà Associazioni, Aggregazione e Composizione Dipendenze 30
31 Ereditarietà (generalizzazione) Permette ad una classe derivata (o sottoclasse) di possedere elementi (attributi e metodi) in comune con una classe di base (superclasse). Java implementa il meccanismo dell ereditarietà (inheritance) singola. 31
32 Ereditarietà (esempio 1) Veicolo CODICE Public class Veicolo { // dichiarazione del corpo della classe } Automobile Public class Automobile extends Veicolo { // dichiarazione del corpo della classe } 32
33 Ereditarietà (esempio 2) Persone nome cognome indirizzo cambiaindirizzo superclasse simbolo di ereditarietà Clienti codicecliente clientedal PotenzialiClienti numvisite contaordini sottoclassi 33
34 Associazione Indicano le relazioni fra classi. Nel diagramma è rappresentato da una linea continua. Unidirezionale: se un oggetto fa riferimento ad un altro ma non avviene il contrario A B Bidirezionale: se il riferimento tra gli oggetti è reciproco. A B 34
35 Molteplicità Indica quanti oggetti di una classe possono far riferimento ad ogni oggetto di un altra. 1 Esattamente una istanza 0..* Nessun limite al numero di istanze 1..* Almeno una istanza n..m Da n a m istanze 35
36 Associazione bidirezionale uno-a-uno 1 a 1 (@OneToOne) l'oggetto della classe A contiene un puntatore che fa riferimento all'oggetto della classe B. A B public class A { private B b; } public class B { private A a; } 36
37 Associazione bidirezionale uno-a-molti 1 a * (@OneToMany) l'oggetto della classe A contiene un array (se conosco il numero massimo di relazioni) oppure una lista (se non conosco il numero di relazioni). La classe B, invece, contiene solamente un puntatore che fa riferimento ad A. A B public class A { private B[] b; //o private List<B> b; } 1 1..* public class B { private A a; } 37
38 Associazione bidirezionale molti-a-molti * a * (@OneToMany) In questo caso anche l 'oggetto della classe B contiene un array (se conosco il numero massimo di relazioni) oppure una lista (se non conosco il numero di relazioni) che fa riferimento alla classe A. A 1..* 1..* B public class A { private B[] b; } public class B { private A[] a; } 38
39 Associazione unidirezionale l'oggetto della classe A contiene un puntatore che fa riferimento all'oggetto della classe B. A uno-a-uno B public class A { private B b; } A uno-a-molti 1 1..* B public class A { private B[] b; //o private List<B> b; } 39
40 Esempio 40
41 Aggregazione e Composizione Aggregazione: relazione poco forte (le parti esistono anche senza il tutto) Composizione: relazione molto forte (le parti dipendono dal tutto, es. i muri e la stanza) 0..* 0..* 41
42 Aggregazione //facciamo finta di aver definito le classi B,C,D... public class A { //attributi private B oggettob; private C oggettoc; private D oggettod; A //metodi public void setb(b ob); public void setc(c oc); public void setd(d od); B C D public static void main(string[] args) { B b = new B(); C c = new C(); D d = new D(); } } A a = new A(); a.setb(b); a.setc(c); a.setd(d); 42
43 Composizione //facciamo finta di aver definito le classi B,C,D... public class A { public void usob() { B b = new B(); b.metododib(); } public void usoc() { C c = new C(); c.metododic(); } public void usod() { D d = new D(); d.metododid(); } A B C D } public static void main(string[] args) { A a = new A(); a.usob(); a.usoc(); a.usod(); } 43
44 Dipendenza Nella Dipendenza un cambiamento nella classe principale modificherà temporaneamente la classe collegata. Esempio: pagina web compilata con i risultati di una ricerca In UML la dipendenza viene rappresentata con una freccia tratteggiata. Si usa nelle interfacce. 44
45 Classi Astratte Una Classe Astratta contiene metodi privi di implementazione. Quest ultima è demandata alle sottoclassi. Grazie a questa tecnica oggetti di classi differenti hanno metodi con lo stesso nome, ma con funzioni diverse (polimorfismo, overriding). Il corsivo permette di distinguere le parti astratte da quelle concrete 45
46 Classe astratta (esempio) abstract class nomeclasse { //definizione attributi //definizione costruttori e metodi //definizione metodi astratti } 46
47 Interfacce Insieme di operazioni che una classe offre ad altre classi È rappresentata come una classe con lo stereotipo <<interface>> Non ha attributi ma soltanto metodi dichiarati. L'implementazione dell'interfaccia può essere indicata con un piccolo cerchio vuoto Utile per raggruppare operazioni comuni a più classi, quando le classi non sono tutte correlate ad una particolare classe padre. 47
48 Interfacce (esempio) 48
49 Esempio finale 49
50 Sequence Diagram 50
51 Esempio 51
52 Diagramma delle sequenze rappresenta il comportamento dinamico di un sistema software mostra una i più interazioni tra due o più oggetti mediante una sequenza temporale di azioni ad ogni caso d uso, in genere, corrisponde un singolo diagramma di sequenza 52
53 Elementi di un Diagramma Oggetti (object) Periodo di vita degli oggetti (lifeline) o costruzione e distruzione Messaggi o da un oggetto ad un altro (stimulus) o da un oggetto verso se stesso (chiamata interna o self stimulus) Valore di ritorno (return) Iterazione (loop) 53
54 Periodo di vita (Lifeline) di un Oggetto 54
55 Messaggi 55
56 Chiamata interna 56
57 Valore di ritorno 57
58 Distruzione di un oggetto 58
59 Iterazione (loop) 59
60 Esercizio: vendita PC In un azienda che costruisce PC, i clienti devono essere in grado di chiedere preventivi riguardanti prodotti di loro interesse. Devono, quindi, cercare e visualizzare i prodotti stessi. Ai prodotti base i clienti devono poter aggiungere o togliere componenti fino ad ottenere un prodotto finale su misura per le proprie esigenze. 60
61 Esercizio: vendita PC 61
62 Es.: avvio auto(class diagram) 62
63 Es.: avvio auto(sequence d.) 63
64 bibliografia Dispense universitarie Materiale libero in rete 64
Programmazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012
Programmazione a oggetti e JAVA Prof. B.Buttarazzi A.A. 2011/2012 Sommario Variabili statiche Ereditarietà multipla Le interfacce Binding Esercizi Esercizio ContoCorrente Creare una classe ContoCorrente
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario Relazioni
DettagliIngegneria 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
DettagliUML. 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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliUML 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
DettagliDiagrammi 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
DettagliAnalisi 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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
Dettaglipublic double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliIntroduzione 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:
DettagliIngegneria 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
DettagliProgrammazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato
DettagliCLASSI ASTRATTE - ESERCIZIO
CLASSI ASTRATTE - ESERCIZIO Definire una tassonomia di forme geometriche non esiste la generica forma geometrica! esistono triangoli, quadrilateri, pentagoni,... Forme può ben essere una classe astratta
DettagliClassi. 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 -
DettagliI 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
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliI 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
DettagliISTITUTO 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
DettagliAnalisi 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
DettagliOggetti e classi. Cos è un oggetto
Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Dettaglipublic BankAccount() { balance = 0; } public BankAccount(double initialbalance) { balance = initialbalance; }
Il Linguaggio Java Le interfacce La classe BankAccount public class BankAccount { public BankAccount() { balance = 0; public BankAccount(double initialbalance) { balance = initialbalance; public void deposit(double
DettagliACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.
ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla
DettagliIL RUOLO DELLA TECNOLOGIA NEL PROGETTO DI ARCHITETTURA. Progettazione dei Sistemi Costruttivi
IL RUOLO DELLA TECNOLOGIA NEL PROGETTO DI ARCHITETTURA Progettazione dei Sistemi Costruttivi 1 Cosa è la tecnologia? La Tecnologia è la disciplina del fare secondo una regola, etimologicamente rappresenta
DettagliEsonero del corso di Programmazione a Oggetti
Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio
DettagliDefinizione di metodi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti
DettagliUML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
DettagliElementi di UML (3) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005
Elementi di UML (3) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio di Sistemi e Processi Organizzativi UML
Dettagli2. Simulazione discreta: entità ed operazioni
Anno accademico 2006/07 Il sistema da modellare I principali elementi che utilizzeremo per rappresentare un sistema sono: Entità: caratterizzano un sistema da un punto di vista statico Operazioni: producono
DettagliInformatica 3 secondo recupero 13 Settembre 2002
Informatica 3 secondo recupero 13 Settembre 2002 Nome (stampatello) Cognome (stampatello) Matr Recupero: Prima prova in itinere Seconda prova in itinere spazio per il docente Punteggi recupero prima prova
Dettaglioggetti, 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
DettagliIntroduzione 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
DettagliProgettazione 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,
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliAlcune idee sui sistemi software e la loro architettura
Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno
DettagliIntroduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliRefactoring 5 Sposta Metodo. 5 Sposta Metodo. 5 Sposta Metodo - Codice iniziale
Refactoring Un metodo sta usando più caratteristiche (attributi e operazioni) di un altra classe che non quella in cui è definito Crea un nuovo metodo con un corpo simile nella classe che il metodo usa
DettagliSommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash
Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che
DettagliParadigma 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
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliModellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it
Modellazione e progettazione con UML Eduard Roccatello 3D GIS Specialist www.roccatello.it Object Oriented Analysis and Design Consente di modellare un sistema attraverso l
DettagliUso di metodi statici. Walter Didimo
Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un
DettagliLettura e scrittura di file di dati input/output
Lettura e scrittura di file di dati input/output Lettura e scrittura da disco Molto semplice in C++: si fa esattamente come se fosse una tastiera (se sto leggendo da disco) o lo schermo (se sto scrivendo
DettagliSul pattern Decorator
Sul pattern Decorator 1 Introduzione Consideriamo una famosa panineria fa tre tipi di panini: al prosciutto crudo, al prosciutto cotto, al tonno. A ciascuno di questi tre tipi corrisponde un costo. Figura
DettagliIngegneria 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
DettagliCasi d uso: esercizi
Casi d uso: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini e Sara Zuppiroli) A.A. 2012-2013 Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 1 / 36 Tools UML ArgoUML,
DettagliAvete 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à
DettagliV. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1
Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,
DettagliProgettazione logica
Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede
DettagliMetodologie di progetto Estensione di classi Implementazione di interfacce Composizione
Gerarchie di Tipi Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione Notazione UML Relazione Simbolo Significato Ereditarietà Implementazione Aggregazione Dipendenza
DettagliDipartimento 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
DettagliAllocazione Dinamica della Memoria
Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando
DettagliAGGIORNAMENTO SOFTWARE
AGGIORNAMENTO SOFTWARE Release Note Proger ClipPartsNet WE 4.1.16.16 MAGGIO 2014 Questo documento elenca sinteticamente tutte le implementazioni software rese disponibili a partire dalla release di Proger
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
DettagliAlgoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
DettagliPrincipi 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
DettagliUML: DIAGRAMMA DI SEQUENZA
UML: DIAGRAMMA DI SEQUENZA UC n. 4: Basi di dati andrea.reale@unibo.it 2 UML e diagrammi di interazione Abbiamo visto il diagramma delle classi in UML Utilizzato per rappresentare strutturalmente il dominio
DettagliArchitetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
DettagliGestire e rappresentare l Enterprise Architecture con TOGAF ed Archimate Obiettivi e Caratteristiche di un approccio combinato
Gestire e rappresentare l Enterprise Architecture con TOGAF ed Archimate Obiettivi e Caratteristiche di un approccio combinato Francesco Bocola Le esigenze delle organizzazioni IT Nell ambito degli obiettivi
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliL hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
DettagliFSM: Macchine a Stati Finiti
FSM: Macchine a Stati Finiti Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Metodo per descrivere macchine di tipo
DettagliEspressioni aritmetiche e ordine delle operazioni
Le operazioni fondamentali Espressioni aritmetiche (UbiMath) - 1 Le operazioni fondamentali Espressioni aritmetiche e ordine delle operazioni Nella risoluzione di problemi compaiono spesso valori legati
DettagliRelazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore
Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono
DettagliIl modello relazionale
Basi di dati Il modello relazionale Si tratta della fase di progettazione. In questa fase individuiamo esattamente quello che è utili informatizzare Cerchiamo gli elementi importanti Individuiamo le loro
DettagliVISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
DettagliEsercitazione n 1. Obiettivi
Esercitazione n 1 Obiettivi Introduzione all utilizzo di Java Development Kit (JDK) versione 1.3 Sviluppare programmi Java tramite linea di comando Es: javac, java, jdb, javadoc Primo esempio di programma
DettagliCorso di Programmazione a oggetti
Corso di Programmazione a oggetti Overloading delle funzioni e parametri di default a.a. 2014/2015 Francesco Fontanella Overloading delle funzioni In C++, è possibile dare a funzioni diverse lo stesso
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
DettagliLA REVISIONE LEGALE DEI CONTI La Pianificazione Ottobre 2013
LA REVISIONE LEGALE DEI CONTI La Pianificazione Ottobre 2013 Università degli Studi di Bari Facoltà di Economia Esame di Revisione Aziendale CPA Anno Accademico 2013-2014 La Pianificazione del Lavoro di
DettagliOpzione manutentore impianti elettrici e automazione
PROGRAMMAZIONE DI T.T.I.M. (TECNOLOGIE E TECNICHE DELL'INSTALLAZIONE E DELLA MANUTENZIONE) CLASSE III Opzione manutentore impianti elettrici e automazione 1 UNITA' DI MISURA E CONVERSIONI (modulo propedeutico)
DettagliLaboratorio 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
DettagliLa rappresentazione delle informazioni
La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare
DettagliUML. Una introduzione incompleta. UML: Unified Modeling Language
UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli
DettagliINFORMATICA 11-Foglio di calcolo-grafici
INFORMATICA 11-Foglio di calcolo-grafici Marco Trapani trapani.marco@gmail.com trapani.marco@gmail.com 1 Tipi di grafico Istogramma Barre Linee Torta Dispersione Area Anello Radar Superficie Bolle Azionario
DettagliMatematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.
Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it erasmo@galois.it A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,
DettagliEXCEL: FORMATTAZIONE E FORMULE
EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato
DettagliGestione delle eccezioni in Java
Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel
DettagliLezione 9 programmazione in Java Classi come contenitori
Lezione 9 programmazione in Java Classi come contenitori Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Gestione della Memoria Dati dinamici e statici Il passaggio
Dettagli!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Informazioni generali Docente Giacomo Cabri Come contattarmi Via email (consigliato) giacomo.cabri@unimore.it Telefono 059/2058320 Ricevimento Lunedì dalle 15 alle 17 presso Matematica,
DettagliDESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.
DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. PIANIFICAZIONE La pianificazione è la prima fase. Questa è la più delicata
DettagliComponenti. Il modello di Protege. Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza
Protégé-2000 Un tool per la creazione e sviluppo di Ontologie e Basi di Conoscenza Il modello di Protege Knowledge model Frame-based OKBC compatible Caratteristiche principali Un editor per creare, visualizzare,
Dettagli4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
DettagliFondamenti 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
DettagliGrandezze fisiche e loro misura
Grandezze fisiche e loro misura Cos è la fisica? e di che cosa si occupa? - Scienza sperimentale che studia i fenomeni naturali suscettibili di sperimentazione e caratterizzati da grandezze misurabili.
DettagliTRAGUARDI DI COMPETENZE DA SVILUPPARE AL TERMINE DELLA CLASSE
ARTE E IMMAGINE classe PRIMA TRAGUARDI DI COMPETENZE DA SVILUPPARE AL TERMINE DELLA CLASSE Utilizza in modo semplice gli elementi di base del linguaggio visuale (linea-forma-colore) per osservare e descrivere
DettagliLinguaggi di Programmazione I Lezione 6
Linguaggi di Programmazione I Lezione 6 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 aprile 2008 Analisi di oggetti e classi 3 Introduzione............................................................
DettagliI programmi Assembler e Linker
Testo di riferimento: [Congiu] 10.1-10.5 (pg. 267 291) 11.a I programmi Assembler e Linker Produzione del software Istruzioni, direttive, simboli, ecc. Processo di produzione del software Analisi del problema
DettagliJava Native Interface Appunti
Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per
DettagliIl progetto pilota di teatroterapia un nuovo approccio alla fibrosi cistica per le famiglie P.Catastini AOU Meyer
Il progetto pilota di teatroterapia un nuovo approccio alla fibrosi cistica per le famiglie P.Catastini AOU Meyer La teatroterapia: origini e caratteristiche Nasce dal teatro di ricerca, in ambiente protetto
Dettagli1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software:
1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software: Un testo può essere composto da uno o più tomi. Ogni tomo ha una
Dettagli