880 likes | 1.23k Views
DIAGRAMA DE ACTIVIDADES. Demuestra la serie de actividades que deben ser realizadas en un uso-caso, así como las distintas rutas que pueden irse desencadenando en el uso-caso.
E N D
DIAGRAMA DE ACTIVIDADES Demuestra la serie de actividades que deben ser realizadas en un uso-caso, así como las distintas rutas que pueden irse desencadenando en el uso-caso.
Es utilizado en conjunción de un diagrama uso-caso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución.
Inicio: El inicio de un diagrama de actividad es representado por un círculo de color negro sólido. Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo. Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una línea con una flecha en su terminación para indicar dirección.
¿QUE ES EL DIAGRAMA DE ESTADO ? es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.
MAQUINA DE ESTADOUna MÁQUINA DE ESTADO es un comportamiento que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en respuesta a eventos, junto con sus respuestas a estos eventos.REPRESENTACION GRAFICA DE UNA MAQUINA DE ESTADOSLas maquinas de estados se visualizan por medio de diagramas deestado.Representación grafica deEstados: condición o situaciónNombreEfectos de entrada/salidaTransiciones InternasSubestadosEventos diferidos
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.
El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos. Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera.
En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino.
Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creación y un estado final de destrucción (finalización del caso de uso o destrucción del objeto). El estado inicial se muestra como un círculo sólido y el estado final como un círculo sólido rodeado de otro círculo. En realidad, los estados inicial y final son pseudoestados, pues un objeto no puede “estar” en esos estados, pero nos sirven para saber cuáles son las transiciones inicial y final(es).
ELEMENTOS DE LOS DIAGRAMAS DE ESTADO EstadoIdentifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado (entry, exit o do, respectivamente).EventosEs una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:· Condición que toma el valor de verdadero o falso· Recepción de una señal de otro objeto en el modelo· Recepción de un mensaje· Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particularEl nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.
Envío de mensajesAdemás de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del objeto receptor del mensaje.Transición simpleUna transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un texto con el siguiente formato:
event-signature es la descripción del evento que da lugar la transición, guard-condition son las condiciones adicionales al evento necesarias para que la transición ocurra, action-expression es un mensaje al objeto o a otro objeto que se ejecuta como resultado de la transición y el cambio de estado y send-clause son acciones adicionales que se ejecutan con el cambio de estado, por ejemplo, el envío de eventos a otros paquetes o clases.Transición internaEs una transición que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.
Acciones:Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.Generalización de Estados:· Podemos reducir la complejidad de estos diagramas usando la generalización de estados.· Distinguimos así entre superestado y subestados.· Un estado puede contener varios subestados disjuntos.· Los subestados heredan las variables de estado y las transiciones externas.· La agregación de estados es la composición de un estado a partir de varios estados independientes.La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del objeto.
SubestadosUn estado puede descomponerse en subestados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior.Transacción ComplejaUna transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.
Transición a estados anidadosUna transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad).Transiciones temporizadas· Las esperas son actividades que tienen asociada cierta duración.· La actividad de espera se interrumpe cuando el evento esperado tiene lugar.· Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.
DIAGRAMAS DE CASO DE USO Un diagrama de casos de uso es una especie de diagrama de comportamiento.
RELACIONES DE CASOS DE USO INCLUSION (INCLUDE O USE) EXTENSION (EXTEND) GENERALIZACION
INCLUSION (INCLUDE O USE) Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido. Esto es útil para extraer comportamientos verdaderamente comunes desde múltiples casos de uso a una descripción individual, desde el caso El estándar de Lenguaje de Modelado Unificado de OMG define una notación gráfica para realizar diagramas de casos de uso, pero no el formato para describir casos de uso.
EXTENSION (EXTEND) Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de la extensión se utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión o inclusión. "La extensión, es el conjunto de objetos a los que se aplica un concepto. Los objetos de la extensión son los ejemplos o instancias de los conceptos."
GENERALIZACION "Entonces la Generalización es la actividad de identificar elementos en común entre conceptos y definir las relaciones de una superclase (concepto general) y subclase (concepto especializado). Es una manera de construir clasificaciones taxonómicas entre conceptos que entonces se representan en jerarquías de clases. Las subclases conceptuales son conformes con las superclases conceptuales en cuanto a la intención y extensión."
DIAGRAMAS DE SECUENCIA Es un tipo de diagrama usado para modelar la interacción entre objetos en un sistema según UML. En inglés se pueden encontrar como "sequencediagram", "event-trace diagrams", "eventscenarios" o "timingdiagrams” .
Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. Contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos.
Existen dos tipos de mensajes: Sincrónicos: corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Asincrónicos: terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la cabeza abierta.
Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre “business” de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre “business” es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la clase instanciada por el objeto en la recepción final del mensaje.
DIAGRAMA DE CLASES Es el más utilizado y más conocido de los diagramas orientados a objetos. Es la fuente de generación de código. El diagrama de clase representa clases, sus partes y la forma en la que las clases de los objetos están relacionados con otro. Una clase es una definición de un tipo de objeto.
Atributos: describe las características de una clase de objetos. Operaciones: define el comportamiento de una clase de objetos Estereotipos: ayuda a entender este tipo de objeto en el contexto de otras clases de objetos con roles similares dentro del diseño del sistema. Asociación: es un término formal para un tipo de relación. Herencia: permite organizar las definiciones de la clase para simplificar y facilitar su implementación.
Son clases que definen un juego de operaciones externas accesibles pero sin métodos. Se usan para modelar una serie de operaciones que definen un servicio que puede ser ofrecido por diferentes clases. Se representan como clases pero con el estereotipo <<interface>>. Solo contienen operaciones públicas
ELEMENTOS 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.
CLASE Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos Modelar el entorno en estudio. Una clase es representada por un rectángulo que posee tres divisiones:
ATRIBUTO Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son: public (+,): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesesible desde todos lados. private (-,): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar). protected (#,): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (ver herencia).
METODOS Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, éstos pueden tener las características: public (+,): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados. private (-,): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar). protected (#,): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).
RELACIÓN ENTRE CLASES HERENCIA: 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 (public y protected). ASOCIACIÓN: La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si.
Casos de Uso Diagrama de Objetos Diagrama de Clase Diagrama de Secuencia Diagrama de Actividades Diagrama de Estados Diagrama de Colaboración
La representación de una clase es un rectángulo con 3 divisiones: El del nombre define la clase, (un tipo de objeto). El de los atributos contiene la definición de los datos. El de las operaciones contiene la definición de cada comportamiento soportado por este tipo de objeto.
DIAGRAMA DE COMPONENTES Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado. Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes.
Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.
LOS DIAGRAMAS DE COMPONENTES SE PUEDEN CLASIFICAR EN Componentes de despliegue: necesarios y suficientes para formar un sistema ejecuta. Por ejemplo: bibliotecas dinámicas (dll), ejecutables (exe). Componentes productos de trabajo: surgen durante el proceso de desarrollo y queda al final del mismo.Por ejemplo: buscarCliente.jar, cliente.db. Componentes de ejecución: se crean como consecuencia de un sistema de ejecución
Ventajas: · Representan aspectos físicos del sistema. · Se pueden construir a partir del modelo de clases y escribir desde cero para el nuevo sistema. · Se puede importar de otros proyectos o de productos terceros. Desventajas: · No representan aspectos irremplazables del sistema
DIAGRAMA DE OBJETOS Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML.
Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase. Estos no muestran nada diferente en suarquitectura a los diagramas de secuencia, pero reflejan multiplicidad y roles.
Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. Ejemplo En el caso del ejemplo se tienen como casos de uso de la cafetera RecibirDinero, PedirAzucar, PedirProducto, DarVueltas y Cancelar.
DIAGRAMAS DE EMPLAZAMIENTO Es aquel que muestra las relaciones físicas entre los componentes de software y de hardware en el sistema entregado. Así, el diagrama de emplazamiento es un buen sitio para mostrar cómo se enrutan (se refiere a la selección del camino en una red de computadoras por donde se envían datos) y se mueven los componentes y los objetos, dentro de un sistema distribuido.
Cada nodo de un diagrama de emplazamiento representa alguna clase de unidad de cómputo; en la mayoría de los casos se trata de una pieza de hardware. El hardware puede ser un dispositivo o un sensor simple, o puede tratarse de un mainframe (Computadora grande, poderosa y costosa utilizada principalmente en empresas que necesitan procesar gran cantidad de datos o soportar gran cantidad de usuarios.). Los componentes en un diagrama de emplazamiento representan módulos físicos de código y corresponden exactamente a los paquetes de un diagrama de paquetes de tal modo que el diagrama de emplazamiento muestra dónde se ejecuta cada paquete en el sistema.
Las dependencias entre los componentes deben ser las mismas que las dependencias de paquetes. Estas dependencias muestran cómo se comunican los componentes con otros componentes. La dirección de una dependencia dada indica el conocimiento en la comunicación.