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à