0% encontró este documento útil (0 votos)
81 vistas33 páginas

Teoría 5 Requerimientos IV - Casos de Uso

El documento aborda técnicas de especificación de requerimientos en ingeniería de software, enfocándose en casos de uso y historias de usuario. Los casos de uso modelan interacciones entre usuarios y sistemas, facilitando la captura de requerimientos funcionales y la comunicación con los usuarios. Las historias de usuario, utilizadas en metodologías ágiles, son descripciones breves de requisitos que permiten una gestión rápida y flexible de los mismos.

Cargado por

ivansalgado2294
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
81 vistas33 páginas

Teoría 5 Requerimientos IV - Casos de Uso

El documento aborda técnicas de especificación de requerimientos en ingeniería de software, enfocándose en casos de uso y historias de usuario. Los casos de uso modelan interacciones entre usuarios y sistemas, facilitando la captura de requerimientos funcionales y la comunicación con los usuarios. Las historias de usuario, utilizadas en metodologías ágiles, son descripciones breves de requisitos que permiten una gestión rápida y flexible de los mismos.

Cargado por

ivansalgado2294
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INGENIERÍA DE

SOFTWARE I
Requerimientos IV – Casos de Uso
- Historias de usuarios

2013
2013 Ingeniería de Software I 2

TÉCNICAS DE ESPECIFICACIÓN DE
REQUERIMIENTOS
Casos de Uso
2013 Ingeniería de Software I 3

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
 Modelo de Casos de Uso
 Proceso de modelado de las “funcionalidades” del
sistema en término de los eventos que interactúan
entre los usuarios y el sistema.
 Tiene sus orígenes en el modelado orientado a
objetos (Jacobson 1992) pero su eficiencia en
modelado de requerimientos hizo que se
independice de la técnica de diseño utilizada,
siendo aplicable a cualquier metodología de
desarrollo.
 El uso de CU facilita y alienta la participación de los
usuarios
Whitten y Bentley
2013 Ingeniería de Software I 4

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
 Modelo de Casos de Uso
 Beneficios
 Herramienta para capturar requerimientos funcionales.
 Descompone el alcance del sistema en piezas más manejables.
 Medio de comunicación con los usuarios.
Utiliza lenguaje común y fácil de entender por las partes.
 Permite estimar el alcance del proyecto y el esfuerzo a realizar.
 Define una línea base para la definición de los planes de prueba.
 Define una línea base para toda la documentación del sistema.
 Proporciona una herramienta para el seguimiento de los
requisitos.

Whitten y Bentley
2013 Ingeniería de Software I 5

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso

• Elementos del Modelo de Casos de Uso

• Diagrama de Casos de Uso


• Ilustra las interacciones entre el sistema y los
actores.

• Escenarios (narración del CU)


• Descripción de la interacción entre el actor y el
sistema para realizar la funcionalidad.

Whitten y Bentley
2013 Ingeniería de Software I 6

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Diagrama de Casos de Uso
• Ejemplo

Whitten y Bentley
2013 Ingeniería de Software I 7

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Caso de Uso
• Representa un objetivo (funcionalidad) individual del sistema y
describe la secuencia de actividades y de interacciones para
alcanzarlo
• Para que el CU sea considerado un requerimiento debe estar
acompañando de su respectivo escenario

Whitten y Bentley
2013 Ingeniería de Software I 8

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Actores
• Un actor inicia una actividad (CU) en el sistema
• Representa un papel desempeñado por un usuario que interactúa
(rol)
• Puede ser una persona, sistema externo o dispositivo externo que
emita un evento (sensor, reloj)

Whitten y Bentley
2013 Ingeniería de Software I 9

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Relaciones
• Asociaciones
• Extensiones (Extends)
• Uso o Inclusión (Uses)
• Dependencia (Depends)
• Herencia

Whitten y Bentley
2013 Ingeniería de Software I 10

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Asociaciones
• Relación entre un actor y un CU en el que interactúan entre sí

(1) El Actor inicia el caso de uso


(2) El caso de uso interacciona con actor
Whitten y Bentley
2013 Ingeniería de Software I 11

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Extensiones
• Un CU extiende la funcionalidad de otro CU
• Un CU puede tener muchos CU extensiones
• Los CU extensiones sólo son iniciados por un CU

Whitten y Bentley
2013 Ingeniería de Software I 12

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Uso o inclusión
• Reduce la redundancia entres dos o más CU al combinar los
pasos comunes de los CU

Whitten y Bentley
2013 Ingeniería de Software I 13

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Dependencia
• Relación entre CU que indica que un CU no puede realizarse
hasta que se haya realizado otro CU

Whitten y Bentley
2013 Ingeniería de Software I 14

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de Uso
• Elementos del Diagrama de Casos de Uso
• Herencia
• Relación entre actores donde un actor hereda las
funcionalidades de uno o varios actores

Whitten y Bentley
2013 Ingeniería de Software I 15

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Elementos del Modelo de Casos de
Uso
• Escenarios (narración del CU)
• Conceptos Generales
• Descripción de la interacción del escenario
• Descripción de eventos alternativos

Whitten y Bentley
2013 Ingeniería de Software I 16

Técnicas de
Los Especificación
nombres del o los de Requerimientos
Fecha de la última
responsables del CU modificación y la versión
Dinámicas – Casos de Uso
Nombre del CU, debe actual de CU
comenzar con un verbo y
representar la meta del CU

Actor principal que se Identificación de CU


beneficia del CU Prioridad, importancia del CU en
términos de baja media alta
La fuente define la entidad que da
origen al CU Por Ejemplo un
requerimiento

Otros actores que


intervienen en el CU

Cualquier persona que


tenga un aporte en el
Una descripción corta y desarrollo y la operación
precisa del propósito del del sistema (diferente del
CU actor)
2013 Ingeniería de Software I 17

Evento que inicia la Una restricción del estado


Técnicas de Especificación de Requerimientos
ejecución de un CU (por del sistema antes de la
ejemplo el tiempo) ejecución del CU ( por
Dinámicas – Casos de Uso ejemplo otro CU que debe
ejecutarse previamente)

Secuencia normal (sin


errores ni condiciones)
realizada por los actores y
el sistema.
Debe representar la
interacción entre el actor y
el sistema.
2013 Ingeniería de Software I 18

Describen el
Técnicas de Especificación de Requerimientos
comportamiento si ocurre
Dinámicas – Casos de Uso una excepción o variación
del curso típico

Establece la finalización
con éxito del CU

Restricción del estado del


sistema después de la
finalización exitosa del CU

Políticas y procedimientos
relacionados con la ejecución
del CU
Restricciones y especificaciones
para la implantación del CU, por
ejemplo requisitos no
funcionales

Cualquier hipótesis relevante


sobre el CU

Aspectos a tener en cuenta


antes de finalizar el CU
2013 Ingeniería de Software I 19

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
• Proceso de modelado
1. Identificar a los actores
2. Identificar los CU para los
requerimientos
3. Construir el diagrama
4. Realizar los escenarios

Whitten y Bentley
2013 Ingeniería de Software I 20

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
 Proceso de modelado
1. Identificar a los actores
 Dónde buscar actores potenciales:
 Diagrama de contexto que identifique el alcance del sistema
 Documentación o manuales existentes
 Minutas de reunión
 Documentos de requerimientos
 Responder a:
 ¿Quién o qué proporciona las entradas al sistema?
 ¿Quién o qué recibe las salidas del sistema?
 ¿Se requieren interfaces con otros sistemas?
 ¿Quien mantendrá la información en el sistema?
 Deberán nombrarse con un sustantivo o frase sustantiva

Whitten y Bentley
2013 Ingeniería de Software I 21

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
 Proceso de modelado
1. Identificar a los actores
2. Identificar los CU para los requerimientos
 Responder a
 ¿Cuáles son las principales tareas del actor?
 ¿Qué información necesita el actor del sistema?
 ¿Qué información proporciona el actor al sistema?
 ¿Necesita el sistema informar al actor de eventos o cambios
ocurridos?
 ¿Necesita el actor informar al sistema de eventos o cambios
ocurridos?
3. Construir el diagrama
4. Realizar los escenarios

Whitten y Bentley
2013 Ingeniería de Software I 22

Técnicas de Especificación de Requerimientos


Dinámicas – Casos de Uso
 Conceptos importantes
 Un CU debe representar una funcionalidad concreta.
 La descripción de los pasos en los escenarios debe contener
más de un paso, para representar la interacción entre los
componentes.
 El uso de condicionales en el curso normal, es limitado a la
invocación de excepciones, ya que este flujo representa la
ejecución del caso sin alteraciones.
 Las pre-condiciones no deben representarse en los cursos
alternativos, ya que al ser una pre-condición no va a ocurrir.
 Los “uses” deben ser accedidos por lo menos desde dos CU.

Whitten y Bentley
2013 Ingeniería de Software I 23

TÉCNICAS DE ESPECIFICACIÓN
DE REQUERIMIENTOS
Historias de Usuario
2013 Ingeniería de Software I 24

Técnicas de Especificación de Requerimientos


Dinámicas – Historias de usuario
• Una historia de usuario es una
representación de un requisito de
software escrito en una o dos frases
utilizando el lenguaje común del
usuario.

• Son utilizadas en las metodologías de desarrollo ágiles


(Ejemplo: XP, SCRUM) para la especificación de
requisitos
• Acompañadas de las discusiones con los usuarios y las pruebas
de validación
2013 Ingeniería de Software I 25

Técnicas de Especificación de Requerimientos


Dinámicas – Historias de usuario

• Debe ser limitada, ésta debería poder escribirse sobre una


nota adhesiva pequeña.

• Son una forma rápida de administrar los requisitos de los


usuarios sin tener que elaborar gran cantidad de
documentos formales y sin requerir de mucho tiempo para
administrarlos.

• Permiten responder rápidamente a los requisitos


cambiantes.

• Al momento de implementar las historias, los


desarrolladores deben tener la posibilidad de discutirlas
con los clientes.
2013 Ingeniería de Software I 26

Técnicas de Especificación de Requerimientos


Dinámicas – Historias de usuario
• Generalmente se espera que la estimación de tiempo de
cada historia de usuario se sitúe entre unas 10 horas y
un par de semanas
• Estimaciones mayores a dos semanas son indicativo de que la
historia es muy compleja y debe ser dividida en varias historias.
2013 Ingeniería de Software I 27

Técnicas de Especificación de Requerimientos


Dinámicas – Historias de usuario
• Si bien el estilo puede ser libre, la historia de usuario debe responder a
tres preguntas:
• ¿Quién se beneficia?
• ¿Qué se quiere?
• ¿Cuál es el beneficio?

• Esquema: Como (rol) quiero (algo) para poder (beneficio).


• Ejemplos:
• Como usuario registrado deseo loguearme para poder empezar a utilizar la
aplicación.

• Como secretaria quiero poder imprimir el listado de turnos asignados en una


fecha determinada y guardar la información de los mismos.

• Como secretaria quiero poder consultar los horarios disponibles de un médico


determinado con el fin de determinar turnos libres para dicho médico.
2013 Ingeniería de Software I 28

Técnicas de Especificación de Requerimientos


Dinámicas – Historias de usuario
• Características
• Independientes unas de otras
• De ser necesario, combinar las historias dependientes o buscar otra
forma de dividir las historias de manera que resulten independientes.
• Negociables
• La historia en sí misma no es lo suficientemente explícita como para
considerarse un contrato, la discusión con los usuarios debe permitir
esclarecer su alcance y éste debe dejarse explícito bajo la forma de
pruebas de validación.
• Valoradas por los clientes o usuarios
• Los intereses de los clientes y de los usuarios no siempre coinciden,
pero en todo caso, cada historia debe ser importante para alguno de
ellos más que para el desarrollador.
2013 Ingeniería de Software I 29

Técnicas de Especificación de Requerimientos


Dinámicas –Historias de usuario
• Características
• Estimables
• Un resultado de la discusión de una historia de usuario es la
estimación del tiempo que tomará completarla. Esto permite estimar
el tiempo total del proyecto.
• Pequeñas
• Las historias muy largas son difíciles de estimar e imponen
restricciones sobre la planificación de un desarrollo iterativo.
Generalmente se recomienda la consolidación de historias muy cortas
en una sola historia.
• Verificables
• Las historias de usuario cubren requerimientos funcionales, por lo
que generalmente son verificables. Cuando sea posible, la verificación
debe automatizarse, de manera que pueda ser verificada en cada
entrega del proyecto.
2013 Ingeniería de Software I 30

Historias de usuario – Tarjeta de historia de usuario con


prueba de aceptación

Imagen extraída de : http://www.pmoinformatica.com/2013/04/que-son-las-historias-de-usuario-7.html


2013 Ingeniería de Software I 31

Técnicas de Especificación de Requerimientos


Dinámicas –Historias de usuario
• Beneficios
• Al ser muy corta, ésta representa requisitos del modelo de
negocio que pueden implementarse rápidamente (días o
semanas).
• Necesitan poco mantenimiento.
• Mantienen una relación cercana con el cliente.
• Permite dividir los proyectos en pequeñas entregas.
• Permite estimar fácilmente el esfuerzo de desarrollo.
• Es ideal para proyectos con requisitos volátiles o no muy claros.
2013 Ingeniería de Software I 32

Técnicas de Especificación de Requerimientos


Dinámicas –Historias de usuario
• Limitaciones
• Sin pruebas de validación pueden quedar abiertas a distintas
interpretaciones haciendo difícil utilizarlas como base para un
contrato.
• Se requiere un contacto permanente con el cliente durante el
proyecto lo cual puede ser difícil o costoso.
• Podría resultar difícil escalar a proyectos grandes.
• Requiere desarrolladores muy competentes.
2013 Ingeniería de Software I 33

Bibliografía
• Libros Utilizados

• Whitten y Bentley, Análisis de Sistemas Diseño y Métodos,


Capítulo 6, Mc Graw Hill 2008.

• Mike Cohn, User Stories Applied, Addison Wesley 2004.

También podría gustarte