jueves, 20 de octubre de 2011

Diagrama de clases.

Un diagrama de clases es un diagrama que muestra las relaciones entre las clases que involucran un sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento.
Un diagrama de clases está compuesto por los siguientes elementos:
  • Clases: atributos, métodos y visibilidad.
  • Relaciones: asociativas, de herencia, de uso, de contenimiento.
Elementos.

Clases.
Es la unidad básica que encapsula toda la información de un objeto (un objeto es la instancia de una clase). A través de ella podemos modelar el entorno en estudio.
En UML una clase está representada por un rectángulo que presenta tres divisiones:


  • En la primera división se encuentra el nombre de la clase.
  • En la segunda división van los atributos y sus visibilidades.
  • En la tercera división van los métodos y sus visibilidades.
Atributos y métodos.
Los atributos son las caracteristicas de la clase, pueden ser de tres tipos:
  • Public (+): Indica que el atributo es visible dentro y fuera de la clase.
  • Private (-): Indica que el atributo solo es visible desde dentro de la clase.
  • Protected (#): Indica que el atributo no podra ser accesible desde fuera de la clase, pero si puede ser accesado por métodos de la clase o subclases.
Los métodos son las operaciones de una clase, pueden ser de tres tipos:

  • Public (+): Indica que el método es visible dentro y fuera de la clase.
  • Private (-): Indica que el método solo es visible desde dentro de la clase.
  • Protected (#): Indica que el método no podra ser accesible desde fuera de la clase, pero si puede ser accesado por métodos de la clase o subclases.
Relaciones entre clases.
Cardinalidad: Indica el grado y nivel de dependencia, se anotan en cada extremo de las relaciones, estas pueden ser:
  • Uno a muchos(1..*)
  • 0 a muchos(0..*)
  • Número fijo.
Relación de herencia.
Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase.

Relación de agregación.
Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
  • Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comunmente llamada Composición (el Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo").
  • Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comunmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Relación de asociación.
La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Relación de dependencia o instanción (uso).
Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.
El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana.


Para realizar el diagrama de clases de mi proyecto es necesario que utilice el SO Ubuntu, y el software Umbrello.


Este es el diagrama de clases de mi proyecto, es algo pequeño porque solo implemento dos clases.


Referencias:

No hay comentarios:

Publicar un comentario