Transcript mod oggetti
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
oggetti) che interessano tali oggetti (insiemi di le
relazioni
con altre classi di oggetti
Modello ad oggetti
Per esempio se intendiamo costruire un software che
gestisca una biblioteca,
oggetti da trattare sono sicuramente gli i
libri
ma probabilmente anche gli
autori
programma sono oggetto del 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
così: (insieme) di oggetti si rappresenta 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
la
descrizione
che ci serve considerare sono: 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 Chiudi
precedente record 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
+Padre Questo è il caso in cui gli elementi dell'insieme sono in relazione tra loro stessi Per esempio padre e figlio sono entrambe dell'insieme parte “persone” e sono in relazione di parentela Per evidenziare questo caso particolare si sono indicati i due
ruoli
(padre e figlio) 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 possibilità “1..n” per indicare più
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” Utente Workstation 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 Utente Workstation 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à