gestión de requerimientos. los requerimientos ¿qué son los requerimientos? ¿alguien sabe?

53
Gestión de Requerimientos

Upload: francisca-armas

Post on 23-Jan-2016

300 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Gestión de Requerimientos

Page 2: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Los Requerimientos

¿Qué son los requerimientos?

¿Alguien sabe?

Page 3: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Requerimiento

Restricción sobre el espacio de soluciones de software.

Condición que debe ser cumplida por el software para que pueda ser recibido por el cliente.

Se negocia/determina de mutuo acuerdo con el cliente.

– No todas las necesidades y expectativas de los clientes son requerimientos.

Page 4: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Es un requerimiento?

Necesito pasar todo a “web” antes de 3 meses

¿es un requerimiento? ¿esta completo? ¿podremos cumplir?

Page 5: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

Requerimiento– Característica requerida para recibir, aceptar o

adquirir un producto.– Restricción sobre el espacio de soluciones.

Si

No

Page 6: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

El conjunto de requerimientos define el espacio de soluciones aceptables.

SolucionesAceptables

Page 7: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cómo así un conjunto de restricciones?

¿Manejamos requerimientos en otros contextos?

¿un encargo de alguien? ¿la lista del mercado? ¿en el software es algo

diferente?

Page 8: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

Ejemplo...– Comprar una videocasetera

Debe ser Sony Debe manejar VHS Debe costar menos de $200.000.oo Debe poderse pagar con tarjeta de crédito

Page 9: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

Ejemplo... Comprar una videocasetera– ¿Compraría una grabadora de audio, Sony, de

menos de $300.000?.– ¿Compraría una videocasetera Panasonic, de

menos de $300.000?– ¿Compraría una videocasetera Sony de

$450.000?

Page 10: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

Los requerimientos deben negociarse con los clientes– Las necesidades y expectativas de los clientes

son requerimientos potenciales.– La negociación permite determinar los

requerimientos del sistema/software.– Los requerimientos deben ser parte integral de

los contratos.

Page 11: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Unas definiciones iniciales

RequerimientosPotenciales

Necesidades, Deseos,

Expectativas del cliente

Requerimientos

Acuerdos entreDesarrolladores

y Clientes

EntrevistasEspecificaciónNegociación

Page 12: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Es un requerimiento?

Necesito pasar todo a “web” antes de 3 meses

¿Qué es todo? ¿Qué significa pasarlo a web? ¿se tendría que desarrollar

internamente? ¿podría comprarse?

Page 13: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Caso de Ejemplo

En una licitación para el software de recaudo y control de impuestos…

¿El software maneja fondos?

Page 14: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Qué tipos de requerimientos se manejan?

¿Qué se debe especificar?

¿Qué se debe negociar? ¿Cuáles son los

requerimentos?

Page 15: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

No todos los requerimientos son requerimientos del software. Existen muchos requerimientos del sistema

– Redes– Equipos– Personal– Controles– Etc.

Existen también requerimientos de soporte y mantenimiento. (¿Se deben manejar igual?)

Page 16: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Al trabajar con requerimientos de software suelen diferenciarse varios tipos:– Funcionales– De Datos– Técnicos– Reglas

Page 17: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos funcionales– Sobre la funcionalidad del software– No son aspectos procedimentales

– Representan las funciones que deben realizarse con el software

– Representan las funcionalidades esperadas del producto

Page 18: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Es un requerimiento funcional?

El software deberá utilizar el sistema de colas implementado en PL/SQL para mejorar el nivel de responsibidad ante los usuarios

Page 19: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Es un requerimiento funcional?

El software deberá ser parametrizable

Page 20: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cuáles son requerimientos funcionales?

Para un equipo de comunicación personal (como un teléfono celular)

¿Qué quisiera como cliente?

¿Cuáles son requerimientos de software?

Page 21: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos funcionales– Los usuarios “perciben primero” los

requerimientos funcionales

– Deseo que el software genere un reporte de ventas…

El reporte debe contener los siguientes datos…

Page 22: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos de datos– Sobre los datos que se manejan al interior del software– Sobre la información que debe generarse a partir de ella

– No solo estructuras de almacenamiento (MER) También pantallas, reportes, estructuras en memoria, etc.

Page 23: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cuáles son requerimientos de datos?

Para un equipo de comunicación personal (como un teléfono celular)

¿Qué datos le gustaría se manejaran en las diferentes funcionalidades?

Page 24: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos técnicos– Otros requerimientos, exigencias del usuario, que

determinan aspectos del proyecto Tiempo de Desarrollo Costo Personal

Page 25: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos técnicos Tiempo de Respuesta Plataforma de Desarrollo Plataforma de Operación Lenguaje de programación Impacto en memoria Impacto en disco Confiabilidad Tolerancia a Fallos Seguridad (etc.)

Page 26: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cuáles son requerimientos técnicos?

Para un equipo de comunicación personal (como un teléfono celular)

¿Qué otros requerimientos se le ocurren?

Page 27: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos de decisión (reglas)– Los requerimientos son contradictorios

SolucionesAceptables

Page 28: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Tipos de Requerimientos

Requerimientos de decisión (reglas)– Deben existir reglas o priorizaciones que

determinen cuales requerimientos prevalecen sobre otros.

– Idealmente deberían definirse en la etapa de requerimientos, antes de empezar el desarrollo

Page 29: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Caso de Ejemplo

En un software transaccional sobre la web para manejo de giros

¿Tiempo de respuesta? ¿Confiabilidad? ¿Seguridad?

Page 30: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cuáles son sus prioridades?

Para un equipo de comunicación personal (como un teléfono celular)

¿Qué requerimientos deberían prevalecer?

Page 31: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Priorización de Requerimientos

Un aspecto que hace parte de la etapa, y que debe realizarse siempre, es la priorización de los requerimientos.

¿Cómo priorizar?

Page 32: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Priorización de Requerimientos

La priorización de los requerimientos obedece a una lógica de administración del proyecto

Relación Costo / beneficio– El modelo de Karl Weigers

Importancia Criticidad Complejidad Riesgo

Page 33: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cuáles son sus prioridades?

Un proyecto de auditoria médica que opera sobre Palm, celulares y PDAs

¿Cuáles son las prioridades?

Page 34: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cómo se escriben los requerimientos en su empresa?

¿Existe una forma de escribir los requerimientos en la empresa?

¿Cómo se validan? ¿Todos los

requerimientos se “escriben” igual?

Page 35: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Especificación de Requerimientos

La Especificación es:– El documento final que detalla, de manera

completa y no ambigüa, los requerimientos del software a desarrollar.

– El proceso de construcción de ese documento.

Page 36: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Especificación de Requerimientos

La Especificación puede realizarse de acuerdo a estándares internacionales reconocidos o a formatos de métodos formales de Ingeniería de Software

– ANSI/IEEE– NSA

NASA– RUP– Otros.

Page 37: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Especificación de Requerimientos

Construir un documento “perfecto” de requerimientos de software no es posible– Hay requerimientos contradictorios.

Fácil de Entender vs. No Ambigüo Fácil de Entender vs. Completo

Page 38: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

¿Cómo se manejan los requerimientos en su empresa?

¿Existe una forma de manejar los requerimientos en la empresa?

¿Cómo se manejan? ¿Qué problemas se

tienen?

Page 39: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Problemas con los Requerimientos

El proceso de requerimientos no es fácil. No es simplemente “tomar nota” de las necesidades

del cliente. Es un proceso de comunicación.

– Es necesario entender que es lo que quiere el cliente.

Es un proceso de negociación.– Es necesario determinar que cosas podemos

comprometernos a hacer.

Page 40: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Problemas con los Requerimientos

No hay acuerdos en los Requerimientos– No se hizo ningún tipo de negociación y no hay acuerdos

reales entre los usuarios y desarrolladores.– No se ha realizado ningún tipo de verificación que posibilite

determinar si los desarrolladores han comprendido las exigencias de los usuarios.

Los Requerimientos no se han priorizado– No se ha hecho ningún estudio costo-beneficio, ni de

ningún otro tipo que posibilite la definición de prioridades y/o cronogramas basados en los requerimientos.

Page 41: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Problemas con los Requerimientos

Requerimientos incompletos– El listado de los requerimientos no incluye cosas que son

necesarias para que el software funcione.

Requerimientos contradictorios– Unos requerimientos parecen contradecir a otros

requerimientos. Si el software cumple a cabalidad con algunos requerimientos, ni puede cumplir con los otros.

Page 42: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Problemas con los Requerimientos

Requerimientos ambigüos– Existen múltiples interpretaciones para el requerimiento.

Cada usuario y/o desarrollador puede entender algo distinto. (Puede no existir ningún acuerdo).

Requerimientos de Desarrollador.– El desarrollador introduce requerimientos que no fueron

solicitados por el cliente, y que hacen díficil satisfacer los requerimientos reales. (Presunciones de Diseño).

Page 43: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Problemas con los Requerimientos

¿Cómo solucionar el problema?– Un proceso disciplinado que busque determinar y

solucionar los diferentes problemas de los requerimientos.

– Un sistema de especificaciones que posibilite comunicar y negociar los requerimientos eficientemente con los usuarios.

Page 44: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

En la actualidad, a diferencia de los métodos tradicionales, existe una separación marcada entre los procesos de requerimientos y de análisis de requerimientos.

Existen varias opciones en torno a los procesos de Requerimientos– Ingeniería de Requerimientos

Page 45: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

¿Se pueden aplicar los métodos tal cual como están en los libros?

Page 46: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

Aplicando UML y Patrones, Larman

Declaración de

Trabajo

Listado de Casos de Uso

Casos de Uso

Esenciales

Casos de UsoReales

Prototipos

Page 47: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

Use Case in Context, Kulak

Declaración de

Trabajo

Listado de Casos de Uso

Casos de Uso

Fachada

Casos de Uso

Terminados

PrototiposListado de

Actores

Casos de Uso

Completos

Casos de Uso

Enfocados

Page 48: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

Use Cases, Texell

Declaración de

Trabajo

Listado de Casos de Uso

Especificación de Casos

de UsoEntrevistas Priorización

Page 49: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

RUP

Visión de Producto

Casos de Uso

Especificación con Casos

de Uso

Prototipos

Glosario de Términos

Page 50: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

Iconix

Declaración de

Trabajo

Casos de Uso

Prototipos

Page 51: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Procesos de Requerimientos

“Nuestra Clase”

Declaración de

Trabajo

Listado de Casos de Uso Casos

de UsoFachada

Casos de Uso

Terminados

PrototiposListado de

Actores

Casos de Uso

Completos

Casos de Uso

EnfocadosPriorizar

Especific.De Req.

Page 52: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Proceso de Requerimientos

El prototipo es el mecanismo para “revisar” las especificaciones de requerimientos.

La Especificación es el mecanismo para “formalizar” los acuerdos entre desarrolladores y usuarios.

Page 53: Gestión de Requerimientos. Los Requerimientos ¿Qué son los requerimientos? ¿Alguien sabe?

Proceso de Requerimientos

Algunos métodos y autores sugieren comenzar con la definición de los prototipos

– ¿Será conveniente?– ¿Qué pasa si el usuario no sabe “a ciencia cierta” que es lo

que quiere?

La realización de los prototipos puede ser un “arma de doble filo”.