Semana_11_ Unidad_4_Tema_5

Page 1

Educación a distancia

Fundamentos de Ingeniería de Software

Ingeniería en Sistemas Computacionales Fundamentos de Ingeniería de Software

Semana 11. Unidad 4. Modelo de Diseño. 4.5 Diagramas de secuencias del Diseño.

Antología realizada por: M.C. Gricelda Rodríguez Robledo

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

CONTENIDO 4.5 Diagramas de secuencias del Diseño .............................................................................................. 4 4.5.1 Comportamiento del Sistema ................................................................................................ 4 4.5.1.1

Diagrama de secuencia del sistema.............................................................................. 4

Objetos.......................................................................................................................................... 5 Linea De Vida ................................................................................................................................ 5 Mensaje ........................................................................................................................................ 6 Tiempo .......................................................................................................................................... 6 Recursividad.................................................................................................................................. 6 Objetivo ........................................................................................................................................ 7 4.5.1.3 Ejemplo de un Diagrama de la Secuencia de un sistema ................................................ 7 Referencias ....................................................................................................................................... 8

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

Competencia específica a desarrollar

Actividades de Aprendizaje

Aplicar modelos, técnicas y herramientas para la etapa de diseño del software. A partir del modelo de análisis del proyecto propuesto se realizarán las siguientes actividades:

• Refinamiento a clases. • Refinamiento a subsistemas • Refinamiento a diagramas de colaboración. • Refinamiento a diagramas de componentes. • Refinamiento a diagramas de actividades. • Refinamiento a diagrama de secuencia. • Realizar una tabla comparativa que muestre las inconsistencias detectadas. • Reporte de la estructura del sistema después de haber realizado el modelo de diseño en el caso de estudio.

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

4.5 DIAGRAMAS DE SECUENCIAS DEL DISEÑO 4.5.1 COMPORTAMIENTO DEL SISTEMA Antes de iniciar el diseño lógico de cómo funcionará una aplicación de software, es necesario investigar y definir su comportamiento como una “caja negra”. El comportamiento del sistema es una descripción de lo que hace, sin explicar la manera en que lo hace. Una parte de la descripción es un Diagrama de la Secuencia del sistema.

4.5.1.1

DIAGRAMA DE SECUENCIA DEL SISTEMA

Los casos de uso indican cómo los actores interactúan con el Sistema de Software. Durante esa interacción un actor genera eventos dirigidos al sistema, solicitando alguna operación a cambio. Conviene aislar y explicar gráficamente las operaciones que un actor solicita al sistema, porque ello contribuye a entender el comportamiento del sistema. En UML los Diagramas de Secuencia dan una descripción gráfica de las interacciones del actor y de las operaciones que las mismas originan. Representación que muestra, en un determinado Caso de Uso, los eventos generados por actores externos, su orden y los eventos internos del sistema.A todos los sistemas se los trata como una caja negra; los diagramas se centran en los eventos que trascienden las fronteras del sistema y que fluyen desde los actores hacia los sistemas. El Diagrama de Secuencia debe prepararse para el curso normal de los eventos de un caso de uso y los cursos opcionales más interesantes. El diagrama de secuencia muestran la forma en que los objetos se comunican entre si al transcurrir el tiempo. El Diagrama de Secuencia de un sistema muestra gráficamente los eventos que fluyen de los actores al sistema. Su creación forma parte de la investigación para conocer el sistema; se incluye dentro de la etapa del análisis.

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

Los diagramas de secuencia, formalmente diagramas de traza de eventos o de interacción de objetos, se utilizan con frecuencia para validar los casos de uso. El diagrama muestra:      

Los objetos participando de la interacción La secuencia de mensajes intercambiados Un diagrama de secuencia contiene: Objetos con su línea de vida Mensajes intercambiados entre objetos de una secuencia ordenada Línea de vida activa

OBJETOS Los diagramas de secuencia constan de objetos que se representan de modo usual: rectángulo con nombre, mensajes entre los objetos representados por líneas continuas con una punta de flecha y el tiempo representado como una progresión vertical. Los objetos se colocan cerca de la parte superior del diagrama de izquierda a derecha y se acomodan de manera que simplifiquen el diagrama. La extensión que está debajo (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 rectángulo) se le conoce como activación, el cual una operación que realiza el objeto la interpreta como la duración de la activación.

LINEA DE VIDA Una línea de vida representa un participante individual en un diagrama de secuencia. Una línea de vida usualmente tiene un rectángulo que contiene el nombre del objeto. Si el nombre es self entonces eso indica que la línea de vida representa el clasificador que posee el diagrama de secuencia.

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

MENSAJE Un mensaje que va de un objeto a otro pasa de la línea de vida de un objeto al de otro. Un objeto puede enviarse un objeto a si mismo es decir de su línea de vida así propia línea de vida.

Un mensaje puede ser simple, síncrono y asíncrono   

Mensaje simple: es la transferencia del control de un objeto a otro. Mensaje síncrono: es cuando el objeto espera la respuesta a ese mensaje antes de continuar con su trabajo. Mensaje asíncrono: es cuando el objeto no espera la respuesta a ese mensaje antes de continuar.

TIEMPO El diagrama representa el tiempo en dirección vertical. El tiempo se inicia en la parte superior y avanza hacia la parte inferior. Un mensaje que este más cerca de la parte superior ocurrirá antes que uno que esté cerca de la parte inferior. Con ellos el diagrama de secuencia tiene 2 dimensiones: la dimensión horizontal (es la disposición de los objetos) y la dimensión vertical (muestra el paso del tiempo).

RECURSIVIDAD En ocasiones un objeto posee una operación que se invoca a si misma. A esto se le conoce como recursividad y es una característica fundamental de varios lenguajes de programación.

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

OBJETIVO Descubrir las interfases requeridas para cada objeto y validar que cada interface se usa realmente. El diagrama de Secuencias modela interacciones entre objetos. Ya que estas interacciones pueden ser muy complejas, se modelan un pequeño juego de interacciones como un solo escenario.

4.5.1.3 EJEMPLO DE UN DIAGRAMA DE LA SECUENCIA DE UN SISTEMA El Diagrama de la Secuencia de un sistema describe, en el curso de los eventos de un caso de uso, los actores externos que interactúan directamente con el sistema (caja negra) y con los eventos del sistema generados por esos actores.I En un diagrama de secuencia ponemos varios de los objetos o clases que forman parte de nuestro programa y ponemos qué llamadas van haciendo unos a otros para realizar una tarea determinada. Hacemos un diagrama de secuencia por cada caso de uso o para una parte de un caso de uso (lo que llamo subcaso de uso). En nuestro ejemplo de ajedrez, podemos hacer diagramas de secuencia para "jugar partida" o bien para partes de "jugar partida", como puede ser "mover pieza". El detalle del diagrama depende de la fase en la que estemos, lo que pretendamos contar con el diagrama y a quién. En una primera fase de diseño podemos poner clases grandes y ficticias, que representen un paquete/librería o, si nuestro programa está compuesto por varios ejecutables corriendo a la vez, incluso clases que representen un ejecutable. Si estamos en una fase avanzada, estamos diseñando el programa y queremos dejar bien atados los detalles entre dos programadores, que cada uno va a programar una de las clases que participan, entonces debemos posiblemente ir al nivel de clase real de codificación y método, con parámetros y todo, de forma que los programadores tengan claro que métodos van a implementar, que deben llamar de la clase del otro, etc. Incluso si es un diagrama para presentar al cliente, podemos hacer un diagrama de secuencia en el que sólo salga el actor "jugador" y una única clase "juego ajedrez" que representa nuestro programa completo, de forma que el cliente vea qué datos y en qué orden los tiene que meter en el programa y vea qué salidas y resultados le va a dar el programa.

Semana 11


Educación a distancia

Fundamentos de Ingeniería de Software

El siguiente puede ser un diagrama de secuencia de nuestro ejemplo del ajedrez a un nivel de diseño muy preliminar.

REFERENCIAS 

El lenguaje unificado del modelado, Grady Booch, James Rumbaugh, Ivar Jacobson,“CAPITULO 18, DIAGRAMAS DE INTERACCION, DIAGRAMAS DE SECUENCIA”, Editorial, Addison Wesley, 1999.

Semana 11


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.