Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

7.3 Progettazione delle funzionalità e raffinamento delle classi 137

Una prima bozza della classe associata alla tabella

Figura 7.1. PERSONA FISICA

Il diagramma di sequenza è il diagramma che meglio evidenzia la filosofia della programmazione

in quanto rappresenta il modo con cui le varie classi e gli utenti coinvolti in un

orientata agli oggetti

caso d’uso comunicano per portarlo al termine.

Nel costruire i vari diagrammi di sequenza si scoprirà che, probabilmente, servono nuovi metodi

che in precedenza non erano stati definiti. Questo porterà ad un raffinamento delle classi costruite al

passo precedente.

Anche per questa attività ci fermeremo, comunque, ad un non studiando

alto livello di astrazione

in dettaglio i parametri dei metodi coinvolti e altre problematiche affini.

In realtà, anche alla luce di quanto detto sopra, è superfluo considerare i diagrammi di sequenza per

generalmente

quei casi d’uso che coinvolgono una sola classe e che non richiedono elaborazioni sui dati;

questi casi d’uso coincidono con i casi d’uso “CRUD”. Essi, quindi, non saranno definiti.

che coincide con la fine della progettazione delle applicazioni, si avranno:

Al termine di questo passo,

i diagrammi di sequenza per tutti i casi d’uso che coinvolgono più di una classe;

• la struttura raffinata, con tutti gli attributi e tutti i metodi, di ogni classe associata ad una tabella

• dello schema relazionale.

138 7 Progettazione della componente applicativa

Una prima bozza della classe associata alla tabella

Figura 7.2. AGENZIA

7.3.1 Esercizi

Esercizio

Si effettuino la progettazione delle funzionalità e il raffinamento delle classi per il sistema informativo

per la gestione di un hotel descritto in dettaglio nella Sezione 5.9.1.

Esercizio

Si effettuino la progettazione delle funzionalità e il raffinamento delle classi per il sistema informativo

per la gestione di un’agenzia immobiliare descritto in dettaglio nella Sezione 5.9.2.

7.3.2 Soluzione all’esercizio della Sezione 7.3.1

Esaminando i casi d’uso definiti nella Sezione 5.9.3 possiamo notare come i casi d’uso CRUDAgenzia,

e

CRUDPersonaFisica, CUDStanza, RicercaInfoStanza, CUDServizioExtra, RicercaInfoServizioExtra

coinvolgono una sola classe e non richiedono elaborazioni sui dati. Pertanto,

CRUDDocumentoFiscale

per questi casi d’uso, non sarà necessario costruire i corrispettivi diagrammi di sequenza.

Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.11.

InserisciPrenotazione

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza: 7.3 Progettazione delle funzionalità e raffinamento delle classi 139

Una prima bozza della classe associata alla tabella

Figura 7.3. PRENOTAZIONE

Una prima bozza della classe associata alla tabella

Figura 7.4. STANZA

140 7 Progettazione della componente applicativa

Una prima bozza della classe associata alla tabella

Figura 7.5. ASSEGNAMENTO

Una prima bozza della classe associata alla tabella

Figura 7.6. FRUIZIONE

7.3 Progettazione delle funzionalità e raffinamento delle classi 141

Una prima bozza della classe associata alla tabella

Figura 7.7. SERVIZIO EXTRA

Una prima bozza della classe associata alla tabella

Figura 7.8. ASSOCIATO

Una prima bozza della classe associata alla tabella

Figura 7.9. DOCUMENTO FISCALE

142 7 Progettazione della componente applicativa

La classe

Figura 7.10. DBConnection

alla classe

verificaDisponibilita Prenotazione;

• alla classe

setInfoPrenotazione Prenotazione;

• alla classe

addebitoPrenotazione Prenotazione;

• alla classe

getInfoPersonaFisica PersonaFisica;

• alla classe

setInfoPersonaFisica PersonaFisica;

• alla classe

getInfoAgenzia Agenzia;

• alla classe

setInfoAgenzia Agenzia;

• alla classe

getInfoStanza Stanza.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.12.

RicercaPrenotazione

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza:

alla classe

richiestaInfoPrenotazione Prenotazione;

• alla classe

getInfoPrenotazione Prenotazione;

• alla classe

assemblaInfoPrenotazione Prenotazione

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.13.

ModificaPrenotazione

Dall’esame di questo diagramma si evince che è necessario aggiungere il seguente metodo alla bozza

della classe definita in precedenza: alla classe

richiestaModificaPrenotazione Prenotazione.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.11.

InserisciAssegnamento

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza:

alla classe

richiestaAssegnamento Assegnamento;

• alla classe

setInfoAssegnamento Assegnamento;

• alla classe

stampaSchedaNotifica Assegnamento.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.15.

RicercaAssegnamento

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza:

alla classe

richiestaInfoAssegnamento Assegnamento;

• alla classe

getInfoAssegnamento Assegnamento;

• alla classe

assemblaInfoAssegnamento Assegnamento.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.16.

ModificaAssegnamento

Dall’esame di questo diagramma si evince che è necessario aggiungere il seguente metodo alla bozza

della classe definita in precedenza: alla classe

richiestaModificaAssegnamento Assegnamento.

• 7.3 Progettazione delle funzionalità e raffinamento delle classi 143

InserisciPrenotazione

Il diagramma di sequenza relativo al caso d’uso

Figura 7.11.

Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.17.

DisdettaPrenotazione

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza: alla classe

richiestaDisdettaPrenotazione Prenotazione;

• alla classe

stampaDocumentoFiscale Prenotazione.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.18.

FruizioneServizioExtra

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza: alla classe

richiestaAddebitoServExtra FruizioneServExtra;

• alla classe

getInfoServExtra ServizioExtra;

• alla classe

AddebitoFruizioneServExtra FruizioneServExtra;

• alla classe

StampaDocumentoFiscale FruizioneServExtra.

144 7 Progettazione della componente applicativa RicercaPrenotazione

Il diagramma di sequenza relativo al caso d’uso

Figura 7.12.

Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.19.

CheckOut

Dall’esame di questo diagramma si evince che è necessario aggiungere i seguenti metodi alla bozza

della classe definita in precedenza:

alla classe

richiestaCheckOut Assegnamento;

• alla classe

getInfoFruizioneServExtra FruizioneServExtra.

• Il diagramma di sequenza relativo al caso d’uso è riportato in Figura 7.20.

GestoreStatistiche

Dall’esame di questo diagramma si evince che è necessario realizzare una nuova classe, denominata

Questa classe avrà come attributi tutti quelli necessari per memorizzare i dati

GestoreStatistiche.

parziali relativi alle statistiche nonchè i corrispettivi metodi e tutte queste informazioni si

set get;

potranno reperire quando si passerà ad una progettazione ad un più basso livello di astrazione. In

aggiunta, la classe possiederà almeno i seguenti metodi:

RichiestaStatistiche;

• AssemblaDatiAgenzia;

• AssemblaDatiAssegnamento;

• AssemblaDatiAssociato;

• AssemblaDatiDocumentoFiscale;

• AssemblaDatiFruizioneServExtra;

• AssemblaDatiPersonaFisica;

• AssemblaDatiPrenotazione;

• AssemblaDatiServizioExtra;

• AssemblaDatiStanza.

• Chiaramente, se si desiderano delle statistiche più complesse, ad esempio statistiche che mettono

insieme dati provenienti da più tabelle, sarà necessario aggiungere ulteriori metodi a questa classe.

A questo punto siamo in grado di procedere alla progettazione delle classi raffinate; basterà, in-

fatti, aggiungere alla classi precedentemente progettate i metodi individuati durante la progettazione

7.3 Progettazione delle funzionalità e raffinamento delle classi 145

ModificaPrenotazione

Il diagramma di sequenza relativo al caso d’uso

Figura 7.13.

dei diagrammi di sequenza; si dovrà, inoltre, aggiungere una classe Le classi

GestoreStatistiche.

raffinate sono visualizzate nelle Figure 7.21 - 7.29 (nelle figure non sono presenti le classi Associato

e in quanto queste non sono state modificate in alcun modo).

DBConnection


PAGINE

21

PESO

859.34 KB

AUTORE

Atreyu

PUBBLICATO

+1 anno fa


DESCRIZIONE DISPENSA

In questo materiale didattico relativo alla progettazione della componente applicativa viene illustrata la progettazione della componente applicativa di un sistema informativo. La metodologia utilizzata è basata sull’utilizzo di UML. Viene data un'introduzione e una definizione del diagramma delle classi, e illustrata la progettazione delle funzionalità e il raffinamento delle classi.


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria delle telecomunicazioni
SSD:
A.A.: 2011-2012

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Atreyu di informazioni apprese con la frequenza delle lezioni di Sistemi informativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Mediterranea - Unirc o del prof Ursino Domenico.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Sistemi informativi

Oracle Data Integrator
Dispensa
Project Management
Dispensa
ISIPM Certificazione
Dispensa
PM Certificazioni Internazionali
Dispensa