• Non ci sono risultati.

Diagrammi di Classe Programmazione in Rete e Laboratorio

N/A
N/A
Protected

Academic year: 2021

Condividi "Diagrammi di Classe Programmazione in Rete e Laboratorio"

Copied!
2
0
0

Testo completo

(1)

1

Diagrammi di Classe

Programmazione in Rete e Laboratorio

Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it

http://www.di.unito.it/~baldoni/didattica

Una breve introduzione ai Diagrammi di Classe 2

Introduzione

I diagrammi di classe (Class Diagram) sono una notazione (grafica) per la descrizione dei tipi degli oggetti (classi) che fanno parte di un sistema ed i tipi di relazioni (statiche) che esistono tra di questi (es: associazioni, sottotipo, ecc.)

Fa parte dello standard dell’Object Management Group chiamato Unified Modeling Language (UML)

Riferimento: Martin Fowler, UML Distilled (2nd ed.), Addison Wesley Longman, Inc., 2000

Una breve introduzione ai Diagrammi di Classe 3

Perche` usarli?

La ragione fondamentale e` comunicare con un formalismo indipendente dai linguaggi di programmazione i concetti che guidano la realizzazione di un sistema orientato agli oggetti

Un programma scritto in un linguaggio orientato agli oggetti e` spesso difficile da leggere e capire (non ha una struttura

“sequenziale”)

Documentare un programma

Una breve introduzione ai Diagrammi di Classe 4

Un esempio

Tratto da Martin Fowler, UML Distilled (2nd ed.)

In OOP innanzitutto si individuano le classi del progetto e poi i metodi associati (prima i tipi di dati e poi le operazioni per manipolare i dati)

Una breve introduzione ai Diagrammi di Classe 5

Classe

Descrive:

il nome della classe

gli attibuti della classe specificandone il tipo, la visibilita` e l’eventuale inizializzazione

le operazioni (metodi) contenute nella classe e le loro signature

In italico i nomi delle classi astratte

Class Name Attributi

Operazioni

Abstract Class Name

Una breve introduzione ai Diagrammi di Classe 6

Attributi

Simile alle associazioni ma il loro tipo e` associato a semplici classi come stringhe, interi, reali, booleani. Indicano un valore piuttosto che un puntatore (o riferimento)

Puo` essere associato un valore di inizializzazione.

La visibilita` e` indicata mediate i simboli + (public), # (protected) e - (private)

Class Name Attributi

Operazioni Esempio:

-cont: int -nome: String

#lati: double[]

+base: double

(2)

2

Una breve introduzione ai Diagrammi di Classe 7

Operazioni

Corrispondono nei linguaggi di programmazione ai metodi delle classi

Come per gli attributi la visibilita`

e` indicata mediate i simboli + (public), # (protected) e - (private)

In italico i nomi dei metodi astratti (in classi astratte) Class Name

Attributi

Operazioni Esempio:

+area: double +perimetro: double -ipotenusa: double

Una breve introduzione ai Diagrammi di Classe 8

Generalizzazione

Descrive la relazione di ereditarieta` tra le varie classi di un progetto

Denota la specializzazione di una classe

Le sottoclassi estendono una sopraclasse, le sottoclassi ereditano i metodi delle sopraclassi e definiscono nuove funzionalita`

Sopraclasse

Sottoclasse 1

Sottoclasse 2

Una breve introduzione ai Diagrammi di Classe 9

Associazione

Descrive le relazioni esistenti tra le istanze di varie classi

E` possibile indicare direzzione di accessibilita` (mediante una freccia)

E` possibile indicare la molteciplicita`

class A {

private SetOf_A setOfObjsA;

} class B {

private B objectOfA;

} Classe A

Classe B role A

role B 1

*

Classe C role C 0..1

role A 1

Una breve introduzione ai Diagrammi di Classe 10

Aggregazioni e Composizione

Aggregazione: descrive le relazioni “e` parte-di”

Composizione: descrive il fatto che oggetti siano composti di altri oggetti

Difficile separare nettamente associazioni, aggegrazioni, composizione. In genere aggregazioni e composizioni indicano una piu` stretta dipendenza tra le istanze delle classi

Esprimono (insieme all’associazione) la relazione di contenimento

Classe

aggregazione

Classe

composizione

Una breve introduzione ai Diagrammi di Classe 11

Interfacce

Le interfacce sono indicate esplicitamente mediante apposita dicitura

Analogamente le classi astratte

Nomi delle classi e nomi dei metodi (astratti) in italico

Una freccia tratteggiata unisce una intefaccia ad una sua implementazione

Un altro tipo di freccia tratteggiata esprime dipendenza (intefacce e abstract non hanno istanze)

<<interface>>

Interface Name

realizzazione

dipendenza

Implementing Class

Client Class

Una breve introduzione ai Diagrammi di Classe 12

Together/J

della Object International Software Ltd.

Together/J permette di mantenere la sincronizzazione tra i diagrammi della progettazione e il codice Java

Facilita` la realizzazione di un programma orientato agli oggetti integrando la progettazione con la scrittura vera e propria del programma stesso

Object Domain, Rational Rose, ...

Riferimenti

Documenti correlati

la variazione di entropia del sistema che compie il ciclo. nulla una funzione

• Ethernet e IEEE 802.3 sono molto simili, anche se esistono differenze significative. Oggi si realizzano soltanto reti IEEE 802.3 ma in molti casi si continua ad utilizzare

• I membri sia dello staff amministrativo che di quello creativo vengono pagati secondo il loro livello di impiego. • I membri degli staff possono ricevere più livelli durante

d) per un liquido di composizione descritta da X B =0.80 alla temperatura iniziale di 500°C, individuare la composizione del primo solido che si forma, la temperatura di

c) Si procede alla graficazione del diagramma asintotico complessivo “inter- polando” i diagrammi asintotici delle fasi dei singoli elementi, ognuno dei quali `e stato disegnato

Le variazioni di fase ∆ϕ i sono sempre un multiplo di π 2 e possono essere sia positive che negative in funzione del fatto che il termine dinamico considerato sia un polo, uno zero,

• Polo reale: Il relativo contributo (da sommare nel calcolo dei diagrammi complessivi) si ottiene semplicemente ribaltando gli andamenti appena calcolati attorno all’asse

I diagrammi esatti sono disegnati a tratto continuo mentre quelli asintotici sono tratteggiati.... I diagrammi esatti sono disegnati a tratto continuo mentre quelli asintotici