Class Diagram. Unified Modeling Language (2) Classi. Definiscono la visione statica del sistema
|
|
- Valentino Natale
- 5 anni fa
- Visualizzazioni
Transcript
1 Unified Modeling Language (2) Class Diagram A cura di Luciano Baresi UML: Unified Modeling Language UML: Unified Modeling Language 2 Class Diagram Classi Definiscono la visione statica del sistema classi relazioni tra classi associazione (uso) generalizzazione (ereditarietà) aggregazione (contenimento) È forse il modello più importante perché definisce gli elementi base del sistema In UML una classe è composta da tre parti nome attributi (lo stato) metodi (il comportamento) create() delete() nome cognome create() delete() nome cognome UML: Unified Modeling Language 3 UML: Unified Modeling Language 4
2 Attributi Un attributo è una caratteristica della classe Gli attributi non hanno identità Ogni attributo deve essere definito in modo preciso Attributi buoni per Nome, Cognome, Attributi cattivi CorsiScelti UML: Unified Modeling Language 5 Attributi (cont( cont.) Gli oggetti avranno una loro identità, non bisogna aggiungerla id nome cognome età nome cognome età Codice fiscale? UML: Unified Modeling Language 6 Attributi (cont( cont.) Nomi che non sono diventati classi Durante la definizione delle classi stesse Conoscenza del dominio applicativo Persona (ambito bancario) nome, cognome, codicefiscale, numeroconto Persona (ambito medico) nome, cognome, allergie, peso, altezza Attributi Derivati Calcolati, non memorizzati Si usano quando i loro valori variano frequentemente e la correttezza (precisione) del valore è importante Il valore viene calcolato in base ai valori di altri attributi Persona età = f(datadinascita datadinascita,, oggi) datanascita : Date area, perimetro = f(vertici) / età : int {età = oggi - datanascita} UML: Unified Modeling Language 7 UML: Unified Modeling Language 8
3 Classi nome: String cognome: String età: integer visualizza() seleziona() Classe astratta public protected private derived + nome[..2]: String # cognome: String - datanascita: Date / età: integer = 33 +uni:string= Politecnico {frozen} +visualizza() {query} +getiniziali():string -seleziona() Molteplicità ( ) UML: Unified Modeling Language 9 45 Classi Controllore {author= Paperino } Icon stereotype Keyword stereotype UML: Unified Modeling Language 0 Associazioni (Association( Association) Un associazione definisce un canale di comunicazione bidirezionale fra le due classi La molteplicità definisce il numero di istanze che prendono parte alla relazione I link sono istanze delle associazioni Un link connette due oggetti Un'associazione connette due classi Associazioni Un associazione indica una relazione tra classi ad esempio persona che lavora per azienda Un associazione ha un nome una direzione di lettura Il nome è solitamente un verbo (un etichetta al centro della linea che definisce l associazione) appare Cartella UML: Unified Modeling Language UML: Unified Modeling Language 2
4 Molteplicità Molteplicità (cont( cont.) La molteplicità dice: Se l associazione è obbligatoria oppure no? Il numero minimo e massimo di oggetti che possono essere relazionati ad un altro oggetto..* segue Esattamente uno: Zero o uno: 0.. Molti: 0..* Uno o più:..* Un numero specifico: 7 Un intervallo: 4..5 Lista: 0.., 3..4, 6..* Tutti i numeri eccetto 2 e 5? UML: Unified Modeling Language 3 UML: Unified Modeling Language 4 Ruolo Classi associazione Definisce il ruolo svolto nell associazione Utile per Auto-associazioni Associazioni multiple tra due classi User Person owner 0..*..* work for 0.. ack. user employed 0..* 0..* Directory 0..* employer contained container Company Person 0.. husband 0.. wife is married to Alcune proprietà potrebbero appartenere all associazione e non alle parti coinvolte * Frequenza percentuale profitto UML: Unified Modeling Language 5 UML: Unified Modeling Language 6
5 Associazioni n-arien Associazioni con qualificatore Squadra * Squadra Anno * Stagione * Portiere Giocatore Servono per identificare gli attributi coinvolti ai lati dell associazione UML propone attributi qualificanti per dividere l insieme di oggetti in partizioni Simili alle chiavi delle tabelle relazionali Sintesi goalfatti goalsubiti partvinte partperse PartNulle Employee..* employ initials Company address UML: Unified Modeling Language 7 UML: Unified Modeling Language 8 Qualificatori Associazioni derivate Employee..* employ initials initials Company address Diversi dipendenti possono avere le medesime iniziali Employee employ initials initials Company address Ogni impiegato deve avere iniziali diverse Le molteplicità si riferiscono alle partizioni, non all intero insieme Alcune associazioni posso essere derivate da altre Simili agli attributi derivati / impiegato Azienda appartiene..*..* lavora per Dipartimento Persona..* UML: Unified Modeling Language 9 UML: Unified Modeling Language 20
6 Vincoli (Associazioni singole) I vincoli consentono di fissare il tipo di ordinto degli oggetti dal lato molti di un associazione 3..0 segue..* {ordine cronologico} 0..* segue..* {ordinato} Vincoli (Associazioni multiple) I vincoli possono anche essere relativi ad altre associazioni usa Persona {sottoinsieme} Auto guida Dormitorio {xor} Appartamento UML: Unified Modeling Language 2 UML: Unified Modeling Language 22 Vincoli Relativi Aggregazioni (Aggregation( Aggregation) Vincoli implementativi possono essere espressi come commenti particolari sottoposto 0....* datoredilavoro 0..* Persona impiegato 0.. capo Azienda 0.. Persona.datoreDiLavoro = Persona.capo.datoreDiLavoro Le aggregazioni sono una forma particolare di associazione. Una parte è in relazione con un oggetto (part( part-of) Argomento..* UML: Unified Modeling Language 23 UML: Unified Modeling Language 24
7 Composizioni Composizione (Notazioni Alternative) Una relazione di composizione è un aggregazione forte Le parti componenti non esistono senza il contenitore Window scrollbar title body 2 Header Panel Slider Window scrollbar[2]:slider title:header body:panel Window 2 scrollbar: Slider title:header body:panel Window 2 Slider scrollbar title Header Panel body UML: Unified Modeling Language 25 UML: Unified Modeling Language 26 Associazioni riflessive Ereditarietà (Generalization( Generalization) Un associazione è riflessiva se coinvolge oggetti della stessa classe Indicano oggetti multipli della stessa classe che sono in relazione fra loro Parte Esplicita eventuali comportamenti comuni È possibile dover: Aggiungere nuove proprietà alle classi Ridefinire/modificare operazioni esistenti Persona Precedenze Aggregazione UML: Unified Modeling Language 27 UML: Unified Modeling Language 28
8 Ereditarietà (Sottoclassi non Disgiunte) Ereditarietà (Sottoclassi non Disgiunte) {superficie} {propulsione} {superficie} {propulsione} Terrestri PropUmana Terrestri PropUmana Macchina Bicicletta BarcaARemi Macchina Bicicletta BarcaARemi UML: Unified Modeling Language 29 UML: Unified Modeling Language 30 Dipendenza (Dependency( Dependency) La classe A dipende dalla classe B, se modificando la classe B cambia il comportamento di A. Il viceversa non è vero La comunicazione è unidirezionale (da A verso B) Interfacce Specificano il comportamento di una classe senza darne l implementazione keyword Stereotype per interfacce <<interface>> Sortable A B isequal(object): Boolean isgreater(object): Boolean Sortable A usa B UML: Unified Modeling Language 3 UML: Unified Modeling Language 32
9 Interfacce Classi Parametriche (Template) String isequal(string): Boolean isgreater(string): Boolean length(): Integer <<interface>> Sortable isequal(object): Boolean isgreater(object): Boolean SortedStringList Modo sintetico per definire un insieme di classi simili Le singole classi si ottengono istanziando i parametri contenuti nella definizione String Base isequal(string): Boolean isgreater(string): Boolean length(): Integer Sortable SortedStringList Template Class <<bind>>. Instantiated Class <base> keyword UML: Unified Modeling Language 33 UML: Unified Modeling Language 34 Classi Parametriche (Istanziazione) Classi Utility Vettore<char,3> T,k:integer Vettore <<bind>> (Vertici,5) Pentagono Retaggio dei linguaggi procedurali e del C++ <<utility>> Matematica log(int):real sin(ang):real sqrt(int):real power(real, int): real UML: Unified Modeling Language 35 UML: Unified Modeling Language 36
10 Classi Astratte Package Classi astratte Figura Poligono Cerchio I package sono contenitori di classi Sistemi complessi (reali) devono essere modellati gerarchicamente Sottosistemi (package) in relazione fra loro Classi all interno dei package Client Client Client + OrderForm -Order -TrackingForm Triangolo Quadrato Package Alta coesione all interno Interfacce precise e limitate + OrderForm -TrackingForm + Order UML: Unified Modeling Language 37 UML: Unified Modeling Language 38 Esempi GUI User services Object Diagram MacGUI DOSGUI <<import>> Generalizzazioni Aggregazioni Package possono contenere altri package Relazioni Import/Access Business services Data services <<import>> UML: Unified Modeling Language 39 UML: Unified Modeling Language 40
11 Object Diagram Rappresentano le istanze delle classe e i loro legami Si usano durante l analisi e il progetto Per capire la struttura di oggetti complessi Per esplicitare la struttura di oggetti complessi Per presentare immagini del sistema Esempio d: Dipartimento nome = DEI u: Università d2: Dipartimento nome = DM insegna p: nome = Giovanni cognome = Rossi UML: Unified Modeling Language 4 UML: Unified Modeling Language 42
Politecnico di Milano
Politecnico di Milano UML UML: Unified Modeling Language Notazione object-oriented utilizzabile durante le fasi di analisi e design di un sistema. E' diventato uno standard di fatto per object-oriented
DettagliUnified Modeling Language
Unified Modeling Language Luciano Baresi Politecnico di Milano 1 Modellazione visuale richiesta ordine Un modello cattura le parti essenziali di un sistema Dr. James Rumbaugh consegna Business Process
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
DettagliUnified Modeling Language
Unified Modeling Language marrara@elet.polimi.it Adattamento di materiale di Luciano Baresi 1 Concetto di oggetto Definizione: un oggetto è un concetto, un astrazione o una cosa ed ha un senso in un particolare
DettagliRelazioni tra le classi e rappresentazione mediante diagrammi delle classi UML. Relazioni tra le classi Ereditarietà (is a)...
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
DettagliUML. oriented utilizzabile durante le fasi di analisi e design di un sistema. E' diventato uno standard di fatto per object-oriented
La notazione UML 1 UML UML: Unified Modeling Language Notazione object-oriented oriented utilizzabile durante le fasi di analisi e design di un sistema. E' diventato uno standard di fatto per object-oriented
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliUML UNIFIED MODELING LANGUAGE
UML UNIFIED MODELING LANGUAGE 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
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliA. Ferrari Object Oriented Design
Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2018 2019
DettagliCLASS DIAGRAM PARTE 1
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it
DettagliUML. Unified Modeling Language
UML Unified Modeling Language Modello di un sistema Descrizione astratta del sistema Diversi punti di vista Modello è una specifica in cui è inclusa anche una descrizione dell ambiente in cui il sistema
DettagliProgettazione di ORDBMS
Osservazione La funzione TABLE vista per Oracle e presente anche in SQL-2003 La funzione TABLE è una funzione che può essere invocata in comandi SQL e restituisce una tabella Il tipo del risultato è MULTISET(ROW(
DettagliAnalisi Orientata agli Oggetti
Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi
DettagliLaboratorio 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
DettagliIl paradigma Object Oriented. Iolanda Salinari
Il paradigma Object Oriented Iolanda Salinari gli oggetti un oggetto è un elemento o concetto del mondo reale che può essere identificato in modo univoco: un cliente, un articolo, un impiegato ogni oggetto
DettagliA. Ferrari Object Oriented Design
Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per
DettagliEreditarietà: concetti di base
: concetti di base L ereditarietà è uno dei concetti base della programmazione ad oggetti Concetto di base: l ereditarietà permette di usare una classe precedentemente definita per la definizione di una
DettagliProgettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 9 Alberto Ceselli ceselli@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 01 Aprile 2008 ADT param. in C ADT param.
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliProgrammazione 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
DettagliUML2. Package di Analisi. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
UML2 Package di Analisi Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Package di Analisi
DettagliDiagrammi dei package. All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi
Diagrammi dei package All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi Package = meccanismo di raggruppamento di più classi (o, in teoria, anche di altri
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
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
DettagliLaboratorio 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
DettagliInterfacce. Esempio: interfaccia I con una sola funzione g() public interface I {
Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
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
DettagliDiagrammi delle classi
Diagrammi delle classi Tecnica centrale di modellazione OO Descrizione strutturale statica degli oggetti che compongono il sistema (comprensiva di attributi e operazioni) e delle loro relazioni (restrizioni
DettagliINFORMATICA OOP Relazioni tra classi Roberta Gerboni
2015 - Roberta Gerboni Relazione di associazione E possibile legare varie classi presenti in un progetto con una relazione di associazione. Una associazione individua una connessione logica tra classi
DettagliUML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano
UML Unified Modeling Language (linguaggio di modellazione unificato) 1 Cos è UML L UML nasce negli anni 90 come unificazione di diverse metodologie di analisi. Si propone come strumento per facilitare
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliMicrosoft 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
DettagliFondamenti di Informatica
Relazioni tra classi Fondamenti di Informatica 27. Standard UML 2. parte Generalizzazione: (ereditarietà) relazione in cui una classe (sottoclasse) eredita gli attributi e le operazioni di una superclasse:
DettagliFondamenti di Informatica A. A / 1 9
Fondamenti di Informatica Introduzione ai DBMS ed al Modello E -R Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliMS Access: Tutorial Tabelle, Relazioni
Università Magna Graecia di Catanzaro Informatica MS Access: Tutorial Tabelle, Relazioni Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Microsoft Access Tutorial Tabelle,
DettagliUML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
UML2 Attività di Progettazione Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Attività di
DettagliInformatica Ereditarietà Java. Ereditarietà
Ereditarietà L'ereditarietà consente allo sviluppatore di riutilizzare il codice già scritto creando sottoclassi a partire da classi già definite. La sottoclasse eredita tutti gli attributi e tutti i metodi
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
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_3 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi D1_3 V3.4 UML Il contenuto del documento è liberamente utilizzabile dagli
DettagliLa progettazione concettuale
PROGETTAZIONE La progettazione concettuale Sintesi tra la visione degli utenti e la visione dei progettisti. I progettisti devono essere certi di aver compreso esattamente e completamente le esigenze degli
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliBreve introduzione a UML M.Moro - Dip. di Elettronica e Informatica - Univ. di Padova - Ottobre 1999
Breve introduzione a UML M.Moro - Dip. di Elettronica e Informatica - Univ. di Padova - Ottobre 1999 1. UML Nelle fasi di analisi, progettazione e implementazione di un'applicazione risulta particolarmente
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Analisi e Progettazione OO Origini Le metodologie ad oggetti nascono negli anni 70 ma si affermano solo negli anni 80 grazie alla nascita dei linguaggi di programmazione ad oggetti
Dettagliereditarietà e polimorfismo
ereditarietà e polimorfismo Java ereditarietà o l ereditarietà permette di definire nuove classi partendo da classi sviluppate in precedenza o la nuova classe viene definita esprimendo solamente le differenze
DettagliRichiami su oggetti e OOP
Richiami su oggetti e OOP Un oggetto (object) è una entità caratterizzata da una struttura dati alla quale si associa l insieme delle operazioni che è possibile compiere su di essa. Un oggetto può essere
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
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
DettagliAlessandra Raffaetà. La costruzione di una base di dati
Lezione 4 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 La costruzione
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
DettagliSQL. Dott.ssa Elisa Quintarelli
Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:
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
DettagliProgrammazione 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
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B1_2 V2.3 UML Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto
DettagliCorso di Fondamenti di Informatica I
Corso di Fondamenti di Informatica I Generics in Java Fabio Patrizi, Silvia Bonomi Dipartimento di Ingegneria Informatica, Automatica e Gestionale Facoltà di Ingegneria dell Informazione, Informatica e
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia
DettagliCorso di Basi di Dati
Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione di DB Analisi dei requisiti e progettazione in dettaglio Studio/analisi
DettagliEntità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica
Entità Ogni entità ha un nome che la identifica univocamente nello schema: I nomi devono essere per quanto possibile espressivi Convenzioni Si usa il singolare Si rappresenta di solito con un rettangolo
DettagliUnità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione
Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere
DettagliRelazioni. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
Relazioni Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Ingegneria del Software) Relazioni 1 / 13 Relazione Relazione - da teoria degli
DettagliSQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste
Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente
DettagliClass diagram COMPORTAMENTO associazioni
Class diagram 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
DettagliPRODOTTO CARTESIANO Caso Generale
PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,
DettagliEquivalenza di espressioni. Equivalenze. Equivalenze. Due espressioni sono equivalenti se: Atomizzazione delle selezioni σ F1 F2 (E) σ F1 (σ F2 (E))
Equivalenza di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E 1 E 2 se E 1 R E 2 per ogni schema R (equivalenza
DettagliClassi astratte Interfacce
Classi astratte Interfacce Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni 1 Ereditarietà Abbiamo visto come L ereditarietà permette di costruire nuove classi utilizzando
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
DettagliUnified Modeling Language
Unified Modeling Language Davide Frey,, Gian Pietro Picco Politecnico di Milano Lucidi tratti dal materiale di Luciano Baresi Introduzione Modellazione visuale richiesta ordine Un modello cattura le parti
DettagliIl linguaggio C++ Ugo de Liguoro
Il linguaggio C++ Ugo de Liguoro Caratteristiche Il C++ è class based; interpreta le classi come tipi; il subtyping coincide con la (chiusura transitiva della) relazione di sottoclasse; è basato sul C
DettagliModelli di sistema e UML
Modelli di sistema e UML 29/10/2017 Indice Introduzione Unified Modeling Language (UML) Diagrammi dei casi d uso Diagrammi di attività Diagrammi di stato Diagrammi di sequenza Diagrammi di classe Architettura
DettagliLe Basi di dati: progettazione concettuale
Le Basi di dati: progettazione concettuale Progettazione di una base di dati requisitidel Sistema Informativo progettazione concettuale SCHEMA CONCETTUALE SCHEMA FISICO progettazione fisica progettazione
DettagliPrincipi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2016-2017 UML: approfondimenti sui diagrammi delle classi e di sequenza. Diagrammi di package e di deployment Prof. Università del Salento Obiettivi della lezione
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
DettagliOOP Ereditarietà A. FERRARI
OOP Ereditarietà A. FERRARI ereditarietà l ereditarietà permette di definire nuove classi partendo da classi sviluppate in precedenza la nuova classe viene definita esprimendo solamente le differenze che
DettagliCapitolo 2. Dall idea al codice con UML 2 Esercizi introduttivi
Capitolo 2 Dall idea al codice con UML 2 Esercizi introduttivi Obiettivo Identificare le classi per risolvere il problema proposto 1. Valutazione di polinomi Un polinomio, identificato da una lettera minuscola
DettagliBasi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione
Basi di Dati Perché i modelli concettuali? Tranne casi banali, passare direttamente dai requisiti allo schema logico della base di dati presenta diverse difficoltà. Da dove si parte? Si rischia di perdersi
DettagliIngegneria del Software L-A
Principi e concetti object-oriented Dal caos iniziale Variabili globali Programmazione strutturata Goto 2 1.1 Dal caos iniziale Fortran (versione iniziale) Caos nel flusso di controllo IF(espressione logica)
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
DettagliOggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.
Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione
Dettagli3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.
Costrutti fondamentali del modello Entità-Relazione 3.1. dielementidibasididati Il modello Entita Relazione (72) Entità Attributi di entità Relazioni Attributi di relazione IS-A e Generalizzazioni Basi
DettagliIl 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
DettagliProgettare 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
DettagliFase 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
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
DettagliUnified Modeling Language
Unified Modeling Language - Progettazione ad Oggetti (1) - Henry Muccini Amleto di Salle Università degli Studi dell'aquila Università degli Studi dell'aquila I-67100 L'Aquila, Italy I-67100 L'Aquila,
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Capitolo 3 - Tipi di dato e strutture di dati This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license,
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
DettagliReti di Connessione e Instradamento AA
Politecnico di Milano Dipartimento di Elettronica e Informazione Reti di Connessione e Instradamento AA. 2010-2011 Cenni sulla programmazione a oggetti con il C++ Massimo Tornatore (Autore delle slide:
DettagliUML. Cos è UML. Diagrammi UML. Analisi di un problema. Definizione dei requisic. Un esempio
Cos è UML UML Unified Modeling Language E un linguaggio di proge&azione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni Cpo
DettagliProf. Pagani Corrado LINGUAGGIO UML
Prof. Pagani Corrado LINGUAGGIO UML INTRODUZIONE AL LINGUAGGIO UML Con l evoluzione dell ingegneria del software si è sentita sempre più l esigenza di avere un linguaggio universale utilizzato come standard
DettagliIntroduzione alla OOP Object Oriented Programming. Programmazione Orientata agli Oggetti
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
DettagliModello relazionale e algebra relazionale
Sistemi informativi Algebra relazionale 2007 Politecnico di Torino 1 Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio
Dettagli