©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 2 1 Progettazione e Sviluppo di Software ad Oggetti 4 OBJECT-ORIENTED ANALYSIS Processo.
Recupero debito quarto anno Primo incontro
Recupero debito quarto anno Secondo incontro
Informatica Recupero debito quarto anno Terzo incontro.
Progettazione concettuale
Basi di Dati R-dbms e OO-dbms Mario Capurso
Le gerarchie di tipi.
Metodologie di Programmazione = decomposizione basata su astrazioni
Principi di Programmazione Object-Oriented
Principi di Programmazione Object-Oriented
Processo software il processo.
8. Progettazione del Software
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (Ontologie, Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (1 - Ontologie) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (1 - Ontologie) Prof. M.T. PAZIENZA a.a
Sommario Obiettivi Tesi Argomenti Trattati Lavoro svolto
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Ciclo di vita del software
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Modello E-R Generalizzazioni
Gaetano Santucci Centro Nazionale per l’Informatica
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Introduzione alla modellazione di sistemi interattivi
Programmazione in Java (8)
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
LA PROGETTAZIONE DELLE BASI DI DATI
Introduzione alla programmazione Object Oriented
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Scelta di un modello di processo: esempio
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
Lezione 1 Panoramica sui paradigmi di programmazione
Programmazione ad oggetti
Diagramma delle Classi
Lo Sharable Content Object Reference Model è un modello che, riferendosi a un insieme di specifiche tecniche correlate, intende fornire un’unica cornice.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Fondamenti di Informatica II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
OBJECT ORIENTED DATABASE introduzione. OGGETTO Ha due componenti:  stato: valore di alcune variabili (variabili di istanza)  comportamento: insieme.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Multi agent System per la gestione di feed RSS. Obiettivi  Progettazione di un sistema ad agenti basato su tucson per la gestione di feed RSS  Sviluppo.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 14 Prof. M.T. PAZIENZA a.a
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 15 Prof. M.T. PAZIENZA a.a
Per un nuovo orientamento nella progettazione dei linguaggi di programmazione Tesi di Laurea di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Mapping Database Atsilo
Descrizione del modello EA con uno schema (parziale) EA Compito 1 di laboratorio: Progetto e realizzazione di una base dati per gestire la documentazione.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Catalogazione La catalogazione si occupa
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Transcript della presentazione:

©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema soddisfa REQs e SPECs. OOD – Object Oriented design. –Specifica COME il sistema soddisfa REQs e SPECs. OOD estende e modifica classi ed oggetti identificati con OOA.

©Carlo Tasso 1999 Object Oriented Programming Slide 2 OOD, approfondimento COME significa: –Aggiungere aspetti tecnici relativi a: Interazione con lutente Rappresentazione ed elaborazione dei dati Gestione dei task –Si tiene conto di: T, S, organizzazione sviluppo e codifica, riuso…

©Carlo Tasso 1999 Object Oriented Programming Slide 3 Identificazione di classi ed oggetti Dove guardare: –Osservare, ascoltare attivamente, verificare altri progetti OO, altri sistemi, leggere docs, prototipare Cosa guardare: –Strutture, sistemi, dispositivi, cose, eventi, ruoli, procedure, attività, processi, luoghi, sedi, unità organizzative

©Carlo Tasso 1999 Object Oriented Programming Slide 4 Identificazione di classi ed oggetti Cosa considerare –Necessità di persistenza, di comportamento, attributi multipli, la presenza di più di un oggetto in una classe, attributi e servizi dei membri, requisiti particolari

©Carlo Tasso 1999 Object Oriented Programming Slide 5 Astrazione su classi ed oggetti Object(s) Class(es) Libraries Frameworks astrazione

©Carlo Tasso 1999 Object Oriented Programming Slide 6 Requisiti generali per la riutilizzabilità delle classi Generalità Semplicità Indipendenza tra classi Facilità di specializzazione Progettazione con un ottica generale Classi ottenute con raffinamenti successivi

©Carlo Tasso 1999 Object Oriented Programming Slide 7 Standardizzazione delle classi Omogeneità nei nomi e nei comportamenti dei metodi Operazioni simili metodi simili nomi uguali Rivedere i casi in cui 1 metodo verifica a che classe appartiene Metodi con troppi (>6) argomenti Più metodi più piccoli Nuove classi per alcuni argomenti Ridurre la dimensione dei metodi (al max 30 linee)

©Carlo Tasso 1999 Object Oriented Programming Slide 8 Astrazione delle classi Aspetti comuni migrati verso lalto Eliminare i metodi che siano overriden, piuttosto che ereditati Accedere alle VAR solo attraverso i metodi ( minor dipendenza dalla rappresentazione) Sottoclassi siano specializzazioni

©Carlo Tasso 1999 Object Oriented Programming Slide 9 …e ancora Classi entità naturali Più istanze di un oggetto classe Narrow & deep, rather then wide & shallow Riconsidera sottoclassi che implementano lo stesso metodo in un modo diverso Se alcuni metodi accedono a sole certe VAR, e altri analogamente, dividi la classe in più (sotto)classi Verifica oggetti/classi preesistenti, eventualmente rendili più robusti e generali

©Carlo Tasso 1999 Object Oriented Programming Slide 10 Aggregazione (part of) Considera varianti: –Parte - Assemblato –Contenitore - Contenuto –… Se la parte è solo uno stato SI/NO, includila come attributo delloggetto

©Carlo Tasso 1999 Object Oriented Programming Slide 11 Identificazione della struttura Generalizzazione/Specializzazione –Considera una classe come generalizzazione e per ognuna delle sue specializzazioni verifica: E del dominio, è pertinente al sistema, ci sarà ereditarietà, è un oggetto/classe secondo i relativi canoni –Analogamente ciascuna classe come specializzazione… –Scegli la gerarchia più semplice –Verifica se conviene avere un reticolo (eredità multipla), in tal caso, gestisci i conflitti

©Carlo Tasso 1999 Object Oriented Programming Slide 12 OODesign: vantaggi Meno codice Maggior riusabilità Maggior resistenza al cambiamento (i dati sono la parte più stabile) Adatto a modularizzare lo sviluppo Naturale ed intuitivo per tecnici e utenti OOPL!!

©Carlo Tasso 1999 Object Oriented Programming Slide 13 Bibliografia Peter Coad / Edward Yourdon Odject Oriented Analysis - 2 nd Edition Yourdon press computing Series PRENTICE HALL, Englewood Cliffs, NJ 1991.