Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIDAD 1
INGENIERÍA DE SOFTWARE E INGENIERÍA DE REQUISITOS
Sesión 6
Ciro Rodriguez
crodriguezro@unmsm.edu.pe
2020
CARACTERÍSTICAS
UML es un lenguaje de modelado para visualizar, especificar, construir y
documentar partes de un sistema software desde distintos puntos de vista
• Puede usarse con cualquier proceso de desarrollo, a lo largo de todo el ciclo de
vida y puede aplicarse a todos los dominios de aplicación y plataformas de
implementación
• También puede usarse en tres áreas, como la ingeniería de negocio y modelado
de procesos gracias a los mecanismos de adaptación/extensión mediante perfiles
Lo que no es
• UML no es una notación propietaria
• UML no es un método, ni un proceso ni una metodología
El objetivo de UML es la unificación de los métodos de modelado de objetos
(Booch, OMT y OOSE) por medio de la:
• Identificación y definición de la semántica de los conceptos fundamentales y
elección de una representación gráfica con una sintaxis simple, expresiva e
intuitiva
La especificación UML se define usando el enfoque de un metamodelo
DIAGRAMAS Y VISTAS
UML define varios modelos para la representación de los sistemas que
pueden verse y manipularse mediante un conjunto de diagramas diferentes:
• Diagramas de estructura
• Diagrama de clases
• Diagrama de estructuras compuestas
• Diagrama de componentes
• Diagrama de despliegue
• Diagrama de objetos
• Diagrama de paquetes
• Diagramas de comportamiento
• Diagrama de casos de uso
• Diagrama de actividad
• Diagramas de interacción
• Diagrama de secuencia
• Diagrama de comunicación o colaboración
• Diagrama de visión global de la interacción
• Diagrama de tiempo
• Diagrama de maquina de estados
DIAGRAMAS Y VISTAS
Una vista es un subconjunto de las construcciones de modelado de UML que
representa un aspecto del sistema
Los diagramas UML se pueden organizar en las siguientes vistas [Rumbaugh et
al., 2007]
• Vista de diseño
• Vista estática
• Diagramas de estructuras
• Diagramas de clases
• compuestas
• Vista de casos de uso
• Diagramas de colaboración
• Diagramas de casos de uso
• Diagramas de componentes
• Vista de interacción
• Vista de despliegue
• Diagramas de secuencia
• Diagramas de despliegue
• Diagramas de comunicación
• Vista de actividad • Vista de gestión del Modelo
• Diagramas de actividad • Diagramas de paquetes
• Vista de la máquina de estados • Perfiles
• Diagramas de máquina de estados • Diagramas de paquetes
DIAGRAMAS Y VISTAS
Las vistas se pueden agrupar en áreas conceptuales
Área Vista
Vista estática
Estructural Vista de diseño
Vista de casos de uso
Vista de máquina de estados
Dinámica Vista de actividad
Vista de interacción
Física Vista de despliegue
Vista de gestión del modelo
Gestión
Perfiles
Vista de casos de uso
INTRODUCCIÓN
• La vista de casos de uso captura la funcionalidad de un
sistema, de un subsistema, o de una clase, tal como se
muestra a un usuario exterior
• Reparte la funcionalidad del sistema en transacciones
significativas para los usuarios ideales de un sistema
• Los usuarios del sistema se denominan actores y las particiones
funcionales se conocen con el nombre de casos de uso
• La técnica que se utiliza para modelar esta vista es el
diagrama de casos de uso
CARACTERÍSTICAS
Los casos de uso son una técnica para la especificación de
requisitos funcionales propuesta inicialmente por Ivar Jacobson
[Jacobson, 1987], [Jacobson et al. 1992] e incorporada a UML
Modela la funcionalidad del sistema tal como la perciben los agentes
externos, denominados actores, que interactúan con el sistema
desde un punto de vista particular
Sus componentes principales son:
• Sujeto: sistema que se modela
• Casos de uso: unidades funcionales completas
• Actores: entidades externas que interactúan con el sistema
El sujeto se muestra como una caja negra que proporciona los casos
de uso
El modelo de casos de uso se representa mediante los diagramas
de casos de uso
CARACTERÍSTICAS
Sujeto
Casos de uso
Biblioteca Multimedia
Hacer
Recomendaciones
Prestatario/a
Reservar
Actores
Diagrama de
casos de uso
ACTORES
Un actor es un clasificador que modela un tipo de rol que juega una
entidad que interacciona con el sujeto pero que es externa a él
• Un actor puede tener múltiples instancias físicas
• Una instancia física de un actor puede jugar diferentes papeles
Los actores se comunican con el sujeto intercambiando mensajes
(señales, llamadas o datos)
Notación:
• Se representan con el icono estándar de “stick man” o “monigote” con el
nombre del actor (obligatorio) cerca del símbolo, normalmente se pone
encima o debajo
• También se puede representar mediante un símbolo de clasificador con
el estereotipo «actor»
• Los nombres de los actores suelen empezar por mayúscula
• Se pueden usar otros símbolos para representar tipos de actores, por
ejemplo para representar actores no humanos
ACTORES
Tipos de actores [Larman, 2002]
Principales
• Tiene objetivos de usuario que se satisfacen mediante el uso de los servicios
del sistema
• Se identifican para encontrar los objetivos de usuario, los cuales dirigen los
casos de uso
De apoyo
• Proporcionan un servicio al sistema
• Normalmente se trata de un sistema informático, pero podría ser una
organización o una persona
• Se identifican para clarificar las interfaces externas y los protocolos
Pasivos
• Está interesado en el comportamiento del caso de uso, pero no es principal ni
de apoyo
• Se identifican para asegurar que todos los intereses necesarios se han
identificado y satisfecho
• Los intereses de los actores pasivos algunas veces son sutiles o es fácil no
tenerlos en cuenta, a menos que estos actores sean identificados
explícitamente
ACTORES
«actor» Clasificador
Stick man
Cliente
Cliente
15
Ingeniería de Software I - Fundamentos de la vista de casos de uso
ABC
RELACIONES ENTRE
ACTORES
Los actores sólo pueden tener asociaciones con casos de uso,
subsistemas, componentes y clases y dichas asociaciones deben
ser binarias
Se pueden establecer relaciones de generalización entre actores
• El actor general describirá el comportamiento de un rol más
general
• Los actores especializados heredan el comportamiento del actor
general y lo extienden de alguna forma
• Una instancia de un actor descendiente siempre se puede
utilizar en aquellos casos en los que se espera una instancia del
actor antecesor
• Los actores pueden ser abstractos, en ese caso se representan
con el nombre en cursiva
RELACIONES ENTRE
ACTORES
Usuario
Reservar
«include»
Paquete Distribuir
fondos
«include»
Retirar Depositar
Fondos Transferir Fondos Procesar
Fondos información
financiera
Paquete Administración
Casos de uso contenidos en
un clasificador
Registrar
Leer Log ATM
Comprador/a Vendedor/a
34
REALIZACIÓN DE LOS CASOS
DE USO
Caso de uso Búsqueda recursos biblioteca
¿Caso de Uso?
3
4
Casos de Uso
(¿Qué es un caso de uso?)
¿Escenario?
3
6
Casos de Uso
(¿Qué es unescenario?)
¿Escenario?
¿Actor, Rol?
Actores:
<actores participantes en el caso de uso>
Precondiciones:
<condiciones que deben cumplirse para poder ejecutar el caso de uso>
Flujo Normal:
<flujo normal (feliz) de ejecución del caso de uso>
Flujo Alternativo:
<flujos alternativos de ejecución del caso de uso>
Poscondiciones:
<condiciones que deben cumplirse al finalizar la ejecución del caso de uso>
11
Planillas de Casos de Uso (Generales)
Descripción Textual de un Caso de Uso
(Requerimientos: ¿Qué debe hacer el sistema?)
continúa...
44
Descripción Textual de un Caso de Uso
(Requerimientos: ¿Qué debe hacer el sistema?)
...continuación
Flujo Normal:
1.- El actor pulsa sobre el botón para crear un nuevo mensaje.
2.- El sistema muestra una caja de texto para introducir el título del
mensaje y una zona de mayor tamaño para introducir el cuerpo del
mensaje.
3.- El actor introduce el título del mensaje y el cuerpo del mismo.
4.- El sistema comprueba la validez de los datos y los almacena.
5.- El moderador recibe una notificación de que hay un nuevo mensaje.
6.- El moderador acepta y el sistema publica el mensaje si éste fue
aceptado por el moderador.
Flujo Alternativo:
4.A.- El sistema comprueba la validez de los datos, si los datos no son
correctos, se avisa al actor de ello permitiéndole que los corrija.
¿Cómo se
desarrolla un
modelo de
Casos de Uso?
48
Diagrama de Casos de Usos
(Requerimientos: ¿Qué debe hacer el sistema?)
Límites del
Sistema
Generalización /
Caso de Uso Especialización
de Actores
Asociación
Caso de
Uso / Actor
Colaboración Actor
entre casos 18
de uso
Diagrama de Casos de Usos
Usado para
compartir
comportamiento
común entre varios
casos de uso
Usado para
modelar por
separado el
Usado para comportamiento
modelar excepcional (o
relaciones de adicional) del
Generalización / caso de uso base
Especialización
entre casos de
uso
51
Diagrama de Casos de Usos
(Diferencia entre generalizaciónuextensión)
52
Haciendo un paréntesis...
(Estereotipos)
planillas de
casos de uso
(CLEDA)
En este caso los estereotipos se utilizan para diferenciar los distintos tipos
de actores (<<client>>, <<internal>>, <<system>>). Algunas personas
reemplazan el “monigote” por iconos personalizados (Ej. Una
computadora, monigotes de distintos colores, etcétera) 22
Haciendo un paréntesis...
(Estereotipos)
Puntos de extensión
explícitos
Puntos de extensión
explícitos
57
Diagrama de Casos de Usos
(Ejemplo / Include / Extends / Especialización)
61
Algunas Reglas deEstilo
(Para la Descripción Textual de Casos de Uso)
¿Qué errores
puede
encontrar en
el diagrama? 32
Ejemplo: El Sistema Anterior
Mucho Mejor Representado
33
Detalle del Flujo deEventos
(Listar Solicitudes Pendientes)
Flujo Normal:
1.- El actor selecciona la opción para listar las Solicitudes Pendientes.
2.- El sistema presenta una lista de todas las Solicitudes Pendientes
(tanto de Registro de Usuario como de Publicación de Mensaje) junto
con una opción para ver más detalles sobre una solicitud en particular.
Flujo Alternativo:
66
Detalle del Flujo deEventos
(Procesar Solicitud de Registro)
Flujo Normal:
1.- El actor selecciona la opción para procesar las solicitudes de Registro
de Usuario.
2.- El sistema invoca al caso de uso Listar Solicitudes Pendientes
(CU-08), lo que permite al usuario seleccionar una solicitud para procesar.
3.- El sistema presenta la información de la solicitud de Registro de
Usuario.
4.- El usuario decide si aprueba o rechaza la solicitud.
5.- Una vez aceptada la solicitud el sistema registra al nuevo usuario y
éste queda ya listo para acceder al foro.
Flujo Alternativo:
68
Ejemplo:
Una máquina expendedora de café (2)
69
Ejemplo:
Una máquina expendedora de café (3)
El cliente enfrenta distintos
escenarios dependiendo de
lo que pretende comprar,
pero en general, comprar un
producto es algo muy
general con muchas
acciones comunes
70
Ejemplo:
Una máquina expendedora de café (4)
En Resumen
72
En Resumen ¿Qué Modelan los
Diagramas de Casos de Usos?
74