SlideShare una empresa de Scribd logo
Análisis y UML “ Fundamento de los Casos de Uso” Metodologías de Análisis y Diseño Unidad IV Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática
UML:  Fundamentos de los modelos de Caso de Uso   Fueron presentados por primera vez por Jacobson a principios de los 90. Los casos de uso documentan el comportamiento del sistema (acción y reacción) desde el punto de vista del usuario. Como <<usuario>> se entiende cualquier cosa que ajena al sistema se desarrolla y que interactúa con el mismo (persona, sistema de información, dispositivos de hardware, etc.). El modelado de caso de uso ayuda con tres de los aspectos más difíciles del desarrollo:  La captura de requisitos, La planificación de las iteraciones del desarrollo, La validación de los sistemas.
UML:  Fundamentos de los modelos de Caso de Uso   Definición: Un caso de uso especifica un comportamiento deseado del sistema. Representan los  requisitos funcionales del sistema. “ Un caso de uso especifica una secuencia de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un particular actor” . Describe que hace el sistema, no como lo hace.
UML:  Fundamentos de los modelos de Caso de Uso   Un diagrama de caso de uso es relativamente fácil de comprender de forma intuitiva, incluso sin conocer la notación. Esto es una ventaja importante. Figura que representa al caso de uso. Un caso de uso individual representa un tipo de tarea que tiene que soportar el sistema Los casos de uso también se describen en detalle, normalmente en texto. (Descripción de alto nivel, Formato expandido)
UML:  Fundamentos de los modelos de Caso de Uso   Otro componente de los caso de uso es el  Actor , normalmente aparece con el símbolo de un muñeco, representa un tipo de usuario del sistema.  Notación UML Un actor es una entidad externa del sistema que de alguna manera estimula el sistema con eventos de entrada o espera una respuesta del sistema.
UML:  Fundamentos de los modelos de Caso de Uso   ,[object Object],[object Object],[object Object],[object Object],[object Object],La misma persona física puede desempeñar varios roles distintos.
UML:  Fundamentos de los modelos de Caso de Uso   Ejemplo: Hay una línea que conecta un actor con un caso de uso si el actor interactúa con el sistema para realizar parte de la tarea. (Comunicación sencilla).
UML: Actores en Detalle   Beneficiarios : Cada caso de uso tiene que representar una tarea, que se le requiere al sistema que soporte. Normalmente esto significa que el caso de uso tiene valor para al menos uno de los actores.  Al actor para el que un caso de uso tiene valor se le llama beneficiario del caso de uso .   Por esta razón los desarrolladores tienen que conocer quién necesita un caso de uso (Actor Primario) y quien esta implicado en él sin obtener ningún beneficio (Actor Secundario). Identificar los actores:  los usuarios humanos potenciales de un sistema, tienden a ser relativamente fáciles de identificar. Para desarrollar un modelo de caso de uso se necesita identificar los roles que estos humanos pueden desempeñar.
UML: Actores en Detalle  ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Propiedades de los casos de uso  ,[object Object],[object Object],[object Object],[object Object]
UML: Escenarios y Casos de Uso  Un caso de uso describe un conjunto de secuencias de interacciones o escenarios:  flujo principal  y  flujo alternativos o excepcionales . Un escenario es una instancia de un caso de uso.
UML: Ejemplo  Sist. Punto de Venta Comprar producto Log In Pagar producto Inicializar Terminar Agregar usuarios Cajero Cliente Sist. Adm. Gerente Agregar nuevos usuarios Sistema administrador Iniciar Terminar Gerente Comprar productos Paga productos Cliente Log in Dar vuelto Cajero Caso de uso Actor
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  Descripción del formato de alto nivel Ejemplo: Primario Tipo:  Un cliente llega a la caja registradora con los artículos que comprará. El Cajero registra los artículos y recibe el pago, el cual debe ser autorizado. Al terminar la operación, el Cliente se marcha con los artículos comprados.  Descripción: Cliente, Cajero  Actores: Comprar productos  Caso de uso:
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  Descripción formato Expandido Segunda Sección: Formato Dos columnas Descripción numerada de las respuestas del sistema Acciones numeradas de los actores Responsabilidad del Sistema (Respuesta del Sistema) Acción del Actor
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  Descripción formato expandido Ejemplo: Funciones: R1.1, R1.2, R1.3, R1.7, R2.1 Referencias Cruzadas: Primario y esencial Tipo:  Un cliente llega a la caja registradora con los artículos que comprará. El Cajero registra los artículos y recibe el pago, el cual debe ser autorizado. Al terminar la operación, el Cliente se marcha con los artículos comprados.  Resumen: Capturar una venta y su pago en efectivo. Propósito: Cliente (iniciador), Cajero  Actores: Comprar productos  Caso de uso:
UML: Formato para Casos de Uso  Descripción formato expandido Ejemplo: Segunda Sección 12.- El cliente se marcha con los artículos comprados 11.- Registra venta concluida 10.- El cajero deposita el efectivo recibido y extrae el cambio 9.- Muestra al cliente la diferencia, emite recibo  8.- El cajero registra la cantidad de efectivo recibido 7.- El cliente efectúa el pago en efectivo (el efectivo ofrecido probablemente es mayor que la venta) 6.- El cajero indica el total al cliente 5.- Calcula y presenta el total de la venta 4.- Al terminar de introducir el producto. El cajero indica  que se concluya la captura de productos 3.- Determina el precio del producto e incorpora a la transacción actual la información correspondiente. Se presenta la descripción y el precio actual del producto. 2.- El cajero registra la identificación de cada producto. Si hay varios productos de una categoría, se puede introducir la cantidad 1.- Comienza cuando el cliente llega a una caja con productos que desea comprar. Respuesta del sistema Acción de los actores
UML: Formato para Casos de Uso  ,[object Object],[object Object],[object Object],[object Object]
UML: Formato para Casos de Uso  Otros formatos Formato de una línea para eventos. Nota: No existe el formato ideal. Algunos prefieren un a columna otros dos. Quitan y agregan secciones. Sin embargo esto no es importante, la clave está en escribir el curso normal de eventos y los curso alternativos en alguna forma.
UML: Limite del Sistema Opcionalmente, puede haber una caja en un diagrama de casos de uso, alrededor de los casos de uso, etiquetado con el nombre del sistema. La caja representa el limite del sistema. Puede ser útil cuando  se modelan sistemas complejos con muchos subsistemas.
UML: Utilización de los casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Utilización de los casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Un aspecto básico es que no se debería planificar la entrega del sistema en una suma de tiempo inferior a la suma de los tiempos para el desarrollo de cada caso de uso.
UML: Utilización de los casos de uso Casos de uso a través del desarrollo Aspectos políticos:  entregar primero los casos de uso más prioritarios, para mostrar que el sistema genera aportes. Aspectos Técnicos:  entra en conflicto con los anteriores, hay que implementar primero los casos de uso más riesgosos, para abordar los riesgos cuando sea posible. Validación del sistema:  Cada caso de uso describe un requisito del sistema por lo que un diseño correcto permite que se ejecuta cada caso de uso: es decir realizar cada caso de uso. Una técnica y obvia para validar el diseño de un sistema es tomar de uno en uno los casos de uso y comprobar que el sistema permite ejecutar dicho caso de uso.
UML: Ejercicios Realice los siguientes ejercicios para practicar los conceptos aprendidos. Ejercicios
UML: Relación entre casos de uso Casos de Uso para la reutilización El caso más vital es cuando se puede sacar factor común del comportamiento de dos o más casos de uso originales. También cuando se descubre que se puede implementar parte de uno de los casos de uso utilizando un componente. Ejemplo: Tomar prestada copia y ampliar préstamo. Actor Ampliar Préstamo Tomar Prestada Copia de libro Comprobar para Reserva <<include>> <<include>>
UML: Relación entre casos de uso Casos de Uso para la reutilización Destacar que la flecha va desde el caso de uso <<usuario>> hacia el caso de uso <<usado>>, y se etiqueta con <<include>>, para representar que el caso de uso origen incluye el caso de uso destino Actor Ampliar Préstamo Tomar Prestada Copia de libro Comprobar para Reserva <<include>> <<include>>
UML: Relación entre casos de uso Casos de Uso para la reutilización El caso de uso origen depende del caso de uso destino, pero el caso de uso destino no depende del caso de uso origen. Cuando una instancia del caso de uso <<llega al lugar>> donde el comportamiento de otro caso de uso debe ser incluido, ejecuta todo el comportamiento descrito por el caso de uso incluido y luego continua de acuerdo a su caso de uso original.
UML: Relación entre casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Relación entre casos de uso ,[object Object],[object Object],[object Object],[object Object]
UML: Relación entre casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML: Relación entre casos de uso Separación del comportamiento variable <<extend>> Si un caso de uso incorpora dos o más escenarios con diferencias significativas, esto es, se podría mostrar como un caso de uso principal y uno o más casos secundarios. Cuando se realiza esto es un problema de juicio, ya que siempre se pueden mostrar casos variables en un caso de uso. Ejemplo: Tomar prestada copia de libro. Actor Tomar Prestada Copia de libro Rechazar Préstamo <<extend>>
UML: Relación entre casos de uso Separación del comportamiento variable <<extend>> Se utiliza la flecha <<extends>> desde el caso de uso menos central al central. La flecha va desde el caso excepcional al caso normal. La precondición debe hacer referencia al caso de uso extendido Actor Tomar Prestada Copia de libro Rechazar Préstamo <<extends>>
UML: Relación entre casos de uso Generalización (herencia) Dos actores, o dos casos de uso, pueden estar relacionados por medio de la generalización. Ejemplo: generalización actores PrestatarioLibro PrestatarioRevistas
UML: Relación entre casos de uso Generalización (herencia) Cuando los casos de uso están relacionados a través de una generalización la idea es mostrar una tarea y una versión especializada de la misma. Pagar en Efectivo Pagar con Cheque Pagar
UML: Relación entre casos de uso Una regla básica es que si se quiere describir comportamiento extra posiblemente se requiera <<extends>>, mientras que si lo que se quiere es una etiqueta para una versión especializada de una tarea completa, probablemente se quiera generalización.
UML: Pasos para la especificación de los casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object]
UML: ¿Por qué casos de Uso? “ Ofrecen un  medio sistemático e intuitivo  para capturar los requisitos funcionales, centrándose en el valor añadido  para el usuario”.  Dirigen todo el proceso de desarrollo  puesto que la mayoría de las actividades (planificación, análisis, diseño, validación, test, ..) se realizan a partir de los casos de uso. Mecanismo importante para soportar  “trazabilidad”  entre modelos.
UML: Recomendaciones ERROR COMÚN: no identificar como casos de uso las tareas que lanza el propio sistema. “ Anular reservas pasadas quince días” No incluir casos de uso de las operaciones CRUD sobre un objeto de negocios (consultas, borrado, actualización, registros): excepto si se trata de operaciones relevantes para el sistema, como “registrar clientes” en un sistema de ventas por Internet. Cuidado con el empleo de la relación <<include>> NO HACER UNA DESCOMPOSICIÓN FUNCIONAL!!!
UML: Recomendaciones Escribir casos de uso independientes de la interfaz o de detalles de implementación, escribirlos a nivel esencial. Hay que comprobar que los casos de uso incluyen toda la funcionalidad del sistema. Los casos de uso sólo consideran los requisitos funcionales del proyecto, hay que añadir los no funcionales.
Bibliografía ,[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
J M
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
yoiner santiago
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
Victor Quintero
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
myle22
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
Ejército Mexicano
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
Zuleima
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
still01
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
Juan Raul Vergara
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
Rene Guaman-Quinche
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
Irving Che
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
Universidad Nacional de Frontera
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
CristobalFicaV
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
Germán Sánchez
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
ramirezjaime
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
PerozoAlejandro
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
guest2accd2
 
Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividad
Julio Pari
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
Emilio Aviles Avila
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
Javier Rivera
 

La actualidad más candente (20)

Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividad
 
Curso Uml 2.1 Diagramas De Cu Y Clases
Curso Uml   2.1 Diagramas De Cu Y ClasesCurso Uml   2.1 Diagramas De Cu Y Clases
Curso Uml 2.1 Diagramas De Cu Y Clases
 
Modelado del análisis
Modelado del análisisModelado del análisis
Modelado del análisis
 

Similar a Unidad 4 Mad Modelado Analisis Casos De Uso

UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
Katty Landacay
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
Katty Landacay
 
Presentacion Casos De Uso1
Presentacion Casos De Uso1Presentacion Casos De Uso1
Presentacion Casos De Uso1
Marilyn Jaramillo
 
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOSUNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
Rosemary Samaniego
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
ssuserddaf1b
 
Uml
UmlUml
Uml
Andres
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
Julio Pari
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
JOAQUIN ENRIQUE LEAL ABRIL
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
Universidad Fermín Toro
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
martinezluis17
 
Yuliana y dency
Yuliana y dencyYuliana y dency
Yuliana y dency
densy de la cruz lucero
 
05 Casos Uso Bis
05 Casos Uso Bis05 Casos Uso Bis
05 Casos Uso Bis
Carylu
 
4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt
Ander Gonzalez
 
Casos de Uso en UML
Casos de Uso en UMLCasos de Uso en UML
Casos de Uso en UML
Henry Cuascota
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
Juan Pablo Bustos Thames
 
Tms 03 modelo_negocio
Tms 03 modelo_negocioTms 03 modelo_negocio
Tms 03 modelo_negocio
Jorge Pariasca
 
04 casos de uso
04   casos de uso04   casos de uso
04 casos de uso
duncan007
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
JoelChuki
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
aleleoemaseg
 

Similar a Unidad 4 Mad Modelado Analisis Casos De Uso (20)

UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Presentacion Casos De Uso1
Presentacion Casos De Uso1Presentacion Casos De Uso1
Presentacion Casos De Uso1
 
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOSUNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
UNIDAD V - MODELADO DE ANALISIS ORIENTADO A OBJETOS
 
Secme 23279
Secme 23279Secme 23279
Secme 23279
 
Uml
UmlUml
Uml
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
9 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 109 Clase Captura De Los Requisitosa 9 10
9 Clase Captura De Los Requisitosa 9 10
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
 
Uml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_usoUml clase 02_uml_casos_de_uso
Uml clase 02_uml_casos_de_uso
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
 
Yuliana y dency
Yuliana y dencyYuliana y dency
Yuliana y dency
 
05 Casos Uso Bis
05 Casos Uso Bis05 Casos Uso Bis
05 Casos Uso Bis
 
4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt4-modelo-de-caso-de-usos.ppt
4-modelo-de-caso-de-usos.ppt
 
Casos de Uso en UML
Casos de Uso en UMLCasos de Uso en UML
Casos de Uso en UML
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
 
Tms 03 modelo_negocio
Tms 03 modelo_negocioTms 03 modelo_negocio
Tms 03 modelo_negocio
 
04 casos de uso
04   casos de uso04   casos de uso
04 casos de uso
 
3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso3.-Especificacion_requisitos.caos de uso
3.-Especificacion_requisitos.caos de uso
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Más de Sergio Sanchez

Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Sergio Sanchez
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
Sergio Sanchez
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
Sergio Sanchez
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
Sergio Sanchez
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
Sergio Sanchez
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
Sergio Sanchez
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
Sergio Sanchez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
Sergio Sanchez
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
Sergio Sanchez
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
Sergio Sanchez
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
Sergio Sanchez
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
Sergio Sanchez
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
Sergio Sanchez
 

Más de Sergio Sanchez (20)

Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Unidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De ProgramasUnidad 2.3 Prueba De Programas
Unidad 2.3 Prueba De Programas
 
Unidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El ProgramaUnidad 2.2 Escribiendo El Programa
Unidad 2.2 Escribiendo El Programa
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 

Unidad 4 Mad Modelado Analisis Casos De Uso

  • 1. Análisis y UML “ Fundamento de los Casos de Uso” Metodologías de Análisis y Diseño Unidad IV Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática
  • 2. UML: Fundamentos de los modelos de Caso de Uso Fueron presentados por primera vez por Jacobson a principios de los 90. Los casos de uso documentan el comportamiento del sistema (acción y reacción) desde el punto de vista del usuario. Como <<usuario>> se entiende cualquier cosa que ajena al sistema se desarrolla y que interactúa con el mismo (persona, sistema de información, dispositivos de hardware, etc.). El modelado de caso de uso ayuda con tres de los aspectos más difíciles del desarrollo: La captura de requisitos, La planificación de las iteraciones del desarrollo, La validación de los sistemas.
  • 3. UML: Fundamentos de los modelos de Caso de Uso Definición: Un caso de uso especifica un comportamiento deseado del sistema. Representan los requisitos funcionales del sistema. “ Un caso de uso especifica una secuencia de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un particular actor” . Describe que hace el sistema, no como lo hace.
  • 4. UML: Fundamentos de los modelos de Caso de Uso Un diagrama de caso de uso es relativamente fácil de comprender de forma intuitiva, incluso sin conocer la notación. Esto es una ventaja importante. Figura que representa al caso de uso. Un caso de uso individual representa un tipo de tarea que tiene que soportar el sistema Los casos de uso también se describen en detalle, normalmente en texto. (Descripción de alto nivel, Formato expandido)
  • 5. UML: Fundamentos de los modelos de Caso de Uso Otro componente de los caso de uso es el Actor , normalmente aparece con el símbolo de un muñeco, representa un tipo de usuario del sistema. Notación UML Un actor es una entidad externa del sistema que de alguna manera estimula el sistema con eventos de entrada o espera una respuesta del sistema.
  • 6.
  • 7. UML: Fundamentos de los modelos de Caso de Uso Ejemplo: Hay una línea que conecta un actor con un caso de uso si el actor interactúa con el sistema para realizar parte de la tarea. (Comunicación sencilla).
  • 8. UML: Actores en Detalle Beneficiarios : Cada caso de uso tiene que representar una tarea, que se le requiere al sistema que soporte. Normalmente esto significa que el caso de uso tiene valor para al menos uno de los actores. Al actor para el que un caso de uso tiene valor se le llama beneficiario del caso de uso . Por esta razón los desarrolladores tienen que conocer quién necesita un caso de uso (Actor Primario) y quien esta implicado en él sin obtener ningún beneficio (Actor Secundario). Identificar los actores: los usuarios humanos potenciales de un sistema, tienden a ser relativamente fáciles de identificar. Para desarrollar un modelo de caso de uso se necesita identificar los roles que estos humanos pueden desempeñar.
  • 9.
  • 10.
  • 11. UML: Escenarios y Casos de Uso Un caso de uso describe un conjunto de secuencias de interacciones o escenarios: flujo principal y flujo alternativos o excepcionales . Un escenario es una instancia de un caso de uso.
  • 12. UML: Ejemplo Sist. Punto de Venta Comprar producto Log In Pagar producto Inicializar Terminar Agregar usuarios Cajero Cliente Sist. Adm. Gerente Agregar nuevos usuarios Sistema administrador Iniciar Terminar Gerente Comprar productos Paga productos Cliente Log in Dar vuelto Cajero Caso de uso Actor
  • 13.
  • 14.
  • 15. UML: Formato para Casos de Uso Descripción del formato de alto nivel Ejemplo: Primario Tipo: Un cliente llega a la caja registradora con los artículos que comprará. El Cajero registra los artículos y recibe el pago, el cual debe ser autorizado. Al terminar la operación, el Cliente se marcha con los artículos comprados. Descripción: Cliente, Cajero Actores: Comprar productos Caso de uso:
  • 16.
  • 17.
  • 18.
  • 19. UML: Formato para Casos de Uso Descripción formato Expandido Segunda Sección: Formato Dos columnas Descripción numerada de las respuestas del sistema Acciones numeradas de los actores Responsabilidad del Sistema (Respuesta del Sistema) Acción del Actor
  • 20.
  • 21. UML: Formato para Casos de Uso Descripción formato expandido Ejemplo: Funciones: R1.1, R1.2, R1.3, R1.7, R2.1 Referencias Cruzadas: Primario y esencial Tipo: Un cliente llega a la caja registradora con los artículos que comprará. El Cajero registra los artículos y recibe el pago, el cual debe ser autorizado. Al terminar la operación, el Cliente se marcha con los artículos comprados. Resumen: Capturar una venta y su pago en efectivo. Propósito: Cliente (iniciador), Cajero Actores: Comprar productos Caso de uso:
  • 22. UML: Formato para Casos de Uso Descripción formato expandido Ejemplo: Segunda Sección 12.- El cliente se marcha con los artículos comprados 11.- Registra venta concluida 10.- El cajero deposita el efectivo recibido y extrae el cambio 9.- Muestra al cliente la diferencia, emite recibo 8.- El cajero registra la cantidad de efectivo recibido 7.- El cliente efectúa el pago en efectivo (el efectivo ofrecido probablemente es mayor que la venta) 6.- El cajero indica el total al cliente 5.- Calcula y presenta el total de la venta 4.- Al terminar de introducir el producto. El cajero indica que se concluya la captura de productos 3.- Determina el precio del producto e incorpora a la transacción actual la información correspondiente. Se presenta la descripción y el precio actual del producto. 2.- El cajero registra la identificación de cada producto. Si hay varios productos de una categoría, se puede introducir la cantidad 1.- Comienza cuando el cliente llega a una caja con productos que desea comprar. Respuesta del sistema Acción de los actores
  • 23.
  • 24. UML: Formato para Casos de Uso Otros formatos Formato de una línea para eventos. Nota: No existe el formato ideal. Algunos prefieren un a columna otros dos. Quitan y agregan secciones. Sin embargo esto no es importante, la clave está en escribir el curso normal de eventos y los curso alternativos en alguna forma.
  • 25. UML: Limite del Sistema Opcionalmente, puede haber una caja en un diagrama de casos de uso, alrededor de los casos de uso, etiquetado con el nombre del sistema. La caja representa el limite del sistema. Puede ser útil cuando se modelan sistemas complejos con muchos subsistemas.
  • 26.
  • 27.
  • 28. UML: Utilización de los casos de uso Casos de uso a través del desarrollo Aspectos políticos: entregar primero los casos de uso más prioritarios, para mostrar que el sistema genera aportes. Aspectos Técnicos: entra en conflicto con los anteriores, hay que implementar primero los casos de uso más riesgosos, para abordar los riesgos cuando sea posible. Validación del sistema: Cada caso de uso describe un requisito del sistema por lo que un diseño correcto permite que se ejecuta cada caso de uso: es decir realizar cada caso de uso. Una técnica y obvia para validar el diseño de un sistema es tomar de uno en uno los casos de uso y comprobar que el sistema permite ejecutar dicho caso de uso.
  • 29. UML: Ejercicios Realice los siguientes ejercicios para practicar los conceptos aprendidos. Ejercicios
  • 30. UML: Relación entre casos de uso Casos de Uso para la reutilización El caso más vital es cuando se puede sacar factor común del comportamiento de dos o más casos de uso originales. También cuando se descubre que se puede implementar parte de uno de los casos de uso utilizando un componente. Ejemplo: Tomar prestada copia y ampliar préstamo. Actor Ampliar Préstamo Tomar Prestada Copia de libro Comprobar para Reserva <<include>> <<include>>
  • 31. UML: Relación entre casos de uso Casos de Uso para la reutilización Destacar que la flecha va desde el caso de uso <<usuario>> hacia el caso de uso <<usado>>, y se etiqueta con <<include>>, para representar que el caso de uso origen incluye el caso de uso destino Actor Ampliar Préstamo Tomar Prestada Copia de libro Comprobar para Reserva <<include>> <<include>>
  • 32. UML: Relación entre casos de uso Casos de Uso para la reutilización El caso de uso origen depende del caso de uso destino, pero el caso de uso destino no depende del caso de uso origen. Cuando una instancia del caso de uso <<llega al lugar>> donde el comportamiento de otro caso de uso debe ser incluido, ejecuta todo el comportamiento descrito por el caso de uso incluido y luego continua de acuerdo a su caso de uso original.
  • 33.
  • 34.
  • 35.
  • 36. UML: Relación entre casos de uso Separación del comportamiento variable <<extend>> Si un caso de uso incorpora dos o más escenarios con diferencias significativas, esto es, se podría mostrar como un caso de uso principal y uno o más casos secundarios. Cuando se realiza esto es un problema de juicio, ya que siempre se pueden mostrar casos variables en un caso de uso. Ejemplo: Tomar prestada copia de libro. Actor Tomar Prestada Copia de libro Rechazar Préstamo <<extend>>
  • 37. UML: Relación entre casos de uso Separación del comportamiento variable <<extend>> Se utiliza la flecha <<extends>> desde el caso de uso menos central al central. La flecha va desde el caso excepcional al caso normal. La precondición debe hacer referencia al caso de uso extendido Actor Tomar Prestada Copia de libro Rechazar Préstamo <<extends>>
  • 38. UML: Relación entre casos de uso Generalización (herencia) Dos actores, o dos casos de uso, pueden estar relacionados por medio de la generalización. Ejemplo: generalización actores PrestatarioLibro PrestatarioRevistas
  • 39. UML: Relación entre casos de uso Generalización (herencia) Cuando los casos de uso están relacionados a través de una generalización la idea es mostrar una tarea y una versión especializada de la misma. Pagar en Efectivo Pagar con Cheque Pagar
  • 40. UML: Relación entre casos de uso Una regla básica es que si se quiere describir comportamiento extra posiblemente se requiera <<extends>>, mientras que si lo que se quiere es una etiqueta para una versión especializada de una tarea completa, probablemente se quiera generalización.
  • 41.
  • 42. UML: ¿Por qué casos de Uso? “ Ofrecen un medio sistemático e intuitivo para capturar los requisitos funcionales, centrándose en el valor añadido para el usuario”. Dirigen todo el proceso de desarrollo puesto que la mayoría de las actividades (planificación, análisis, diseño, validación, test, ..) se realizan a partir de los casos de uso. Mecanismo importante para soportar “trazabilidad” entre modelos.
  • 43. UML: Recomendaciones ERROR COMÚN: no identificar como casos de uso las tareas que lanza el propio sistema. “ Anular reservas pasadas quince días” No incluir casos de uso de las operaciones CRUD sobre un objeto de negocios (consultas, borrado, actualización, registros): excepto si se trata de operaciones relevantes para el sistema, como “registrar clientes” en un sistema de ventas por Internet. Cuidado con el empleo de la relación <<include>> NO HACER UNA DESCOMPOSICIÓN FUNCIONAL!!!
  • 44. UML: Recomendaciones Escribir casos de uso independientes de la interfaz o de detalles de implementación, escribirlos a nivel esencial. Hay que comprobar que los casos de uso incluyen toda la funcionalidad del sistema. Los casos de uso sólo consideran los requisitos funcionales del proyecto, hay que añadir los no funcionales.
  • 45.