Dic.19

Diagrama de Clases UML: Dependencia

Definición

Es una relación de uso entre dos clases (una usa a la otra). Esta relación es la más básica entre clases y comparada con los demás tipos de relación, la mas débil.

Representación UML

Se representa con una flecha discontinua que parte desde una clase y apunta a otra. El sentido de la flecha nos indica quien usa a quien.

Del diagrama anterior podemos observar que:

  • La ClaseA usa a la ClaseB.
  • La ClaseA depende de la ClaseB.
  • Dada la dependencia, todo cambio en la ClaseB podrá afectar a la ClaseA.
  • La ClaseA conoce la existencia de la ClaseB pero la ClaseB desconoce que existe la ClaseA.

En la practica este tipo de relación se interpreta como que la ClaseA hace uso de la ClaseB ya sea instanciandola directamente, o bien, recibiéndola como parámetro de entrada en uno de sus métodos.

Ejemplo Práctico

Hasta aquí todo bien y bonito conceptualmente hablando, pero veamos un ejemplo más "de la vida real" para entender mejor este tipo de relación. Supongamos lo siguiente:

  1. Tenemos una clase Impresora..
  2. Tenemos una clase Documento con un atributo texto.
  3. La clase Impresora se encarga de imprimir los Documentos.

Para esto generamos una relación de dependencia:

uml-relacion-dependencia-ejemplo

Traduciendo a código: (Java)

Documento.java

/* Clase Documento */
class Documento {
    private String texto;

    public Documento(String texto) {
        this.texto = texto;
    }

    public String getTexto() {
        return this.texto;
    }
}

Impresora.java

/* Clase Impresora */
class Impresora {

    public Impresora() {

    }

    public void imprimir(Documento documento) {
        String texto = documento.getTexto();
        System.out.println(texto);
    }

}

En funcionamiento:

Documento miDocumento = new Documento("Hello World!");
Impresora miImpresora = new Impresora();
miImpresora.imprimir(miDocumento);

El resultado en consola: "Hello World"

Desarrollo,UML,Ingeniería de Software
Share this Story:
  • facebook
  • twitter
  • gplus

About Didier

Comments(3)

  1. Trackback: Mis apuntes de UML (Diagrama de Clases) | Blog de Oscar Valenzuela B.

  2. Luis Enrique
    763 days ago

    Hola, Si estuviese haciendo una aplicación (en Android) , y esta aplicación es un juego de un memorama, ¿Como podría hacer uso de diagrama de Clases?. Gracias por el tutorial. Saludos.

    • Didier
      735 days ago

      Hola, una disculpa por la tardanza. Va a depender mucho de como estés programando tu juego, el diagrama de clases te sirve para representar de manera visual los objetos de tu aplicación y sus relaciones.

      La diagramación en UML es meramente conceptual y no esta atada a algún lenguaje/framework.

      Saludos

Leave a comment

Comment