domingo, 12 de julio de 2015

DIAGRAMA DE SECUENCIAS

INTRODUCCIÓN
El diagrama de secuencias UML muestra la mecánica de la interacción con base en tiempos. Es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia se modela para cada caso de uso.
Muestra de forma ordenada la acción a realizar con un tiempo de respuesta estimado y los subprocesos que conllevan dicha acción que a su vez tendrán su tiempo en ejecución.
Estos diagramas facilitan la estimación de muchos factores para que el cliente pueda entender sin esfuerzo alguno debido a que es muy sencillo de hacer y de visualizar también.  
MARCO TEÓRICO
Si tiene un diagrama de casos de uso en el que se resumen los usuarios del sistema y sus objetivos, puede dibujar diagramas de secuencia para describir el modo en que los principales componentes del sistema interactúan para lograr el objetivo de cada caso de uso.
Un diagrama de secuencias es aquel que hace referencia al tiempo en el que las interacciones entre objetos y clases se realizan, es decir que se mide el tiempo de la interacción de los elementos del sistema.
Se dice que un diagrama de secuencias cuenta una historia, para esto tiene como elementos, objetos y la línea de vida de estos, entre otros.
ELEMENTOS CON LOS QUE CUENTA UN DIAGRAMA DE SECUENCIA.
  • Rol de la clase: describe la manera en que un objeto se va a comportar en el contexto. No se listan los atributos del objeto.
  • Activación: Los cuadros de activación representan el tiempo que un objeto necesita para completar una tarea.
  • Mensajes entre los objetos: Es la comunicación entre los objetos, representadas por una flecha.
  • Línea de vida del objeto: Indican la presencia del objeto durante el tiempo.
  • Destrucción de Objetos: Los objetos se pueden eliminar.
  • Loops: Indican las condiciones para salir.

Las líneas pueden ser:

Un ejemplo de un Diagrama de secuencias:

CONCLUSIÓN.
Puede verse con facilidad cómo se distribuyen las tareas entre los componentes, generando que cualquier persona que vea el diagrama entienda rápidamente las acciones, además de los procesos y el tiempo que conllevan al mismo para que ejecute dicha acción que se especifica.
Pueden identificarse los modelos de interacción que dificultan la actualización de software, para hacer más entendible a otros desarrolladores en caso de que el programa requiera alguna modificación.
Los diagramas de secuencias tienen cierta forma de elaboración, de manera que sean mejor entendidos y así el software sea mejor diseñado, por lógica simple un diagrama de secuencias no puede tener una línea de activación más grande que la línea de vida de un objeto.
BIBLIOGRAFÍA.
Pressman, R. Ingeniería de software: Un enfoque práctico. 7 ed. México. Mc Graw Hill. p 805.
Montiel, M; Ríos, F; Moyano, F; Martínez, R y Rodríguez, I. 2009. Diagramas UML. (En línea). ES. Consultado el 11 de Jul. 2015. Formato PDF. Disponible en: http://www.danielstolfi.com/vigia/archivos/diagramasuml.pdf

Núñez. 2000. Modelado de objetos con UML. (En línea). VE. Consultado el 11 de Jul. 2015. Formato PDF. Disponible en: http://exa.unne.edu.ar/informatica/anasistem1/public_html/TUTORIAL_UML[1].pdf

domingo, 5 de julio de 2015

RELACIONES ENTRE CLASES

INTRODUCCIÓN
Como se mencionaba anteriormente el concepto de relaciones entre clases es importante sobre todo luego de haber explicado los diagramas de clases, en la sección anterior, que explicando los detalles de las relaciones entre clases se entenderá de mejor manera.
Es importante para el desarrollador entender los diferentes tipos de relaciones entre clases que existen y como aplicarlo para su proyecto, porque un buen diagrama de clases implica que se va por buen camino para el producto final, y esto implica que las relaciones entre las clases estén desarrolladas de manera adecuada, en caso de no tener claro cómo desarrollar las relaciones entre clases para el diagrama se tendrá problemas a futuro.
MARCO TEÓRICO
Las relaciones son un pilar fundamental en el que se basan los Diagramas de Clases, después de las clases mismas y los interfaces. Las relaciones se aplican exclusivamente entre clases y pueden ser binarias o de orden superior.
Decir que dos clases están relacionadas entre sí viene a significar que esas clases tienen algo que ver entre sí. De cómo sea la naturaleza de la relación definirá un tipo u otro de vinculación. De lo que se trata aquí es de identificar, caracterizar y ejemplarizar cada una de ellas.
Los tipos de relaciones entre clases que existen son las siguientes:
·         Generalización o especialización.
·         Asociación.
·         Agregación.
·         Composición.
GENERALIZACIÓN O ESPECIALIZACIÓN.
Indica que una subclase hereda los métodos y atributos especificados por una súper clase, por ende la subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la súper Clase (pública y privada), ejemplo:

ASOCIACIÓN:
Enlace entre objetos de las clases implicadas, también se puede definir como una conexión entre clases que define los roles o dependencias entre objetos.
Existen 3 tipos de Asociación que son:

AGREGACIÓN:
Para modelar objetos complejos, no 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:

COMPOSICIÓN.
Es un tipo de asociación en donde el ciclo de vida de la parte [PARTE] está vinculado del ciclo de vida de la parte [TODO], de tal manera que cuando desaparece la parte [TODO] la parte [PARTE] también desaparece. A este tipo de vinculación se la denomina también asociación fuerte o asociación existencial.
Para ejemplarizar este tipo de relación considérese el caso expuesto anteriormente respecto de los cónyuges y el matrimonio:

CONCLUSIÓN.
Se debe tener en cuenta cada una del tipo de relaciones entre clases y los requerimientos o necesidades del cliente para tener una buena base del software que se va a desarrollar, este aspecto es fundamental ya que se parte desde ahí para luego comenzar a desarrollar los diversos aspectos o características que va a tener el programa.
El saber realizar un buen diagramas de clases con relaciones bien establecidas es de mucha importancia para cualquier programa que se desarrolla, por eso la importancia de conocer detalladamente las relaciones entre clases.
BIBLIOGRAFÍA.
Pressman, R. Ingeniería de software: Un enfoque práctico. 7 ed. México. Mc Graw Hill.
Gutiérrez, D. 2011. UML Diagramas de clases. (En línea). VE. Consultado, 05 de Jul. 2015. Formato PDF. Disponible en: http://www.codecompiling.net/files/slides/UML_clase_04_UML_clases.pdf

Kendall, K y Kendall, J. 2011. Análisis y diseño de sistemas. 8 ed. México. Pearson Education. p 600.

Berzal, F. 2004. Relaciones entre clases: Diagrama de clases UML. (En línea). ES. Consultado, 04 de Jul. 2015. Formato PDF. Disponible en: http://elvex.ugr.es/decsai/java/pdf/3C-Relaciones.pdf