Fundamentos de Ingeniería del Software. UML - Casos de Usos

32
 UML CASOS DE USO Y DIAGRAMA DE CASOS DE USO Docente: Ing. Armando Cabrera Integrantes: Marilyn Jaramillo Katty Landacay FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

Transcript of Fundamentos de Ingeniería del Software. UML - Casos de Usos

Page 1: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 1/32

Docente:Ing. Armando Cabrera

Integrantes:Marilyn Jaramillo

Katty Landacay 

FUNDAMENTOS DE INGENIERÍA DESOFTWARE

Page 2: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 2/32

UMLUnified Modeling Language

•Lenguaje Estándar para: –  Visualizar  –  Especificar  –  Construir 

 –  Documentar los planos del software Indican como crear y leer modelos bien formados pero no nosdicen qué modelos se deben crear ni cuándo se los deberían crear

Ir a Casos de uso 

Page 3: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 3/32

UML es un lenguaje para visualizar

• La distancia entre pensar en una implementación y transformarla en códigoes casi cero.

UML es algo más que un simple montón de símbolos gráficos.

• En algunos casos: Lo que piensas lo codificas.

• Algunas cosas se modelan mejor textualmente; otras se modelas mejor deforma gráfica

Page 4: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 4/32

UML es un lenguaje para especificar• Significa construir modelos precisos, no ambiguos y completos

• Pero sus modelos pueden conectarse a una gran variedad de lenguajes de

programación

• UML cubre todas las decisiones de análisis, diseño e implementación

• No es un lenguaje de programación

UML es un lenguaje para construir

Page 5: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 5/32

UML es un lenguaje para documentar

• UML cubre la documentación de la arquitectura de un sistema y todos susdetalles

• Proporciona un lenguaje:

Expresar requisitos y pruebas

Modelar actividades de planificación de proyectos ygestión de versiones

Page 6: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 6/32

CASOS DE USOQué es un caso de uso? Para que sirven los casos de uso? Cómo se representan? Cómo se debe crear un caso de uso? Flujo de eventos Relaciones Diagramas de caso de uso 

Use Case 2Specification

 Actor 2

Use case 1

Model

Use case 2

Use case 3

Page 7: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 7/32

QUÉ ES UN CASO DE USO? Describen una interacción típica entre un usuario (actores) y un sistema decómputo.

Es una técnica para capturar información de cómo un sistema o negociotrabaja actualmente, o de cómo se desea que trabaje

Produce algo de valor para algún actor como el cálculo de algúnresultado

 

El caso de uso capta alguna función visible para el usuario. El caso de uso puede ser pequeño o grande. El caso de uso logra un objetivo discreto para el usuario.

Un caso de uso debe ser simple, claro y conciso

Page 8: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 8/32

PARA QUE SIRVEN LOS CASOS DE USO?

Para capturar el comportamiento deseado del sistema sin tenerque especificar como se implementa ese comportamiento

Como medio de comprensión del sistema para desarrolladores,usuarios finales y expertos del dominio

Ayudan a validar la arquitectura y a verificar el sistema en eltranscurso del desarrollo de este

Page 9: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 9/32

Un caso de uso se representa en UML como un óvalo:CÓMO SE REPRESENTAN?

Nombre del Caso de Uso

En UML, un actor se representa como monigote

 Actor

Page 10: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 10/32

ACTORES Representa un conjunto de roles que los usuarios de los casos de uso juegan alinteractuar con éstos

Representa un rol que es jugado por una persona, un dispositivo hardware uotro sistema que interactúe con nuestro sistema

Se puede definir categorías generales de actores (como cliente) yespecializarlos (como ClienteComercial) a través de relaciones de generalización

Cliente 

ClienteComercial 

actor

actor

generalización

Un actor y un caso de uso se pueden comunicar a través de una asociaciónen donde cada uno de ellos pueden enviar y recibir mensaje.

Page 11: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 11/32

FLUJO DE EVENTOS

 

Cuándo interactúan con los actores y que objetos se intercambian

Conviene separa el flujo principal de uno alternativo

Page 12: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 12/32

Ejemplo:

 VALIDACIÓN DE USUARIO

Page 13: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 13/32

 

el caso de uso comienza cuando se pide al cliente un número de identificaciónpersonal (cédula), el cliente introduce la cédula, luego acepta con enter, elsistema lo comprueba para su validación, si la cédula es válida el sistema acepta

la entrada y acaba el caso de uso.

- El cliente puede cancelar su transacción en cualquier momento con el botóncancelar, reiniciando el caso de uso, no se efectúa ningún cambio a la cuenta del

cliente- El cliente puede borrar la cédula en cualquier momento antes de introducirloy volver a teclear una nueva cédula- El cliente introduce un cédula inválida el caso de uso vuelve a empezar, si se lorealiza tres veces se cancela la transacción.

Page 14: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 14/32

Cómo identificar los casos de uso?

Page 15: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 15/32

Cómo se debe crear un caso de uso?

Tras localizar los actores, procede el describirlos especificar describiendo un flujo de eventos

Los actores sólo pueden conectar a los casos de uso a través de

asociaciones Generalmente hay pocos actores asociados a cada Caso de Uso Preguntas clave:

 –  ¿cuáles son las tareas del actor? –  ¿qué información crea, guarda, modifica, destruye o lee el actor?

 –  ¿debe el actor notificar al sistema los cambios externos? –  ¿debe el sistema informar al actor de los cambios internos?

Page 16: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 16/32

La descripción del Caso de Uso comprende: –  cuándo y qué actor lo produce? –  cuándo se produce y qué valor devuelve? –  actor-caso de uso: qué mensajes

intercambian ambos? ¿qué intenta el caso de uso? cronología y origen de las informaciones repeticiones de comportamiento: ¿qué operaciones son

iteradas? ¿qué ejecuciones alternativas se

presentan en el caso de uso?

Page 17: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 17/32

Puntos claves del ejemplo:• Las son los hechos que se han de cumplir para que el

flujo de evento se pueda llevar a cabo.• , que corresponde a la ejecución normal y

exitosa del caso de uso• Los son los que nos permiten indicar qué es lo que

hace el sistema en los casos menos frecuentes e inesperados.• las son los hechos que se ha de cumplir si el flujo de

eventos normal se ha ejecutado correctamente.

Page 18: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 18/32

Ejemplo: escribir un mensaje en un foro

Page 19: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 19/32

RELACIONESPara extraer el comportamiento de los casos de uso en los que se incluye yponiendo ese comportamiento en otros casos de uso que lo extiende

Tipos:

- GENERALIZACIÓN - EXTENSIÓN - INCLUSIÓN 

Page 20: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 20/32

GENERALIZACIÓN El caso hijo hereda el comportamiento y significado de caso de

uso padre El hijo puede añadir o redefinir el comportamiento del padre El Caso de Uso fuente hereda la especificación del Caso de Uso

destino

Caso de uso origen

Caso de uso destino

Page 21: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 21/32

  INCLUSIÓN

 –  Un caso base de uso base incorpora expolisitamenteel comportamiento de otro caso de uso en el lugarespecificado en el caso base.

 –  Se usa para evitar describir el mismo flujo deeventos repetidas veces, poniendo comportamiento

común en un caso de uso aparte –  Se representa como una dependencia estereotipada

con <<include>>

Page 22: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 22/32

Caso de uso origen

Caso de uso destino

<<include>>

Ingresando pedido

Buscando datos deproducto

Obtener reporteDe Ventas por

producto

<<include>><<include>>

Empleado deventas

Gerente

REPRESENTACIÓN:

EJEMPLO:

Page 23: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 23/32

EXTENSIÓN• Significa que un caso de uso base incorpora implícitamente el

comportamiento de otro caso de uso en el lugar especificadoindirectamente por el caso de uso que extiende al base

• Se usa esta relación cuando se tiene un caso de uso que es similar a

otro, pero que hace un poco más.

Caso de uso

origen

Caso de usodestino

<<extends>>

Page 24: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 24/32

Ejemplo:

RealizarLlamada telefónica

Realizar llamadaCon conferencia

Recibir llamadatelefónica

Recibir llamadaadicional

Usar agenda

<<extend>>

<<extend>>

relación de extensión

frontera del sistema

Casos de uso

Redtelefónica

Usuario

Actores

Teléfono móvil

Page 25: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 25/32

Ejemplo de todas las relaciones :

Identificación

Giro por Internet

Cliente

Giro

<<extends>>

<<includes>>

Page 26: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 26/32

• Un diagrama de casos de uso es un diagrama que muestra un

conjunto de casos de uso, actores y sus relaciones.• Son importantes para modelar el comportamiento de un

sistema.• Normalmente los casos de uso contienen:

 –  Casos de Uso –  Actores –  Relaciones de dependencia, generalización y asociación.

DIAGRAMAS DE CASO DE USO

En UML, cada caso de uso debe tener al menos un actor. Esta forma de verel sistema nos ayuda a concebirlo como un todo.

Page 27: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 27/32

• Cubren principalmente el comportamiento del sistema.

• Es un tipo especial de diagrama, por su contenido particular.

• Se emplean para modelar la vista de casos de usoestática.(comportamiento, servicios externos).

• Para modelar el contenido de un sistema

• Dibujar una línea alrededor de todo el sistema, los actores quedaránfuera del sistema e interactúan con el, se especificara los actores y elsignificado de los roles.

• Para modelar los requisitos de un sistema

• Especificar que debería hacer el sistema, independientemente decómo se haga, se especificará el comportamiento deseado del sistema.

• Permite ver el sistema entero como una caja negra.

Page 28: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 28/32

Técnicas comunes del modelado• Elementos dentro y fuera, son responsables del comportamiento que esperan

los elementos externos..•

Los elementos externos que interactúan con el sistema constituyen sucontexto, es decir el entorno en que reside el sistema.• Modelar el contexto de un sistema

 –  Identificar actores en torno del sistema. –  Grupos que necesitan ayuda del sistema, –  Grupos necesarios para ejecutar las funciones del sistema. – 

Grupos que interactúan con el hardware o software. –  Grupos que realizan funciones secundarias de administración ymantenimiento.

• Organizar los actores similares en jerarquía de generalización/especificación• Proporcionar un estereotipo para cada actor.• Introducir los actores en un diagrama de CU y especificar las vías de

comunicación .

Page 29: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 29/32

Antes Después

Page 30: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 30/32

Comercio 

Cliente 

EntidadFinanciera 

Clienteindividual 

Clientecorporativo 

RealizarTransacciónCon tarjeta

Procesar facturaDel cliente

Ajustartransacciones

Gestionar cuentaDel cliente

Page 31: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 31/32

Conclusiones:•Los Casos de Uso no son parte del diseño (cómo), sino parte del análisis (qué).

Los Casos de Uso son qué hace el sistema desde el punto de vista del usuario.Es decir, describen un uso del sistema y cómo este interactúa con el usuario.

• Los diagramas de casos de uso muestran las relaciones entre los casos de usode un sistema y sus actores.

•En una relación << extends>>, un actor que lleve a cabo el caso de uso basepuede realizar o no sus extensiones. Mientras, en una relación <<include>> elactor que realiza el caso de uso base también realiza el caso de uso incluido.

Page 32: Fundamentos de Ingeniería del Software. UML - Casos de Usos

5/17/2018 Fundamentos de Ingenier a del Software. UML - Casos de Usos - slidepdf.com

http://slidepdf.com/reader/full/fundamentos-de-ingenieria-del-software-uml-casos-de-usos 32/32

Bibliografía:1. http://www.ingenierosoftware.com/analisisydiseno/casosdeuso.php  2. http://www-gris.det.uvigo.es/~avilas/UML/node25.html 

3. Libro de UML: EL LENGUAJE UNIFICADO DE MODELADO, Booch, Jacobson, Rumdaugh, pag 190- 223