La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Dirección General de Servicios de Cómputo Académico (DGSCA) Dirección de Sistemas Modelado de Sistemas con UML Agosto, 2003 Integrado por: Rebeca Núñez.

Presentaciones similares


Presentación del tema: "Dirección General de Servicios de Cómputo Académico (DGSCA) Dirección de Sistemas Modelado de Sistemas con UML Agosto, 2003 Integrado por: Rebeca Núñez."— Transcripción de la presentación:

1 Dirección General de Servicios de Cómputo Académico (DGSCA) Dirección de Sistemas Modelado de Sistemas con UML Agosto, 2003 Integrado por: Rebeca Núñez Alonso Eduardo A. Sánchez Rodríguez

2 Diagramas de Estado Comportamiento dinámico MODELADO DE SISTEMAS CON UML

3 Diagramas de Estado Orientación a Objetos = Estructura + Comportamiento Los diagramas de clase representan la estructura y el comportamiento estático de los objetos. ¿Cómo representamos el comportamiento dinámico? Desde la creación de un objeto hasta su fin DIAGRAMA DE ESTADOS El Diagrama de Estados modela el trabajo interno de los objetos

4 Diagramas de Estado Un diagrama de transición de estado se usa para mostrar la historia de vida de una clase dada, los eventos que causan una transición de un estado a otro, y las acciones que resultan de un cambio de estado El espacio de estado de una clase dada es la numeración de todos los estados posibles de un objeto El estado de un objeto es una de las condiciones posibles en las que puede existir un objeto  Contiene todas las propiedades del objeto o Usualmente estático  Más los valores actuales de cada una de estas propiedades o Usualmente dinámico DIAGRAMA DE ESTADOS

5 Representación del Comportamiento Modelado del aspecto Dinámico Interacción –Comportamiento de una sociedad de objetos Máquina de Estados –Comportamiento de un objeto

6 DIAGRAMA DE ESTADOS Características de una Máquina de Estados Una máquina de estados bien estructurada es: –Eficiente –Simple –Adaptable –Entendible

7 DIAGRAMA DE ESTADOS Máquina de Estados Representa la secuencia de estados del tiempo de vida de un objeto, suscitados por Eventos –Señales –Operaciones –El paso del Tiempo Ocurrencia de un Evento Ejecución de una Actividad Dependiendo del Estado Actual del Objeto

8 Diagramas de Estado numStudents < 10 Open Le número máximo de alumnos por curso es 10 numStudents > = 10 Closed numStudents = 7 English101 : Course Course numStudents Los estados pueden distinguirse por los valores de ciertos atributos DIAGRAMA DE ESTADOS

9 Diagramas de Estado ProfessorCourse 0..*1 Los estados también pueden distinguirse por la existencia de ciertas ligas Las instancias de la clase Profesor puede tener dos estados: –Impartir cuando existe una liga a un curso –En sabático cuando no existe liga Estado de un objeto es una de las posibles condiciones en que un objeto puede existir propiedades (estático) y sus valores (dinámico) DIAGRAMA DE ESTADOS

10 Estado Condición o situación de un objeto durante su tiempo de vida, en la cual: –Satisface una condición –Realiza alguna actividad –Espera la ocurrencia de un evento La respuesta es afectada por el pasado. Un estado se representa como un rectángulo redondeado DIAGRAMA DE ESTADOS Rastreando entry/activarModo(enRastreo) do/rastrea() exit/activarModo(noRastreo)

11 Un estado representa cierta duración de proceso o intervalo de tiempo Un estado tiene varias partes: Nombre.- Una cadena de texto que distingue al estado de otros estados; un estado puede ser anónimo, es decir, puede no tener nombre, pero se recomienda nombrar a los estados para indicar su duración. Acciones de entrada/estancia/salida.- Acciones realizadas al entrar, estar y salir del estado, respectivamente. Subestados.- Estructura anidada de un estado, que engloba subastados disjuntos (activos secuencialmente) o concurrentes (activos concurrentemente). DIAGRAMA DE ESTADOS Rastreando entry/activarModo(enRastreo) do/rastrea() exit/activarModo(noRastreo)

12 Transiciones Una transición representa un cambio de un estado original a un estado sucesor como resultado de algunos estímulos Open Canceled Cancel course Add student DIAGRAMA DE ESTADOS

13 Transición Relación de cambio entre dos estados 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 determinadas. DIAGRAMA DE ESTADOS AdeudoPagado Pagar Transición

14 Una transición cuenta con cinco partes:  Estado origen o inicial.  Evento de disparo.  Condición de Guarda.  Acción.  Estado destino o final. DIAGRAMA DE ESTADOS

15 Estados Inicial y Final El estado inicial es registrado cuando se crea un objeto Un estado inicial es obligatorio Solo un estado inicial es permitido El estado inicial se representa como un círculo sólido Un estado final indica el final de vida de un objeto (la destrucción del objeto). Un estado final es opcional Puede existir más de un estado final Un estado final se indica con un “ojo” DIAGRAMA DE ESTADOS

16 Evento Especificación de una ocurrencia significativa que tiene una ubicación en el tiempo y el espacio Ocurrencia de un estímulo que dispara la transición de un estado DIAGRAMA DE ESTADOS

17 Evento (2) –Un evento es la ocurrencia de alguna situación que sucede en un punto del tiempo El estado del objeto determina la respuesta a diferentes eventos –Ejemplo: Agregación un alumno a un curso Creación de un curso nuevo DIAGRAMA DE ESTADOS

18 Condiciones de guarda Una condición de guarda es una expresión booleana de valores de atributos que permiten una transición solo si la condición es verdadera; si la expresión toma el valor falso, la transición no se dispara y si no hay otra transición que pueda ser disparada por el mismo evento, éste se pierde OpenRegistration Complete [ numStudents >= 3 ] DIAGRAMA DE ESTADOS

19 Acciones Una acción es una operación que se asocia a una transición Toma una cantidad insignificante de tiempo para completarse. Se considera no-interruptible Una computación atómica ejecutable que puede actuar directamente sobre el objeto asociado a la máquina de estados, e indirectamente sobre otros objetos visibles al objeto. No vale la pena modelar la estructura del control interno simple. Las acciones por el general [re-]asignan valores a los atributos. DIAGRAMA DE ESTADOS

20 Acciones Las acciones pueden generar otros eventos para coordinar operaciones. La notación es “ / ” Las acciones especifican un comportamiento en respuesta a un evento DIAGRAMA DE ESTADOS En tránsitoEnviado Paquete enviado/Producir factura

21 Actividad Ejecución no-atómica dentro de una maquina de estados. Produce –Cambio de Estado –Regresa un valor DIAGRAMA DE ESTADOS Dependiendo del Estado Actual del Objeto Ocurrencia de un Evento Ejecución de una Actividad Cambio de Estado del Objeto

22 Actividad Una actividad es una operación que toma tiempo para completarse Las actividades se asocian con un estado Una actividad Inicia cuando se introduce el estado Puede ejecutarse hasta el fin o puede ser interrumpida por una transición que sale Closed do: Report course is full DIAGRAMA DE ESTADOS

23 Diagramas de Estado - Ejemplo addStudent Initialize do: Initialize course object Unassigned do: Assign professor to course Open entry: Register a student Closed do: Report course is full Canceled do: Send cancellation notices addStudent/ numStudents = 0 cancelCourse RegistrationComplete do: Generate class roster cancelCourse [ numStudents = 10 ] cancelCourse [date = end] registration closed[ numStudents < 3 ] DIAGRAMA DE ESTADOS

24  Los estados anidados pueden ser usados para simplificar diagramas complejos.  Un superestado es un estado que incluye estados anidados, llamados subestados.  Las transiciones comunes de los subestados son representadas en el nivel del superestado.  Cualquier número de niveles de anidación son permitidos.  Los estados anidados pueden llevar a reducciones sustanciales en la complejidad gráfica, permitiendo modelar problemas más largos y complejos. Estados Anidados Los diagramas de transición de estado pueden volverse inmanejablemente largos y complejos. DIAGRAMA DE ESTADOS

25 Estados Anidados DIAGRAMA DE ESTADOS

26 Estados Anidados

27 Estados Anidados con Historia (1)  Al retornar a un superestado, se entra a subestado visitado más recientemente (y no al inicial).  Se denota con una (con historia).  Sin historia se entra siempre a subestado inicial. Ejemplo:  En el sistema de registro de cursos, la selección de curso hace lo siguiente : Acepta cursos primarios Acepta cursos alternativos DIAGRAMA DE ESTADOS

28 Estados Anidados con Historia (2) DIAGRAMA DE ESTADOS

29 Las opciones son:  El usuario puede renunciar en cualquier momento  El usuario puede suspender una sesión por un máximo de 30 minutos mientras selecciona cursos  El formulario es grabado después de que todos los cursos han sido seleccionados  El formulario es enviado a procesar después de que ha sido grabado Estados Anidados con Historia (3) DIAGRAMA DE ESTADOS

30 Diagramas de Estado – Ejemplo 1 DIAGRAMA DE ESTADOS

31 Diagramas de Estado – Ejemplo 2 addStudent Initialize Register Unassigned do: Assign professor to course Open entry: Register a student Unassigned do: Assign professor to course Open Closed Canceled RegistrationComplete do: Generate class roster Add student / numStudents = 0 [ numStudents = 10 ] cancelCourse registration closed [date = end] registration closed[ numStudents < 3 ] addStudent do: Report course is closed DIAGRAMA DE ESTADOS

32 Diagramas de Estado – Ejemplo 3 DIAGRAMA DE ESTADOS

33 NeutralReversa Avanzar PrimeraSegundaTercera Cambiar a R Cambiar a N Cambiar a F Subir Bajar DIAGRAMA DE ESTADOS

34 La notación para generalización puede ser usada para estados complejos. PrimeraSegundaTercera Subir Bajar Palanca Transmisión ReversaNeutralAvance Presiona N Presiona RPresiona A

35 DIAGRAMA DE ESTADOS La notación de agregación puede ser usada para concurrencia. Despacho al cliente Do: Despachar efectivo Do: Despachar tarjeta SM División de control: Inicia dos subestados concurrentes que son independientes S Unión de control: Ambas acciones deben de terminarse antes de pasar al siguiente estado, sin importar el orden M

36  Enfocarse sólo en los objetos que sean interesantes, complejos o de una problemática dinámica.  Considerar la interdependencia entre eventos y objetos.  Buscar cambios en el estado de los objetos causado por las ocurrencias de eventos.  Buscar eventos cuyos efectos son regidos por los estados del objeto.  En sistema de información busca objetos con estados regidos por valores de atributos y ligas entre objetos.  En sistemas en tiempo real busca objetos con estados regidos por el comportamiento. Aplicar el modelado de estados de manera selectiva. DIAGRAMA DE ESTADOS

37  Cada estado debe tener un predecesor (estado o estado inicial).  Tratar al estado sin un sucesor (estado o estado final) con suspicacia.  Seguir los efectos de un evento de entrada de objeto a objeto a través del sistema para verificar coherencia.  Verificar que los eventos correspondientes a diferentes diagramas de estados sean consistentes.  Cada evento debe tener un emisor y un receptor. Verificar la consistencia de los diagramas de estados. DIAGRAMA DE ESTADOS

38  ¿Todas las actividades y acciones aparecen como operaciones en el diagrama de clases?  El diagrama de clases soporta completamente al diagrama de estados. o¿Existen atributos y asociaciones que describen estados? o¿Existen atributos y asociaciones que evalúan condiciones de seguridad? o¿Hay operaciones públicas para todos los mensajes? o¿Hay operaciones privadas para entradas, salidas y acciones internas? Verificar consistencia entre diagramas dinámicos y de clases. DIAGRAMA DE ESTADOS

39 MODELADO DE SISTEMAS CON UML B ibliografía y Referencias

40 BIBLIOGRAFÍA Y REFERENCIAS Orientación a Objetos Booch, Grady. Análisis y diseño orientado a objetos, 2ª Edición México, Addison-Wesley Iberoamericana. 1996. Jacobson, Ivar. Object oriented software engineering. EE.UU, Addison-Wesley. 1994. Rumbaugh, James y otros. Object oriented modeling and design. EE.UU, Prentice-Hall. 1991.

41 BIBLIOGRAFÍA Y REFERENCIAS UML Booch, Grady. El Lenguaje Unificado de Modelado España, Addison-Wesley Iberoamericana. 1999. Booch, Grady. El Lenguaje Unificado de Modelado. Manual de Referencia España, Addison-Wesley Iberoamericana. 1999. Fowler, Martin UML Gota a Gota México, Addison-Wesley, 1999.

42 BIBLIOGRAFÍA Y REFERENCIAS Ligas de interés Objetct Management Group http://wwwhttp://www.omg.org/technology/uml/index.htm/technology/uml/indexhtm Rational Software Corporation http://www.rational.com/uml Cetus Links - Object-Orientation http://www.cetus-links.org The Object Agency http://www.toa.com The Object-Oriented Page http://www.well.com/user/ritchie/oo.html Sinan Si Alhir’s Web Site http://home.earthlink.net/~salhir/ Object Orientation Tips http://ootips.org/


Descargar ppt "Dirección General de Servicios de Cómputo Académico (DGSCA) Dirección de Sistemas Modelado de Sistemas con UML Agosto, 2003 Integrado por: Rebeca Núñez."

Presentaciones similares


Anuncios Google