Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Interfacce e Componenti: un approfondimento

Introduzione ai diagrammi che rappresentano i componenti software e hardware reali
Introduzione ai diagrammi che rappresentano i componenti software e hardware reali
Link copiato negli appunti

Si è visto, finora, come i diagrammi descritti abbiano a che fare, in generale, con entità concettuali. Adesso si vedranno, invece, diagrammi UML che rappresentano entità del mondo reale: i componenti software (software component).

Innanzitutto: cos'e' un software component? Nient'altro che una parte fisica di un sistema. Esso risiede in un computer e non nella mente di un analista.

Come si possono relazionare un componente ed una classe?
Basta pensare ad un componente come all'implementazione di una classe. La classe rappresenterà un'astrazione di un insieme di attributi ed operazioni. Ed un componente può essere visto come l'implementazione effettiva di una classe.

è importante modellare i componenti e le relazioni che intercorrono tra di essi, in quanto :

  • I clienti possono vedere la struttura del sistema terminato
  • Gli sviluppatori hanno una struttura alla quale rifarsi e attorno alla quale incentrare il loro lavoro
  • Coloro che si occupano di scrivere la documentazione e i file di help si rendono conto meglio della funzionalità del sistema e quindi riescono a creare dei documenti più efficienti.

Quando si ha a che fare con i componenti, inevitabilmente si deve avere a che fare con le loro interfacce. Un'interfaccia, come abbiamo visto, rappresenta la "faccia" dell'oggetto verso il mondo esterno in modo tale che altri oggetti possano chiedere all'oggetto che espone l'interfaccia di eseguire le sue operazioni che sono nascoste dall'incapsulamento.

Per l'analista che si occupa di disegnare il modello questo si traduce nel fatto che il modo in cui si rappresenta un'interfaccia per una classe è lo stesso del modo in cui si rappresenta un'interfaccia per un componente. La relazione tra un'interfaccia e una classe (anche qui allo stesso modo) viene detta realizzazione (si veda quanto detto nel paragrafo Interfacce e Realizzazioni).

è possibile rimpiazzare un componente con un altro se il nuovo componente è conforme alle stesse interfacce del vecchio. Il riutilizzo di un componente di un altro sistema è possibile se il nuovo sistema può accedere al componente stesso attraverso le sue interfacce.

Fondamentalmente, dal punto di vista della modellazione UML, ci sono tre tipi di componenti:

  • Deployment components. Che rappresentano la base dei sistemi eseguibili (DLL, eseguibili, Controlli Active X, Java Beans).
  • Work Product Components: dai quali vengono creati i deployment components (e quindi: file di dati e file sorgenti)
  • Execution Components, creati come risultato del sistema in esecuzione

Infine, diciamo che quando un componente accede ai servizi di un altro componente utilizza un interfaccia di import. Viceversa, il componente che realizza l'interfaccia con dei servizi fornisce una interfaccia di export.


Ti consigliamo anche