|
Diagramas de Estado
Un estado es una condición durante la vida de un objeto, de forma que cuando dicha condición se satisface se lleva a cabo alguna acción o se espera por un evento. El estado de un objeto se puede caracterizar por el valor de uno o varios de los atributos de su clase, además, el estado de un objeto también se puede caracterizar por la existencia de un enlace con otro objeto. Un estado identifica un período de tiempo (no instantáneo) en la vida del objeto durante el cual está esperando alguna operación, tiene cierto comportamiento característico o puede recibir cierto tipo de estímulos. En notación UML, un estado se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimentos: 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).
Elementos del Diagrama de Estado.
Estado
situación en la vida de un elemento durante la cual se satisface alguna condición, se realiza alguna actividad o se espera algún suceso (Inicial, Intermedio, Final) – Transición: relación entre dos estados que indica que un elemento que esté en un primer estado realizará ciertas acciones y entrará en el segundo estado cuando se produzca un suceso especificado y se satisfacen las condiciones indicadas
– Suceso o Evento: especificación de algún acontecimiento que ocupa espacio y tiempo. Es la aparición de un estímulo que puede disparar la transición de un estado a otro
Actividad: ejecución no atómica en curso, dentro de una máquina de estados. Lo que se hace en el estado
– do: operación que toma un tiempo en el estado. Puede interrumpirse por un suceso, externo o interno, o terminar en transición automática
• Acción: computación atómica ejecutable que produce un cambio de estado del modelo o devuelve algún valor (deben ser operaciones de la clase)
– entry: instantáneamente a la entrada del estado
– exit: instantáneamente a la salida del estado
– eventos
Eventos
Es 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 particular
El 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 mensajes
Ademá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
Una 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. Las transiciones se representan mediante flechas. Se acostumbra poner un estado inicial (círculo negro), que puede venir acompañada de un texto con el nombre del evento respectivo con el siguiente formato:
event-signature "[" guard-condition] "/" action-expression "^"send-clause
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 interna
Es 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:
Ejemplo
* 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.
Subestados
Un 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 Compleja
Una 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 anidados
Una 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.
Herramientas CASE CASE es una sigla, que corresponde a las iniciales de: Computer Aided Software Engineering; y en su traducción al Español significa Ingeniería de Software Asistida por Computación.
El concepto de CASE es muy amplio; y una buena definición genérica, que pueda abarcar esa amplitud de conceptos, sería la de considerar a la Ingeniería de Software Asistida por Computación (CASE), (Computer Aided Software Engineering) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero.
Concentrando nuestra atención en el uso de estas herramientas, para el desarrollo de proyectos informáticos que tengan como objetivo la automatización de procedimientos adiministrativos; podemos decir que:
Las herramientas CASE representan una forma que permite Modelar los Procesos de Negocios de las empresas y desarrollar los Sistemas de Información Gerenciales.
Objetivos del CASE
1. Aumentar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos.
2. Mejorar la calidad del software desarrollado.
3. Reducir tiempos y costes de desarrollo y mantenimento del software.
4. Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación, ejecución y control.
5. Mejorar el archivo de datos (enciclopedia) de conocimientos (know-how) y sus facilidades de uso, reduciendo la dependencia de analistas y programadores.
6. Automatizar :
* El desarrollo del software
* La documentación
* La generación del código
* El chequeo de errores
* La gestión del proyecto
7. Permitir
* La reutilización (reusabilidad) del software
* La portabilidad del software
* La estandarización de la documentación
8. Integrar las fases de desarrollo (ingeniería del software) con las herramientas CASE
9. Facilitar la utilización de las distintas metodologías que desarrollan la propia ingeniería del software.
Estructura general de una herramienta case
La estructura CASE se basa en la siguiente terminología:
* CASE de alto nivel son aquellas herramientas que automatizan o apoyan las fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificación de sistemas, el análisis de sistemas y el diseño de sistemas.
* CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las fases finales o inferiores del ciclo de vida como el diseño detallado de sistemas, la implantación de sistemas y el soporte de sistemas.
* CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos y la estimación.
Clasificación de las herramientas case
No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
- Las plataformas que soportan.
- Las fases del ciclo de vida del desarrollo de sistemas que cubren.
- La arquitectura de las aplicaciones que producen.
- Su funcionalidad.
Una primera clasificación del CASE es considerando su amplitud :
TOOLKIT: es una colección de herramientas integradas que permiten automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático: Planificación estratégica, Análisis, Diseño, Generación de programas.
WORKBENCH: Son conjuntos integrados de herramientas que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable y su documentación.
Una segunda clasificación es teniendo en cuenta las fases (y/o tareas) del ciclo de vida que automatizan:
UPPER CASE: Planificación estratégica, Requerimientos de Desarrollo Funcional de Planes Corporativos.
MIDDLE CASE: Análisis y Diseño.
LOWER CASE: Generación de código, test e implantación
INFOGRAFIA
- Titulo: Herramientas Case
Url: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml
- Titulo: Herramientas Case.
Url: http://www.ilustrados.com/publicaciones/EpykZkulZZsYzwABxh.php
-Titulo: Herramientas Case
Url: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml
- Titulo: Herramientas Case.
Url: http://es.wikipedia.org/wiki/Herramienta_CASE
- Titulo:
Introducción a los Sistemas y Herramientas Case.
Url: http://ceds.nauta.es/informes/case01.htm
- Titulo: Herramientas Case.
Url: http://www.biblioteca.uade.edu.ar/tecnicaadministrativa/biblioteca/bddoc/bdlibros/
proyectoinformatico/libro/c5/c5.htm
- Titulo: Diagramas de Estado
Url: http://www.creangel.com/uml/estado.php
- Titulo: Diagramas de Estado
Url: http://www-gris.det.uvigo.es/~avilas/UML/node45.html
- Titulo: Diagramas de Estado
Url: http://es.tldp.org/Tutoriales/doc-modelado-sistemas-UML/multiple-html/x101.html
- Titulo: Análisis y Diseño Orientado a Objetos
Url: http://www.dcc.uchile.cl/~luguerre/cc40b/clase8.html
- Titulo:
Proceso Unificado – Captura de Requisitos.
Url: http://72.14.209.104/search?q=cache:hvOrlXvy7ogJ:kybele.escet.urjc.es/documentos
/IS/Requisitos.pdf+diagramas+de+estado&hl=es&gl=ve&ct=clnk&cd=13&lr=lang_es
Inicio |