15.06.2013 Views

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Carnielli Efrem: Programmazione a componenti<br />

Unified Software Process (USP)<br />

Nella figura sopra è illustrato un esempio <strong>di</strong> class <strong>di</strong>agram che fa sempre<br />

riferimento agli esempi sulla compilazione dei questionari per gli studenti visti <strong>in</strong><br />

precedenza. Da notare che la freccia tratteggiata che non era stata spiegata <strong>in</strong><br />

precedenza è una “associazione estemporanea”. Inoltre va segnalata la presenza<br />

dell’<strong>in</strong>variante, questo impone una precisa regola a chi implementa le operazioni<br />

previste dall’<strong>in</strong>terfaccia.<br />

Conclu<strong>di</strong>amo il <strong>di</strong>scorso <strong>di</strong>cendo che qui si parla <strong>di</strong> Classi che danno luogo a<br />

oggetti istanziati per uno scopo e poi <strong>di</strong>strutti.<br />

4.3.4.1 Classi e tabelle del database<br />

La classe deve sostanzialmente essere utile per motivi <strong>di</strong>versi sia allo sviluppatore<br />

della classe che all’utilizzatore.<br />

Lo sviluppatore è <strong>in</strong>teressato a come scrivere il co<strong>di</strong>ce e come def<strong>in</strong>ire gli attributi<br />

per la classe.<br />

L’utilizzatore deve conoscere come <strong>in</strong>teragire con la classe.<br />

Riguardo all’<strong>in</strong>terfaccia ad esempio allo sviluppatore <strong>in</strong>teressa sapere se l’attributo<br />

è privato, mentre all’utilizzatore non <strong>in</strong>teressa nulla.<br />

Lo sviluppatore è <strong>in</strong>teressato agli attributi <strong>in</strong>visibili dell’<strong>in</strong>terfaccia che <strong>in</strong>vece<br />

preserva la chiamate alle operazioni.<br />

Considero attributi pubblici e attributi privati con funzioni pubbliche: non c’è<br />

alcuna <strong>di</strong>fferenza tra l’uso <strong>di</strong> questi due approcci se non <strong>in</strong>terferisce con la<br />

particolare istanza della classe.<br />

Legato a questo <strong>di</strong>scorso emerge il concetto <strong>di</strong> tabella, che <strong>in</strong> UML viene <strong>in</strong><strong>di</strong>cata<br />

come nella figura sottostante:<br />

115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!