1 Ingeniería del Software 2002 Modelo alternativo de análisis Modelo de análisis de Jacobson o...

28
1 Ingeniería del Software 2002 Modelo alternativo de análisis Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”) Es un nivel de diseño intermedio entre la etapa de Captura de requerimientos y la de diseño Ivar Jacobson (uno de los creadores de UML) Semejanzas con el patrón “modelo-vista- controlador”

Transcript of 1 Ingeniería del Software 2002 Modelo alternativo de análisis Modelo de análisis de Jacobson o...

Page 1: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

1

Ingeniería del Software 2002

Modelo alternativo de análisis

Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)

Es un nivel de diseño intermedio entre la etapa de Captura de requerimientos y la de diseño

Ivar Jacobson (uno de los creadores de UML)

Semejanzas con el patrón “modelo-vista-controlador”

Page 2: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

2

Ingeniería del Software 2002

Análisis de Jacobson

Proporciona un diseño preliminar

Puede ayudar a descubrir la necesidad de clases adicionales

Proporciona una prueba de completitud a los casos de uso, antes de pasar al diseño

Proporciona un diseño preliminar de la arquitectura del SI

Page 3: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

3

Ingeniería del Software 2002

Análisis de Jacobson

No forma parte de UML

No siempre es usado (no adecuado a OO)

Doug Rosemberg “Use Case Driven Object Modelling with UML” Recomienda hacer el análisis de la robustez antes del

diagrama de interacción (diseño)

Crea responsabilidades (métodos) antes del diseño

Page 4: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

4

Ingeniería del Software 2002

Diagrama de Jacobson

ACTOR

Entidad

Representa datos

almacenados

“Modelo”

Interfaz

Representauna interfaz del sistema

frontera

“vista”

Control

Representa transferencia de información

“controlador”

Patrónde

diseño

Page 5: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

5

Ingeniería del Software 2002

Componentes de un modelo de Jacobson

Entidades Modelan información perdurable p.e. entre casos de uso “modelo” que captura los datos ...

Interfaz Transporta la acción del actor a los eventos del sistema Transporta al actor los eventos del sistema Cada actor puede tener su conjunto de interfaces ... que pueden ser “vistos” de múltiples formas ...

Control Unen otros componentes para formar un caso de uso ... mediante los “controladores”, que proporcionan

formas de actualizar y extraer información del modelo.

Page 6: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

6

Ingeniería del Software 2002

Clases Interfaz o Frontera

Modelan la interacción entre el sistema y los actores

Clarifican los requisitos en la frontera entre sistema y usuarios. Cambios en los interfaces de usuario, de comunicación, etc. afectan a las clases frontera

Representan abstracciones de ventanas, formularios, sensores, terminales y APIs (Application Program Interfaces)

Deben estar asociados a un actor

Page 7: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

7

Ingeniería del Software 2002

Clases Interfaz o Frontera

Como entrada de información permite que el actor Proporcione datos (cajas de texto, menús desplegables, ...) Solicite servicios (pulsando botones, ...)

Como salida de información Presenta datos al actor (listados, texto, ...)

Puede conectar con un actor o una clase de control

ACTOR Interfaz de Usuario

Page 8: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

8

Ingeniería del Software 2002

Clases Entidad

Modelan la información y el comportamiento asociado de conceptos (individuos, objetos, eventos) del mundo real

En la mayoría de los casos las clases entidad se derivan de clases del modelo de dominio

Las clases entidad muestran la estructura lógica de los datos

Page 9: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

9

Ingeniería del Software 2002

Clases Entidad

Las clases entidad (y las asociaciones entre ellas) permiten mostrar la estructura lógica de los datos

... pueden servir para modelar la información del SI

... según Rosenberg (reglas de robustez) sólo deben conectar con clases de control

EntidadYEntidadX

0..1 0..*

AsociaciónXY

Page 10: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

10

Ingeniería del Software 2002

Clases de Control

Modelan la coordinación, secuencia, transacciones y control del flujo de la información

Representan la lógica del negocio no presente en las clases entidad

No interaccionan con los actores No representan la información persistente del

sistema

Page 11: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

11

Ingeniería del Software 2002

Clases de Control

Una clase de control permite: Buscar una información concreta de una clase

conociendo alguno de los valores de sus atributos Crear/modificar/eliminar información Realizar procesos/cálculos relacionados con la lógica del

negocio

No pueden conectarse directamente con los actores

GestorX

Page 12: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

12

Ingeniería del Software 2002

Reglas de robustez de Rosenberg (puede conectar)

ACTOR

NO

SI

NO

ACTOR

NO

NO

NO

SI

NO

SI

NO

SI

NO

NO

SI

SI

SI

Page 13: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

13

Ingeniería del Software 2002

Modelo de CU vs. Modelo de Análisis

:IUPL :Libro :GestorPréstamos

PedirLibro PedirLibro

Page 14: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

14

Ingeniería del Software 2002

Ejemplo: Pedir Libro

SOCIO BIBLIOTECARIO

Pedir libroConsultar catálogo

Reservar libro

Identificar socio

<<uses>>

Reservar libro

<<extends>>

Consultar catálogo

<<extends>>

Page 15: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

15

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (1)

Caso de uso: Pedir libro Actores: Socio, BibliotecarioTipo: PrimarioDescripción: Un socio solicita un libro en préstamo al

bibliotecario. El bibliotecario verifica y registra el préstamo. Al terminar el bibliotecario le entrega una copia al socio.

Referencias cruzadas: R1, R2, R3, R4, R5, R7, R8, R9

Page 16: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

16

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (2): Clases Frontera

Curso normal de los eventosAcción de los actores1. Este caso de uso comienza

cuando un socio se presenta al bibliotecario para pedir un libro en préstamo. El Socio se identifica y solicita un libro en préstamo al Bibliotecario.

2. El Bibliotecario identifica al socio.SEE SECTION Identificar socio

4. El Bibliotecario comprueba que el Socio no tiene el máximo de libros en préstamo.

5. El Bibliotecario consulta el catálogo: SEE SECTION Consultar catálogo

7. El Socio confirma el libro buscado y acepta la fecha de devolución.

Acción del sistema

3. Presenta la información del socio, si es o no profesor y sus libros en préstamo.

6. Presenta los libros que cumplen

los criterios de búsqueda. La información incluye las copias disponibles, las reservas y el periodo de préstamo y la fecha de devolución de cada copia.

Page 17: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

17

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (3): Clases Frontera

Curso normal de los eventosAcción de los actores8. El Bibliotecario verifica las copias

disponibles: IF no hay copias disponibles SEE SECTION Reservar libro

9. El Bibliotecario confirma el préstamo.

11. El Bibliotecario indica al Socio la fecha de devolución del libro.

12. El socio se va con el libro en préstamo.

Acción del sistema

10. Registra el nuevo préstamo con la fecha actual.

Cursos alternativos Paso 2: No se trata de un Socio. Sugerir hacerse socio Paso 4: El Socio tiene ya el máximo de libros prestados. Sugerir

devolver libro. Paso 7: El Socio no encuentra el libro o no acepta la fecha de

devolución.

Page 18: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

18

Ingeniería del Software 2002

Ejemplo: Clases Frontera CU Pedir Libro

Permite que el actor socio Proporcione su identificador de socio Solicitar Consultar Catálogo Solicitar Reservar Libro Confirmar el préstamo

Presenta información del socio y sus libros en préstamo Presenta los libros que cumplen los criterios de búsqueda

BIBLIOTECARIO IUPedirLibro

Page 19: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

19

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (2): Clases Entidad

Curso normal de los eventosAcción de los actores1. Este caso de uso comienza

cuando un socio se presenta al bibliotecario para pedir un libro en préstamo. El Socio se identifica y solicita un libro en préstamo al Bibliotecario.

2. El Bibliotecario identifica al socio.SEE SECTION Identificar socio

4. El Bibliotecario comprueba que el Socio no tiene el máximo de libros en préstamo.

5. El Bibliotecario consulta el catálogo: SEE SECTION Consultar catálogo

7. El Socio confirma el libro buscado y acepta la fecha de devolución.

Acción del sistema

3. Presenta la información del socio, si es o no profesor y sus libros en préstamo.

6. Presenta los libros que cumplen

los criterios de búsqueda. La información incluye las copias disponibles, las reservas y el periodo de préstamo y la fecha de devolución de cada copia.

Page 20: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

20

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (3): Clases Entidad

Curso normal de los eventosAcción de los actores8. El Bibliotecario verifica las copias

disponibles: IF no hay copias disponibles SEE SECTION Reservar libro

9. El Bibliotecario confirma el préstamo.

11. El Bibliotecario indica al Socio la fecha de devolución del libro.

12. El socio se va con el libro en préstamo.

Acción del sistema

10. Registra el nuevo préstamo con la fecha actual.

Cursos alternativos Paso 2: No se trata de un Socio. Sugerir hacerse socio. Paso 4: El Socio tiene ya el máximo de libros prestados. Sugerir

devolver libro. Paso 7: El Socio no encuentra el libro o no acepta la fecha de

devolución.

Page 21: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

21

Ingeniería del Software 2002

Ejemplo: Clases Entidad CU Pedir Libro (1)

Atributos Libro: signatura, ... Socio: dni, /LibrosPrestados, ... Préstamo: fecha, ... Copia: idCopia, ...

Libro Copia Socio

Préstamo

1 1..* 0..6 0..1

Page 22: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

22

Ingeniería del Software 2002

Ejemplo: Clases Entidad CU Pedir Libro (2)

Una Copia no prestada será un objeto de la clase Copia asociado a un Libro de la misma signatura y que no está asociado a un Socio

Un Socio tiene el máximo de libros en préstamo si el objeto Socio identificado por dni está asociado al máximo de objetos Copia

Un nuevo préstamo se añade como objeto de la clase asociación con la fecha actual y asociado a los objetos de Copia no prestada y al Socio

Libro Copia Socio

Préstamo

1 1..* 0..6 0..1

Page 23: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

23

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (2): Clases Control

Curso normal de los eventosAcción de los actores1. Este caso de uso comienza

cuando un socio se presenta al bibliotecario para pedir un libro en préstamo. El Socio se identifica y solicita un libro en préstamo al Bibliotecario.

2. El Bibliotecario identifica al socio.SEE SECTION Identificar socio

4. El Bibliotecario comprueba que el Socio no tiene el máximo de libros en préstamo.

5. El Bibliotecario consulta el catálogo: SEE SECTION Consultar catálogo

7. El Socio confirma el libro buscado y acepta la fecha de devolución.

Acción del sistema

3. Presenta la información del socio, si es o no profesor y sus libros en préstamo.

6. Presenta los libros que cumplen

los criterios de búsqueda. La información incluye las copias disponibles, las reservas y el periodo de préstamo y la fecha de devolución de cada copia.

Page 24: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

24

Ingeniería del Software 2002

Ejemplo: Caso de uso expandido (3): Clases Control

Curso normal de los eventosAcción de los actores8. El Bibliotecario verifica las copias

disponibles: IF no hay copias disponibles SEE SECTION Reservar libro

9. El Bibliotecario confirma el préstamo.

11. El Bibliotecario indica al Socio la fecha de devolución del libro.

12. El socio se va con el libro en préstamo.

Acción del sistema

10. Registra el nuevo préstamo con la fecha actual.

Cursos alternativos Paso 2: No se trata de un Socio. Sugerir hacerse socio. Paso 4: El Socio tiene ya el máximo de libros prestados. Sugerir

devolver libro. Paso 7: El Socio no encuentra el libro o no acepta la fecha de

devolución.

Page 25: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

25

Ingeniería del Software 2002

Ejemplo: Clases Control CU Pedir Libro

GestorLibros

Responsabilidades

Buscar Libro por signatura

Buscar Socio por dni

Saber si dado un socio ya ha llegado al límite de copias prestadas Añadir un nuevo préstamo dado un socio y un libro

GestorSocios

GestorPrestamos

Page 26: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

26

Ingeniería del Software 2002

Realización del análisis de un caso de uso

Indica cómo se realiza/ejecuta el caso de uso

Para cada caso de uso deberemos indicar

El diagrama de Jacobson entre las clases

El curso de los eventos (en el análisis) que explique en Lenguaje Natural el diagrama de Jacobson

Page 27: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

27

Ingeniería del Software 2002

Ejemplo: Diagrama de Jacobson Pedir Libro (1)

:Bibliotecario :IUPL

:Libro :Copia :Socio

:Préstamo

1 1..* 0..6 0..1

:GestorLibros :GestorPréstamos :GestorSocios

1

2

3

4,8,11

7 10

6

9 512

Page 28: 1 Ingeniería del Software 2002 Modelo alternativo de análisis  Modelo de análisis de Jacobson o análisis de la robustez (“Robustness Analysis”)  Es un.

28

Ingeniería del Software 2002

Ejemplo: Diagrama de Jacobson Pedir Libro (2)

1: Introducir dni Socio, Introducir Libro por atributo o Confirmar Préstamo

2: Buscar Socio por dni 3: Obtener Socio 4: Comprobar si el Socio ha llegado al límite de préstamos 5: Obtener préstamos del Socio por dni 6: Buscar Libro por atributo (signatura, título, autor, etc.) 7: Obtener Libros 8: Obtener Copia no prestada 9: Obtener Copias del Libro por signatura 10: Verificar si la Copia está prestada 11: Registrar préstamo de Copia por Socio 12: Crear nuevo préstamo