Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Alessandro Martinelli
alessandro.martinelli@unipv.it
25 Ottobre 2011
OOP: Documentazione del Codice ad Oggetti
UML:Diagrammi delle Classi
Linee Guida per il Codice
La Documentazione Javadoc
Fondamenti di Informatica II
UML: i Diagrammi delle Classi
UML: i Diagrammi delle Classi
A. Martinelli () Documentazione 25/10/2011 2 / 27
UML: i Diagrammi delle Classi
UML: Aspetti generali
UML sta per Unied Modeling Language e rappresenta un insieme di speciche
standard per la rappresentazione graca dei contenuti di un prodotto software.
Diagrammi delle Classi
I Diagrammi delle Classi sono uno dei tipi di Diagrammi UML. Con i Diagrammi
delle Classi si Mostra:
La struttura delle Classi
Le relazioni tra pi`u Classi
Come vedremo, esistono molti altri diagrammi UML per rappresentare aspetti
diversi di un progetto software.
A. Martinelli () Documentazione 25/10/2011 3 / 27
UML: i Diagrammi delle Classi
UML: Aspetti generali
In generale UML `e utile in due momenti:
Pianicazione
Durante la pianicazione lUML `e usato come strumento di valutazione;
Spesso i diagrammi sono incompleti, questo a riprova del fatto che no
allultima fase della pianicazione non si arriva a denire in modo completo la
struttura dei moduli di programmazione.
La pianicazione avviene nel primo stadio di un progetto, ma pu` o continuare in
qualsiasi fase del suo sviluppo.
Documentazione
Nella Documentazione lUML `e usato come strumento descrittivo;
I diagrammi sono pi`u completi, ma possono essere meno dettagliati.
La documentazione nasce durante lo sviluppo di un progetto, e deve essere
terminata alla ne dello sviluppo.
Col termine Draft (Bozza) si indicano le speciche di una API (Application
Programming Interface) ancora in fase di denizione.
A. Martinelli () Documentazione 25/10/2011 4 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: le Classi
Le Classi sono rappresentate come Rettangoli, allinterno del quale `e scritto il
nome della Classe.
Una coppia di rettangoli aggiuntivi pu` o accompagnare la classe per rappresentare
separatamente attributi e metodi.
A. Martinelli () Documentazione 25/10/2011 5 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Metodi e Attributi
Il tipo di attributi, metodi e parametri dei metodi (che pu` o non essere specicato)
`e indicato con il simbolo : seguito dal nome del tipo.
Si indica la visibilit`a private e public con un carattere - (private) o + (public)
A. Martinelli () Documentazione 25/10/2011 6 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Associazioni
Ogni volta che c`e una relazione tra due classi si utilizza la relazione di
Associazione, una linea continua che connette le due classi.
Notazione delle Associazioni
Agli estremi della linea di associazione si pu`o usare una freccia aperta.
La freccia indica una Dipendenza. Nellesempio, ad uno studente sono
associati dei corsi quindi, il modulo studente dipende dal modulo Corso
Ad ogni associazione, si pu`o assegnare una etichetta che fornisce un
signicato alla relazione. Nellesempio letichetta `e la parola partecipa.
Su ogni lato della associazione pu`o comparire il valore della Cardinalit`a.
Su ogni lato della relazione, `e possibile aggiungere una etichetta che
indica il ruolo del partecipante.
A. Martinelli () Documentazione 25/10/2011 7 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Associazioni
Cardinalit`a delle Associazioni
[1]: La Classe partecipa sempre con 1 istanza alla relazione
[N]: La Classe partecipa sempre con N istanze
[0..1]: La Classe partecipa al pi`u con un elemento alla relazione
[0..] oppure []: La Classe pu` o partecipare con un numero indenito di
elementi alla relazione
[1..]: La Classe partecipa con almeno una istanza alla relazione
A. Martinelli () Documentazione 25/10/2011 8 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Associazioni
Alcune associazioni possono essere arricchite col simbolo di Aggregazione, che sta
ad indicare che le istanze vengono realizzate aggregando istanze di una altra Classe:
Alcune associazioni possono essere arricchite col simbolo di Composizione, che
sta ad indicare che le istanze vengono realizzate componendo in numero variabile
le istanza di una altra Classe:
A. Martinelli () Documentazione 25/10/2011 9 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Ereditariet`a
LEreditariet`a con una freccia in linea continua che va dalla Classe Figlia alla
Classe Padre. La freccia `e chiusa, e bianca allinterno.
A. Martinelli () Documentazione 25/10/2011 10 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Astrazione
Nei diagrammi con Ereditariet`a, i moduli e i metodi astratti sono solitamente
indicati con un Font diverso, solitamente si utilizzano caratteri in Italic.
A. Martinelli () Documentazione 25/10/2011 11 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Interfacce
Le Interfacce vengono segnalate con letichetta <<Interface>>.
LImplementazione di una interfaccia viene indicata con la stessa freccia
dellEreditariet`a, ma usando un tratto tratteggiato anzich`e continuo.
La freccia di estensione e quella di implementazione dieriscono solo per un
tratteggio. In fase di progettazione si usano indierentemente per indicare
generalizzazione: cos` si rimanda la decisione di utilizzare interfacce piuttosto
che classi astratte.
A. Martinelli () Documentazione 25/10/2011 12 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Note
Essendo i Diagrammi delle Classi delle notazioni Grache, avete tutta la libert`a di
aggiungere Note a qualsiasi cosa. Solitamente le note sono inserite sotto forma di
riquadri con un angolo piegato, e una linea tratteggiata che connette la nota al
modulo (o metodo o attributo) che commenta.
A. Martinelli () Documentazione 25/10/2011 13 / 27
UML: i Diagrammi delle Classi
Diagrammi delle Classi: Package
I Diagrammi delle Classi consentono di rappresentare anche i Package, che sono
indicati come aree rettangolari contenenti classi, e aventi una etichetta nellangolo
che indica il nome del package.
NOTA
La seconda parte del 1