LICENCIATURA EN INGENIERIA EN SISTEMAS DE INFORMACIN CURSO: LOGICA DE SISTEMAS CATEDRATICO: Ing. Yolanda Canel
DIAGRAMAS DE ESTADO DE UML
NOMBRE DEL ALUMNO: OSCAR FRANCISCO CHIN PIRIR ANGEL LEONEL ESTRADA ESTRADA WILMER ISAIAS TEZEN SURUY LUIS ALFREDO SOC SUBUYUJ ADOLFO ESTUARDO BOROR PIRIR
Diagramas de Estados, Transiciones, Recurrencia, paquetes y otros artefactos de UML. Importancia del UML para el modelado
Diagrama de estado Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto durante su vida en una aplicacin en respuesta a eventos (por ejemplo, mensajes recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones. Tambin ilustran qu eventos pueden cambiar el estado de los objetos de la clase. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades, vamos a ver primero sus definiciones. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones. DIAGRAMAS DE ESTADO Diagrama de estados De Wikipedia, la enciclopedia libre Saltar a navegacin, bsqueda En UML, un diagrama de estados es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de informacin luego de ejecutarse cada proceso. Permite identificar bajo qu argumentos se ejecuta cada uno de los procesos y en qu momento podran tener una variacin. El diagrama de estados permite visualizar de una forma secuencial la ejecucin de cada uno de los procesos. Externos Diagramas de estado en UML Los diagramas de estado describen grficamente los eventos y los estados de los objetos. Los diagramas de estado son tiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso. Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condicin de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transicin es una relacin entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente.
DIAGRAMAS DE ESTADO Los diagramas de estado describen grficamente los eventos y los estados de los objetos. Los diagramas de estado son tiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso. Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Unes tado es la condicin de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transicin es una relacin entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente. En UML, los estados se representan mediante valos. Las transiciones se representan mediante flechas con el nombre del evento respectivo. Se acostumbra poner un estado inicial (crculo negro). Por ejemplo:
Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que le ocurren, sus transiciones, y los estados que median entre estos eventos. En particular, es til hacer diagramas de estado para describir la secuencia permitida de eventos en los casos de uso. Por ejemplo, en el caso de usocom pr ar Pr oductos no est permitido efectuarpagoT ar jeta mientras no haya ocurrido el eventoter m inar Venta. Un diagrama de estado que describe los eventos globales del sistema y su secuencia en un caso de uso es un diagrama de estado para casos de uso. Por ejemplo, una versin simplificada del diagrama de estados para el caso de usocom pr ar Pr oductos es el siguiente:
Una versin ms completa del diagrama anterior se muestra en la siguiente figura: El diagrama anterior aun no est completo, pues falta considerar algunos casos excepcionales, como por ejemplo, si al rechazar una tarjeta de crdito o un cheque, el cliente decide pagar usando otro mtodo, por ejemplo pagando en efectivo.
Diagrama de transicin de UML Transicin simple Una transicin simple es una relacin 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 lnea slida entre dos estados, que puede venir acompaada de un texto con el siguiente formato: event-signature [ guard-condition] / action-expression ^ send- clause event-signature es la descripcin del evento que da a lugar la transicin, guard- condition son las condiciones adicionales al evento necesarias para que la transicin ocurra, action-expression es un mensaje al objeto o a otro objeto que se ejecuta como resultado de la transicin y el cambio de estado y send-clause son acciones adicionales que se ejcutan con el cambio de estado, por ejemplo, el envio de eventos a otros paquetes o clases. En el caso del ejemplo inicial de esta hoja se tiene una transicin entre los estados IntroduciendoMoneda y SeleccionadoAzucaryProducto que tiene una transicin con el siguiente detalle: userInput( Button ) | [TodoOk=true} / MostrarNivelAzucar, MostrarProducto El evento que dispara el cambio de estado es userInput( Button). Se requiere como condicin adicional que no se haya detectado ninguna falla (TodoOk = true) y se ejecuta MostrarNivelAzucar y MostrarProducto, que deberan ser ejecutables por el objeto al cual pertenece el diagrama. Transicin interna Es una transicin 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. Supongamos el estado de una interfaz pidiendo password al usuario. En este caso puede tenerse una transicin interna que muestre una ayuda al usuario. Esta transicin se muestra en el siguiente diagrama con la cadena "help / display help " dentro del cuerpo del estado.
Diagrama de Recurrencia de UML
Paquetes y artefactos de UML
Artefactos para el Desarrollo de Proyectos
Un artefacto es una informacin que es utilizada o producida mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descripcin o un software. Los artefactos de UML se especifican en forma de diagramas, stos, junto con la documentacin sobre el sistema constituyen los artefactos principales que el modelador puede observar.
Se necesita ms de un punto de vista para llegar a representar un sistema. UML utiliza los diagramas grficos para obtener estos distintos puntos de vista de un sistema: Diagramas de Implementacin. Diagramas de Comportamiento o Interaccin. Diagramas de Casos de uso. Diagramas de Clases.
Ejemplo de algunos de los diagramas que utiliza UML. Diagramas de Implementacin
Se derivan de los diagramas de proceso y mdulos de la metodologa de Booch, aunque presentan algunas modificaciones. Los diagramas de implementacin muestran los aspectos fsicos del sistema. Incluyen la estructura del cdigo fuente y la implementacin, en tiempo de implementacin. Existen dos tipos: Diagramas de componentes Diagrama de plataformas despliegue
Paquetes Los consejos en esta seccin son aplicables a la aplicacin de los paquetes en cualquier diagrama UML y no slo los diagramas de paquete. Paquetes de dar nombres simples, descriptivos Aplicar los paquetes para simplificar diagramas Paquetes debe ser coherente Indican capas de la arquitectura con los estereotipos sobre los paquetes Evitar dependencias cclicas entre paquetes Dependencias de los paquetes debern reflejar las relaciones internas Artefactos de UML: Un artefacto es la especificacin de un componente fsico de informacin que es usado o producido por un proceso de desarrollo de software, o por el desarrollo y operacin de un sistema. Ejemplos de artefactos incluyen modelo de archivos, archivos fuentes, scripts, archivos binarios ejecutables, una tabla en una base de datos, un development deliverable, o un documento de procesamiento de texto, como un mensaje de correo electrnico, etc. Un artefacto es una informacin que es utilizada o producida mediante un proceso de desarrollo de software. Pueden ser artefactos un modelo, una descripcin o un software. Los artefactos de UML se especifican en forma de diagramas, stos, junto con la documentacin sobre el sistema constituyen los artefactos principales que el modelador puede observar. Se necesita ms de un punto de vista para llegar a representar un sistema. UML utiliza los diagramas grficos para obtener estos distintos puntos de vista de un sistema. Diagramas de Implementacin. Diagramas de Comportamiento o Interaccin. Diagramas de Casos de uso. Diagramas de Clases.
Importancia de UML para el modelado Por qu modelamos? Una empresa que: Produce de forma consistente software que satisface las necesidades de sus usuarios. Puede desarrollar el software de forma predecible y puntual. Con un uso eficiente y efectivo de recursos tanto humanos como materiales Tiene un negocio sostenible. El producto principal de un equipo de desarrollo: No son documentos ni reuniones muy importantes. Es un buen software que satisfaga las necesidades de sus usuarios y la empresa. Para desarrollar software rpida, efectiva y eficientemente es necesario: Trabajo repetido. Mnimo desecho de software. Gente apropiada. Enfoque apropiado. Herramientas apropiadas. Considerar las necesidades del problema y tecnologa. El modelado es una parte central de todas las actividades que conducen a la produccin de buen software. Construimos modelos para: Comunicar la estructura deseada y el comportamiento de nuestro sistema. Visualizar y controlar la arquitectura de nuestro sistema. Comprender qu estamos construyendo, muchas veces descubriendo oportunidades para la simplificacin y reutilizacin. Controlar el riesgo. La importancia de modelar De acuerdo al tipo de emprendimiento, tanto en su tamao como en caractersticas se necesitar de distintas herramientas, procesos, arquitectura, recursos humanos y las tecnologas. El truco est en crear el software apropiado y en imaginar cmo escribir menos software. Un proyecto puede ser concebido con respecto a su tamao en un programa pequeo, y crecer enormemente, pero si no se han tenido en cuenta, previamente la arquitectura, el proceso o las herramientas, este colapse. El modelado es comn en los proyectos software exitosos. El modelado es una tcnica de ingeniera probada y bien aceptada. Nos ayuda a: Visualizar a sus usuarios el producto final. Comprender mejor el sistema. Comunicar las ideas a otros. Qu es entonces un modelo? "UN MODELO ES UNA SIMPLIFICACIN DE LA REALIDAD". Pueden involucrar planos detallados como planos ms generales que ofrecen una visin global del sistema en consideracin. POR QU MODELAMOS? Construimos modelos para comprender mejor el sistema que estamos desarrollando. A travs del modelado se consiguen cuatro objetivos: Nos ayuda a visualizar como es queremos que sea un sistema. Nos permite especificar la estructura el comportamiento de un sistema. Nos proporcionan plantillas que nos guan en la construccin de un sistema. Documentan las decisiones que hemos tomado. El modelado es til tanto en pequeos como en grandes sistemas. Mientras ms grande y complejo sea el sistema el modelado se hace importante por una simple razn: "CONSTRUMOS MODELOS DE SISTEMAS COMPLEJOS PORQUE NO PODEMOS COMPRENDER EL SISTEMA EN SU TOTALIDAD". A travs del modelado, reducimos el problema que se est estudiando, centrndonos en un solo aspecto a la vez. Se puede modelar formal e informalmente, pero este ltimo no proporciona un lenguaje comn que se pueda compartir fcilmente con otros. Mientras ms complejo sea el sistema, requiere modelaje. Si se construye un sistema simple y este es sencillo al principio no se piensa que este necesite de modelaje, pero si este evoluciona y crece, se lamentar no haberlo realizado. Principios de modelado 1. LA ELECCIN ACERCA DE QU MODELOS CREAR TIENE UNA PROFUNDA INFLUENCIA SOBRE CMO SE ACOMETE UN PROBLEMA Y CMO SE DA FORMA A UNA SOLUCIN. De acuerdo con el paradigma con el que se enfoque el problema a solucionar sern distintas las herramientas, los procesos, la arquitectura, los recursos humanos y las tecnologas a utilizar. 2. TODO MODELADO PUEDE SER EXPRESADO CON DIFERENTES NIVELES DE PRESICIN. 3. LOS MEJORES MODELOS ESTN LIGADOS A LA REALIDAD. Los modelos simplifican la realidad, hay que asegurarse que las simplificaciones no enmascaren ningn detalle importante. En las tcnicas de anlisis estructurado el punto dbil es que existe una brecha entre el modelo de anlisis y el modelo dediseo del sistema. En los sistemas orientados a objetos es posible conectar todas las vistas casi independientes de un sistema en un todo semntico. 4. UN NICO MODELO O VISTA NO ES SUFICIENTE. CUALQUIER SISTEMA NO TRIVIAL SE ABORDA MEJOS A TRAVS DE UN PEQUEO CONJUNTO DE MODELOS CASI INDEPENDIENTES CON MLTIPLES PUNTOS DE VISTA. Significa tener modelos que podemos construir y estudiar separadamente, pero an as, estn interrelacionados. Modelado orientado a objetos En el desarrollo de software hay varias formas de enfocar un modelo. Las dos formas ms comunes son la perspectiva algortmica y la perspectiva orientada a objetos. Perspectiva algortmica basada en: Procedimientos. Funciones. Perspectiva orientad a objetos basada en: Objetos. Clases. Definicin de objeto: Tiene una identidad, puede distinguirse de otros objetos. Tiene un estado, datos asociados a l. Tiene un comportamiento, se le pueden hacer cosas a l y a su vez l le puede hacer cosas a otros objetos. Definicin de clase: Es un descripcin de un conjunto de objetos que son lo suficientemente similares para compartir una especificacin. Del paradigma de orientacin a objetos se derivan varias implicaciones cul es la estructura de una buena arquitectura orientada a objetos? qu artefactos debera crear el proyecto? quin debera crearlos? cmo deberan medirse? VISUALIZAR, ESPECIFICAR, CONSTRUIR y DOCUMENTAR sistemas orientados a objetos es exactamente el propsito de UML.