miércoles, 6 de noviembre de 2013

Diagrama de Clases

                        DIAGRAMA DE CLASES


Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia y composición.
Un diagrama de clases esta compuesto por los siguientes elementos:
Clase: atributos, métodos y visibilidad.

Relaciones: Herencia,Composición,Agregación,Asociación y Uso.

El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar su tarea en vez de objetos del sistema o de un modelo de programación.
La clase define el ámbito de definición de un conjunto de objetos.
Cada objeto pertenece a una clase.
Los objetos se crean por instanciación de las clases


Simbologia
Cada clase se representa en un rectángulo con tres compartimientos:




(-) Privado: es el más fuerte. Esta parte es totalmente invisible desde fuera de la clase (excepto para clases friends en terminología C++).
(~) Package: Sólo es visible dentro del mismo package.
(#) Los atributos/operaciones protegidos están visibles para las clases friends y para las clases derivadas de la original.
(+) Los atributos/operaciones públicos son visibles a otras clases (cuando
se trata de atributos se está transgrediendo el principio de encapsulamiento).

Instanciacion.
El proceso de crear objetos pertenecientes a una clase se conoce como instanciación, donde los objetos son las instancias de la clase. El objeto es la instancia de la clase a la que pertenece.

Se utiliza un flecha punteada para mostrar los objetos como instancias de las clases


Asociación.
La relación entre objetos se conoce como liga. Una asociación describe la relación entre clases de objetos, y describe posibles ligas, donde una liga es una instancia de una asociación, al igual que un objeto es una instancia de una clase.


Composición
La composición es una forma ‘fuerte’ de
agregación. Se diferencian en:
•En la composición tanto el todo como las partes tienen el mismo ciclo de vida.

•Un objeto puede pertenecer solamente a una composición.


Herencia
Las clases con atributos y operaciones comunes se pueden organizar de forma jerárquica, mediante la herencia.
La herencia es una abstracción importante para compartir similitudes entre clases, donde todos los atributos y operaciones comunes a varias clases se pueden compartir por medio de la superclase, una clase más general. Las clases más refinadas se conocen como las subclases

Caso Practico.



Recomendaciones y Conclusiones

El blueJ esta muy limitado para hacer diagramas, aunque tiene la capacidad de hacerlo esta muy limitado.
El smartdrawn esta muy bien, pero puede llegar a ser un poco complejo ya que al momento de estar haciendo las clases, herencia, composición y asociación no te deja borrar clases que sean dependientes de otras.
El starUML es open source y me pareció el mas fácil de usar, sin quitar lo completo que es 


Bibliografía

http://www.cannes.itam.mx/Alfredo/Espaniol/Publicaciones/MINT/Objetos.pdf
http://www-2.dc.uba.ar/materias/isoft1/is1-2005_2/apuntes/SlidesDC.pdf
http://translate.google.com.mx/translate?hl=es&sl=en&u=http://www.smartdraw.com/resources/tutorials/uml-diagrams/&prev=/search%3Fq%3Dsmartdraw%2Buml%26rlz%3D1C1EODB_enMX513MX513%26es_sm%3D93%26biw%3D1286%26bih%3D707%26noj%3D1
http://www.humbertocervantes.net/cursos/tutoriales/staruml/tutorialDiagramaClases.htm


















No hay comentarios:

Publicar un comentario