SlideShare una empresa de Scribd logo
El Lenguaje Unificado de Modelado
UML 2.0
Análisis y Diseño del Software
2
Contenidos
• Introducción al modelado del software
• Presentación de UML
• Modelado de Casos de Usos
– Diagramas de casos de uso
• Modelado Estructural
– Diagramas de clases
– Paquetes
3
Modelado de Casos de Uso
• Un caso de uso especifica un comportamiento deseado
del sistema.
• Representan los requisitos funcionales del sistema.
“Un caso de uso especifica un conjunto de
secuencias de acciones, incluyendo variantes, que el
sistema puede ejecutar y que produce un resultado
observable de valor para un actor en particular.”
(Definición en UML)
• Describen qué hace el sistema, no cómo lo hace.
4
Modelado de Casos de Uso
• Partes de un caso de uso (cdu)
– Conjunto de secuencias de acciones; cada secuencia
representa un posible comportamiento del sistema
– Actores, roles que pueden jugar los usuarios
– Variantes: versiones especializadas, un cdu que
extiende a otro o un cdu que incluye a otro
– Un caso de uso realiza un trabajo tangible.
5
Ejemplo de Caso de Uso
actor caso de uso
asociación
Responsable
Prestamos
Gestionar Préstamos
6
Actores
Un actor representa un conjunto coherente de roles
que juegan los usuarios de los casos de uso al
interaccionar con el sistema.
• Roles jugados por personas, dispositivos, u otros
sistemas.
• El tiempo puede ser un actor (“procesos iniciados
automáticamente por el sistema”).
• No forman parte del sistema.
7
Actores
• Un usuario puede jugar diferentes roles.
• En la realización de un caso de uso pueden intervenir
diferentes actores.
• Un actor puede intervenir en varios casos de uso.
• Identificar casos de uso mediante actores y eventos
externos.
• Un actor necesita el caso de uso y/o participa en él.
8
Actores
• Dos tipos de actores:
– Principal:
Requiere al sistema el cumplimiento de un objetivo.
– Secundarios:
El sistema necesita de ellos para satisfacer un
objetivo.
9
Realizar preinscripción
Gestión Expedientes
Alumno
Matriculación
Entidad Bancaria
Actores
Secundario
s
Actor
Principal
Ejemplo de Actores
10
Escenarios y Casos de Uso
• Un caso de uso describe un conjunto de secuencias de
interacciones entre actores y el sistema (escenarios):
flujo principal y flujos alternativos o excepcionales.
• Un escenario es una instancia de un caso de uso.
• Un escenario es una historia particular de uso de un
sistema.
• Escenarios principales vs. Escenarios secundarios
11
Emisor Centralita Receptor
listo( )
tono
marcar_numero
tono_sonando
timbre_sonando
telefono_cogido
para_tono
para_timbre
Escenario
Los Casos de uso son ideados por Jacobson a principios de los noventa y
están inspirados en los Escenarios utilizados para describir procesos.
Ejemplo de Escenario
12
Descripción de un caso de uso
• Son documentos de texto, no son diagramas.
– El modelado de casos de uso consiste en escribir texto, no
en dibujar diagramas.
• Describir el flujo de eventos
– Texto estructurado informal
– Texto estructurado formal (plantillas)
– Pseudocódigo
– Notaciones gráficas: diagramas de secuencia
• Debe ser legible y comprensible para un usuario no
experto.
• Debe indicar: actores, flujos principal y excepcionales.
13
Diagrama de un caso de uso
14
Descripción de un caso de uso: textual
Realizar Venta (en un Terminal de Punto de Venta o TPV)
Actor Principal: Cajero
Flujo Principal: Un cliente llega al TPV con un conjunto de artículos. El
Cajero registra los artículos y se genera un ticket. El cliente paga en efectivo y
recoge los artículos.
1. El cliente llega al TPV con los artículos.
2. El cajero registra el identificador de cada artículo.
3. El sistema obtiene el precio de cada artículo y añade la información a
la transacción de venta.
4. Al acabar el cajero indica la finalización de la introducción de artículos.
15
Descripción de un caso de uso: textual
Realizar Venta (en un Terminal de Punto de Venta o TPV)
5. El sistema calcula el total de la compra y lo muestra.
6. El cajero le dice al cliente el total.
7. El cliente realiza el pago.
8. El cajero registra la cantidad de dinero recibida.
9. El sistema muestra la cantidad a retornar al cliente y genera un recibo.
10. El cajero deposita el dinero recibido y saca la cantidad a devolver que
entrega al cliente junto al ticket de compra.
11. El sistema almacena la compra completada.
12. El cliente recoge los artículos comprados.
16
Descripción de un caso de uso: gráfica
: Cajero
:Sistema
* introducirItem(cod,cantidad)
finalizarVenta()
hacerPago(cantidad)
crearNuevaVenta()
Realizar Venta
Diagrama de secuencia
17
Ejemplo de modelo de casos de uso:
diagramas de casos de uso
Reservar Libro
Prestamo Libro
Devolver Libro
Socio
Extender Prestamo
Prestamo Revista
Profesor
Devolver Revista
Bibliotecario
Actualizar Catalogo
Socio
Consultar
18
Casos de uso y Colaboraciones
• Con un caso de uso se describe un comportamiento
esperado del sistema, pero no se especifica cómo se
implementa.
• Una caso de uso se implementa a través de una
colaboración:
“Sociedad de clases y otros elementos que colaborarán para
realizar el comportamiento expresado en un caso de uso”
• Una colaboración tiene una parte estática (diagramas
de clases) y una parte dinámica (diagramas de
secuencia).
19
Casos de uso y Colaboraciones
Hacer Pedido
Gestión Pedidos
caso de uso
colaboración
realización
20
Organización de Casos de uso
• Tres tipos de relaciones:
– Generalización
• Un cdu hereda el comportamiento y significado de otro.
– Inclusión
• Un cdu base incorpora explícitamente el
comportamiento de otro en algún lugar de su secuencia.
– Extensión
• Un cdu base incorpora implícitamente el
comportamiento de otro cdu en el lugar especificado
indirectamente por este otro cdu.
21
Ejemplo con los tres tipos de relaciones
Generalización
Comprobar clave
Examinar retina
Validar Usuario
Hacer Pedido
Seguir Pedido
(establecer
prioridad)
Hacer Pedido
Urgente
«extend»
Extensión
«include»
«include»
Inclusión
22
Relación de inclusión
• Permite factorizar un comportamiento en un caso de
uso aparte y evitar repetir un mismo flujo en
diferentes casos de uso.
• Ejemplo:
Hacer Pedido:
Obtener y verificar el número de
pedido;
Incluir “Validar usuario”;
Recoger los ítem del pedido del
usuario;
…
23
Relación de extensión
• El caso de uso base incluye una serie de puntos de
extensión.
• El caso de uso base no conoce los casos de uso de
extensión, está completo sin las extensiones.
• Sirve para modelar:
– la parte opcional del sistema, o
– un subflujo que sólo se ejecuta bajo ciertas
condiciones.
24
Relación de extensión
• Ejemplo:
Hacer Pedido:
Incluir “Validar usuario”;
Recoger los ítem del pedido del usuario;
Establecer prioridad: punto de extensión
Enviar pedido para ser procesado según
la prioridad.
25
Otro ejemplo con relación de extensión
Devolver Libro
Poner multa
«extend»
Puntos de extensión
libro retrasado
Bibliotecario
Nombre: Poner multa
Precondición: Libro devuelto fuera de plazo
Flujo:
1. El bibliotecario introduce detalles multa
2. El sistema registra e imprime la multa
Nombre: Devolver libro
Actor principal: Bibliotecario
Precondición: Bibliotecario está autenticado
Flujo:
1. El bibliotecario introduce id del prestatario.
2. El sistema muestra datos del prestatario y
los libros que tiene prestados.
3. El bibliotecario selecciona libro a devolver.
Punto de extensión: libro retrasado
4. El sistema registra la devolución.
5. ...
26
• Produce confusión.
• Conviene su uso sólo para insertar un nuevo
comportamiento no previsto en un caso de uso
existente.
Relación de extensión
27
• Los casos de uso “hijo” son una especialización del
caso de uso “padre”.
• Produce confusión y se debería evitar su uso.
Buscar libro Buscar CD
Cliente
Buscar Producto
Otro ejemplo con relación de generalización
28
Obtención de casos de uso
1) Identificar los usuarios del sistema.
2) Encontrar todos los roles que juegan los
usuarios y que son relevantes al sistema.
3) Para cada rol identificar todas las formas
(objetivos) de interactuar con el sistema.
4) Crea un caso de uso por cada objetivo.
5) Estructurar los casos de uso.
6) Revisar y validar con el usuario.
29
Plantilla usecases.org (Larman)
• Resumen
• Actores Principales y Secundarios
• Personas involucradas e Intereses
• Precondiciones
• Poscondiciones
• Escenario Principal (Flujo Básico)
• Extensiones (Flujos Alternativos)
• Requisitos de Interfaz de Usuario
• Requisitos No-Funcionales
• Cuestiones Pendientes
30
Caso de uso “Realizar Venta”
• Resumen: Un cliente llega al TPV con un conjunto de artículos.
El cajero registra los artículos y se genera un ticket. El cliente
paga en efectivo y recoge los artículos.
• Actores: Cajero (principal), Sistema (secundario)
• Personal Involucrado e Intereses:
– Cajero: quiere entradas precisas, rápidas y sin errores de pago.
– Compañía: quiere registrar transacciones y satisfacer clientes.
– ...
• Precondición: El cajero se identifica y autentifica.
• Poscondiciones: Se registra la venta. Se calcula el impuesto. Se
actualiza la contabilidad y el inventario.
31
Caso de uso “Realizar Venta”
• Escenario Principal (Flujo Básico):
1. El cliente llega al TPV con los artículos.
2. El cajero inicia una nueva venta.
3. El cajero introduce el identificador de cada artículo.
4. El sistema registra la línea de venta y presenta descripción del artículo,
precio y suma parcial.
El cajero repite los pasos 3 y 4 hasta que se indique.
5. El sistema presenta el total.
6. El cajero le dice al cliente el total a pagar .
7. El cliente paga y el sistema gestiona el pago.
8. El sistema registra la venta completa y actualiza el inventario.
9. El sistema presenta recibo.
32
Caso de uso “Realizar Venta”
• Extensiones (Flujos Alternativos):
A1: Identificador no válido
La secuencia A1 comienza en el punto 3.
4. El sistema señala el error y rechaza la entrada.
El escenario vuelve al punto 3.
A2: El cliente pide eliminar un artículo de la compra.
La secuencia A2 puede ocurrir entre los puntos 3-6.
1. El cajero introduce identificador a eliminar.
2. El sistema actualiza la suma.
El escenario continúa en el punto 6.
A3: Pago en efectivo
La secuencia A3 ocurre en el punto 7.
1. El cajero introduce la cantidad entregada por el cliente.
2. El sistema muestra cantidad a devolver.
El escenario continúa en el punto 8.
…
33
Caso de uso “Realizar Venta”
• Requisitos de Interfaz de Usuario:
- Pantalla táctil en un monitor de pantalla plana.
- El texto debe ser visible a un metro de distancia.
• Requisitos No-Funcionales:
- El identificador del producto podría ser cualquier esquema de
código de barras UPC, EAN-8, EAN-13, ...
- El tiempo de respuesta para autorizar el pago con la tarjeta de
débito o de crédito es de 30 segundos.
• Cuestiones Pendientes:
- Explorar cuestiones de recuperación de accesos a servicios
remotos.
- ¿Qué adaptaciones son necesarias en un TPV para diferentes
negocios?
34
Utilidad de los casos de uso
• Hay consenso en considerar casos de uso
como esenciales para capturar requisitos y
guiar el modelado.
• Pero todavía existe mucha confusión sobre
cómo usarlos.
– ¿Cuál es el número de casos de uso apropiado en
un proyecto?
– ¿Qué casos de uso hay en el sistema?
35
Granularidad de los casos de uso
• Diferente granularidad
• Un caso de uso se puede asociar a un objetivo
del usuario o a una interacción básica con el
sistema.
– Un objetivo implica una o más interacciones.
• Se debe definir un caso de uso por cada
objetivo del usuario.
36
• Casos de uso del negocio
– Procesos de Negocio: Objetivo estratégico de la empresa
– Ej. Venta productos
• Casos de uso del sistema
– Objetivo de un usuario
– Ej. Realizar una compra
• Casos de uso de inclusión
– Forman parte de otro, son como subfunciones
– Ej. Buscar, Validar, Login
Granularidad de los casos de uso
37
• ¿Qué granularidad es apropiada para un caso de
uso del sistema?
– Sirven para planificar el proyecto
– Se les asocia un flujo de interacciones actor-sistema
– Deben ser objetivos del usuario
– ¿En un sistema de venta por internet, es un caso de
uso
– “Añadir producto al carro de la compra”?
Granularidad de los casos de uso
38
Recomendaciones
• Especificar casos de uso no es una actividad
de dibujar diagramas sino de escribir con el
detalle necesario el flujo principal y los flujos
alternativos: “centrado en la escritura en vez
del dibujo”
• El objetivo inicial es identificar los actores y a
partir de sus objetivos encontrar los casos de
uso, el diagrama de casos de uso es una ayuda
visual.
• El texto de los casos de uso debe ser claro.
39
Recomendaciones
• Un caso de uso debe tener una granularidad
apropiada, pues especifica una interacción en
la que se produce un resultado de valor para un
actor.
– No identificar como caso de uso lo que son
interacciones que forman parte de una interacción
mayor que las engloba y no son casos de uso de
inclusión.
• Un error común es no identificar como casos
de uso las tareas que inicia el propio sistema
(Actor Tiempo)
– “Anular reservas pasados quince días”
40
Recomendaciones
• No incluir como casos de uso las operaciones
CRUD sobre un objeto de negocio (alta,
consulta, borrado, actualización).
– CRUD es el acrónimo de Crear, Obtener,
Actualizar y Borrar (Create, Retrieve, Update y
Delete, en inglés).
• La excepción es si se trata de operaciones
relevantes para el sistema, como “Registrar
Cliente” en un sistema de venta por Internet.
41
Recomendaciones
• Cuidado con el empleo de la relación
“include”.
– ¡No hacer una descomposición funcional!
• No abusar de las relaciones de extensión.
• La relación de generalización no debería
utilizarse.
42
Mal uso de los
casos de uso
Mantener libros
Mantener peticiones
Mantener prestamos
Bibliotecario
Gestionar biblioteca
<<include>>
<<include>>
<<include>>
Añadir libro
Eliminar libro
Añadir petición
Eliminar petición
Devolver libro
Prestar libro
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>

Más contenido relacionado

Similar a 3. El modelado de casos de uso.ppt

Introduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptxIntroduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptx
ANTHONYJOSEMEJIAVILL
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
Noelia Vargas
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
ssuserddaf1b
 
Casos de Uso - Juan Bernardo Quintero
Casos de Uso - Juan Bernardo QuinteroCasos de Uso - Juan Bernardo Quintero
Casos de Uso - Juan Bernardo Quintero
Robert Rodriguez
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
JoelChuki
 
Asdasdasdasdasdasdsadasdasd
AsdasdasdasdasdasdsadasdasdAsdasdasdasdasdasdsadasdasd
Asdasdasdasdasdasdsadasdasd
Bryan López
 
Casos de Uso en UML
Casos de Uso en UMLCasos de Uso en UML
Casos de Uso en UML
Henry Cuascota
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
Sergio Sanchez
 
Semana13-AOO.ppt
Semana13-AOO.pptSemana13-AOO.ppt
Semana13-AOO.ppt
antonyfloresgutierre
 
Casos de uso.pptx
Casos de uso.pptxCasos de uso.pptx
Casos de uso.pptx
VivianaSnchez30
 
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UMLINTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
LUISENRIQUEFRANCOEGU
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
Gerardo Garcia
 
Fase de planificación y elaboración
Fase de planificación y elaboraciónFase de planificación y elaboración
Fase de planificación y elaboraciónFefitha de Gonzales
 
Ejercicios-DCU.pdf
Ejercicios-DCU.pdfEjercicios-DCU.pdf
Ejercicios-DCU.pdf
CarmenKeim2
 
Plantilla caso de_uso
Plantilla caso de_usoPlantilla caso de_uso
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
Ir b c
Ir b cIr b c
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdfEL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
JulioRamirez484714
 

Similar a 3. El modelado de casos de uso.ppt (20)

Introduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptxIntroduccion a Casos de Uso (1).pptx
Introduccion a Casos de Uso (1).pptx
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
03 casos deuso
03 casos deuso03 casos deuso
03 casos deuso
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
 
Casos de Uso - Juan Bernardo Quintero
Casos de Uso - Juan Bernardo QuinteroCasos de Uso - Juan Bernardo Quintero
Casos de Uso - Juan Bernardo Quintero
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
 
Asdasdasdasdasdasdsadasdasd
AsdasdasdasdasdasdsadasdasdAsdasdasdasdasdasdsadasdasd
Asdasdasdasdasdasdsadasdasd
 
Casos de Uso en UML
Casos de Uso en UMLCasos de Uso en UML
Casos de Uso en UML
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
Semana13-AOO.ppt
Semana13-AOO.pptSemana13-AOO.ppt
Semana13-AOO.ppt
 
Clase 11 uml_casos_de_uso
Clase 11 uml_casos_de_usoClase 11 uml_casos_de_uso
Clase 11 uml_casos_de_uso
 
Casos de uso.pptx
Casos de uso.pptxCasos de uso.pptx
Casos de uso.pptx
 
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UMLINTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
INTRODUCCION A RUP, REQUISITOS, PROGRAMACION UML
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Fase de planificación y elaboración
Fase de planificación y elaboraciónFase de planificación y elaboración
Fase de planificación y elaboración
 
Ejercicios-DCU.pdf
Ejercicios-DCU.pdfEjercicios-DCU.pdf
Ejercicios-DCU.pdf
 
Plantilla caso de_uso
Plantilla caso de_usoPlantilla caso de_uso
Plantilla caso de_uso
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Ir b c
Ir b cIr b c
Ir b c
 
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdfEL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
EL PROCESO DEL SOFTWARE ORIENTADO A OBJETOS.pdf
 

Último

PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
JonathanFernandoRodr
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
FacundoPortela1
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
NicolasGramajo1
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
Eder288265
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
Melvin191754
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 

Último (20)

PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
 
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdfLas Fuentes de Alimentacion Conmutadas (Switching).pdf
Las Fuentes de Alimentacion Conmutadas (Switching).pdf
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 

3. El modelado de casos de uso.ppt

  • 1. El Lenguaje Unificado de Modelado UML 2.0 Análisis y Diseño del Software
  • 2. 2 Contenidos • Introducción al modelado del software • Presentación de UML • Modelado de Casos de Usos – Diagramas de casos de uso • Modelado Estructural – Diagramas de clases – Paquetes
  • 3. 3 Modelado de Casos de Uso • Un caso de uso especifica un comportamiento deseado del sistema. • Representan los requisitos funcionales del sistema. “Un caso de uso especifica un conjunto de secuencias de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un actor en particular.” (Definición en UML) • Describen qué hace el sistema, no cómo lo hace.
  • 4. 4 Modelado de Casos de Uso • Partes de un caso de uso (cdu) – Conjunto de secuencias de acciones; cada secuencia representa un posible comportamiento del sistema – Actores, roles que pueden jugar los usuarios – Variantes: versiones especializadas, un cdu que extiende a otro o un cdu que incluye a otro – Un caso de uso realiza un trabajo tangible.
  • 5. 5 Ejemplo de Caso de Uso actor caso de uso asociación Responsable Prestamos Gestionar Préstamos
  • 6. 6 Actores Un actor representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con el sistema. • Roles jugados por personas, dispositivos, u otros sistemas. • El tiempo puede ser un actor (“procesos iniciados automáticamente por el sistema”). • No forman parte del sistema.
  • 7. 7 Actores • Un usuario puede jugar diferentes roles. • En la realización de un caso de uso pueden intervenir diferentes actores. • Un actor puede intervenir en varios casos de uso. • Identificar casos de uso mediante actores y eventos externos. • Un actor necesita el caso de uso y/o participa en él.
  • 8. 8 Actores • Dos tipos de actores: – Principal: Requiere al sistema el cumplimiento de un objetivo. – Secundarios: El sistema necesita de ellos para satisfacer un objetivo.
  • 9. 9 Realizar preinscripción Gestión Expedientes Alumno Matriculación Entidad Bancaria Actores Secundario s Actor Principal Ejemplo de Actores
  • 10. 10 Escenarios y Casos de Uso • Un caso de uso describe un conjunto de secuencias de interacciones entre actores y el sistema (escenarios): flujo principal y flujos alternativos o excepcionales. • Un escenario es una instancia de un caso de uso. • Un escenario es una historia particular de uso de un sistema. • Escenarios principales vs. Escenarios secundarios
  • 11. 11 Emisor Centralita Receptor listo( ) tono marcar_numero tono_sonando timbre_sonando telefono_cogido para_tono para_timbre Escenario Los Casos de uso son ideados por Jacobson a principios de los noventa y están inspirados en los Escenarios utilizados para describir procesos. Ejemplo de Escenario
  • 12. 12 Descripción de un caso de uso • Son documentos de texto, no son diagramas. – El modelado de casos de uso consiste en escribir texto, no en dibujar diagramas. • Describir el flujo de eventos – Texto estructurado informal – Texto estructurado formal (plantillas) – Pseudocódigo – Notaciones gráficas: diagramas de secuencia • Debe ser legible y comprensible para un usuario no experto. • Debe indicar: actores, flujos principal y excepcionales.
  • 13. 13 Diagrama de un caso de uso
  • 14. 14 Descripción de un caso de uso: textual Realizar Venta (en un Terminal de Punto de Venta o TPV) Actor Principal: Cajero Flujo Principal: Un cliente llega al TPV con un conjunto de artículos. El Cajero registra los artículos y se genera un ticket. El cliente paga en efectivo y recoge los artículos. 1. El cliente llega al TPV con los artículos. 2. El cajero registra el identificador de cada artículo. 3. El sistema obtiene el precio de cada artículo y añade la información a la transacción de venta. 4. Al acabar el cajero indica la finalización de la introducción de artículos.
  • 15. 15 Descripción de un caso de uso: textual Realizar Venta (en un Terminal de Punto de Venta o TPV) 5. El sistema calcula el total de la compra y lo muestra. 6. El cajero le dice al cliente el total. 7. El cliente realiza el pago. 8. El cajero registra la cantidad de dinero recibida. 9. El sistema muestra la cantidad a retornar al cliente y genera un recibo. 10. El cajero deposita el dinero recibido y saca la cantidad a devolver que entrega al cliente junto al ticket de compra. 11. El sistema almacena la compra completada. 12. El cliente recoge los artículos comprados.
  • 16. 16 Descripción de un caso de uso: gráfica : Cajero :Sistema * introducirItem(cod,cantidad) finalizarVenta() hacerPago(cantidad) crearNuevaVenta() Realizar Venta Diagrama de secuencia
  • 17. 17 Ejemplo de modelo de casos de uso: diagramas de casos de uso Reservar Libro Prestamo Libro Devolver Libro Socio Extender Prestamo Prestamo Revista Profesor Devolver Revista Bibliotecario Actualizar Catalogo Socio Consultar
  • 18. 18 Casos de uso y Colaboraciones • Con un caso de uso se describe un comportamiento esperado del sistema, pero no se especifica cómo se implementa. • Una caso de uso se implementa a través de una colaboración: “Sociedad de clases y otros elementos que colaborarán para realizar el comportamiento expresado en un caso de uso” • Una colaboración tiene una parte estática (diagramas de clases) y una parte dinámica (diagramas de secuencia).
  • 19. 19 Casos de uso y Colaboraciones Hacer Pedido Gestión Pedidos caso de uso colaboración realización
  • 20. 20 Organización de Casos de uso • Tres tipos de relaciones: – Generalización • Un cdu hereda el comportamiento y significado de otro. – Inclusión • Un cdu base incorpora explícitamente el comportamiento de otro en algún lugar de su secuencia. – Extensión • Un cdu base incorpora implícitamente el comportamiento de otro cdu en el lugar especificado indirectamente por este otro cdu.
  • 21. 21 Ejemplo con los tres tipos de relaciones Generalización Comprobar clave Examinar retina Validar Usuario Hacer Pedido Seguir Pedido (establecer prioridad) Hacer Pedido Urgente «extend» Extensión «include» «include» Inclusión
  • 22. 22 Relación de inclusión • Permite factorizar un comportamiento en un caso de uso aparte y evitar repetir un mismo flujo en diferentes casos de uso. • Ejemplo: Hacer Pedido: Obtener y verificar el número de pedido; Incluir “Validar usuario”; Recoger los ítem del pedido del usuario; …
  • 23. 23 Relación de extensión • El caso de uso base incluye una serie de puntos de extensión. • El caso de uso base no conoce los casos de uso de extensión, está completo sin las extensiones. • Sirve para modelar: – la parte opcional del sistema, o – un subflujo que sólo se ejecuta bajo ciertas condiciones.
  • 24. 24 Relación de extensión • Ejemplo: Hacer Pedido: Incluir “Validar usuario”; Recoger los ítem del pedido del usuario; Establecer prioridad: punto de extensión Enviar pedido para ser procesado según la prioridad.
  • 25. 25 Otro ejemplo con relación de extensión Devolver Libro Poner multa «extend» Puntos de extensión libro retrasado Bibliotecario Nombre: Poner multa Precondición: Libro devuelto fuera de plazo Flujo: 1. El bibliotecario introduce detalles multa 2. El sistema registra e imprime la multa Nombre: Devolver libro Actor principal: Bibliotecario Precondición: Bibliotecario está autenticado Flujo: 1. El bibliotecario introduce id del prestatario. 2. El sistema muestra datos del prestatario y los libros que tiene prestados. 3. El bibliotecario selecciona libro a devolver. Punto de extensión: libro retrasado 4. El sistema registra la devolución. 5. ...
  • 26. 26 • Produce confusión. • Conviene su uso sólo para insertar un nuevo comportamiento no previsto en un caso de uso existente. Relación de extensión
  • 27. 27 • Los casos de uso “hijo” son una especialización del caso de uso “padre”. • Produce confusión y se debería evitar su uso. Buscar libro Buscar CD Cliente Buscar Producto Otro ejemplo con relación de generalización
  • 28. 28 Obtención de casos de uso 1) Identificar los usuarios del sistema. 2) Encontrar todos los roles que juegan los usuarios y que son relevantes al sistema. 3) Para cada rol identificar todas las formas (objetivos) de interactuar con el sistema. 4) Crea un caso de uso por cada objetivo. 5) Estructurar los casos de uso. 6) Revisar y validar con el usuario.
  • 29. 29 Plantilla usecases.org (Larman) • Resumen • Actores Principales y Secundarios • Personas involucradas e Intereses • Precondiciones • Poscondiciones • Escenario Principal (Flujo Básico) • Extensiones (Flujos Alternativos) • Requisitos de Interfaz de Usuario • Requisitos No-Funcionales • Cuestiones Pendientes
  • 30. 30 Caso de uso “Realizar Venta” • Resumen: Un cliente llega al TPV con un conjunto de artículos. El cajero registra los artículos y se genera un ticket. El cliente paga en efectivo y recoge los artículos. • Actores: Cajero (principal), Sistema (secundario) • Personal Involucrado e Intereses: – Cajero: quiere entradas precisas, rápidas y sin errores de pago. – Compañía: quiere registrar transacciones y satisfacer clientes. – ... • Precondición: El cajero se identifica y autentifica. • Poscondiciones: Se registra la venta. Se calcula el impuesto. Se actualiza la contabilidad y el inventario.
  • 31. 31 Caso de uso “Realizar Venta” • Escenario Principal (Flujo Básico): 1. El cliente llega al TPV con los artículos. 2. El cajero inicia una nueva venta. 3. El cajero introduce el identificador de cada artículo. 4. El sistema registra la línea de venta y presenta descripción del artículo, precio y suma parcial. El cajero repite los pasos 3 y 4 hasta que se indique. 5. El sistema presenta el total. 6. El cajero le dice al cliente el total a pagar . 7. El cliente paga y el sistema gestiona el pago. 8. El sistema registra la venta completa y actualiza el inventario. 9. El sistema presenta recibo.
  • 32. 32 Caso de uso “Realizar Venta” • Extensiones (Flujos Alternativos): A1: Identificador no válido La secuencia A1 comienza en el punto 3. 4. El sistema señala el error y rechaza la entrada. El escenario vuelve al punto 3. A2: El cliente pide eliminar un artículo de la compra. La secuencia A2 puede ocurrir entre los puntos 3-6. 1. El cajero introduce identificador a eliminar. 2. El sistema actualiza la suma. El escenario continúa en el punto 6. A3: Pago en efectivo La secuencia A3 ocurre en el punto 7. 1. El cajero introduce la cantidad entregada por el cliente. 2. El sistema muestra cantidad a devolver. El escenario continúa en el punto 8. …
  • 33. 33 Caso de uso “Realizar Venta” • Requisitos de Interfaz de Usuario: - Pantalla táctil en un monitor de pantalla plana. - El texto debe ser visible a un metro de distancia. • Requisitos No-Funcionales: - El identificador del producto podría ser cualquier esquema de código de barras UPC, EAN-8, EAN-13, ... - El tiempo de respuesta para autorizar el pago con la tarjeta de débito o de crédito es de 30 segundos. • Cuestiones Pendientes: - Explorar cuestiones de recuperación de accesos a servicios remotos. - ¿Qué adaptaciones son necesarias en un TPV para diferentes negocios?
  • 34. 34 Utilidad de los casos de uso • Hay consenso en considerar casos de uso como esenciales para capturar requisitos y guiar el modelado. • Pero todavía existe mucha confusión sobre cómo usarlos. – ¿Cuál es el número de casos de uso apropiado en un proyecto? – ¿Qué casos de uso hay en el sistema?
  • 35. 35 Granularidad de los casos de uso • Diferente granularidad • Un caso de uso se puede asociar a un objetivo del usuario o a una interacción básica con el sistema. – Un objetivo implica una o más interacciones. • Se debe definir un caso de uso por cada objetivo del usuario.
  • 36. 36 • Casos de uso del negocio – Procesos de Negocio: Objetivo estratégico de la empresa – Ej. Venta productos • Casos de uso del sistema – Objetivo de un usuario – Ej. Realizar una compra • Casos de uso de inclusión – Forman parte de otro, son como subfunciones – Ej. Buscar, Validar, Login Granularidad de los casos de uso
  • 37. 37 • ¿Qué granularidad es apropiada para un caso de uso del sistema? – Sirven para planificar el proyecto – Se les asocia un flujo de interacciones actor-sistema – Deben ser objetivos del usuario – ¿En un sistema de venta por internet, es un caso de uso – “Añadir producto al carro de la compra”? Granularidad de los casos de uso
  • 38. 38 Recomendaciones • Especificar casos de uso no es una actividad de dibujar diagramas sino de escribir con el detalle necesario el flujo principal y los flujos alternativos: “centrado en la escritura en vez del dibujo” • El objetivo inicial es identificar los actores y a partir de sus objetivos encontrar los casos de uso, el diagrama de casos de uso es una ayuda visual. • El texto de los casos de uso debe ser claro.
  • 39. 39 Recomendaciones • Un caso de uso debe tener una granularidad apropiada, pues especifica una interacción en la que se produce un resultado de valor para un actor. – No identificar como caso de uso lo que son interacciones que forman parte de una interacción mayor que las engloba y no son casos de uso de inclusión. • Un error común es no identificar como casos de uso las tareas que inicia el propio sistema (Actor Tiempo) – “Anular reservas pasados quince días”
  • 40. 40 Recomendaciones • No incluir como casos de uso las operaciones CRUD sobre un objeto de negocio (alta, consulta, borrado, actualización). – CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (Create, Retrieve, Update y Delete, en inglés). • La excepción es si se trata de operaciones relevantes para el sistema, como “Registrar Cliente” en un sistema de venta por Internet.
  • 41. 41 Recomendaciones • Cuidado con el empleo de la relación “include”. – ¡No hacer una descomposición funcional! • No abusar de las relaciones de extensión. • La relación de generalización no debería utilizarse.
  • 42. 42 Mal uso de los casos de uso Mantener libros Mantener peticiones Mantener prestamos Bibliotecario Gestionar biblioteca <<include>> <<include>> <<include>> Añadir libro Eliminar libro Añadir petición Eliminar petición Devolver libro Prestar libro <<include>> <<include>> <<include>> <<include>> <<include>> <<include>>