Вы находитесь на странице: 1из 41

Sistemas de Información I

Unidad II

Modelado de Sistemas
Competencia General

Al completar la asignatura el alumno será capaz


de analizar los requisitos mediante su
refinamiento con el fin de comprenderlos,
estructurarlos y plasmarlos en artefactos de
análisis de software orientado a objetos.
Competencias Concretas
• Reconoce los problemas existentes al
desarrollar sistemas de información, ventajas y
desventajas en el uso de modelos de
proceso, así como conceptos básicos en la
gestión de proyectos de software.

• Conoce e implementa el lenguaje unificado


de modelado, así como la programación en
JAVA de las relaciones entre clases.
Resultados de la Unidad

Conoce e implementa el lenguaje unificado de


modelado, así como la programación en JAVA
de las relaciones entre clases.
¿Qué han investigado
acerca de los temas a
estudiar hoy día?
Sistemas de Información I

Unidad II

Modelado de Sistemas

Semana 11

Modelo de Interacción
Contenidos

Diagrama de Secuencia

Diagrama de Colaboración
¿Qué es?
El diagrama de secuencias en UML muestra la forma
Diagrama de Secuencia

en que los objetos se comunican entre sí al transcurrir


el tiempo.

El diagrama de secuencia muestra:


• Los objetos participando en la interacción
• La secuencia de mensajes intercambiados.

Un diagrama de secuencia contiene:


• Objetos con sus “líneas de vida”
• Mensajes intercambiados entre objetos en una
secuencia ordenada
• Línea de Vida Activa (opcional)
Diagrama de Secuencia
Ejemplo 1
Elementos principales
El diagrama de secuencias consta de objetos,
Diagrama de Secuencia

representados del modo usual: rectángulos con


nombres subrayados, estímulos (también conocidos como
mensajes) representados por líneas continuas con una
punta de flecha y el tiempo representado por una
progresión vertical.
Objetos
• Los objetos se colocan cerca de la parte superior
Diagrama de Secuencia

del diagrama de izquierda a derecha y se


acomodan de manera que simplifiquen el
diagrama.
• La extensión que está debajo (y en forma
descendente) de cada objeto será una línea
discontinua conocida como la línea de vida de un
objeto.
• Junto con la línea de vida de un objeto se
encuentra un pequeño rectángulo conocido como
activación, el cual representa la ejecución de una
operación que realiza el objeto.
• La longitud del rectángulo se interpreta como la
duración de la activación.
Mensajes
Los envíos de mensajes se representan mediante
Diagrama de Secuencia

flechas horizontales que unen la línea de vida del


objeto emisor con la línea de vida del objeto
destinatario. En cada flecha se pone el nombre del
acontecimiento que provoca el envío del mensaje, y
se puede acompañar de datos entre paréntesis.
Tipos de envió de mensajes
Diagrama de Secuencia
Tiempo
El diagrama representa al tiempo en dirección
Diagrama de Secuencia

vertical. El tiempo se inicia en la parte superior y


avanza hacia la parte inferior. Un mensaje que esté
más cerca de la parte superior ocurrirá antes que
uno que esté cerca a la parte inferior.

Con ello el diagrama de


secuencias tiene dos
dimensiones:

• La dimensión horizontal, que


es la disposición de los
objetos, y

• La dimensión vertical que


muestra el paso del tiempo
Recursividad
Un objeto puede enviarse mensajes a si mismo. En
Diagrama de Secuencia

ocasiones un objeto posee una operación que se


invoca así misma. A esto se reconoce como
recursividad.
Creación y destrucción de
objetos
Diagrama de Secuencia

A menudo en un diagrama de secuencia


representamos la creación y destrucción de
objetos de la siguiente forma:
Marcos de interacción
Diagrama de Secuencia

Un marco de interacción es una parte del


diagrama de secuencia asociado a una
etiqueta. Esta etiqueta contiene un
operador que determina la modalidad de
ejecución.

Las principales modalidades son:

• la alternativa y

• el bucle.
Marcos de interacción
Alternativa:
Diagrama de Secuencia

La alternativa se obtiene usando el


operador “opt” seguido de una condición.
Si la condición se evalúa a cierto, el
contenido del marco se ejecuta.
Marcos de interacción
Bucle:
Diagrama de Secuencia

El bucle se efectúa mediante el operador “loop”


seguido de los parámetros “min”, “max” y una
condición. El contenido del marco se ejecuta “min”
veces. Después sólo lo hace mientras se verifique la
condición y el número máximo de ejecuciones del
bucle no exceda de “max”.

Los parámetros
son opcionales:
Ejemplo 2
Registrar comprobante de pago de la venta de un
Diagrama de Secuencia

producto.

1. En primer lugar se elabora el diagrama de casos


de uso.
Ejemplo 2
Diagrama de Secuencia

2. En segundo lugar se explota o se


especifica los procesos o mensajes de
cada caso de uso, en el ejemplo
detallaremos el diagrama de secuencia
del caso de uso Registrar Cliente.

3. Se elabora un diagrama de secuencia en


donde se muestran todos los mensajes
que suceden entre los actores u objetos
en el caso de uso Registrar Cliente.
Diagrama de Secuencia Ejemplo 2
Diagrama de Secuencia Ejemplo 3
Es una forma de representar:
Diagrama de Colaboración

Interacción entre objetos.


¿Qué• es?
• Asociaciones básicas (relaciones) entre las clases.
• Determinar responsabilidades (una o varias) que el
software debe cumplir expresadas en los contratos

¿En que consiste?


Diseñar un sistema de objetos interactivos que
realicen las tareas, usando como punto de partida
las responsabilidades del contrato de operación y las
pos condiciones.
Diagrama de Colaboración
¿Qué representa?
Un diagrama de colaboración representa el
comportamiento de los objetos en tiempo de
ejecución, por medio de paso de mensajes,
para así cumplir con un contrato específico.

Sirven para ir depurando el diagrama de


clases, porque irán surgiendo métodos nuevos
y tal vez atributos necesarios.

Nota: Es importante que al elaborar el Diagrama de


colaboración uno se guíe por los principios de
máxima cohesión y bajo acoplamiento.
Diagrama de Colaboración
Acoplamiento y Cohesión
Alta cohesión: En términos de software se refiere de
que tanto un modulo de un sistema tiene una sola
responsabilidad. Por ende, un modulo con alta
cohesión será aquel que guarde una alta relación
entre sus funcionalidades, manteniendo el enfoque a
su único propósito.

Bajo acoplamiento: En términos de software se


refiere a la relación que se guardan entre los módulos
de un sistema y la dependencia entre ellos. El bajo
acoplamiento dentro de un sistema indica que los
módulos no conocen o conocen muy poco del
funcionamiento interno de otros módulos, evitando la
fuerte dependencia entre ellos.
Dependencia con otros artefactos
Diagrama de Colaboración

Modelo conceptual: A partir de este modelo el


diseñador podrá definir las clases del software
correspondientes a los conceptos. Los objetos de las
clases participan en las interacciones que se
describen gráficamente en los diagramas.

Contratos de la operación del sistema: A partir de


ellos el diseñador identifica las responsabilidades y
las pos condiciones que han de llenar los diagramas
de interacción.
Dependencia de artefactos
Diagrama de Colaboración

Casos de uso: Casos de uso: Ventanas y Casos de


- expandidos - reales reportes prueba
- esenciales

Diagramas de
casos de uso
Diagramas de Métodos
Colaboración
Modelo
conceptual

Glosario Diagramas de Definiciones


clase de diseño de clase y de
interfaz
Diagramas de
secuencia del
sistema
Diagramas de
Contratos de paquete de Indica Dependencia
operación arquitectura

Diagramas de Esquema de SQL


estado base de datos
Diagrama de Colaboración
Etapas de construcción
Diagrama de Colaboración
Notación básica
Ejemplo: Desplegar en pantalla
detalles del seminario
Diagrama de Colaboración

1: Obtener_nomb(): nombre_seminario
2: Descripción() 1.1: Leer_nombre(): String
3: Ambiente() 1.2: Leer_numero(): String
4: Asiento() 2.1: Leer_Descrip(): String
5: Lista_Estudiantes()

:detalle :seminario :curso


seminario

*5.1: Inf estudiante()

Matricular Actualizar
:matricular serie
de matriculas
5.1.1: Tomar_Info()

Estudiante
:estudiante
5.1.1: Ob_nomb_completo()
Ejemplo: Matricular un nuevo
estudiante en la universidad
Diagrama de Colaboración
Diagrama de Colaboración

Efectuar pago
1:efectuar_ pago (monto)

efectuar_ pago (monto)


:INSTANCIA
NUEVA
:VENTA

1.1:crear (monto)

:PAGO

Representar que un mensaje devuelva un valor

Numero de secuencia: var. := mensaje (parámetros: tipo): tipo _ retorno


También es posible indicar el número de veces
(iteraciones) *
Diagrama de Colaboración

msg1()
{
for i := 1 to 10
{ miB.mens2(); miC.mens3();}
}

Es posible definir mensajes condicionales

Numero de secuencia: [condición] mensaje (parámetros: tipo)


Es posible definir trayectorias condicionales
mutuamente excluyentes.
Diagrama de Colaboración

Enviar mensajes a la clase y no a una instancia, con el


fin de llamar a métodos de la clase
Diagrama de Colaboración
Colaboración vs Secuencia
Limite (Boundary), control y
Diagrama de Colaboración

entidad
La ilustración siguiente muestra a un actor que obra
recíprocamente con un límite (en este caso, una
pantalla de conexión).
Para elaborar un diagrama de colaboración se
deben aplicar las siguientes normas.
Diagrama de Colaboración

• Elaborar un diagrama por cada operación del


sistema durante el ciclo actual de desarrollo.
• Si el diagrama se torna complejo, dividir en
diagramas mas pequeños.
• Diseñar un sistema de objetos interactivos que
realicen las tareas, usando como punto de partida
las responsabilidades del contrato de operación,
las pos condiciones y la descripción de casos de
uso.

Los casos de uso indican los eventos del sistema que se


muestran explícitamente en los diagramas de su secuencia.

En los contratos se describe la mejor conjetura inicial sobre las


operaciones del sistema.
Construcción
Diagrama de Colaboración

Las operaciones del sistema representan mensajes y éstos


originan diagramas que explican gráficamente cómo los
objetos interactúan para llevar a cabo las funciones
requeridas.
¿Cuáles son
los temas
estudiados
el día de
hoy?
¿Para que me
sirve y como lo
aplicaría en mi
vida profesional
y personal?
Sistemas de Información I

Unidad II

Modelado de Sistemas

Semana 11

Modelo de Interacción

Вам также может понравиться