Escolar Documentos
Profissional Documentos
Cultura Documentos
Raquel Anaya
ranaya@eafit.edu.co
El proceso de requisitos
Actividad 1. Comprender el problema
Actividad 2. Elicitar requisitos
Actividad 3. Definir requisitos
Actividad 4. Analizar requisitos
Actividad 5. Verificar requisitos
1
Actividad 1. Comprender el problema
Es conveniente tener un acercamiento global previo del contexto
en el que se va a construir el sistema.
Técnicas como los mapas conceptuales permiten dar claridad al
problema, conocer los términos relevantes del contexto y sus
relaciones con otros términos.
Se pueden utilizar diferentes diagramas de UML que
representan el entendimiento del negocio desde diferentes
perspectivas
Alternativa 1: Modelos de dominio que describe conceptos de
negocio y sus relaciones (vista estructural)
útil para establecer un vocabulario común
de negocio
Diagrama de transición de estados: Describe condiciones
2
Comprender el problema (2)
El Modelado del Negocio puede ser un proceso
independiente realizado por los analista de negocio
sin que necesariamente se vaya a construir un
sistema software
En aplicaciones orientadas a servicios para definir
nuevos esquemas de negocio es muy importante
Tener una vista de alto nivel de los recursos de TI en la
organización y sus relaciones: Arquitectura Empresarial
Precisar los procesos de negocio que van a ser
intervenidos y el alcance de la integración
6/14/2009 5
Tomado de:
Business Modeling with the UML and Rational Suite AnalystStudio
A Rational Software White Paper
3
Actividad 2. Levantar los requisitos
candidatos
2.1 Planear sesiones de interacción con los
usuarios
Seleccionar un grupo de usuarios representativo
Seleccionar la (s) técnica (s) para levantamiento de
requisitos:
Entrevistas
Sesiones JAD (Joint Application Development)
Lluvia de ideas
2.2 Llevar a cabo las sesiones de interacción
con el propósito de obtener lista de requisitos
candidatos
4
Plantilla de definición de requisito funcional
(REM)
5
Casos de Uso - Elementos
Actor: Elemento que interactúa con el Sistema
no forma parte del sistema
sistemas de cómputo
identificables
secuencia de acciones realizadas por un sistema que
Verificar Situación
Vendedor
Realizar Venta
Secretaria
Cliente
Preparar Catálogo
Supervisor
Establecer Crédito
6
Pasos para la definición del caso
de uso
Act. 3.1 identificar actores (analista de
sistemas)
Act. 3.2 identificar casos de uso (analista de
sistemas)
Act. 3.3 realizar una descripción de alto nivel
Act. 3.4 definir el glosario de términos
7
Actores vs Frontera del sistema
El cliente interactúa
con el sistema software
a través de un agente
El cliente interactúa
directamente con el
sistema software
15
8
Algunas consideraciones en la notación de
casos de uso
Uso de dirección en la relación:
La dirección de la relación indica el papel
Actor 2 (primario o secundario) del actor
Actor 1
Actor 2
Actor 1
Actor 2
Actor 1
9
Información básica del caso de uso - ejemplo
Caso de uso: Comprar Producto
Actores: Cliente, Cajero
Descripción: Un cliente llega a la caja registradora con los artículos
que comprará. El cajero registra los artículos y cobra el importe.
Al terminar la operación el cliente se marcha con los productos
Precondición: El producto se encuentra en el inventario
Postcondición: Se ha registrado un compra y se ha disminuido el
inventario
Requisitos / Objetivos relacionados
Postcondiciones
6/14/2009 20
10
Actividad 4. Analizar requisitos
Objetivo del análisis de requisitos: Profundizar sobre los
requisitos definidos con el propósitos de
Detectar conflictos
contexto
El análisis de requisitos funcionales utilizando casos de uso
puede verse como una siguiente iteración sobre el modelo de
casos de uso definido en la actividad anterior
Act. 4.1 Priorizar los casos de uso (arquitecto)
Act. 4.2 Detallar el caso de uso (especificador de casos de uso)
Act. 4.3 Estructurar el modelo de casos de uso (analista de
sistemas)
Act. 4.4 Definir la primera versión de los casos de prueba
Act. 4.5 Definir operaciones del sistema
11
4.2 Detallar un caso de uso
Descripción extendida del caso de uso: Contiene mayores detalles.
Describe el curso flujo de eventos o diálogo que se sucede entre el
actor y el sistema
Se precisa el comportamiento observable del sistema por parte de los
actores (qué) sin detallar la manera como el sistema realiza las
operaciones (cómo)
Un caso de uso representa un conjunto de escenarios
Cada escenario es representado por medio de flujos de eventos
Flujo básico: Representa la secuencia normal de eventos. Flujo
Flujo alternativo 3
Flujo alternativo 1
12
Algo acerca de los escenarios…
Los escenarios tienen diferentes propósitos y se pueden
utilizar en diferentes puntos del proceso de desarrollo
Escenarios reales: Como herramienta para entender el
13
Ejemplo de descripción de un escenario
Flujo Básico para el caso de uso Retirar Dinero en Cajero
1. El caso de uso inicia cuando el cliente se acerca al cajero para realizar una operación
2. El sistema pide al cliente el número de identificación personal (PIN)
3. El cliente introduce el PIN y confirma la entrada
4. El sistema comprueba la validez del PIN
5. El sistema muestra lista de operaciones disponibles
6. El cliente selecciona la operación de retiro de fondos
7. El sistema muestra ventana para capturar cantidad a retirar
8. El cliente digita valor a retirar y da la opción de continuar
9. El sistema verifica que tenga la cantidad de dinero solicitada por el cliente
10. El sistema verifica que se cumpla la regla de Tope de Retiro Permitido (RN-002)
11. Si el valor a retirar es mayor que el saldo de la cuenta realiza el caso de uso
Retiro con Sobregiro
12. El sistema actualiza el saldo de la cuenta y genera el movimiento de impuesto de
acuerdo a regla RN-001 del documento de especificaciones.
13. El sistema activa el dispensador de billetes
14. El cliente retira el dinero
15. El sistema entrega recibo de la transacción y muestra mensaje de finalización
14
Ejemplo de descripción de un escenario… continuación
Consideraciones en la descripción
de flujos
El primer paso del caso de uso debe contener la acción del
contexto que da inicio a la interacción:
Este caso de uso se inicia cuando…
15
4.3 Estructurar el modelo de casos
de uso
Objetivo: Analizar la complejidad del caso de uso y
detectar secuencias repetitivas u opcionales en su
descripción
El caso de uso se describe como un conjunto de
secuencias relacionadas: un caso de uso base y uno o
mas casos de uso alternos
Tipo de relaciones entre los casos de uso
Relaciones de inclusión / uso (<<include>>) entre casos de uso
Relación de extensión (<<extend>>) entre casos de uso
Relación de generalización entre casos de uso o entre actores
<<Include>>
16
Relaciones entre casos de uso:
Relación de extensión
Se amplia el comportamiento del caso de uso base con otro
comportamiento
Describe comportamiento opcional del sistema
El flujo base define de manera precisa la condición que hace que se
ejecute el caso de uso que extiende
Una vez ejecutada la secuencia del caso de uso incluido, retorna control
al mismo paso de donde fue llamado
Flujo de eventos
Caso de uso base
ReservarLibro
Punto de extensión
<<Extend>>
validar
usuario
Comprobar
huella
17
Casos de Uso Estructurado - ejemplo2
Cajero Electrónico
pedir saldo
<include> validar
usuario
retirar <include>
Cliente
<extend>
Comprobar
Retiro con huella
sobregiro
cargar
Supervisor
18
Guías para estructurar los casos de uso
Pasos
Identificar funcionalidad básica que ya ha sido descrita en un
EjecutarTransaccion
comprador
Pagar Factura comprador
vendedor
Pagar Factura
<<extiende>>
PagarCuotasVencida
19
Algo mas sobre la generalización de casos de
uso…
Transferencia
Monetaria
Transferenci
Retirar Depositar a
Dinero Dinero entre
cuentas
20
Caso de uso abstracto (2)
Plantilla que permite definir colaboraciones
con {puntos de variación} claramente
determinados
Ejemplo: Descripción de alto nivel de
Transferencia de Instrumentos:
Operación que permite transferir {instrumento}
de un {portafolio} a otro {portafolio}
Descripción de alto nivel de Transferencia
Monetaria: Operación que permite transferir
moneda de un {portafolio} a otro {portafolio}
21
Caso de uso abstracto: ejemplo(4)
Retiro de
Dinero
Descripción extendida de RetiroDigicash:
Reutiliza la descripción dada en el caso
de uso padre con la variaciones que
fueren necesarias:
Retiro
Digicash 4. El sistema {entrega el dinero} y deduce
la cantidad de la {cuenta} si la deducción
genera ...
Es reemplazada por
22
Definición de los casos de
prueba
23
Definición de los casos de
prueba (3)
Tarea3. Definir condiciones de prueba para cada caso
de prueba
Caso de Escenario / Datos de Resultado esperado
prueba Condicion entrada
Pin Valido Retiro Normal
CPa Escenario 4 Cta Valida
Retiro Normal Monto valido
24
4.4 Definir operaciones del sistema
Objetivo: Derivar los servicios que debe ofrecer el
software para satisfacer la funcionalidad requerida
de los casos de uso
Guías para definir las operaciones del sistema a partir
de la descripción del flujo de evento para un caso de
uso
Representar aquellas acciones que indican una interacción directa
entre el usuario y el sistema
Detallar los parámetros involucrados en cada mensaje
Agregar como comentarios o restricciones las respuesta o
excepciones que son el resultados de cada interacción
En situaciones complejas, separar en diferentes diagramas el flujo
básico de los flujos alternos
Diagram UML a utilizar: Diagrama de Secuencias
Diagramas de interacción
(generalidades)
Útiles para describir la manera como los objetos
colaboran para satisfacer una funcionalidad de
mayor nivel
UML contiene dos tipos de diagrama con una
semántica equivalente:
Diagrama de Secuencia: Énfasis en la ordenación temporal
(2 dimensiones). Muy utilizados para representar los
escenarios de los casos de uso
Diagrama de Colaboración: Énfasis en la estructura de los
objetos
25
Uso del diagrama de secuencia para describir
operaciones del sistema
: Sistema
Ventas
: cajero introducirProducto(CUP,cantidad)
Mq existian
productos
finalizarVenta()
devuelve el
total a pagar
efectuarPago(monto)
emite la
factura de
26
Consideraciones adicionales...
Cómo agregar mayor significado
A través de notas
A través de restricciones
A través de texto
Actividad 5. Validación de
Requisitos
Tiene como objetivo asegurar que el ingeniero
de software ha entendido los requerimientos y ha
dado respuesta a las necesidades del usuario
La validación debe involucrar al usuario / cliente de la
solución
Consideraciones a tener en cuenta
Qué tipo de artefacto se entrega al usuario para que los
valide?
Casos de uso
Prototipo de usuario: Este prototipo puede ser derivado de
manera natural a partir de la descripción detallada de los casos
de uso.
27
Definición del Prototipo de usuario
Reglas de derivación de la interfaz
El nombre de las operación debe indicar una acción concreta
originada por eventos externos que se traducirán en botones /
opciones de menú / teclas de función, etc.
Las relaciones entre casos de uso (base y alternos) originan
navegación entre despliegues
navegación explícita: opciones que pueden ser activadas por el
usuario
navegación implícita: condiciones que originan la navegación
Diseño de la lógica vs. Diseño de la presentación
Definición esencial vs. definición real del caso de uso
esencial: sin describir los elementos de la interfaz
real: involucrando los elementos de la interfaz
28