El diagrama d'implementació el podem dividir bàsicament en:

  • Diagrama de paquets.
  • Diagrames de components.
  • Diagrames de desplegament.

Tots ens serviran per especificar de quina manera s'ha de dur a terme la implementació del resultat de l'anàlisi del domini que estem tractant.

El diagrama de components forma part, juntament amb el diagrama de paquets, de la vista d'implementació.

Els diagrames de components representen les dependències entre diversos components físics del sistema. Mostren l'organització (contenció d'uns dins dels altres) i les dependències entre components de software.

Un component representa un fitxer font, una llibreria o un executable. Els components són artefactes (elements fabricats) que formen part de la implementació del sistema. Un component es representa gràficament com un rectangle amb una el·lipse petita i dos rectangles petits que sobresurten del costat.

Normalment es consideren components de software de tres nivells:

  • Codi font.
  • Llibreries.
  • Executables.

El nivell de codi font mostra les dependències de compilació entre fitxers.

En C++ serien les dependències de l'include, per exemple.

En C# serien les dependències del using.

En Java serien les dependències de l'import.

Cada classe del model lògic es pot realitzar en el diagrama de components de codi font en dos components: l'especificació i el cos. En C++, per exemple, una especificació correspon a un arxiu amb un sufix .hxx i un cos correspon a un arxiu amb sufix .cxx.

El nivell de temps d'execució mostra el mapeig de les classes a llibreries en temps d'execució.

La figura següent il·lustra que la llibreria Trade (Trade.dll) depèn de la classe Slate (Slate.cls) i la classe Trade (Trade.cls).

El nivell d'executables mostra les interfícies i les dependències de les crides entre programes executables.

Aquesta figura mostra que l'executable Trade es comunica amb l'executable Contracts a través de la interfície TradeContract. També es comunica amb la llibreria Trade amb la interfície TRade.

Els diagrames de desplegament (deployment) mostren la configuració del sistema en temps d'execució a partir d'il·lustrar com els diversos processos es distribueixen en processadors, ordinadors o altres dispositius diferents.

La vista de desplegament mostra la configuració de nodes de processament en temps d'execució i els components, processos i objectes que hi viuen a dins.

El diagrama de desplegament conté bàsicament:

  • Nodes: Un objecte en temps d'execució que representa un recurs computacional (que generalment té com a mínim memòria, i sovint capacitat de processar). Els estereotips permeten precisar la naturalesa de l'equip, dispositius, processadors, memòria...
  • Connexions: Mostra el camí de comunicació entre diversos nodes. L'associació pot tenir un estereotip que indica la naturalesa de la comunicació (com per exemple, el tipus de canal o xarxa).

  1. L'entorn d'execució d'una empresa que presta serveis a internet es compon de tres servidors i dos clients. El servidor lògic de negoci 1 conté un component anomenat Jar1 que conté la lògica de negoci d'una aplicació web. El servidor lògic de negoci 2 conté el mateix component, i el tercer servidor, que s'encarrega de la capa web, es diu servidor aplicació web i conté el component War1. Aquest component utilitza la interfície InterfícieJar1 implementada per Jar1 en els dos servidors que contenen el component. Els clients web contenen un navegador i utilitzen la interfície InterfícieWar1 del component War1. El client "rich client" té un component ClientJar1 que utilitza la interfície del mòdul Jar1 del servidor lògic de negoci 1 mitjançant la seva interfície. a) Per representar aquesta situació, quin tipus de diagrama UML utilitzaries?

Diagrama de desplegament.

b) Dibuixa'l.