Top Banner
CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez
31

CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Sep 22, 2018

Download

Documents

dinhhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

CLASE 3: UML DIAGRAMAS CASOS DE USO

Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

Page 2: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

UML

  UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de los sistemas de software [OMG].   Artefacto: Modelo o pieza de información producido en el proceso

de desarrollo de software.

  UML representa un conjunto de las mejores prácticas que han probado ser exitosas en el modelado de sistemas grandes y complejos.

Page 3: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Motivación

  Por qué modelamos?   Desarrollar un modelo para software de mediana a gran

envergadura antes de construirlo o modificarlo es escencial.   Comunicación entre los equipos del proyecto   Asegurar la solidez de la arquitectura   Porque no podemos comprender un sistema complejo ¨entero¨.   A medida que la complejidad de los sistemas se incrementa, se hace

más necesario modelar.

Page 4: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Objetivos de UML

  Proporcionar a los usuarios un lenguaje de modelado visual, expresivo y listo para usar, para desarrollar e intercambiar modelos significativos

  Proporcionar mecanismos de extensión y especialización de sus conceptos básicos

  Ser independiente de los procesos de desarrollo y de los lenguajes de programación.

  Soportar el desarrollo de conceptos de alto nivel como colaboraciones, marcos de trabajo (frameworks), patrones y componentes.

Page 5: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Artefactos

  La escogencia de los modelos y diagramas a crear influye sobre como se ataca el problema y la forma de su solución.

  La abstracción es la clave para aprender y comunicar.

  Debido a esto:  La mejor forma de abordar un sistema complejo es a

través de vistas independientes del modelo.  Cada modelo puede expresarse con diferentes niveles

de fidelidad.

Page 6: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Lenguaje de Modelado

  Lenguaje para expresar mediante diagramas gráfico diferentes vistas o perspectivas de un sistema en análisis o en desarrollo

Sistema

Page 7: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Lenguaje de Modelado

  Lenguaje para expresar mediante diagramas gráficos diferentes vistas o perspectivas de un sistema en análisis o en desarrollo

Sistema

Page 8: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Vistas en UML

  Presentan el sistema desde diferentes perspectivas.

  Para la descripción de un sistema se seleccionan los diagramas más apropiados (depende de la aplicación).

  Son válidas para diferentes enfoques (No necesariamente OO).

Page 9: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Vistas y diagramas de UML

  Una vista es una descripción completa de un sistema desde una perspectiva particular

Page 10: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Vistas y diagramas de UML

  Área estructural   Vista estática (lógica) --> Diagrama de Clase. Modela los conceptos del dominio de la aplicación y las relaciones

entre ellos.   Vista de componentes (física) --> Diagrama de Componentes. Modela los componentes de un sistema y sus dependencias   Vista de componentes (lógica) --> Diagrama de Casos de Uso. Modela la funcionalidad del sistema como lo perciben los usuarios

externos.   Vista de despliegue(física) --> Diagrama de despliegue. Representa la disposición de las instancias de los componentes de

ejecución en instancias de nodos.

Page 11: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Vistas y diagramas de UML

  Area dinámica   Vista de máquina de estados (lógica) --> Diagrama de estados. Modela los comportamientos posibles de un objeto de una clase usando estados   Vista de actividad (física) --> Diagrama de actividad. Muestra las actividades, su secuenciamiento y coordinación   Vista de interacción (lógica) --> Diagramas de secuencia --> Diagrama de colaboración Describe las secuencias de intercambios de mensajes entre los roles que implementan el comportamiento del sistema

Page 12: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Diagrama de Casos de Uso

  Especifica las funcionalidades de un sistema. Para ello muestra Actores, Casos de Uso y sus relaciones.

  Describe las acciones que dan un resultado observable de valor a un actor

  Identifica las funcionalidades visibles al usuario

  Captura las funcionalidades del sistema (el qué), omitiendo la implementación de las mismas (el cómo)‏

Page 13: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Actores

Un actor define un conjunto coherente de roles que los usuarios de una entidad pueden jugar cuando interactúan con la entidad.

Notación:

Nombre

<<actor>>

Nombre

Page 14: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Casos de Uso

  Los Casos de Uso representan funcionalidades de un sistema, un subsistema o una clase

  Estas funcionalidades se manifiestan a través de secuencias de mensajes intercambiados entre el sistema y uno o más actores junto con las acciones realizadas por el sistema.

Notación:

Nombre

Page 15: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relaciones

Relaciones entre actores y casos de uso •  Asociación

Relaciones entre casos de uso:

  Extensión (<<Extend>>)   Generalización

  Inclusión (<<Include>>) Relaciones entre actores:

  Generalización

Page 16: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relaciones entre Actores y Casos de Uso

  Asociación Relaciona la participación

de un actor

en un caso de uso

Ir al cine

Persona

Sistema

Ir al cine

Persona

Page 17: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relaciones entre Actores y Casos de Uso

 En la relación de Asociación puede indicarse la cardinalidad

Ir al cine

Actor Caso de uso

1 *

Persona

Ir al cine Ir al cine

Page 18: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relaciones entre Casos de Uso

  Extensión (<<Extend>>)

  Generalización   Inclusión (<<Include>>)

Relación que define una extensión

de la funcionalidad de otro caso de uso

Page 19: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de extensión: <<extend>>

Ir al cine

<<extend>> {tengo dinero}

Comprar cotufas

Persona

Sistema

Page 20: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de extensión: <<extend>> (extension points)

Comprar cotufas

<<extend>> {tengo dinero}

  Extension points: el caso de uso podrá

ejecutarse una vez alcanzado el (los) extension point(s) indicado(s)

Ir al cine Extension points

requerimientos adicionales: despues de entrar al cine

Persona

Page 21: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de extensión: <<extend>>

  Es una asociación que describe una extensión de otro caso de uso (base).

  ¿Cuándo usarla? •  En partes opcionales de un caso de uso •  Cursos separados que son ejecutados sólo bajo ciertas

condiciones •  En funcionalidades que pueden ser invocadas

directamente por algún actor

Page 22: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de extensión: <<extend>>

  Es una asociación que describe una extensión de otro caso de uso (base).

  ¿Cuándo usarla? •  En partes opcionales de un caso de uso •  Cursos separados que son ejecutados sólo bajo

ciertas condiciones •  En funcionalidades que pueden ser invocadas

directamente por algún actor

Page 23: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

  Extensión (<<Extend>>)

  Generalización

  Inclusión (<<Include>>)

Relaciones entre Casos de Uso

Relación que define un caso de uso

como una generalización de otro caso de uso

Page 24: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Generalización

 Relación Generalización: el caso de uso divertirse es una generalización

del caso de uso ir al cine

Ir al cine divertirse

Page 25: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

  Extensión (<<Extend>>)

  Generalización

  Inclusión (<<Include>>)

Relaciones entre Casos de Uso

Relación que define una instancia de un

caso de uso como un curso obligatorio en otro

caso de uso

Page 26: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de Inclusión: <<include>>

 Relación include: el caso de uso Ir al cine incluye el comportamiento especificado en el caso de uso Comprar entrada

<<include>> Comprar entrada

Comprar cotufas

<<extend>> {tengo dinero}

Ir al cine Extension points

requerimientos adicionales: despues de entrar al cine

1 *

Persona

Page 27: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relación de Inclusión: <<include>>

  Es una asociación que relaciona cursos fuertemente acoplados que conforman el curso completo del caso de uso base

  ¿Cuándo usarla? •  Para particionar un caso de uso complejo en los

casos de usos mas simples •  Cuando se quiere separar una funcionalidad en un

caso de uso, sin que ésta pueda ser iniciada directamente por un actor

Page 28: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Relaciones entre actores

  Generalización

Un actor es una instancia de otro actor

Page 29: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Generalización

Estudiante Persona

Relación de Generalización: Una Persona es una generalización de un Estudiante

Page 30: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Resumen: Diagramas de Casos de Uso

 Un Diagrama de Casos de uso muestra gráficamente las funcionalidades de un sistema, subsistema o clase.

 En un Diagrama de Casos de Uso se visualizan los actores, los casos de uso y las relaciones entre ellos, pudiéndose colocar la cardinalidad.

Page 31: CLASE 3: UML DIAGRAMAS CASOS DE USO - …martinez/cursos/ci3715/clase3_AJ2010.pdf · Vistas y diagramas de UML ... • Para particionar un caso de uso complejo en los casos de usos

Resumen: Diagrama de Casos de Uso

  En un Diagrama de Casos de Uso se muestran las relaciones entre Casos de Uso; éstas son de tres tipos: inclusión, generalización y extensión.

 Cuando se trabaja con relaciones de extensión es conveniente representar los “entry points”.

  También es posible visualizar relaciones de generalización entre actores.