La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema."— Transcript della presentazione:

1 ©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.

2 ©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…

3 ©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

4 ©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

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

6 ©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

7 ©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)

8 ©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

9 ©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

10 ©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

11 ©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

12 ©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!!

13 ©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.


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

Presentazioni simili


Annunci Google