Ingegneria del Software
|
|
- Gino Cenci
- 7 anni fa
- Visualizzazioni
Transcript
1 Ingegneria del Software Progettazione OO Agenda Astrazione e classificazione Generalizzazione e Refactoring Riuso Interfacce e classi di utilità Patterns di progettazione GRASP
2 Obiettivi Ottenere dei modelli per le classi da realizzare Artifatti dell attività di Analisi Modello Concettuale del dominio applicativo E il modello che descrive i concetti attivi nel dominio applicativo e le loro relazioni Modello dei Casi d Uso E il modello che descrive le funzionalità del sistema Altri artifatti Software Requirement Specification Diagrammi di attività per i processi di business
3 Esempio di Modello Concettuale Si consideri la vendita in un magazzino all ingrosso. Il cassiere prepara note di vendita, ognuna delle quali fa riferimento ad un certo numero di prodotti caratterizzati da un prezzo ed una descrizione. Ogni prodotto compare con la quantità venduta in una diversa linea della nota vendita. Si progetti un sistema per la realizzazione delle note vendita. Vendita Numero 115 Codice Quantità Totale Articolo 17 Scrivania legno 1 500,00 500,00 32 Sedia legno 6 80,00 480,00 12 Tavolo cucina 1 350,00 350,00 Totale 1.330,00 Individuazione dei Concetti Si consideri la vendita in un magazzino all ingrosso. Il cassiere prepara note di vendita, ognuna delle quali fa riferimento ad un certo numero di prodotti caratterizzati da un prezzo ed una descrizione. Ogni prodotto compare con la quantità venduta in una diversa linea della nota vendita
4 Rappresentazione dei Concetti Cassiere Magazzino Vendita Nota_Vendita Linea Quantità Individuazione delle relazioni Un concetto a quali altri concetti è legato? Es. Il concetto Cassiere a quali altri concetti del dominio è legato? Lavora nel Magazzino Effettua la Vendita Prepara la Nota di Vendita Cassiere Magazzino Vendita Nota_Vendita Linea Quantità
5 Modello Concettuale Iterando sugli altri concetti si ottiene il modello finale Cassiere Magazzino Vendita Nota_Vendita Linea Quantità Progettazione
6 Definizione dei Confini del Sistema Eliminazione dei concetti che non dovranno far parte del sistema Di quali concetti dovremo gestire dei dati Cassiere Magazzino Vendita Nota_Vendita Linea Quantità Astrazione Quali concetti sono atomici e quali complessi? I concetti atomici diventano attributi di altri concetti Quali sono le proprietà strutturali di ogni concetto? Nota_Vendita Concetti Strutturati Linea ID Quantità Concetti Atomici
7 Astrazione (2) Permette di passare da un modello concettuale ad un modello di tipi di dato Classe Concetto ID Modello dei dati Astrazione (3) Nota_Vendita Numero 0..n Linea Quantità 1 ID
8 Classificazione L operazione di classificazione permette il raggruppamento degli oggetti nelle classi Gli oggetti del mondo reale sono unici nel senso che hanno caratteristiche distintive L operazione di astrazione permette di cogliere solo alcuni aspetti di interesse ottenendo una rappresentazione con perdita d informazione Considerando gli oggetti attivi nel dominio di interesse ci dobbiamo chiedere se le classi individuate possono contenere correttamente tutti gli oggetti Generalizzazione E l operazione attraverso la quale una classe viene generalizzata attraverso la perdita di caratteristiche Ci sono classi del modello che presentano aspetti comuni? Esempio Corso Nome_Corso Persona Nome Cognome Corso Nome_Corso Docente Nome Cognome Qualifica Studente Nome Cognome Matricola Docente Qualifica Studente Matricola
9 Riuso Il modello dei dati viene adattato nel caso in cui si hanno classi già pronte dea riutilizzare Ci sono classi di utilità (già pronte) che presentano proprietà simili alle classi individuate? Utilizzo del meccanismo di ereditarietà per la specializzazione delle classi di utilità Assegnazione delle Responsabilità Il modello dati realizzato non è ancora un modello delle classi Si è specificata la componente strutturale delle classi Manca la componente comportamentale Quali sono le operazioni che ogni classe deve realizzare? Quali sono le sue responsabilità?
10 Responsabilità Una responsabilità è un contratto o un obbligo di un tipo o di una classe Assegnare le responsabilità alle componenti di un sistema è una delle attività più critiche dell`intera progettazione Esistono patterns che possono essere utilizzati a tale scopo Un pattern è una particolare soluzione ad un dato problema che può essere applicata in nuove situazioni Un pattern da indicazioni su come applicarlo in nuove circostanze Assegnazione delle Responsabilità Da cosa partire? Dai casi d uso del sistema Creare un diagramma per ogni operazione del sistema Per ogni messaggio inviato al sistema Se il diagramma diventa complesso lo si puo` dividere Usare le descrizioni degli Use Cases
11 GRASP pattern General Responsibility Assignment Software Pattern GRASP è una collezione di pattern Expert Creator High Coesion Low Coupling Controller Soluzione Expert Assegna una responsabilità all information expert, cioè alla classe che detiene le informazioni necessarie ad adempiere alla responsabilità Problema: qual è il più basilare principio per l assegnazione delle responsabilità? Un modello delle classi può definire dozzine di classi e centinaia o migliaia di responsabilità
12 Expert - esempio Chi dovrebbe essere responsabile della conoscenza del totale di una vendita? Modello dei dati Nota_Vendita Numero 0..n Linea Quantità 1 ID Expert esempio (continua) Le seguenti responsabilità sono assegnate Nota_Vendita: conoscere il totale Linea: conoscere il subtotale : conoscere il prezzo 1: totale : Cassiere : Nota_Vendita 2: sub_totale : : Linea 3: prezzo
13 Refinement del Modello Nuove responsabilità Nota_Vendita Numero totale() 0..n Linea Quantità s ub_totale() 1 ID prezzo() Expert Vantaggi Mantenimento dell incapsulation Gli oggetti usano il più possibile le proprie informazioni, quindi si ha basso accoppiamento Il comportamento è distribuito attraverso le classi che posseggono le informazioni necessarie Alta coesione
14 Creator Soluzione: Assegna alla classe B la responsabilità di creare A se: B aggrega A B contiene A B usa strettamente A B mantiene informazioni che vengono passate ad A quando creato Problema: Chi deve essere responsabile della creazione di una nuova classe? Creator - esempio Chi deve essere responsabile della creazione di un oggetto Linea? Nota_Vendita Numero totale() 0..n Linea Quantità s ub_totale() 1 ID prezzo()
15 Creator esempio (continua) Soluzione: Nota_Vendita 1: nuova_linea : Cassiere : Nota_Vendita 2: crea : Linea Vantaggi basso accoppiamento Low Coupling Soluzione: Assegna una responsabilità in modo che l`accoppiamento rimanga basso Problema: Come consentire un elevato riuso e basse dipendenze?
16 Low Coupling - esempio Problema: Si debba creare un`istanza di pagamento e la si associ ad una vendita Modello dati Payment POST Sale date time Soluzioni Low Coupling esempio (2) I patterns creator e low coupling conducono a soluzioni differenti POST POST 1: makepayment Sale 2: makepayment(p) 1: create 2: create Sale Payment Payment
17 High cohesion Soluzione: Assegna una responsabilità in modo che la coesione rimanga alta Problema: Come mantenere la complessità gestibile? High cohesion - esempio Problema: Si debba creare un`istanza di pagamento e la si associ ad una vendita Modello concettuale Payment POST Sale date time
18 Soluzioni High cohesion esempio (2) I patterns creator ed high cohesion conducono a soluzioni differenti Soluzione identica al caso di low coupling POST POST 1: makepayment Sale 2: makepayment(p) 1: create 2: create Sale Payment Payment Controller Soluzione: Assegna la responsabilità per la gestione di un messaggio esterno ad una classe se: Rappresenta l`intero sistema Rappresenta l`intero business o organizzazione Rappresenta una entità reale attiva quando arriva il messaggio Rappresenta un handler artificiale per tutti gli eventi del sistema Problema: Chi deve gestire gli eventi?
19 Controller - Esempio Problema: Si debbanno gestire gli eventi per il sistema POST System endsale() enteritem() makepayment() 1: enteritem : Cas hier :??? Soluzione Può essere l`intero sistema, l`organizzazione (store), una entità reale (cashier) o un handler artificiale La scelta verrà fatta in base a considerazioni su coesione, accoppiamento...
Esercizi design patterns. Angelo Di Iorio,
Esercizi design patterns Angelo Di Iorio, diiorio@cs.unibo.it Esercizio 1 Una parete, che contiene porte e finestre, deve essere dipinta con una vernice. Ogni barattolo contiene una data quantità di vernice,
DettagliDesign Pattern. Ingegneria del Software parte II. Andrea Bei
Design Pattern Ingegneria del Software parte II Andrea Bei Progettazione a oggetti (OOD) Progettare a oggetti una funzionalità espressa da un requisito ( use case, SSD, ) significa Identificare gli oggetti,
DettagliLaboratorio di Progettazione di Sistemi Software Design Patterns
TITLE Laboratorio di Progettazione di Sistemi Software Design Patterns Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali Strutturali Comportamentali
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:
DettagliDesign Principle. immagini da SOLID Motivational Posters, by Derick Bailey
Design Pattern Design Principle immagini da SOLID Motivational Posters, by Derick Bailey Single Responsibility Principle Single Responsibility Principle A class should have only one reason to change. Open
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Design Pattern Dott. Alessandro Roncato 18/10/2011 Design Patters I Design Patters sono soluzioni di progettazione standard e ben collaudate che possono essere usate in
DettagliRDD 2. Laboratorio di Ingegneria del Software. Andrea Bei
Laboratorio di Ingegneria del Software Andrea Bei Altri pattern GRASP Altri pattern GRASP Polymorphism Pure Fabrication, Indirection Protected Variations 2 Polymorphism Problema: Come gestire alternative
Dettaglidesign patterns e GRASP
design patterns e GRASP 1 design patterns una coppia / particolarmente importante a cui viene dato un nome vengono espressi in un formato molto rigido, ad es. nome descrizione sintetica della descrizione
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
DettagliCURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO
dei limiti nel contesto culturale e sociale in cui vengono applicate CURRICOLO PARTIMENTO INFORMATICA PRIMO BIENNIO MODULO 1 Concetti di base della tecnologia dell informazione Acquisire e interpretare
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
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
DettagliESERCIZI DI MODELLAZIONE E-R
ESERCIZI DI MODELLAZIOE E-R La Galleria d Arte L Università I Film Progettare una base di dati per la gestione di una galleria d arte (1) Il sistema deve memorizzare le informazioni riguardo agli artisti:
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
DettagliSe un oggetto A aggrega oggetti B allora avrà informazioni su di loro
Concetto di responsabilità nella progettazione guidata dalle responsabilità (RRD) si pensa in termini di responsabilità del software. Le responsabilità vengono assegnate agli oggetti durante la progettazione.
DettagliOOP in Python L O R E N Z O D I S I L V E S T R O
L O R E N Z O D I S I L V E S T R O w w w. d m i. u n i c t. i t / ~ d i s i l v e s t r o d i s i l v e s t r o @ d m i. u n i c t. i t Imperativo Paradigmi di programmazione 2 i programmi sono sequenze
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
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
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
DettagliIl PROCESSO UNIFICATO
Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante
DettagliStrategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down
Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più
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
DettagliLA PROGETTAZIONE CONCETTUALE
Argomenti della lezione LA PROGETTAZIONE CONCETTUALE Prima parte Un esercizio sulle generalizzazioni Documentazione di schemi E-R Raccolta e analisi dei requisiti Criteri generali di rappresentazione Strategia
DettagliCompito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:
Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di
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
DettagliIntroduzione alla OOP Object Oriented Programming
Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali
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
DettagliProgettazione del Software
Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliProgettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di
DettagliLE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale
LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale LA PROGETTAZIONE LOGICA L'obiettivo della progettazione logica è quello
DettagliMacchina Astratta: struttura e realizzazione.
Macchina Astratta: struttura e realizzazione. Sommario Macchina Astratta e l interprete di Macchina Hight e Low Level Languages Implementazione di un Linguaggio Macchina Intermedia Gerarchia di Macchine
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
DettagliResponsibility Driven Design
Responsibility Driven Design Laboratorio di Ingegneria del Software Andrea Bei Progettazione a oggetti (OOD) Progettare a oggetti una funzionalità espressa da un requisito ( use case, SSD, ) significa
DettagliEreditarietà e Polimorfismo
Ereditarietà e Polimorfismo Riusare il software A volte si incontrano classi con funzionalità simili In quanto sottendono concetti semanticamente vicini È possibile creare classi disgiunte replicando le
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
DettagliProgettare Basi di Dati
Progettare Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Elementi di informatica per l economia Teoria della normalizzazione La teoria della normalizzazione ha come scopo
DettagliQuesto capitolo esemplifica la progettazione di oggetti responsabilità e collaborazioni applicazione dei pattern GRASP applicazione di UML
Luca Cabibbo Analisi e Progettazione del Software Esempi di progettazione a oggetti con i pattern GRASP Capitolo 18 marzo 2013 Ogni cosa dovrebbe essere fatta nel modo più semplice possibile, ma non più
DettagliMODELLO e RAPPRESENTAZIONE
MODELLO e RAPPRESENTAZIONE I calcolatori elaborano informazione e restituiscono nuova informazione: questa deve essere rappresentata in forma simbolica Esempio : Per poter gestire una biblioteca dobbiamo
DettagliREGIONE BASILICATA UFFICIO S. I. R. S.
UFFICIO S. I. R. S. Modellazione dati Id Base Dati CONTROLLO DEL DOCUMENTO APPROVAZIONI Redatto da: Approvato da: Data Autore Ing. Vincenzo Fiore VARIAZIONI Versione prec. Data Autore Paragrafi modificati
DettagliTRADUZIONE DI SCHEMI
TRADUZIONE DI SCHEMI Progettazione di basi di dati relazionali attraverso la traduzione da schemi ER a schemi relazionali 2 Da un modello ad un altro Parliamo di come progettare uno schema di basi di dati
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
DettagliMetodologie e modelli di progetto
Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun
DettagliBibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS
INFORMATICA GENERALE DBMS: Introduzione alla gestione dei dati Bibliografia 4 ott 2011 Dia 2 Curtin, Foley, Sen, Morin Vecchie edizioni: 8.4, 8.5, 8.6, 8.7, 8.8 Edizione dalla IV in poi: 6.5, 21.1, 19.4,
DettagliSISTEMI INFORMATIVI E DATABASE
SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,
DettagliIngegneria del Software (e Prova Finale) Luciano Baresi
Ingegneria del Software (e Prova Finale) Luciano Baresi luciano.baresi@polimi.it Organizzazione dei corsi Ingegneria del software (7 crediti) Lezioni: 42 ore Esercitazioni: 28 ore Prova finale (3 crediti)
DettagliGeneralizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica
Università Magna Graecia di Catanzaro Informatica Generalizzazione Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DettagliSCUOLA SECONDARIA DI I GRADO ALIGHIERI - TANZI MOLA DI BARI ANNO SCOLASTICO 2011/1012
SCUOLA SECONDARIA DI I GRADO ALIGHIERI - TANZI MOLA DI BARI ANNO SCOLASTICO 2011/1012 ASSE SCIENTIFICO-TECNOLOGICO (Scienze, Geografia, Tecnologia, Scienze Motorie) L asse scientifico-tecnologico ha l
DettagliGuida introduttiva: Gestisci utenti e visibilità partner
Guida per il cliente Novembre 2016 La presente guida mostra come utilizzare il Microsoft Business Center per cercare un utente, invitare nuovi utenti e assegnare o rimuovere ruoli per gestire le autorizzazioni
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori
Università degli Studi di Cassino e del Lazio Meridionale Corso di Algoritmi ed esecutori Anno Accademico Francesco Tortorella Che cosa si intende per INFORMATICA? Scienza della rappresentazione e dell
DettagliEsercitazione di Basi di Dati
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035
DettagliTEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati
TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono
DettagliGerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione
Gerarchia di Generalizzazione 22 Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Mette in relazione (legami logici) una o più entità, E 2,...,
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.
DettagliARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software
DettagliPrincipi e schemi di progettazione object oriented (design pattern elementari)
Principi e schemi di progettazione object oriented (design pattern elementari) Prof. Paolo Ciancarini! Corso di Ingegneria del Software! CdL Informatica! Università di Bologna 1 Scopo della lezione Introduzione
DettagliAnalisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
DettagliIntroduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1
ECDL - Database Introduzione European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 Informazioni sul corso orario: Giovedì - 14.30-16.30 materiale: http://www.fotoboni.com/carlo/ docente: webmaster@fotoboni.com
DettagliPrincipi e Metodologie delle Costruzioni di Macchine
Principi e Metodologie delle Costruzioni di Macchine Corso di Laurea in Ingegneria Meccanica III anno A.A. 2010-2011 Docente: Domenico Gentile gentile@unicas.it 0776.2994336 Presentazione del corso PREREQUISITI
DettagliOggetti Composti (1) Oggetti Composti (2)
Oggetti Composti () Negli esempi che abbiamo visto finora gli attributi delle classi erano variabili di tipo primitivo E però possibile definire come attributi dei riferimenti ad oggetti di qualche classe
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione ModelloEntity-Relationship. E-R E il modello concettuale più diffuso Fornisce costrutti per descrivere le
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
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
DettagliLa simulazione è l'imitazione di un processo o di un sistema reale per un
1 2 La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo di tempo. La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo
DettagliDatabase Modulo 4 RELAZIONI TRA TABELLE
Database Modulo 4 RELAZIONI TRA TABELLE PERCHÉ DEFINIRE LE RELAZIONI Dopo avere definito le tabelle corrispondenti alle entità individuate nel progetto del database, è necessario indicare il modo per ricollegare
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
DettagliInformatica per le Scienze Umane. Introduzione al corso: programma dettagliato
Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle
DettagliSistemi e modelli. Sistemi
Sistemi e modelli Obbiettivo: sviluppare metodologie e strumenti di analisi quantitativa della QoS di sistemi costruzione e soluzione di modelli per la valutazione di prestazioni e affidabilità di sistemi
DettagliOggetto Progetto Responsabile di progetto GESTIONE DELLA MODIFICA
DIREZIONE EMITTENTE Oggetto Progetto Responsabile di progetto GESTIONE DELLA MODIFICA RICHIESTA DI MODIFICA Cliente richiedente Documento di riferimento (eventuale) Data della richiesta Data di scadenza
DettagliFondamenti di Informatica T-1. Ereditarietà & Polimorfismo
Ereditarietà & Polimorfismo Ereditarietà Meccanismo per definire una nuova classe (classe derivata) come specializzazione di un altra (classe base) La classe base modella un concetto generico La classe
DettagliCompito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:
Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di una gelateria
DettagliModel View Controller (MVC)
(MVC) in sintesi è una applicazione del pattern alle interfaccie utente (GUI ma non necessariamente) lunga tradizione in smalltalk non è propriamente un design patter ma un architectural pattern perché
DettagliSegmentazione e Marketing 121. Università di Bologna Andrea De Marco
Segmentazione e Marketing 121 Università di Bologna Andrea De Marco Segmentazione Cosa Significa? Usiamo la parola "segmentazione" per definire il processo con cui "raggruppiamo" in insiemi omogenei elementi
DettagliIngegneria del Software L-A
Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che
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
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
DettagliCiclo di vita di un sistema informativo
Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliITIS A. Volta Flavia Lollis pag. 1
Il Function Point è una delle metriche più antiche e tuttora diffuse nell ambito della valutazione di progetti software. Ciò che lo rende insostituibile e superiore ad altri metodi può essere riassunto
DettagliAnalisi ABC incrociata
1 Analisi ABC L analisi ABC incrociata è un metodo che permette di suddividere in classi una serie di oggetti. Permette perciò di raggruppare per classi secondo i valori di una variabile. Ad esempio classificazione
DettagliModello Entità-Relazione (E-R)
Modello Entità-Relazione (E-R) Modello concettuale di dati. Fornisce una serie di strutture (costrutti) per descrivere un problema in modo chiaro e semplice. I costrutti vengono utilizzati per definire
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 7: Progettazione concettuale 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione
DettagliLa progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009
La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema
DettagliElena Baralis, Claudio Demartini
Progetto concettuale Il progetto concettuale 1 Obiettivo: produrre lo schema concettuale Strumenti: meccanismi di astrazione forniti dal modello Entità-Relazione Specifiche iniziali: descrizioni in linguaggio
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
DettagliVoipExperts.it - CISCO <=> AVAYA
In questo articolo ci occuperemo di mettere in comunicazione (trunk) un centralino Avaya Ip Office con il call manager di Cisco usando come protocollo H323. Per i test in laboratorio, sono stati usati
DettagliINFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016
INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 Francesca Levi Dipartimento di Informatica E-mail: francesca.levi@unipi.it levifran@di.unipi.it Francesca Levi Dipartimento di Informatica Informatica per
DettagliTecnico di sistemi CAD? Edile architettonico
Denominazione Figura / Profilo / Obiettivo Professioni NUP/ISTAT correlate Attività economiche di riferimento: ATECO 2007/ISTAT Tecnico di sistemi CAD Edile architettonico 3.1.3.7.1 - Disegnatori tecnici
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A. 2008-2009. Class Discovery E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Class Discovery E. TINELLI Contenuti Classi di analisi: definizione ed esempi Tecniche per la definizione
DettagliUn file system nasconde la complessità dei diversi media proponendone una astrazione.
File system e path File system I computer possono utilizzare diversi media per registrare in modo persistente le informazioni; ognuno di questi media ha caratteristiche fisiche diverse. Esempi di media
DettagliINSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI
INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI Docente: Prof. Giacomo Cabri Come Contattarmi: E-mail (consigliato) Giacomo.cabri@unimore.it Telefono 059-2056190 Ricevimento Lunedì pomeriggio dalle
DettagliMODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione
DettagliRELAZIONI E BASI DI DATI
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof.
DettagliInformatica per le Scienze Umane. Introduzione al corso: programma
Informatica per le Scienze Umane Introduzione al corso: programma 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle informazioni
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliDefinizione del Macromodello
Definizione del Macromodello Survey Sulla base dell analisi dello stato dell arte e dei requisiti di alto livello, il deliverable B.3 Definizione del Macromodello definisce in linea di massima le informazioni
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
Dettagli