La modellazione degli oggetti
Il modello degli oggetti



Si usa in fase di progettazione del software
O.O.
Serve a descrivere gli oggetti che compongono
l'algoritmo
Si indicano

gli oggetti (o insiemi di oggetti) da impiegare,

le caratteristiche da considerare (dette attributi),

le operazioni che interessano tali oggetti (insiemi di
oggetti)

le relazioni con altre classi di oggetti
Modello ad oggetti

Per esempio se intendiamo costruire un
software che gestisca una biblioteca, gli
oggetti da trattare sono sicuramente

i libri

ma probabilmente anche gli autori sono oggetto del
programma

o l'editore

o anche l'utente della biblioteca che chiede il libro
in prestito o lo consulta solamente.
Altro esempio



Potremmo avere questi insiemi di oggetti se
intendiamo progettare un ….
Software per la gestione dei pezzi di ricambi auto

Pezzo di ricambio

Fornitore

Cliente
Software per la gestione corsi di laurea:

Piano di studi

Studente

Corso di laurea
Diagramma delle classi

Questo diagramma descrive:

Gli oggetti (classi di oggetti) che intervengono

Le loro proprietà da considerare (dette attributi)

Le relazioni tra classi diverse di oggetti.

Le operazioni (metodi) da fare con tali oggetti:
stampa, ricerca, selezione … ecc.
Diagramma delle classi

Una classe (insieme) di oggetti si rappresenta
così:
Il nome della classe:
La classe ha nome “reclamo” perchè vogliamo
considerare tutti i possibili reclami che in un
call center acquisti si presentano.

Gli attributi che ci serve considerare sono:
la descrizione del reclamo fatto ed un titolo.
L'ID serve a numerare i reclami


Metodi: Sul data base dei reclami intendiamo
poter eseguire queste operazioni:
- Crea record nuovo reclamo
- Modifica precedente record
- Chiudi reclamo (risolto)
Associazioni


In un algoritmo, facilmente, le diverse
grandezze sono in qualche modo collegate tra
loro.
Una relazione di dipendenza si indica come in
figura:
Associazioni


Ci sono 2 insiemi:

I clienti del negozio

I reclami presentati
Ovviamente queste due classi sono collegate,
poiché è proprio il cliente che presenta il
reclamo.
Associazioni: il grado

Le associazioni hanno un grado:

Unarie

Binarie

Ternarie
Associazioni unarie



Questo è il caso in cui gli
elementi dell'insieme sono in
relazione tra loro stessi
Per esempio padre e figlio
sono
entrambe
parte
dell'insieme “persone” e sono
in relazione di parentela
Per evidenziare questo caso
particolare si sono indicati i
due ruoli (padre e figlio)
+Padre
Persona
-----------+Cognome
+Nome
+Figlio
Associazioni ternarie


Raramente si presentano casi di insieme
collegati tra loro a gruppi di 3.
Può essere il caso degli insieme in figura.
Acquirente.
-------------+Cognome
+Nome
Venditore
________
+ Cognome
+ Nome
Appartament
o
--------------+ Indirizzo
Molteplicità


Nelle associazioni capita che un elemento
(oggetto) dell'insieme è associabile a più
elementi dell'altro.
Nell'esempio del “Calla Center”, ogni cliente
può certamente capitare che presenti più
legami.
Molteplicità

Questa cosa è indicata come in figura:

A destra il numero “1” per cliente

A sinistra la scritta “1..n” per indicare più
possibilità
Molteplicità

“1” indica esattamente un reclamo

“*” indica molti reclami

“0” indica nessun reclamo

“m” indica un numero specifico di reclami

“n..m” indica da n a m reclami

“0..1” indica o nessuno o uno
La classe “associazione”

Qualche volta è utile spiegare meglio cosa
faccia una associazione

Indicarne attributi e metodi

In tal caso esiste la “classe associazione”
Workstation
Utente
Permesso
---------------+ privilegio
+home dir
--------------+ warning
+ log
La classe “associazione”


Tra gli utenti di una workstation esiste la
relazione “accesso” cioè gli utenti accedono alla
WS.
L'accesso però avviene con un permesso che
ha attributi e metodi come in figura
Workstation
Utente
Permesso
---------------+ privilegio
+ home dir
--------------+ warning
+ log
La modellazione funzionale


Il diagramma delle classi è di tipo statico, cioè
da esso non si evince come deve evolvere nel
tempo l'algoritmo ma solo quali sono le
grandezze coinvolte e come sono relazionate.
Per rappresentare l'evoluzione temporale del
sistema (del software da creare + hardware ove
gira) dobbiamo usare diagrammi dinamici.
Diagrammi dinamici

Si rappresenta :

Quando devono attivarsi le varie componenti del
sistema

La reazione agli eventi esterni

Come devono sincronizzarsi le varie componenti.


Viene descritta la sequenza di eventi che
possono verificarsi.
Non interessa come sono realizzate le parti del
software ma cosa fanno
Modello funzionale

Modello temporale


→ Diagrammi dei casi d'uso.
Modello funzionale

→ Diagrammi di stato

→ Diagrammi di sequenza

→ Diagrammi di attività
Scarica

mod oggetti