Você está na página 1de 65
UML DINÁMICO Alejandro Gomero Portilla
UML DINÁMICO Alejandro Gomero Portilla

UML DINÁMICO

UML DINÁMICO Alejandro Gomero Portilla

Alejandro Gomero Portilla

2
2

Contenido

2 Contenido 1. Conceptos de orientación a objetos 2. Antecedentes de UML 3. Presentación de UML

1. Conceptos de orientación a objetos

2. Antecedentes de UML

3. Presentación de UML

4. Modelado dinámico

Alejandro Gomero Portilla

Conceptos de orientación a objetos

3
3
Conce p tos de orientación a ob j etos 3 La orientación a ob j etos

La orientación a objetos es una manera natural de pensar acerca del mundo

real y de escribir programas de cómputo.

El término orientado a objetos significa que se organiza un concepto como

una colección de objetos discretos que incorporan tanto la estructura de

datos (atributos) como el comportamiento (métodos y mensajes).

En cualquier parte del mundo real se pueden ver objetos: gente, animales,

plantas, autos, aviones, edificios, computadoras, etc.

Alejandro Gomero Portilla

Principios Básicos de la Orientación a Objetos

4
4
Princi p ios Básicos de la Orientación a Ob jetos 4 Orientación a Objetos Abstra cción
Orientación a Objetos
Orientación a Objetos
Abstra cción
Abstra cción
Modul aridad E ncaps ulació n
Modul aridad
E
ncaps ulació n
4 Orientación a Objetos Abstra cción Modul aridad E ncaps ulació n Here ncia Polimo rfismo
Here ncia Polimo rfismo
Here ncia
Polimo rfismo

Alejandro Gomero Portilla

5
5

Abstracción

5 Abstracción Los humanos pensamos en términos de objetos. Poseemos la maravillosa habilidad de la abstracción,

Los humanos pensamos en términos de objetos.

Poseemos la maravillosa habilidad de la abstracción, que nos permite ver imágenes

digitales de personas, aviones, árboles como objetos, en vez de verlos como puntos

de colores individuales.

Los humanos aprenden acerca de los objetos estudiando sus atributos y observando

su comportamiento.

El diseño orientado a objetos modela el software en términos similares a los que

utilizan las personas para describir objetos del mundo real.

Alejandro Gomero Portilla

6
6

… Abstracción

6 … Abstracción La abstracción se enfoca en las característi cas esenciales de un objeto, relativas

La abstracción se enfoca en las características esenciales de un objeto, relativas a la perspectiva del observador.

en las característi cas esenciales de un objeto, relativas a la perspectiva del observador. Alejandro Gomero

Alejandro Gomero Portilla

7
7

Encapsulación

7 Encapsulación También llamado " ocultación de la información " , esto asegura que los objetos

También llamado "ocultación de la información", esto asegura que los objetos no pueden cambiar el estado interno de otros objetos de maneras inesperadas.

Solamente los propios métodos internos del objeto pueden acceder a su estado.

Cada tipo de objeto expone una interfaz a otros objetos que especifica cómo otros objetos pueden interactuar con él.

Seguramente es posible conducir un auto con efectividad, sin necesidad de saber los detalles acerca de cómo funcionan internamente los motores, transmisión o suspensión.

Alejandro Gomero Portilla

8
8

Encapsulación

8 Encapsulación La encapsulación esconde los detalles de implementación de un objeto. Alejandro Gomero Portilla

La encapsulación esconde los detalles de implementación de un objeto.

8 Encapsulación La encapsulación esconde los detalles de implementación de un objeto. Alejandro Gomero Portilla

Alejandro Gomero Portilla

9
9

Modularidad

9 Modularidad Es la división de algo complejo en piezas manejables Sistema de Procesamiento d e

Es la división de algo complejo en piezas manejables

Sistema de Procesamiento de Órdenes de Compra

Sistema de Procesamiento d e Órd enes d e C ompra Elaboración d e Ord en

Elaboración de Orden

Alejandro Gomero Portilla

Entrada de

Orden

Facturación

10
10

Polimorfismo

10 Polimorfismo La habilidad de ocultar diferentes implementaciones detrás de una Interfaz sencilla Algunos lenguajes

La habilidad de ocultar diferentes implementaciones detrás de una Interfaz sencilla

Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

como las plantillas y la sobrecarga de operadores de C++. Manufactura A M a n u

Manufactura A

y la sobrecarga de operadores de C++. Manufactura A M a n u f a c

Manufactura B

de C++. Manufactura A M a n u f a c t u r a B
de C++. Manufactura A M a n u f a c t u r a B
de C++. Manufactura A M a n u f a c t u r a B

Alejandro Gomero Portilla

de C++. Manufactura A M a n u f a c t u r a B

Manufactura C

11
11

Herencia

11 Herencia Organiza y facilita el polimorfismo y la encapsulación permitiendo a los objetos ser definidos

Organiza y facilita el polimorfismo y la encapsulación permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.

Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento.

Esto suele hacerse habitualmente agrupando los objetos en clases y las clases en árboles o enrejados que reflejan un comportamiento común.

Alejandro Gomero Portilla

Herencia

12
12
Herencia 12 Niveles de Abstracción Vehículo Incremento de Abstracción Decremento de Abstracción Autobús

Niveles de Abstracción

Vehículo

Herencia 12 Niveles de Abstracción Vehículo Incremento de Abstracción Decremento de Abstracción Autobús
Herencia 12 Niveles de Abstracción Vehículo Incremento de Abstracción Decremento de Abstracción Autobús
Herencia 12 Niveles de Abstracción Vehículo Incremento de Abstracción Decremento de Abstracción Autobús

Incremento de Abstracción

Incremento de Abstracción
Decremento de Abstracción Autobús

Decremento de Abstracción

Autobús

Incremento de Abstracción Decremento de Abstracción Autobús Taxi Transporte

Taxi

Transporte

Incremento de Abstracción Decremento de Abstracción Autobús Taxi Transporte
Incremento de Abstracción Decremento de Abstracción Autobús Taxi Transporte

Alejandro Gomero Portilla

Camión

Personal

Remolque Volteo
Remolque Volteo
Remolque Volteo
Remolque Volteo
Remolque Volteo

Remolque

Volteo

Los elementos que están al mismo nivel jerárquico pueden estar al mismo nivel de abstracción

,

13
13

Antecedentes de UML

13 Antecedentes de UML UML se h a converti d o en e l est á

UML se ha convertido en el estándar de facto de la industria, debido a que ha sido concebido por los autores de los tres métodos más usados de orientación a objetos: Grady Booch, Ivar Jacobson y Jim Rumbaugh.

Esta notación ha sido ampliamente aceptada debido al prestigio de sus creadores y debido a que incorpora las principales ventajas de cada uno de los métodos particulares en los que se basa: Booch, OMT y OOSE.

Alejandro Gomero Portilla

¿Porque “Unificado” ?

14
14
¿Por q ue “Unificado” ? 14 Alejandro Gomero Portilla
¿Por q ue “Unificado” ? 14 Alejandro Gomero Portilla

Alejandro Gomero Portilla

Presentación de UML El Lenguaje de Modelado Unificado ( Unified Modeling Languag e, UML )

Presentación de UML

Presentación de UML El Lenguaje de Modelado Unificado ( Unified Modeling Languag e, UML ) es

El Lenguaje de Modelado Unificado (Unified Modeling Language, UML ) es un lenguaje estándar para escribir planos de software. UML puede utilizarse para visualizar, especificar, construir y documentar los artefactos que forman un sistema software orientado a objetos.

UML es apropiado para modelar desde sistemas de información en empresas hasta aplicaciones distribuidas basadas en el Web.

UML es solo un lenguaje y por tanto es tan sólo parte de una metodología de desarrollo de software. UML es independiente del proceso, aunque para utilizarlo óptimamente se debería usar en un proceso dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental.

Alejandro Gomero Portilla

15

… Presentación de UML UML es un lenguaje Su vocabulario y reglas se centran en

… Presentación de UML

… Presentación de UML UML es un lenguaje Su vocabulario y reglas se centran en la

UML es un lenguaje

Su vocabulario y reglas se centran en la representación conceptual y física de un sistema. Detrás de cada símbolo hay una semántica bien definida.

UML es un lenguaje para:

Visualizar. Un desarrollador puede escribir un modelo en UML, y otro desarrollador o incluso una herramienta, puede interpretar el modelo sin ambigüedad.

Especificar. Cubre la especificación de todas las decisiones del análisis, diseño e implementación.

Construir. Sus modelos pueden conectarse de forma directa a una gran variedad de lenguajes de programación.

Documentar. Produce toda clase de artefactos, estos artefactos incluyen (aunque no se limitan a): Requisitos, Arquitectura, Diseño, Código, Admon. Proyectos, Pruebas, Prototipos, Versiones.

Alejandro Gomero Portilla

16

Arquitectura: Las 4+1 Vistas

17
17
Ar q uitectura: Las 4+1 Vistas 17 Vista Vista de Implementación Lógica Analistas/ Diseñadores Programadores/
Vista Vista de Implementación Lógica Analistas/ Diseñadores Programadores/ Admon. Proyecto Usuario Final
Vista
Vista de
Implementación
Lógica
Analistas/
Diseñadores
Programadores/
Admon. Proyecto
Usuario Final
funcionalidad
Vista de
Casos de Uso
Vista de
Procesos
Vista de
Deployment
Integradores de sistemas
Desempeño
Rendimiento
Ingenieros de sistemas
Topología de sistemas
C
I
nsta ac
l
n,
omun cac
i
n

Alejandro Gomero Portilla

18
18

Vistas de UML

Vista de casos de uso

 

Comprende los CU que describen el comportamiento del sistema tal y como es percibido por los usuarios finales, analistas y encargados de pruebas.

Vista de diseño (Lógica)

Comprende clases, interfaces y colaboraciones que forman el vocabulario de problema y solución.

Vista de implementación

Comprende los componentes y archivos que se utilizan para ensamblar y hacer disponible el sistema físico.

Vista de procesos

Comprende los hilos y procesos que forman los mecanismos de sincronización y concurrencia del sistema.

Vista de despliegue (Deployment)

Contiene los nodos que forman la topología hardware sobre la que se ejecuta el sistema.

Alejandro Gomero Portilla

Modelado del comportamiento

19
19
Modelado del com p ortamiento 19 Casos de uso y actores Diagramas de casos de uso

Casos de uso y actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados

actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados
actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados
actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados
actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados
actores Diagramas de casos de uso Interacciones Diagramas de secuencia Diagramas de colaboración Diagramas de estados

Alejandro Gomero Portilla

20
20

Actores y Casos de Uso

20 Actores y Casos de Uso Actor Caso de uso Actor : Alguien o algo fuera
Actor Caso de uso
Actor
Caso de uso

Actor: Alguien o algo fuera del sistema que interactúa con nuestro sistema

Caso de Uso: Secuencia de acciones desempeñadas por un sistema que provee un resultado a un actor

Alejandro Gomero Portilla

Actores y Casos de Uso

21
21
Actores y Casos de Uso 21 Actor Representa el rol jugado por una persona, dispositivo de

Actor

Representa el rol jugado por una persona, dispositivo de hardware u otro sistema al interactuar con nuestro sistema.

Caso de uso

Describe qué hace un sistema, pero no especifica cómo lo hace. El comportamiento de un caso de uso se especifica describiendo un flujo de eventos de forma textual.

Alejandro Gomero Portilla

22
22

Encontrar actores

22 Encontrar actores ¿Quien está usando el sistema (interactuando con el sistema)? Estudiante S e c

¿Quien está usando el sistema (interactuando con el sistema)?

está usando el sistema (interactuando con el sistema)? Estudiante S e c r e t a

Estudiante

usando el sistema (interactuando con el sistema)? Estudiante S e c r e t a r
usando el sistema (interactuando con el sistema)? Estudiante S e c r e t a r
usando el sistema (interactuando con el sistema)? Estudiante S e c r e t a r

Secretaria

con el sistema)? Estudiante S e c r e t a r i a Sistema de

Sistema de

Registro

El estudiante nunca toca el sistema; la secretaria lo opera. O quizás si se está
El estudiante nunca toca el sistema; la secretaria lo opera.
O quizás si se está construyendo una aplicación sobre Internet …
si se está construyendo una aplicación sobre Internet … Estudiante Sistema de Registro (www) Alejandro Gomero

Estudiante

se está construyendo una aplicación sobre Internet … Estudiante Sistema de Registro (www) Alejandro Gomero Portilla
se está construyendo una aplicación sobre Internet … Estudiante Sistema de Registro (www) Alejandro Gomero Portilla

Sistema de Registro (www)

Alejandro Gomero Portilla

23
23

Instancias de actores

23 Instancias de actores Pedro actúa como estudiante Jorge actúa como estudiante Modelo de Casos de
23 Instancias de actores Pedro actúa como estudiante Jorge actúa como estudiante Modelo de Casos de

Pedro actúa como estudiante

23 Instancias de actores Pedro actúa como estudiante Jorge actúa como estudiante Modelo de Casos de
23 Instancias de actores Pedro actúa como estudiante Jorge actúa como estudiante Modelo de Casos de

Jorge actúa como estudiante

Modelo de Casos de Uso Registro de cursos Estudiante
Modelo de Casos de Uso
Registro de cursos
Estudiante

Alejandro Gomero Portilla

Un usuario puede actuar como diferente actor

24
24
Un usuario puede actuar como diferente actor 24 Estudiante Profesor Carlos actúa como Estudiante C ar
Estudiante Profesor
Estudiante
Profesor

Carlos actúa como Estudiante

actor 24 Estudiante Profesor Carlos actúa como Estudiante C ar l os Carlos actúa como Profeso
actor 24 Estudiante Profesor Carlos actúa como Estudiante C ar l os Carlos actúa como Profeso
actor 24 Estudiante Profesor Carlos actúa como Estudiante C ar l os Carlos actúa como Profeso

Carlos

24 Estudiante Profesor Carlos actúa como Estudiante C ar l os Carlos actúa como Profeso r

Carlos actúa como Profesor

Alejandro Gomero Portilla

Identificar Actores

25
25
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién
Identificar Actores 25 Actor ¿Quién usará el sistema? ¿Quién obtendrá información de este sistema? ¿Q uién

Actor

¿Quién usará el sistema?

¿Quién obtendrá información de este sistema?

¿Quién proveerá información al sistema?

¿En que parte de la organización será usado el sistema?

¿Quién dará soporte y mantenimiento al sistema?

¿Que otros sistemas necesitarán interactuar con el sistema?

Alejandro Gomero Portilla

¿Qué es un caso de Uso?

26
26
¿Qué es un caso de Uso? 26 Un Caso de Uso de fi ne una secuencia

Un

Caso de Uso
Caso de Uso

define una secuencia de

un caso de Uso? 26 Un Caso de Uso de fi ne una secuencia de U
U n caso d e U so d escr ib e un conjun o t
U n caso
d
e
U
so
d
escr
ib
e un conjun o
t
d
e pos
ibl
es
ejecuciones del sistema:
•Un ejecución específica (instancia) de un
caso de uso es un Escenario.
Acciones
Acciones
(instancia) de un caso de uso es un Escenario. Acciones realizadas por un si stema que

realizadas por un sistema que produce un resultado a un Actor

Secuencia de actividades atómicas, decisiones, y peticiones: •Pueden ser ejecutadas completamente o no. •Iniciadas
Secuencia de actividades atómicas, decisiones,
y peticiones:
•Pueden ser ejecutadas completamente o no.
•Iniciadas por un actor

Alejandro Gomero Portilla

Identificar Casos de Uso

27
27
Identificar Casos de Uso 27 ¿Cuáles son las tareas de cada actor? ¿Qué hará el actor

¿Cuáles son las tareas de cada actor?

¿Qué hará el actor cuando use el sistema?

¿El actor creará, guardará, cambiará, borrará o leerá datos en el sistema?

¿El actor necesitará informar al sistema acerca de cambios o eventos externos?

¿El actor necesitará ser informado sobre ciertos acontecimientos en el sistema

¿Qué necesita el sistema para un comportamiento correcto?

¿Qué información debe ser creada o modificada?

¿Qué casos de uso se necesitan para iniciar, terminar o mantener el sistema?

Alejandro Gomero Portilla

Diagramas de Casos de Uso

28
28
Dia g ramas de Casos de Uso 28 Los diagramas de casos de uso son importantes

Los diagramas de casos de uso son importantes para modelar el comportamiento de un sistema, un subsistema

o una clase.

Cada uno muestra un conjunto de casos de uso, actores

y sus relaciones.

Estos diagramas facilitan que los sistemas, subsistemas y clases sean abordables y comprensibles.

Alejandro Gomero Portilla

Diagramas de Casos de Uso

29
29
Dia g ramas de Casos de Uso 29 Comunicación-Asociación Comunicación ( Línea o Flecha ) Es

Comunicación-Asociación

Comunicación (Línea o Flecha)

Es una asociación entre un actor y un caso de uso que indica que interactúan

Dirección

Indica quién inicia la comunicación con un caso de uso Caso de uso Actor 1
Indica quién inicia la comunicación con un caso de uso
Caso de uso
Actor 1
Actor 2

Alejandro Gomero Portilla

Ejemplo: Cajero automático

30
30
Ejemplo: Cajero automático 30 Un Cajero Automático (ATM) Retiro de efectivo Transferir fondos Depositar fondos M

Un Cajero Automático (ATM)

Retiro de efectivo Transferir fondos Depositar fondos M anten m ento i i d e
Retiro de efectivo
Transferir fondos
Depositar fondos
M
anten m ento
i
i
d
e
ATM
fondos Depositar fondos M anten m ento i i d e ATM Cliente Sistema Bancario Cajero

Cliente

Sistema Bancario

Depositar fondos M anten m ento i i d e ATM Cliente Sistema Bancario Cajero Mantenimiento

Cajero

Depositar fondos M anten m ento i i d e ATM Cliente Sistema Bancario Cajero Mantenimiento

Mantenimiento

Alejandro Gomero Portilla

Ejemplo: Sistema de registro de cursos en línea

31
31
Ejemplo: Sistema de registro de cursos en línea 31 Estudiante Otro actor Sistema de registro de
Ejemplo: Sistema de registro de cursos en línea 31 Estudiante Otro actor Sistema de registro de

Estudiante

Sistema de registro de cursos en línea 31 Estudiante Otro actor Sistema de registro de cursos

Otro actor

Sistema de registro de cursos Registro Catalogo de cursos Otro caso de uso Otro actor
Sistema de registro de cursos
Registro
Catalogo de cursos
Otro caso de uso
Otro actor
Caso de Uso 3

Alejandro Gomero Portilla

Relaciones entre casos de uso

32
32
Relaciones entre casos de uso 32 H erenc ia Include Extend Alejandro Gomero Portilla

Herencia

Include

Extend

Alejandro Gomero Portilla

33
33

Herencia

33 Herencia La generali zac ión entre casos de uso es como la generali zac ión

La generalización entre casos de uso es como la generalización entre

clases.

El caso de uso hijo hereda el comportamiento y significado del caso de uso

padre.

El hijo puede añadir o redefinir el comportamiento del padre.

Tanto el padre como el hijo pueden tener instancias concretas.

Alejandro Gomero Portilla

34
34

Herencia

34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla
34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla

Validar Usuario

34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla
34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla
34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla

Examinar Retina

34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla
34 Herencia Validar Usuario Examinar Retina Comprobar clave Alejandro Gomero Portilla

Comprobar clave

Alejandro Gomero Portilla

35
35

Include

35 Include Se utiliza ara factorizar el com ortamiento de común (extra endo ese com ortamiento

Se utiliza

ara factorizar el com ortamiento de común (extra endo ese com ortamiento de

p

los casos de uso en que se incluye)

p

y

p

Una relación de inclusión entre casos de uso significa que un caso de uso base incorpora

explícitamente el comportamiento de otro caso de uso en el lugar especificado del caso de

uso base.

El caso de uso uncluido nunca se encuentra aislado, sino que es instanciado sólo como parte de

un caso de uso base más amplio que lo incluye

 

Se usa para evitar describir el mismo flujo de eventos repetidas veces, poniendo el

comportamiento común en un caso de uso aparte.

Alejandro Gomero Portilla

36
36

Include

36 Include <<include>> Hacer Pedido <<include>> Validar Cliente Seguir Pedido Alejandro
<<include>> Hacer Pedido
<<include>>
Hacer Pedido
36 Include <<include>> Hacer Pedido <<include>> Validar Cliente Seguir Pedido Alejandro
<<include>>
<<include>>
Hacer Pedido <<include>> Validar Cliente Seguir Pedido Alejandro Gomero Portilla

Validar Cliente

Hacer Pedido <<include>> Validar Cliente Seguir Pedido Alejandro Gomero Portilla

Seguir Pedido

Alejandro Gomero Portilla

37
37

Extend

37 Extend Significa que el caso de uso base incorpora implíc itamente el comportamiento de otro

Significa que el caso de uso base incorpora implícitamente el comportamiento de otro caso de

uso en el lugar especificado indirectamento por el caso de uso que extiende al base.

El caso de uso base puede estar aislado pero, bajo ciertas condiciones, su comportamiento

puede extenderse con el comportamiento de otro caso de uso.

La extensión se puede ver como que el caso de uso que extiende incorpora su comportamiento

en el caso de uso base.

Se utiliza para modelar la parte de un caso de uso que el usuario puede ver como

comportamiento opcional del sistema.

Alejandro Gomero Portilla

38
38

Extend

38 Extend Hacer Pedido <<include>> <<include>> Validar Cliente Seguir Pedido
38 Extend Hacer Pedido <<include>> <<include>> Validar Cliente Seguir Pedido
Hacer Pedido <<include>> <<include>> Validar Cliente Seguir Pedido
Hacer Pedido
<<include>>
<<include>>
Validar Cliente
Seguir Pedido
<<include>>
Enviar Pedido
<<extend>>
Enviar Pedido Especial

Alejandro Gomero Portilla

39
39

Escenarios

39 Escenarios Un “Escenario” es una instancia de Caso de uso Registro de Estudiante Catalogo de

Un “Escenario” es una instancia de Caso de uso

Registro de Estudiante Catalogo de cursos cursos
Registro de
Estudiante
Catalogo de
cursos
cursos
Escenario 1 1. Acceder al sistema 2. Aprobar el acceso 3. Ingresar “materia” en busqueda
Escenario 1
1. Acceder al sistema
2. Aprobar el acceso
3. Ingresar “materia” en
busqueda (search)
4. Tomar la lista de cursos
5. Desplegar la lista de
cursos
6. Seleccionar cursos
7. Confirmar
disponibilidad
8. Desplegar horario final

Alejandro Gomero Portilla

Escenario 2 1. Acceder al sistema 2. Aprobar el acceso 3. Introducir “materia”en busqueda 4.
Escenario 2
1. Acceder al sistema
2. Aprobar el acceso
3. Introducir “materia”en
busqueda
4. Tema no válido
5. Reingresar tema
6. Tomar la lista de cursos
7. Desplegar la lista de
cursos
8. Seleccionar cursos
9. Confirmar
disponibilidad
10.Desplegar horario final

Cada Comunicación-Asociación es un diálogo completo

40
40
Cada Comunicación-Asociación es un diálogo completo 40 Acceder al sistema Aprobar el acceso Solicitar información
Acceder al sistema Aprobar el acceso Solicitar información de un curso Registro de cursos Estudiante
Acceder al sistema
Aprobar el acceso
Solicitar información
de un curso
Registro de cursos
Estudiante
Catalogo de
cursos
Desplegar la lista
de cursos
Seleccionar cursos
Confirmar disponibilidad
en cursos
Transmitir
p
etición
Desplegar el horario
aprobado
Regresar información
del curso
Alejandro Gomero Portilla

Detallar el flujo básico de eventos

41
41
Detallar el flujo básico de eventos 41 Registrarse para cursos Flujo Básico 1. Acceder Este caso
Registrarse para cursos Flujo Básico 1. Acceder Este caso de uso inicia cuando un estudiante
Registrarse para cursos
Flujo Básico
1. Acceder
Este caso de uso inicia cuando un estudiante accede al Web Site.
El sistema le solicita al estudiante usuario y contraseña …
2. Seleccionar ‘Crear un Horario’
El sistema despliega las funciones disponibles al estudiante. El estudiante selecciona ‘Crear Horario’.
3. Obtener información de cursos
El sistema recupera del catalogo de cursos una lista de los cursos ofrecidos que estén disponibles y
despliega una lista al estudiante …
4. Seleccionar Cursos
El estudiante selecciona 4 cursos elementales y dos alternos de la lista de cursos disponibles.
5. Someter Horario
El estudiante indica que su horario esta completo. Para cada curso agregado al horario, el sistema verifica
que el estudiante cumpla con los prerrequisitos necesarios …
6. Desplegar Horario completo
El sistema despliega el horario del estudiante con los cursos seleccionados, así como el número de
confirmación del horario.

Alejandro Gomero Portilla

Estructurar el flujo en pasos

Numerar y titular cada paso

Describir los pasos (1 – 3 sentencias)

42
42

Interacciones

42 Interacciones Una interacción es un com p ortamiento q ue com p rende un conjunto

Una interacción es un comportamiento que comprende un

conjunto de mensajes intercambiados entre un conjunto de objetos

dentro de un contexto para lograr un propósito.

Las interacciones se utilizan para modelar aspectos dinámicos

de las colaboraciones, que representan sociedades de objetos

que juegan roles específicos, y colaboran entre sí.

Alejandro Gomero Portilla

43
43

Términos y Conceptos

43 Términos y Conce p tos Contexto : Una interacción puede aparecer siempre que unos objetos

Contexto : Una interacción puede aparecer siempre que unos objetos estén enlazados a otros. Las interacciones aparecerán en la colaboración de objetos existentes en el contexto de un sistema.

Ob jetos: Los objetos que participan en una interacción son o bien elementos concretos o bien elementos prototípicos.

Como elemento concreto, un objeto representa algo del mundo real. Por ejemplo, p, es una instancia de la clase persona.

Como elemento prototípico, p podría representar cualquier instancia de persona.

Alejandro Gomero Portilla

… Términos y Conceptos

44
44
… Términos y Conce p tos 44 M ensa j e : es la especificación de

M ensa j e : es la especificación de una comunicación entre objetos que

transmite información.

Enlace: es una conexión semántica entre objetos. En general, es una

instancia de una asociación.

Secuenciación : cuando un objeto envía un mensaje a otro, el objeto

receptor puede a su vez enviar un mensaje otro objeto etcétera

,

,

Alejandro Gomero Portilla

,

.

45
45

Creación y Destrucción

45 Creación y Destrucción La mayoría de las veces los objetos que participan en una interacción

La mayoría de las veces los objetos que participan en una interacción existen durante

todo el tiempo que dura la interacción, sin embargo alguna interacciones pueden llevar

a la creación y destrucción de objetos.

new: Especifica que la instancia o el enlace se crea durante la ejecución de la interacción que lo

contiene.

destroyed: Especifica que la instancia o el enlace se destruye antes de completarse la ejecución

de la interacción.

transient: Especifica que la instancia o el enlace se crea durante la ejecución de la interacción,

pero se destruye antes de completar su ejecución.

Alejandro Gomero Portilla

Diagramas de Interacción

46
46
Dia gramas de Interacción 46 Los diagramas de secuencia y colaboración son diagramas que se utilizan

Los diagramas de secuencia y colaboración son diagramas que se utilizan para modelar los aspectos dinámicos de los sistemas.

Un diagrama de interacción muestra una interacción, que consiste en un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos.

Alejandro Gomero Portilla

Diagramas de Secuencia

47
47
Dia g ramas de Secuencia 47 Un dia g rama de secuencia es un dia grama

Un diagrama de secuencia es un diagrama de interacción que destaca la ordenación temporal de los mensajes.

Un diagrama de secuencia se forma colocando en primer lugar los objetos que participan en la interacción en la parte superior del diagrama, a lo largo del eje X.

Normalmente se coloca a la izquierda el objeto que inicia la interacción, y los objetos subordinados a la derecha.

Los mensajes que envían y reciben los objetos se colocan a lo largo del eje Y, en orden de sucesión en el tiempo, desde arriba hasta abajo.

Alejandro Gomero Portilla

Diagramas de secuencia

48
48
Dia g ramas de secuencia 48 c : Ciente objetos p : proxyODBC tiempo <<create>> {transient}

c : Ciente

objetos

Dia g ramas de secuencia 48 c : Ciente objetos p : proxyODBC tiempo <<create>> {transient}

p : proxyODBC

tiempo

<<create>> {transient} : Transaccion new( ) establecerAcciones(a,d o, ) establecerValores(d,3.4 )
<<create>>
{transient}
: Transaccion
new( )
establecerAcciones(a,d o, )
establecerValores(d,3.4 )
establecerValores(a,"CO" )
éxito
foco de control
destroy( )

línea de vida

) establecerValores(a,"CO" ) éxito foco de control destroy( ) línea de vida Alejandro Gomero Portilla

Alejandro Gomero Portilla

Diagrama de secuencia para hacer Login

49
49
Diagrama de secuencia para hacer Login 49 : Cualquier usuario : Forma de Login : Controlador
: Cualquier usuario : Forma de Login : Controlador de Login : Login 1: Capturar
: Cualquier usuario
: Forma de
Login
: Controlador de
Login
: Login
1: Capturar usuario y contraseña( )
2: Validar usuario y contraseña( )
3: Validar Usuario y contraseña( )

Alejandro Gomero Portilla

Establecer llamada telefónica

50
50
s : Interlocutor : Centralita r : Interlocutor descolgar Auricular darTonoDeLlmada( ) *marcarDigito c :
s : Interlocutor
: Centralita
r : Interlocutor
descolgar Auricular
darTonoDeLlmada( )
*marcarDigito
c : Conversacion
enrutarLlam ada(s , n)
<<create>>
new( )
llamar( )
descolgar Auricular
conectar(r, s)
conectar(s)
conectar(r)
Los interlocutores r y s
puden intercam biar
inform ación después de
conectarse

Alejandro Gomero Portilla

Registro de usuarios por Internet

51
51
Reg istro de usuarios p or Internet 51 f : formaRegistro : controlRegistro : usuario :
Reg istro de usuarios p or Internet 51 f : formaRegistro : controlRegistro : usuario :

f : formaRegistro

: controlRegistro

p or Internet 51 f : formaRegistro : controlRegistro : usuario : C i e n

: usuario

: Ciente

Solicitar Registro capturarInformacion( )
Solicitar Registro
capturarInformacion( )
Datos requeridos para el registro
Datos
requeridos para
el registro

desplegarForma( )

) Datos requeridos para el registro desplegarForma( ) validarDatos( ) : Registro registrarUsuario( )   lid

validarDatos( )

para el registro desplegarForma( ) validarDatos( ) : Registro registrarUsuario( )   lid I f i

: Registro

el registro desplegarForma( ) validarDatos( ) : Registro registrarUsuario( )   lid I f i U

registrarUsuario( )

 

lid

I

f

i

U

i

va

ar n ormac on

suar o( )

I f i U i va ar n ormac on suar o( ) new( ) registrarUsuario(

new( )

registrarUsuario( )

Mensaje Usuario Registrado

i va ar n ormac on suar o( ) new( ) registrarUsuario( ) Mensaje Usuario Registrado

Alejandro Gomero Portilla

Diagramas de Comunicación

52
52
Dia g ramas de Comunicación 52 Un di agrama de comun i cac ión es un

Un diagrama de comunicación es un diagrama de interacción que destaca

la organización estructural de los objetos que envían y reciben mensajes.

Un diagrama de comunicación se construye colocando en primer lugar los

objetos que participan en la comunicación como nodos del grafo.

Se representan los enlaces que conectan esos objetos como arcos del grafo.

Los enlaces se adornan con los mensajes que envían y reciben los objetos.

Alejandro Gomero Portilla

Diagramas de comunicación

53
53
Dia g ramas de comunicación 53 1: new( ) 2: establecerAcciones(a,d o, ) 6: destroy( )
Dia g ramas de comunicación 53 1: new( ) 2: establecerAcciones(a,d o, ) 6: destroy( )

1: new( ) 2: establecerAcciones(a,d o, ) 6: destroy( )

secuencias

c : Ciente : Transaccion 5: éxito mensaje 3: establecerValores(d,3.4 ) 4: establecerValores(a,"CO" )
c : Ciente
: Transaccion
5: éxito
mensaje
3: establecerValores(d,3.4 )
4: establecerValores(a,"CO" )
objetos
p :
proxyODBC

Alejandro Gomero Portilla

enlace

Diagrama de comunicación para hacer Login

54
54
Diagrama de comunicación para hacer Login 54 2: Validar usuario y contraseña( ) : Forma de

2: Validar usuario y contraseña( )

: Forma de Login : Controlador de Login 3: Validar Usuario ycontraseña( ) 1: Capturar
: Forma
de Login
: Controlador de
Login
3: Validar Usuario ycontraseña( )
1: Capturar usuario y contraseña( )
: Login

: Cualquier usuario

Alejandro Gomero Portilla

Establecer llamada telefónica

55
55
Establecer llamada telefónica 55 2: darTonoDeLlmada( ) 4: enrutarLlamada(s, n) 1: descolgar Auricular 3: *marcarDigito

2: darTonoDeLlmada( ) 4: enrutarLlamada(s, n)

1: descolgar Auricular 3: *marcarDigito s : : Centralita Interlocutor 8: conectar(r, s) 5: new(
1: descolgar Auricular
3: *marcarDigito
s
:
: Centralita
Interlocutor
8: conectar(r, s)
5: new( )
10: conectar(r)
6: llamar( )
9: conectar(s)
c
:
r : Interlocutor
Conversacion

7: descolgar Auricular

Alejandro Gomero Portilla

Registro de usuarios por Internet

56
56
Reg istro de usuarios p or Internet 56 2: desplegarForma( ) 4: validarDatos( ) 1: Solicitar

2: desplegarForma( ) 4: validarDatos( )

p or Internet 56 2: desplegarForma( ) 4: validarDatos( ) 1: Solicitar Registro 3: capturarInform acion(
1: Solicitar Registro 3: capturarInform acion( ) 5: registrarUsuario( ) f : formaRegistro : controlRegistro
1: Solicitar Registro
3: capturarInform acion( )
5: registrarUsuario( )
f : formaRegistro
: controlRegistro
5: registrarUsuario( ) f : formaRegistro : controlRegistro 9: Mensaje Usuario Registrado : usuario 6:
5: registrarUsuario( ) f : formaRegistro : controlRegistro 9: Mensaje Usuario Registrado : usuario 6:

9: Mensaje Usuario Registrado

: controlRegistro 9: Mensaje Usuario Registrado : usuario 6: validarInformacionUsuario( ) 7: new( ) 8:

: usuario

: controlRegistro 9: Mensaje Usuario Registrado : usuario 6: validarInformacionUsuario( ) 7: new( ) 8:
: controlRegistro 9: Mensaje Usuario Registrado : usuario 6: validarInformacionUsuario( ) 7: new( ) 8:

6: validarInformacionUsuario( )

7: new( ) 8: registrarUsuario( )

: usuario 6: validarInformacionUsuario( ) 7: new( ) 8: registrarUsuario( ) : Registro : Ciente Alejandro
: usuario 6: validarInformacionUsuario( ) 7: new( ) 8: registrarUsuario( ) : Registro : Ciente Alejandro
: Registro : Ciente
: Registro
: Ciente

Alejandro Gomero Portilla

57
57

Diagramas de Estado

57 Dia g ramas de Estado El comportamiento de un objeto individual puede ser modelado mediante

El comportamiento de un objeto individual puede ser modelado mediante una máquina de estados.

Una máquina de estados es un comportamiento que especifica las secuencias de estados por las que pasa un objeto durante su vida, en respuesta a eventos.

Alejandro Gomero Portilla

58
58

Estado

58 Estado Un estado es una abstracción de los valores y ligas de un objeto. Corresponden

Un estado es una abstracción de los valores y ligas de un objeto.

Corresponden a verbos con el sufijo “ando”, “endo”, “iendo” (“ing” en inglés) (Esperando, Marcando) o la duración de alguna condición (BajoCongelamiento, Habilitado).

Un estado tiene duración

Un estado especifica la respuesta a los eventos de entrada

la respuesta puede ser la invocación de un comportamiento

o un cambio de estado

Alejandro Gomero Portilla

59
59

Diagramas de Estado

59 Diagramas de Estado Los nodos son estados y líneas son transiciones que están etiquetadas por

Los nodos son estados y líneas son transiciones que están etiquetadas por eventos

Se debe Distinguir entre dos tipos de operaciones:

Actividad: Operación que toma tiempo para ser completada

asociada con estados

Acción: Operación Instantánea

asociada con eventos asociada con estados (reduce complejidad): Entry, Exit, Acción Interna

Un diagrama de estados describe eventos y estados de una clase

Un modelo de objetos con un conjunto de objetos tiene un conjunto de estados

Alejandro Gomero Portilla

Diagrama de Estados Notación UML

60
60

Dia g rama de Estados Notación UML 60 Estado1 evento(attr) [condición]/action do/Activity en ry ac t
Estado1 evento(attr) [condición]/action do/Activity en ry ac t / ti on exit/action
Estado1
evento(attr) [condición]/action
do/Activity
en ry ac
t
/
ti
on
exit/action
Estado2
Estado2

Un diagrama de estados UML puede ser convertido a una máquina de estados finitos

Estado - cuadro

Transición - línea

Evento – etiqueta de transición

Condiciones – en corchetes

Acción – después de diagonal

Alejandro Gomero Portilla

Transiciones y Condiciones

61
61
Transiciones y Condiciones 61 Una transición es un cambio instantáneo de un estado a otro Se

Una transición es un cambio instantáneo de un estado a otro

Se dice que la transición lanza el cambio desde el estado fuente al estado objetivo.

Una transición se lanza cuando ocurre un evento ( a menos que una condición guardia lo ignore).

Un evento puede causar múltiples transiciones.

Una condición guardia es una expresión booleana que debe ser verdadera para que ocurra una transición. (solo se verifica una vez)

Alejandro Gomero Portilla

62
62

Menú del Mouse

62 Menú del Mouse boton derecho abajo / mostrar menu pop-up Ocioso Menu visible boton izquierdo
boton derecho abajo / mostrar menu pop-up Ocioso Menu visible boton izquierdo abajo / borrar
boton derecho abajo / mostrar menu pop-up
Ocioso
Menu visible
boton izquierdo abajo / borrar menu pop-up

Alejandro Gomero Portilla

cursor movido /

ilumina elemento menu

63
63

Reloj Digital

63 Reloj Dig ital Digital Watch mode Button( ) i nc( ) inc / hours:=hours+1 inc
Digital Watch mode Button( ) i nc( ) inc / hours:=hours+1 inc / minutes:=minutes+1 Display
Digital Watch
mode Button( )
i nc( )
inc / hours:=hours+1
inc / minutes:=minutes+1
Display
mode_button
mode_button
Set hours
Set Minutes
do: display current
do: display
do: display
mode_button

Alejandro Gomero Portilla

Ejemplo de un Diagrama de Estado

64
64
Ej em p lo de un Dia g rama de Estado 64 Monedas in (cantidad) /
Monedas in (cantidad) / set saldo Tomando Dinero Ociosa Monedas in (cantidad) / agrega al
Monedas in (cantidad) / set saldo
Tomando Dinero
Ociosa
Monedas in (cantidad) / agrega al saldo
cancela / regresa monedas
[artículo vacío]
Selec. (art.)
[cambio<0]
do: probar artículo y calcular cambio
[cambio=0]
[cambio>0]
do: despachar artículo
do: generar cambio

Alejandro Gomero Portilla

Diagrama de estado de una línea telefónica

65
65
Diagrama de estado de una línea telefónica 65 LineaTelefono colgar colgar Ociosa descolgar TiempoFuera TonoMarcar
LineaTelefono colgar colgar Ociosa descolgar TiempoFuera TonoMarcar tiempofuera digito(n) Advirtiendo
LineaTelefono
colgar
colgar
Ociosa
descolgar
TiempoFuera
TonoMarcar
tiempofuera
digito(n)
Advirtiendo
tiempofuera
Mensaje
Marcando
Grabado
numeroInvalido
numeroValido
TonoOcupado
numeroOcupado
Conectando
troncalOcupado
mensajeDado
TonoOcupado
enrutado
Rapido
Sonando
respuestasTelefonoLlamado
Conectado
telefonoLlamadoCuelga
Desconectado

Alejandro Gomero Portilla