requerimientos. agenda definiciones iniciales: requerimientos problemas con los requerimientos...
Post on 28-Jan-2016
310 Views
Preview:
TRANSCRIPT
Requerimientos
Agenda Definiciones Iniciales:
Requerimientos Problemas con los Requerimientos Procesos de Requerimientos Especificación de Requerimientos
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.
Unas definiciones iniciales Calidad
Existe muchas definiciones y teorías de calidad.
Algunas de las teorías actuales sobre sistemas, calidad y procesos fueron desarrolladas en la década de 1940, por investigadores americanos en el Japón (Deming).
Administración Total de Calidad El ciclo de Hacer-Planear-Verificar-Actuar Mejoramiento continuo de procesos
Unas definiciones iniciales Calidad
Podríamos definir calidad como la satisfacción de las necesidades y expectativas de los usuarios.
La clave esta en lograr convertir las necesidades y expectativas de los usuarios en requerimientos.
Los requerimientos no son (de por sí) las necesidades y las expectativas de los usuarios.
Unas definiciones iniciales Requerimiento
Característica requerida para recibir, aceptar o adquirir un producto.
Restricción sobre el espacio de soluciones.
Si
No
Unas definiciones iniciales El conjunto de requerimientos
define el espacio de soluciones aceptables.
SolucionesAceptables
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
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?
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.
Unas definiciones iniciales
RequerimientosPotenciales
Necesidades, Deseos,
Expectativas del cliente
Requerimientos
Acuerdos entreDesarrolladores
y Clientes
EntrevistasEspecificaciónNegociación
Unas definiciones iniciales Calidad...
Cumplir con los requerimientos. Cumplir con lo acordado con los clientes. Cumplir a cabalidad el contrato.
Los contratos deben elaborarse adecuadamente.
Los contratos deben contener a los requerimientos.
Unas definiciones iniciales La Ingeniería de Software y los
procesos de desarrollo de software suponen que los requerimientos de software ya existen (ya están definidos, por lo menos informalmente).
El punto de partida de todo proceso de ingeniería son los requerimientos.
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.
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.
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.
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).
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.
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
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
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
Procesos de Requerimientos RUP
Visión de Producto
Casos de Uso
Especificación con Casos
de Uso
Prototipos
Glosario de Términos
Procesos de Requerimientos Iconix
Declaración de
Trabajo
Casos de Uso
Prototipos
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.
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”.
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.
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.
Agenda
Levantamiento Analisis Especificación Validación
Requerimientos “El desarrollo de requerimientos puede
ser subdividido en : Levantamiento, Analisis, Especificación y Verificación” Thayer and Dorfman 1977.
Cada etapa deberá contar con tecnicas claras, estandares, metodos y herramientas que permitan madurar los pasos del proyecto.
Requerimientos
Escribir una buena especificación de requerimientos.
Validaciones y acuerdos con los usuarios
Validación del entendimiento del problema.
Metas y Objetivos
RequerimientosDesarrollo de requerimientos
HERRAMIENTAS Y ESTANDARES
TECNICAS DE IDENTIFICACION DE REQTS
METODOS DE ESPECIFICACION DE RQTS
METODOS DE DOCUMENTACION
VALIDACION
EXCELENTES REQUERIMIENTOS
Requerimientos
Los requerimientos son: “Una especificación de lo que deberia ser implementado. Ellos son descripciones de cómo el sistema deberia comportarse o son tambien un atributo o propiedad del sistema. Ellos pueden ser una restricción o condición en el proceso de desarrollo del sistema” (Sommerville and Sawyer 1977).
Es indispensable que todos y cada uno de los requerimientos esten, excelentemente definidos, claros y validados.
Conceptos
Requerimientos
Como saber si una especificaión de requerimientos es buena o tiene problemas ?
Calidad
Requerimientos
Necesarios No ambiguos Verificables Completos Correctos Viables Priorizables Consistentes
Características de excelentes requerimientos
Requerimientos
Deberá documentar algo que el usuario realmente necesita.
Cuando forma parte de un contrato firmado.
Es requerido por un estandar o por variables externas indispensables.
Necesarios
Requerimientos
Un requerimiento es NO AMBIGUO si todos los lectores pueden llegar a la misma interpretación “Escribalo en lenguaje natural, evitando terminos tecnicos, de ser necesario haga un glosario.”
No ambiguos
Requerimientos
Aplique metodos formales, para realizar pruebas que confirmen que el requerimiento esta correctamente especificado.
Utilice la documentación escrita sobre el tema para verificar el requerimiento
Verificables
Requerimientos
Requerimientos mal especificados podrian esconder información que no es facil de detectar.
Enfoquese en conocer las tareas del usuario, y no en sesgarse en las funciones que deberia tener el sistema.
Si Ud. Sabe que tiene información incompleta utilice marcas o banderas que le anuncien “TAREAS PENDIENTES”.
Completos
Requerimientos
Es mas facil implementar requerimientos cuando se conocen las limitaciones tecnicas, la capacidad, y las condiciones que rodean el ambiente del proyecto.
Para detectar requerimientos “NO VIABLES” es importante incluir dentro del equipo de analisis un miembro de la parte tecnica o de ingenieria, asi como un miembro del dominio del problema.
Viables
Requerimientos
Cada requerimiento indica una funcionalidad o condición que debe contener el software.
No podemos contar con interpretaciones incorrectas sobre funcionalidades.
Un usuario representativo puede determinar si un requerimiento es correcto o no.
Viables
Requerimientos
Si todos los requerimientos tienen el mismo nivel de prioridad, esto es un sintoma de mala especificación.
Cada requerimiento o conjunto de ellos debe poderse distribuir en las diferentes releases o versiones del producto.
Si todos los requerimientos son de “alta prioridad”, problemas para incluir nuevos.
Priorizables
Requerimientos
Los requerimientos deben estar acordes con las reglas del negocio y con las variables externas que afectan el dominio del problema.
Si un requerimiento tiene conflicto con otro requerimiento problema de especificación.
Consistentes
Requerimientos
Si no llega a un acuerdo con el usuario y sigue considerandolo NECESARIO, ESCALE EN NIVEL ORGANIZACIONAL O EN DOMINIO DEL PROBLEMA.
Presente modelos similares y resultados obtenidos del mismo dominio u otros dominios
Si continua considerando que aun es AMBIGUO, valide con otros miembros del dominio diferentes a la fuente.
Arme un grupo hectereogeneo de discusión de ambiguedades.
Problemas ? Estrategias
Requerimientos
Si no lo considera lo suficientemente VERIFICABLE, apoyese en bibliografia y teorias.
Busque expertos externos en el dominio. Busque una formula que lo lleve al resultado
esperado. Si considera que aun no es CORRECTO, diseñe
una encuesta con formato cerrado de respuesta.
Problemas ? Estrategias
Requerimientos
Si considera que aun no es VIABLE, busque opinion de terceros que tengan un buen nivel de credibilidad.
Justifique en terminos economicos ($). Si no lo ha podido PRIORIZAR, elabore una
tabla para que el usuario asigne una priorida unica a cada requerimiento.
Escale con la tabla. Si considera que aun no es CONSISTENTE,
reuna las fuentes y plantee la problematica
Problemas ? Estrategias
Requerimientos
Analice los documentos “fuentes” (resultados de las reuniones con los usuarios).
Extraiga las sentencias que contienen las palabras : DEBERÁ , DEBE.
Identifique sentencias que impliquen requerimientos.
Identifique sentencias de tipo VERBOS, ACCIONES Y UN RESULTADO.
Haga una lista de FUNCIONALES Y NO FUNCIONALES.
Identificación de requerimientos
Requerimientos
Vital para el entendimiento. Buena redaccion facilita buena interpretacion. Redaccion estandar facilita comprension. Buena redaccion, facil validacion.
TODOS LOS REQUERIMIENTOS DEBEN TENER EL MISMO ESTILO DE REDACCION
Redacción de requerimientos - IMPORTANCIA
Requerimientos
“El sistema en el modulo de ventas debe ofrecer una opción mediante la cual el usuario pueda ver una comparacion de lo presupuestado versus la venta real en un rango de fechas”
Modelo de redacción de requerimientos NUEVOS
Requerimientos
“Cuando el tiempo de conexión exceda el valor predeterminado como maximo, el sistema debe cancelar la selección informandole a el usuario que el tiempo se agoto y por lo tanto sera desconectado”
Modelo de redacción de requerimientos NUEVOS
Lugar tiempo evento objeto
Debe, deberá, no debe, no deberá
A quien Sujeto
Acción verbo sentencia
Requerimientos
“En el reporte de mercados objetivos, al aplicarle filtros por asesor y zona, muestra la informacion en desorden, se debe corregir de tal forma que salga ordenado por numero de cedula del asesor y agrupado por zona”
Modelo de redacción de requerimientos ERRORES –MODIFICACIONES - MEJORAS
Lugar tiempo evento objeto
Debe, deberá, no debe, no deberá
A quien Sujeto
Acción verbo sentencia
Requerimientos
Mantenga sentencias y parrofos cortos. Apropiada gramatica, ortografia y puntuación. Haga un glosario. Utilice terminos consistentes definidos en el glosario. El sistema debe, deberá.. Seguidas de una acción. Para evitar ambiguedades no use : amigable, facil.
Simple, rapido, fuerte, superior, aceptable, robusto. Si encuentra “y” , “o”, “etc”, esto puede representar
varios requerimientos.
Al escribir requerimientos TENGA EN CUENTA
Requerimientos
Requerimos que en el momento de realizar una factura a credito, que el sistema automaticamente despliegue la pantalla de recaudo, donde el vendedor deberá digitar el valor del recaudo para esa factura. Ese valor de recaudo deberá ser igual al valor de la factura que acabo de crear, y ademas las opciones de pago que deberan aparecer deben ser solo las de cheque postfechado o credito firmado. De igual forma el sistema valida si el vendedor tiene autorizacion para recibirle cheque a ese cliente y si no la tiene debe esconder la opción de cheque postfechado. Cuando acabe de grabar ese recaudo, el valor no deberá afectar su cartera, y si se recibio cheque, esa informacion del cheque deberá ser guardada para que sea impresa en la factura que se va a grabar.
Ejemplo para párrafos narrativos.
Administracion de Requerimientos
Contar con una herramienta que permita la administración adecuada de los requerimientos.
RTM (Trace Matrix Requeriments). Ejemplo Asist Web
?? Existen herramientas comerciales para la ADM de requerimientos. Cuales ??
Requerimientos
ClasificarlosEspecificarlosPriorizarlos
Análisis de requerimientos
Requerimientos
La clasificación ayuda a determinar que requerimientos se desarrollan o no.
Es una propuesta que permite ACOTAR el desarrollo de los requerimientos.
Nos ayuda a tomar en cuenta todos los requerimientos pero a enfocarnos en los FUNCIONALES.
Para clasificarlos se deben tomar en cuenta los diferentes tipos de requerimientos.
Clasificación de requerimientos
Requerimientos
SW (Software Requeriment) SWC (Software Constraint) DR (Deriverd Requeriment) D# (Duplicated Requeriment) HW (Hardware Requeriment) NTH (Nice To Have) P (Performance Requeriment)
Clasificación de requerimientos
Requerimientos
SW (Software Requeriment). Aquellos que representan una funcionalidad en el software. Son los que se construyen en el producto
Clasificación de requerimientos
Requerimientos
SWC (Software Constraint). Ayudan al analista a incluir condicionamientos, que pueden generar dificultades a la hora de contruir el software.
Clasificación de requerimientos
Requerimientos
DR (Deriverd Requeriment). Un requerimiento que se deriva de otro que ya existe. Se deriva por DETALLE o por CONSECUENCIA.
Clasificación de requerimientos
Requerimientos
D# (Duplicate Requeriment). Esta caracteristica o tipificación permite que este requerimiento no se DESARROLLE.
Clasificación de requerimientos
Requerimientos
HW (Hardware Requeriment). Esta caracteristica representa que este requerimiento no necesariamente tendra opciones de CÓDIGO. O que este requerimiento implica funcionalidad en un HARDWARE “es parte del proyecto”
Clasificación de requerimientos
Requerimientos
NTH (Nice To Have). Esta tipificación sirve para identificar aquellos requerimientos que estan por fuera del alcance del proyecto. Se podran tener en cuenta en futuras versiones “NO SE DESARROLLA”
Clasificación de requerimientos
Requerimientos
P (Performance Requeriment). Esta caracteristica ayuda al analista a generar PRECONDICIONES o cualidades especificas en el diseño, para cumplir con un requerimiento de rendimiento.
Clasificación de requerimientos
Requerimientos
La mayoria de los equipos de desarrollo son conscientes de que los requerimientos deben ser priorizados.
Priorización de Requerimientos
top related