Relazioni tra le classi e rappresentazione mediante diagrammi delle classi UML. Relazioni tra le classi Ereditarietà (is a)...
|
|
- Susanna Giusti
- 5 anni fa
- Visualizzazioni
Transcript
1 Sommario Relazioni tra le classi... 2 Ereditarietà (is a)... 2 Associazione (has a)... 2 Composizione... 2 Aggregazione... 2 Dipendenza (using)... 3 Unified Modeling Language (UML)... 3 Diagramma delle Classi in notazione UML... 4 Rappresentazione di una classe... 4 Diagrammi UML dell ereditarietà... 5 Diagrammi UML delle associazioni... 6 Relazione di associazione... 6 Relazioni di composizione... 7 Relazioni di aggregazione... 8 Relazione di dipendenza... 8 Schemi di progettazione di base... 9 Generalizzazione...11 Design Pattern
2 Relazioni tra le classi Una classe è quasi sempre in relazione con altre classi. Le relazioni possibili tra le classi sono: Ereditarietà (is a) é la relazione che esiste tra una classe più generale ed una più specializzata; viene indicata come relazione is a (o ISA); chi progetta una classe deve cercare di partire da altre già esistenti; ogni classe deve essere progettata in modo da essere facilmente estesa. La classe Impiegato estende la classe Dipendente; un impiegato è un (is a) dipendente Associazione (has a) rappresenta un legame tra istanze di classi; si può pensare come una classe i cui attributi sono oggetti di altre classi; viene indicata come relazione has a (o HasA) Date le classi Persona e Provincia si può definire la classe associazione Residenza con un attributo di tipo Persona e uno di tipo Provincia Date le classi Persona e Automobile si può definire la classe associazione Pilota con un attributo di tipo Persona e uno di tipo Automobile Casi particolari di associazione sono le relazioni intero-parte, come la composizione e la aggregazione che esprimono il contenimento da parte di una classe, e le relazioni di dipendenza tra le classi. Composizione indica le parti di cui è composto un oggetto; i componenti possono essere eterogenei; per esempio: - la classe Cerchio ha come centro un oggetto di classe Punto - la classe Triangolo ha come vertici tre oggetti di classe Punto - la classe Personaggio ha come componenti un oggetto di classe Testa, uno di classe Tronco, due di classe Braccia e due di classe Gamba (ulteriormente scomponibili) Aggregazione è un insieme di parti omogenee; per esempio: - una Biblioteca è un insieme di Libro - una Classe (scolastica) è un insieme di Studente N.B.: Le differenze fra associazione, aggregazione e composizione possono confondere anche i progettisti più esperti essendo a volte molto sottili le differenze fra questi concetti. Dal punto di vista pratico è utile invece sapere come implementare queste associazioni. Solitamente si utilizzano dei riferimenti all altra classe. Per esempio in Cerchio inserisco come attributo un riferimento ad un 2
3 oggetto di classe Punto (il centro), in Biblioteca inserisco come attributo un riferimento ad un array di oggetti di classe Libro, in Residenza inserisco due attributi, uno è un riferimento ad un oggetto di classe Persona e il secondo è un riferimento ad un oggetto di classe Provincia. Dipendenza (using) Una classe dipende da un altra se uno dei suoi metodi usa un oggetto di tale classe in qualche modo. Per esempio, tutte le classi applet dipendono dalla classe Graphics, perché ricevono un oggetto di tipo Graphics nel metodo paint e lo usano per disegnare varie forme. Le applicazioni di console dipendono dalla classe System, perché usano la variabile statica System.out. - il metodo intersezione della classe Retta restituisce un oggetto di classe Punto (il punto d intersezione tra due rette) - il metodo vertice della classe Parabola restituisce un oggetto di classe Punto (che corrisponde al vertice della parabola) - il metodo comprende della classe Retta riceve un oggetto di classe Punto e verifica se esso appartiene alla retta Unified Modeling Language (UML) Per riuscire a comprendere bene un sistema complesso nella sua interezza si utilizzano modelli. Per descrivere graficamente le relazioni tra un insieme di classi inserite in un progetto si usano dei simboli particolari. Le metodologie di analisi usano simbolismi diversi e individuano diversamente taluni tipi di relazioni. UML è un linguaggio di modellazione e specifica basato sul paradigma object-oriented che deriva dalle precedenti metodologie Booch e OMT e che si è affermato come linguaggio universale presso le comunità di progettazione e programmazione a oggetti. Gran parte della letteratura di settore usa UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico. UML consente di rappresentare più tipi di diagramma: Diagramma dei casi d'uso (Use Case Diagram) Diagramma delle classi (Class Diagram) Diagramma di sequenza (Sequence Diagram) Diagramma di collaborazione tra oggetti (Collaboration Diagram) Diagramma di transizione di stato (State Diagram) Diagramma delle componenti software (Component Diagram) Diagramma di allocazione delle componenti (Deployment Diagram) 3
4 Diagramma delle Classi in notazione UML Il Diagramma delle classi descrive il tipo degli oggetti che compongono il sistema e le relazioni statiche esistenti tra loro. Esistono strumenti automatici di modellazione che a partire dal codice esistente creano dai diagrammi delle classi e viceversa. Tra questi strumenti il più noto è Rational Rose, ma esistono anche alternative open source come StarUml e ArgoUml. Rappresentazione di una classe Una classe è rappresentata da un rettangolo diviso in tre sezioni orizzontali: la prima contiene il nome della classe, solitamente in grassetto; quella centrale elenca gli attributi la terza elenca i metodi 4
5 In certi casi si può semplificare, per esempio lasciando impliciti il nome dei metodi get e set. In generale, specificare più o meno accuratamente i metodi e gli attributi delle classi in gioco, dipende dalla fase di progettazione in cui ci troviamo. I metodi in overload o overriding si ripetono più volte. Attributi e metodi di classe (statici) vanno sottolineati o preceduti dal simbolo $. Diagrammi UML dell ereditarietà L ereditarietà è rappresentata con una freccia con la punta a triangolo vuoto che va dalla sottoclasse alla superclasse. In questo caso, a volte, le classi sono rappresentate soltanto da un rettangolo col nome della classe. Se da una classe derivano più classi si può rappresentare l ereditarietà con un unica freccia che si suddivide in più rami. Nel caso di ereditarietà multipla (non consentita in Java) da una classe partono più frecce dirette alle superclassi. Quando da una classe derivano più sottoclassi, la superclasse risulta partizionata nelle sottoclassi. La freccia dell ereditarietà può riportare la proprietà di partizionamento (tra parentesi graffe): disjoint (disgiunte) o overlapping(sovrapposte). Due classi sono disgiunte quando non esistono elementi che possono appartenere contemporaneamente a due classi. Per esempio, nella gerarchia degli animali, tutte le sottoclassi sono disgiunte; un animale può essere solo mammifero, rettile o altro. Complete o incomplete (indica se le sottoclassi comprendono tutti i possibili elementi o se esistono elementi che non si trovano in alcuna delle sottoclassi); a volte si può avere un partizionamento incompleto perché si definiscono solo le sottoclassi necessarie all applicazione. 5
6 Dynamic o static (indica se un elemento può passare da una classe ad un altra; es.: un impiegato può passare nella classe dirigente) Una interfaccia è rappresentata da un rettangolo diviso in due sezioni (mancano gli attributi) nella prima sezione compare il nome e lo stereotipo <<interface>> nella seconda sezione i metodi Una classe che implementa l interfaccia è collegata all interfaccia da una freccia tratteggiata. Diagrammi UML delle associazioni Relazione di associazione Per la relazione di associazione si possono riscontrare diversi stili di rappresentazione. Secondo lo standard UML, un associazione bidirezionale si rappresenta con una linea a tratto continuo senza alcuna freccia. Esempio di associazione bidirezionale è quella esistente tra un dipendente e la ditta per la quale lavora: un dipendente lavora in una ditta (una e una sola); in una ditta lavorano molti dipendenti. A volte le associazioni hanno un verso. In questo caso le rappresentiamo con una freccia. Un associazione può avere un nome, dei ruoli o delle molteplicità. Un nome descrive la natura della relazione. I ruoli esprimono in modo specifico le funzioni che le classi associate svolgono l una rispetto all altra. Il nome dell associazione appare sopra la linea di congiunzione. Il ruolo di una classe appare accanto ad essa. La molteplicità di una associazione appare all estremità della linea: 0..* qualunque numero 1..1 esattamente o 1 1..* 1 o più di uno n esattamente n L associazione invece che dal nome può essere rappresentata anche da una classe collegata da una linea tratteggiata alla linea dell associazione. In questo caso possiamo descrivere anche attributi e metodi della classe associazione. L associazione è sempre una classe, anche quando è indicato solo il nome sulla linea della relazione. Se l associazione collega più di due classi (associazione multipla) si usa un rombo per collegare le linee di associazione. La molteplicità sarà sempre 0..*. Nelle associazioni si possono aggiungere i simboli di navigabilità che indicano come passare da un oggetto a quello associato. I simboli di navigabilità sono rappresentati da punte di frecce nel verso della navigabilità sulla linea dell associazione. 6
7 Per ottenere la navigabilità in un senso il primo oggetto deve contenere un riferimento al secondo (nell implementazione inserisco nella prima classe un attributo che rappresenta il riferimento ad un oggetto della seconda classe). Per ottenere la navigabilità nei due sensi gli oggetti devono avere riferimenti reciproci. Relazioni di composizione Le relazioni di aggregazione e di composizione hanno una notazione particolare: sulle linee di composizione e di aggregazione non compare alcun nome. 7
8 La composizione è rappresentata da una linea d associazione con un rombo nero dal lato dell oggetto composto; vicino al componente si può indicare il ruolo e la molteplicità. L oggetto composto di solito ha i riferimenti ai componenti (nel diagramma si possono aggiungere le frecce di navigabilità. Relazioni di aggregazione L aggregazione è rappresentata da una linea d associazione con un rombo vuoto dal lato dell oggetto aggregato; vicino al componente si può indicare il ruolo. La molteplicità deve essere indicata da entrambi i lati. Relazione di dipendenza La dipendenza è rappresentata da una linea tratteggiata con una freccia con la punta aperta che punta alla classe dipendente Alcune relazioni possono essere presenti contemporaneamente; es.: la classe Automobile estende la classe Veicolo, ma è associata alla classe Pneumatico (ogni automobile ha 4 pneumatici + 1, ovvero la gomma di scorta) Veicolo Automobile 5 Pneumatico Le frecce usate nella notazione UML possono confondere; la tabella seguente riassume i quattro simboli usati nella notazione UML per rappresentare le relazioni descritte: 8
9 Schemi di progettazione di base Uno stesso problema può essere risolto utilizzando schemi di progettazione diversi. Di seguito vediamo alcuni schemi di base. Problema 1 Si devono gestire i prestiti dei libri di una biblioteca, ponendosi come obiettivo sapere quali libri ha in prestito una persona. Si individuano subito le entità Libro ed UtenteBiblioteca associate tra di loro dalla relazione prestito 9
10 Posso avere anche una soluzione del seguente tipo Anche l associazione tra Prestito e Utente è sostituita da una di composizione. In UtenteBiblioteca inserisco sia il riferimento alla Persona che il riferimento all insieme dei prestiti. In questo caso Prestito si riferisce ad un solo Libro; se un utente prende in prestito più libri si dovranno creare più istanza di Prestito. Se cancello l utente della biblioteca resta la Persona. 10
11 Generalizzazione Uno stesso schema di progettazione può essere utilizzato in molti casi diversi, ma analoghi dal punto di vista della soluzione. Gli schemi visti precedentemente sono generalizzabili ad altri tipi di problemi completamente diversi. Un problema analogo a quello dei libri è quello relativo al possesso. Problema 2 Una persona possiede una o più automobili. Si vogliono rappresentare i dati relativi alle persone, alle automobili e i dati relativi alla proprietà. 11
12 In quest ultimo schema l associazione tra Proprietario e Proprietà è sostituita da una di composizione. In Proprietario inserisco sia il riferimento alla Persona che il riferimento a tutti i documenti di proprietà. La 12
13 classe Proprietà rappresenta in realtà il documento di proprietà. In questo caso Proprietà si riferisce ad una sola Auto; se un proprietario possiede più auto si dovranno creare più istanze di Proprietà. Se volessi rappresentare i passaggi di proprietà potrei creare un altra classe PassaggiProprietà che ha un riferimento ad Auto e un riferimento all insieme dei documenti di proprietà. Design Pattern Dal momento che la progettazione di applicazioni object oriented è spesso molto complicata e non è facile individuare subito le classi e le relazioni più adatte, si utilizzano i design pattern che sono schemi che descrivono soluzioni riutilizzabili di particolari problematiche di progettazione. Ogni design pattern si applica ad un particolare problema di progettazione (insieme di situazioni ricorrenti); la soluzione è espressa in modo generale mediante diagrammi delle classi in modo da lasciare una certa libertà nelle scelte implementative. Bisogna fare una certa attenzione nell utilizzare i design pattern perché a volte possono portare a complicare la soluzione anziché semplificarla. Bibliografia: Fabrizia Scorzoni, Informatica. Programmazione in Java, Loescher,
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
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
DettagliModellazione 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):
DettagliDefinizione unitaria delle coniche
Autore/i: M.Maddalena Bovetti docente di matematica della Scuola Media Superione Titolo: Definizione unitaria delle coniche Collocazione: Difficoltà: Livello di scolarità: Periodo scolastico: Abstract:
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
DettagliUnified Modeling Language
Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo
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
DettagliCAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
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
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)
DettagliPROGETTAZIONE DEL SOFTWARE
PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
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
Dettagliprogettare buone gerarchie
progettare buone gerarchie 1 generalizzazione permette di definire dettagli del modello a vari livelli di astrazione 2 generalizzazione le istanze delle classi più specifiche sono istanze anche delle classi
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
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
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,
DettagliIl comando provoca il salvataggio dello stato e la terminazione dell esecuzione.
Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e
DettagliStrumenti di modellazione. Gabriella Trucco
Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell
DettagliRappresentazione. Unified Modeling Language. Genesi dell UML. Principali Diagrammi UML. Unified Modeling Language (UML)
Rappresentazione Unified Modeling Language Unified Modeling Language (UML) DIB Unified Modeling Language - 1 DIB Unified Modeling Language - 2 Genesi dell UML Booch OOD 91 OOAD 94 94 RATIONAL OOD Objext
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
DettagliSistemi 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
DettagliUniRoma2 - 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
DettagliUML e (R)UP (an overview)
Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare
DettagliMateriale 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
DettagliUML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it
UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale
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
DettagliTraduzione dello schema E-R in modello logico relazionale
Traduzione dello schema E-R in modello logico relazionale 1 2 Entità con identificatore esterno - Esempio Risoluzione delle entità con identificatore esterno 3 4 5 Traduzioni dal modello E-R al modello
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............................................................
DettagliIngegneria del software Class diagram Associazione Sequence diagram Communication diagram Processo Processo di sviluppo software Modello a cascata:
Ingegneria del software approccio sistematico allo sviluppo, all'operatività, alla manutenzione ed al ritiro del software. L ingegneria del software è la disciplina tecnologica e manageriale che riguarda
DettagliIntroduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.
Introduzione a UML versione 19 marzo 2010 http://www.analisi-disegno.com Introduzione a UML Pag. 1 Obiettivo di questa introduzione fornire alcuni elementi di base su UML introdurre i diagrammi fornire
DettagliLezione 4. Modello EER
Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)
DettagliConsidera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del
DettagliUML un linguaggio universale per la modellazione del software. Adriano Comai
UML un linguaggio universale per la modellazione del software Adriano Comai 2 Finalmente uno standard per l analisi e disegno OO? L'obiettivo è ambizioso. Lo Unified Modeling Language (UML) vuole essere,
DettagliPROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^
PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PER RICONOSCERE, RAPPRESENTARE E RISOLVERE PROBLEMI I. Q. II. Q. CONTENUTI / ATTIVITA 1 bim. 2 bim. 3 bim. 4 bim. 1a) Individuazione di situazioni problematiche
DettagliCORSO DI PROGRAMMAZIONE JAVA
CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi
DettagliElementi di UML (7): Diagrammi dei componenti e di deployment
Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio
DettagliIntroduzione a UML. Iolanda Salinari
Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare
DettagliAlessandra Raffaetà. Schemi a oggetti -> Schemi relazionali
Lezione 5 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Schemi a oggetti
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
Dettagli20. LA PROGRAMMAZIONE AD OGGETTI
Premessa 20. LA PROGRAMMAZIONE AD OGGETTI All inizio del nostro studio della programmazione il nostro obiettivo primario è stato quello di iniziare a programmare (ossia a codificare). Per fare ciò abbiamo
DettagliGLI STRUMENTI PER IL DISEGNO
GLI STRUMENTI PER IL DISEGNO Gli strumenti che noi useremo sono: 1) Fogli di carta liscia di formato A3, squadrati; 2) N. 2 matite, preferibilmente micromine (una con mina H e una con mina HB); 3) Gomma
DettagliIl paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti
Alessio Bechini - Corso di - Il paradigma OO e le relative metodologie di progettazione Metodologie OO Programmazione orientata agli oggetti La programmazione ad oggetti (OOP) è un paradigma di programmazione
DettagliObject Oriented Software Design
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliAPPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
DettagliLIM E NUOVE TECNOLOGIE PER L INCLUSIONE
LIM E NUOVE TECNOLOGIE PER L INCLUSIONE FRANCESCO ZAMBOTTI Libera Università di Bolzano Centro Studi Erickson Trento Gruppo di Ricerca Integrazione e Inclusione Scolastica (GRIIS) Francesco.Zambotti@unibz.it
DettagliLa ricerca con. A cura del gruppo Portale della Biblioteca Digitale. Novembre 2011. Sistema Bibliotecario di Ateneo Università di Padova
La ricerca con A cura del gruppo Portale della Biblioteca Digitale Novembre 2011 Come funziona Google Esplora il web per raccogliere tutti i siti, le immagini, le pagine che contengono i termini che hai
DettagliProf. Pagani Corrado HTML
Prof. Pagani Corrado HTML IPERTESTI E MULTIMEDIALITÀ Un ipertesto è un insieme di documenti messi in relazione tra loro per mezzo di parole chiave sensibili (link). Può essere visto come una rete; i documenti
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
DettagliCaso di Studio: Avant Dernier
Caso di Studio: Avant Dernier Specifiche: Nel gioco si affrontano 4 giocatori, ciascuno individuato con un numero progressivo (da 1 a 4). Inizialmente, i giocatori ricevono 5 carte ciascuno, e una carta
DettagliCURRICOLO DI GEOGRAFIA. INDICATORI OBIETTIVI di APPRENDIMENTO STANDARD PER LA VALUTAZIONE DELLE COMPETENZE DELL ALUNNO
CURRICOLO DI GEOGRAFIA SCUOLA PRIMARIA CLASSE PRIMA Riconoscere ed indicare la posizione di oggetti nello spazio vissuto rispetto ai punti di riferimento. Utilizzare correttamente gli organizzatori spaziali.
DettagliSistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Unified Modelling Language (UML) Class Diagram Docente: Massimo Cossentino Slide adattate dagli originali di:
DettagliProf. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA
Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA ES 02 - ORGANIZER Voglio un gestionale (organizer) che permetta a ciascun dipendente della mia azienda di inserire le attività che svolgono
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à
DettagliIntroduzione ad UML. Perché modelliamo
Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la
DettagliOBIETTIVI SPECIFICI DI APPRENDIMENTO
Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa
DettagliProtocollo dei saperi imprescindibili Ordine di scuola: professionale
Protocollo dei saperi imprescindibili Ordine di scuola: professionale DISCIPLINA: MATEMATICA RESPONSABILE: CAGNESCHI F. IMPERATORE D. CLASSE: prima servizi commerciali Utilizzare le tecniche e le procedure
DettagliContenimento in UML: alcune linee guida generali. Dr. Andrea Baruzzo baruzzo@dimi.uniud.it www.dimi.uniud.it/~baruzzo
Contenimento in UML: alcune linee guida generali Dr. Andrea Baruzzo baruzzo@dimi.uniud.it www.dimi.uniud.it/~baruzzo Sommario La relazione «has-a» Composizione Aggregazione Linee guida object modeling
DettagliAnalisi Modelli per la specifica dei requisiti
Modelli per la specifica dei requisiti Modelli semantici dei dati Entità-Relazioni (E-R) Modelli orientati all elaborazione dati Diagrammi di Flusso dei Dati (Data-Flow Diagrams, DFD) Modelli orientati
DettagliRiconoscere e formalizzare le dipendenze funzionali
Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse
DettagliTEST DI INGRESSO. Al seguente indirizzo puoi trovare il test di matematica di base per scienze biotecnologiche http://www.testingressoscienze.
TEST DI INGRESSO http://www.smfn.unipi.it/prova_ingresso/verifica2009.aspx Al precedente sito internet puoi trovare un esempio pubblico di test di matematica di base e un test di matematica di base del
DettagliDettaglio dei corsi in aula
L offerta formativa Dettaglio dei corsi in aula Software Engineering Object Oriented Analysis and Design: fondamenti e principi dell object orientation. Dall analisi alla progettazione. I Design Pattern.
DettagliLa in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già
Le dati Presenza Complicazioni forme relazionale normaliverificano di ridondanze la qualitàdi uno schema di una base di Forme La forma normalizzazionepermette nella gestione di degli ottenere aggiornamenti
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
DettagliSommario. HTML e CSS I fogli di stile. cosa sono principali proprietà
HTML e CSS Sommario HTML e CSS I fogli di stile cosa sono principali proprietà CSS CSS La specifica HTML elenca le linee guida su come i browser dovrebbero visualizzare i diversi elementi del documento
DettagliProgrammazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)
Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università
DettagliLiceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE
Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE a.s. 2015/16 CLASSE 2^ ASA Indirizzo di studio Liceo scientifico Scienze Applicate Docente Disciplina
DettagliLa specifica del problema
2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a
DettagliUML Unified Modeling Language
UML Unified Modeling Language Lezione 4-1 - UML Il diagramma delle classi Parte Seconda - 2 - Relazioni tra Classi&Oggetti I diagrammi delle classi mettono in evidenza i blocchi costitutivi del sistema
DettagliProff. Fabio Ciao e Raffaele Bortone
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud
DettagliPROGRAMMI OPERATIVI NAZIONALI 2007-2013 Obiettivo "Convergenza"
UNIONE EUROPEA Direzione Generale Occupazione e Affari Sociali e Pari Opportunità Direzione Generale Politiche Regionali MINISTERO DELL ISTRUZIONE, DELL UNIVERSITÀ E DELLA RICERCA Dipartimento per la Programmazione
DettagliNormalizzazione. Definizione
Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione
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,
DettagliSyllabus: argomenti di Matematica delle prove di valutazione
Syllabus: argomenti di Matematica delle prove di valutazione abcdef... ABC (senza calcolatrici, senza palmari, senza telefonini... ) Gli Argomenti A. Numeri frazioni e numeri decimali massimo comun divisore,
DettagliProgettazione del Software
L4.4 Progettazione del Software Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw Seconda Parte La fase di
DettagliL uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica
L uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica Archivio di Stato di Perugia Scuola di Archivistica, Paleografia e Diplomatica 15 gennaio 2013
DettagliUniversità degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica
Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
DettagliLaboratorio di Progettazione di Sistemi Software Introduzione
Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring
DettagliGEOGRAFIA - CLASSE PRIMA. Rappresentare graficamente gli posizione propria, di altri o di oggetti. termini adatti (sopra/sotto,
GEO - CLASSE PRIMA TRAGUARDI DI COMPETENZA DA SVILUPPARE AL TERMINE DELLA CLASSE PRIMA Utilizza correttamente gli indicatori spaziali per muoversi consapevolmente nello spazio circostante. Individua le
DettagliINDIRIZZI IP SUBNETTING
INDIRIZZI IP SUBNETTING Indirizzi IP Nella loro implementazione corrente (IPv4), gli indirizzi IP consistono di 4 byte - e forniscono un totale di 32 bit di informazione disponibile Gli indirizzi IP vengono
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)
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliUniversità degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi
Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire
DettagliIL SITO ISTITUZIONALE DELLA SCUOLA ITIS E. MATTEI - URBINO MANUALE D USO
IL SITO ISTITUZIONALE DELLA SCUOLA ITIS E. MATTEI - URBINO MANUALE D USO Sommario INTRODUZIONE... 2 MAPPA DEL SITO... 2 CATEGORIE... 3 UTENTI... 4 PAGINE... 4 EVENTI... 8 PUBBLICAZIONE DI ALLEGATI... 8
DettagliCiclo di Vita Evolutivo
Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione
DettagliPROGRAMMAZIONE DIDATTICA ANNUALE DI DIPARTIMENTO
ISTITUTO TECNICO INDUSTRIALE STATALE ALESSANDRO ROSSI - VICENZA PROGRAMMAZIONE DIDATTICA ANNUALE DI DIPARTIMENTO ANNO SCOLASTICO 2014-2015 DIPARTIMENTO DI TECNOLOGIE E TECNICHE DI RAPPRESENTAZIONE GRAFICA
DettagliElementi di Informatica e Programmazione
Elementi di Informatica e Programmazione Introduzione Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Informazioni
DettagliActivity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it
Activity Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è un Activity Diagram Quando si
DettagliDistributed Object Computing
Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi
DettagliProgettazione di Applicazioni Web
1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni
Dettagli3. Terza esercitazione autoguidata: progetto gestione voli
9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati
DettagliUniversità degli Studi di Milano. Esercizi Corso SIT. Basi di dati
Università degli Studi di Milano Esercizi Corso SIT Basi di dati Maria Luisa Damiani (con la collaborazione degli studenti: Giulia Izzi e ) 2010-2011-2012 ESERCIZI CORSO SIT parte BASE DI DATI TABELLE
DettagliESAME DI STATO. SIMULAZIONE PROVA NAZIONALE Scuola Secondaria di I grado Classe Terza. Prova 3. Anno Scolastico 20. - 20. Classe:... Data:...
Prova Nazionale di Matematica: Simulazioni - a cura di M. Zarattini Prova ESAME DI STATO Anno Scolastico 0. - 0. SIMULAZIONE PROVA NAZIONALE Scuola Secondaria di I grado Classe Terza Classe:... Data:...
DettagliComunicazione Digitale
Comunicazione Digitale Schema didattico di riferimento 1 1. Internet e le reti locali 1. Qual è la storia della rete Internet dagli albori ai giorni nostri 2. I tipi di rete, come si organizzano e agglomerano
DettagliBASI DATI INFORMATICA
BASI DATI INFORMATICA 1 Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell organizzazione stessa GESTIRE
DettagliProgrammazione Disciplinare: Tecnologie e tecniche di rappresentazione grafica Classe: Seconda
Istituto Tecnico Tecnologico Basilio Focaccia Salerno Programmazione Disciplinare: Tecnologie e tecniche di rappresentazione grafica Classe: Seconda I Docenti della Disciplina Salerno, lì... settembre
DettagliCorso di Fondamenti di Informatica e Laboratorio ato o T-AB
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni Prof. Michela Milano Prof.
DettagliIllustrazione 1: Telaio. Piantanida Simone 1 G Scopo dell'esperienza: Misura di grandezze vettoriali
Piantanida Simone 1 G Scopo dell'esperienza: Misura di grandezze vettoriali Materiale utilizzato: Telaio (carrucole,supporto,filo), pesi, goniometro o foglio con goniometro stampato, righello Premessa
Dettagli