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 ...
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