domingo, 10 de noviembre de 2013

Diagrama de Actividades César Martínez


César Arturo Martínez Vargas
Herramientas Case                                                                       José Emilio Quiroz Ibarra

Diagramas de Actividades UML

En el diagrama de actividades se muestra un proceso de negocio o un proceso de software como un flujo de trabajo a través de una serie de acciones. Estas acciones se pueden llevar a cabo por diferentes actores ya sean personas, componentes de software o equipos.
Un diagrama de actividades se puede utilizar para describir procesos de diversos tipos, como por ejemplo:

Un proceso de negocio o un flujo de trabajo entre los usuarios y el sistema.

Los pasos realizados en un caso de uso.

Un protocolo de software, es decir, las secuencias de interacciones permitidas entre los componentes.

Un algoritmo de software.

En general, un Diagrama de Actividades muestra una serie de acciones o tareas que se ejecutan en cierto orden (y otros elementos adicionales). Los diagramas de actividades expresan:

Conjunto de actividades, ¿Qué hacen las actividades?, ¿En que orden se ejecutan?, ¿Cuándo ocurren?, ¿Dónde ocurren?, ¿Quién las ejecuta?, ¿Qué insumos requieren? y ¿Qué productos generan?.

Un diagrama de actividad está conformado por los siguientes conceptos:

·        Actividad: Es la especialización de un comportamiento que puede ser parametrizado y que define la secuenciación coordinada de unidades subordinadas denominadas acciones.

·        Acción: Una acción es la unidad fundamental de especificación de comportamiento. Una acción es generalmente atómica, es decir, indivisible.


·        Transiciones: Representan el paso de una acción a otra.
Algunas ventajas las cuales nos ofrecen los diagramas de actividades son:
Permite elegir el orden en que pueden hacerse las cosas.

Puede describir procesos o casos de uso.

Muestra los aspectos dinámicos de un sistema.

Establece las reglas de secuencia a seguir.

Ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso.



















Nomenclatura de un diagrama de actividades básico.




1) Acción: Paso de la actividad en el que los usuarios o el software realizan alguna tarea.

2) Control de flujo: Conector que muestra el flujo de control entre las acciones.

3) Nodo inicial: Indica la primera acción o acciones de la actividad. Cuando la actividad se inicia, un token fluye desde el nodo inicial.

4) Nodo final de actividad: Extremo de la actividad. Cuando un token llega a este nodo, la actividad finaliza.

5) Nodo de decisión: Bifurcación condicional de un flujo. Tiene una entrada y dos o más salidas. Un token de entrada solo emerge en una de las salidas.

6) Guarda: Condición que especifica si un token puede fluir por un conector. Su uso más frecuente es en los flujos de salida de un nodo de decisión.

7) Nodo de unión: Es necesario para combinar los flujos que se dividieron mediante un nodo de decisión. Tiene dos o varias entradas y una única salida.

8) Comentario: Proporciona información adicional sobre los elementos a los que está vinculado.


9) Comportamiento de llamada: Acción que se define con más detalle en otro diagrama de actividades.


















Nomenclatura de un diagrama de actividades medio (flujo simultaneo).


11) Nodo de división: Divide un único flujo en flujos simultáneos. Cada token de entrada genera un token en cada conector de salida.

12) Nodo de unión: Combina flujos simultáneos en un único flujo. Cuando cada flujo de entrada tiene un token esperando, se genera un token en la salida.

13) Acción de señal de envío: Acción que envía un mensaje o señal a otra actividad o a un subproceso simultáneo de la misma actividad. El tipo y el contenido del mensaje viene definido de forma implícita en el título de la actividad.

14) Acción de aceptación de evento: Acción que espera un mensaje o señal antes de que pueda continuar. El tipo de mensaje que la acción puede recibir viene implícito en el título. Si la acción no tiene ningún flujo de control de entrada, genera un token cada vez que recibe un mensaje.

































Nomenclatura de un diagrama de actividades medio (flujo de Datos).






15) Nodo objeto: Representa los datos que una acción puede recibir cuando se ejecuta.

16) Pin de entrada: Representa los datos que una acción puede recibir cuando se ejecuta.

17) Pin de salida: Representa los datos que una acción genera cuando se ejecuta.

18 Nodo parámetro de actividad: Nodo de objeto a través del que la actividad puede recibir o generar los datos. Se usa cuando la actividad representada en el diagrama se llama desde otra actividad o cuando el diagrama describe una operación o función.
































Caso de Uso: CompuReparaciones

La empresa CompuReparaciones  se encarga de reparar equipos de computo que se encuentran en mal estado, dañados o requieren de alguna mejora para su mejor funcionamiento. La empresa solicita apoyo para que le generen un diagrama de actividades, con los cuales se pueda tener un mejor control sobre el proceso de petición de partes . El caso de uso va a tener 3 actores, que serán:

·        Mantenimiento
·        Almacén
·        Compras

Se va a generar un diagrama de actividad para mostrar todo el proceso que se llevara acabo desde el recibimiento del equipo, hasta la compra de los respuestos necesarios. Todo el proceso estará vinculador con las 3 áreas, y solo estas podrán participar en dichas tareas.


















Programas para generar diagramas de actividades.

Altova UModel:



Punto de partida para el desarrollo de software con éxito. Diseñe visualmente modelos de aplicación en UML y documentación del proyecto. UModel es la herramienta UML que hace que el diseño de software visual práctica para cualquier proyecto.

Los diagramas de actividad son para trazar el flujo de acciones e ilustrar el punto de decisión en un proyecto. Una de las características de UModel es que es ventajoso y versátil al dibujar diagramas de actividad UML para trazar el comportamiento dinámico de su proyecto. La barra de herramientas del diagrama de actividades UModel incluye nodos de bifurcación, unir nodos y particiones de actividad en la orientación horizontal y vertical para que pueda seleccionar el elemento que necesita en un solo paso.

Si se desea indicar formalmente la semántica de inicialización de la actividad, el pin de entrada , pin de salida , y los elementos de valor pines están organizados de manera similar .



ArgoUML




El Desarrollo de ArgoUML

ArgoUML fue concebido como una herramienta y el medio ambiente para su uso en el análisis y diseño orientado a objetos  de sistemas de software. ArgoUML tiene un número de distinciones muy importantes como:

1 . Es gratuito .
2 . ArgoUML se basa en la investigación en psicología cognitiva para proporcionar nuevas funciones que aumentan la productividad
mediante el apoyo a las necesidades cognitivas de diseñadores de software orientado a objetos.
3 . Soporta estándares abiertos ampliamente - UML , XMI , SVG , OCL y otros.
4 . Aplicación 100 % puro Java. Esto permite a ArgoUML para funcionar en todas las plataformas de que un puerto fiable de la plataforma Java está disponible .
5 . ArgoUML es un proyecto de código abierto.

Tiene una opción llamada: Nuevo diagrama de Actividad

Esta entrada del menú crea un diagrama de actividad en blanco asociado a la clase seleccionada. También se crea un elemento de UML ActivityGraph, que es un contenedor para los elementos mostrados en el diagrama nuevo.
Los diagramas de actividad se asocian con un elemento del modelo capaz de comportamiento dinámico, tales como paquetes,
clasificadores (incluyendo casos de uso) y las características de comportamiento.




Visio:



Microsoft Visio se ha diseñado para las personas que buscan una plataforma de diagramación eficaz con un completo conjunto de galerías de símbolos integradas. Ayuda a los usuarios a simplificar la información compleja a través de diagramas sencillos fáciles de entender. Visio incluye galerías de símbolos para diagramas empresariales, diagramas de red básicos, organigramas, diagramas de flujo básicos y diagramas generales para distintos usos.
Con Visio podemos crear y personalizar diagramas de aspecto profesional mediante un completo conjunto de efectos y temas ampliados y mejorados
La simbología se encuentre fácilmente con la búsqueda integrada directamente desde la pantalla de inicio.
Se puede conseguir una visión mejor del aspecto que tendrá su diagrama cuando se imprima con una nueva vista previa de impresión.





Conclusión:

Se utilizó el programa Altova, ya que fue con el cual se pudo trabajar de manera más sencilla, y cumplió con todos los requerimientos necesarios para poder generar el diagrama de actividades de manera completa y fácil. El proceso se creó de manera rápida sin ningún tipo de problemas, y el periodo de prueba resulto ser bastante satisfactorio y no presentó ningún tipo de problema.












                                   

Bibliografías:

Microsoft Visio Recuperado el día 31 de Octubre del 2013 de http://msdn.microsoft.com/es-es/library/dd409360.aspx

Code Compiling Recuperado el día 31 de Octubre del 2013 de
http://www.codecompiling.net/files/slides/UML_clase_03_UML_actividades_estados.pdf

Argo UML Recuperado el día 31 de Octubre del 2013 de http://msdn.microsoft.com/es-es/library/dd409360.aspx


Argo UML Recuperado el día 31 de Octubre del 2013 de http://argouml.tigris.org

jueves, 7 de noviembre de 2013

Videos

Sube un vídeo de tu diagrama, herramienta case o que tenga relación con el tema. 

UModel.


Diagramas de Estado

Diagramas de Estado


Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicación en respuesta a eventos junto con sus acciones. También ilustran qué eventos pueden cambiar el estado de los objetos de la clase. Normalmente contienen: estados y transiciones.
Un estado es una condición o situación en la vida de un objeto durante la cual satisface una condición, realiza alguna actividad o espera algún evento.
 Un evento es la especificación de un acontecimiento significativo que ocupa un lugar en el tiempo y en el espacio. Es la aparición de un estímulo que puede (o no) activar una transición de estado.
Una transición es una relación entre dos estados que indica que un objeto que esté en el primer estado realizará ciertas acciones y entrará en el segundo estado cuando ocurra un evento especificado y se satisfagan unas condiciones especificadas.

Simbología




Herramientas CASE

Visio
Draw.io
ArgoUML
Simbología de diagramas de estado
Si
Si
Si
Precio
$3,999
Libre
Libre
Idioma
Español
Español
Español
Soporte técnico
Si (vía email, chat)
Si (vía email)
Si (vía email)
Capacitación
Cursos gratuitos.
Video tutorial, foro.
Foro, manual, FAQ.
Facilidad de usar
Fácil
Muy fácil
Regular
Exportación
Jpg, xml, pdf, vsd
Jpg, xml, pdf
Xmi, zargo, uml

Herramienta CASE elegida: Draw.io, ya que además de ser gratuita, es la de interfaz más sencilla y más amigable con el usuario, junto con la opción de poder exportar los diagramas a pdf o jpg.

Caso práctico


Conclusiones
El diagrama de estados proporciona una gran cantidad de símbolos y abarca varias ideas. Los desarrolladores, deben saber la forma en que los objetos se supone se comportarán, ya que son ellos quienes tendrán que establecer tales comportamientos en el software.

Los diagramas de estado se aseguran que no tendrán que adivinar lo que se supone que harán los objetos, con una clara representación de un objeto aumenta la probabilidad de que el equipo de desarrollo produzca un sistema que cumpla con los requerimientos.

Bibliografía

Gutierrez, D. (s.f.). Code Compiling. Obtenido de http://www.codecompiling.net/files/slides/UML_clase_03_UML_actividades_estados.pdf

Vidal, M. C. (s.f.). ITESCAM. Obtenido de Instituto Tecnológico Superior de Calkiní en el Estado de Campeche: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r33019.PDF

Fernando Téllez Alvarado
Herramientas CASE
7mo semestre
Universidad del Pedregal

miércoles, 6 de noviembre de 2013

Diagrama de Colaboración

Diagrama de Secuencia

Diagrama de Actividades

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