Ingeniera de Requerimientos
El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema, es llamado Ingeniera de Requerimientos. La meta es entregar una especificacin de requisitos de software correcta y completa.
Cumple un papel primordial en el proceso de produccin de software, ya que enfoca un rea fundamental : la definicin de lo que se desea producir
Su principal tarea consiste en la generacin de especificaciones correctas que describan con claridad, sin ambiguedades, en forma consistente y compacta, el comportamiento del sistema.
Ingeniera de Requerimientos
De esta manera, se pretende minimizar los problemas relacionados con el desarrollo de sistemas. Estudios realizados muestran que ms del 53% de los proyectos de software fracasan por no realizar un estudio previo de requisitos. Otros factores como falta de participacin del usuario, requerimientos incompletos y el cambio a los requerimientos, tambin ocupan sitiales altos en los motivos de fracasos.
Ingeniera de Requerimientos
Que son los requerimientos?
Una condicin o necesidad de un usuario para resolver un problema o alcanzar un objetivo Una condicin o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estndar, especificacin u otro documento formal.
Ingeniera de Requerimientos
Los requerimientos pueden dividirse en requerimientos funcionales y requerimientos no funcionales Requerimientos funcionales definen :
Las funciones que el sistema ser capaz de hacer Las transformaciones que el sistema realiza sobre las entradas para producir las salidas.
Necesario : Un requerimiento es necesario si su omisin provoca una deficiencia en el sistema a construir, y adems su capacidad, caractersticas fsicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o proceso. Conciso : Un requerimiento es conciso si es fcil de leer y entender. Su redaccin debe ser simple y clara para aquellos que vayan a consultarlo en un futuro. Completo : Un requerimiento esta completo si no necesita ampliar detalles en su redaccin, es decir, si se proporciona la informacin suficiente para su comprensin. Consistente : Un requerimiento es consistente si no es contradictorio con otro requerimiento.
No ambiguo : Un requerimiento no es ambiguo cuando tiene una sola interpretacin. El lenguaje usado en su definicin, no debe causar confusiones al lector. Verificable : Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes mtodos de verificacin :
Inspeccin Anlisis Demostracin Pruebas
Los requerimientos no son obvios y vienen de muchas fuentes Son difciles de expresar en palabras (el lenguaje es ambiguo) Existen muchos tipos de requerimientos y diferentes niveles de detalle La cantidad de requerimientos es un proyecto pueden ser difciles de manejar Nunca son iguales, algunos son ms difciles, ms riesgosos, ms importantes o ms estables que otros Los requerimientos estn relacionados unos con otros, y a su vez se relacionan con otras partes del proceso Cada requerimiento tiene propiedades nicas y abarcan reas funcionales especficas Un requerimiento puede cambiar a lo largo del ciclo de desarrollo Son difciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.
Beneficios de la IR
Actividades de la IR
Objetivo : Entender las verdaderas necesidades del negocio. Comprender el problema que se est resolviendo
Mltiples soluciones aplican para el mismo problema, sin embargo, slo una de ellas ser la ms factible. Las soluciones iniciales deben ser definidas tomando en cuenta tanto la perspectiva tcnica como la del negocio.
Objetivo : Limitar las expectativas del cliente, tomando como referencia los niveles de abtraccin y descomposicin de cada problema presentado. Descubir problemas potenciales
Se identifican aquellos requerimientos ambiguos, incompletos, inconsistentes, etc.
Negociacin
Para que los requerimientos puedan ser negociados de manera efectiva, hay una serie de consideraciones que deben tenerse en cuenta, entre las principales tenemos :
Documentar todos los requerimientos a un nivel de detalle apropiado Mostrar todos los requerimientos a los involucrados en el sistema Analizar el impacto que causen los cambios antes de aceptarlos Establecer las relaciones entre requerimientos que indiquen dependencias Negociar con flexibilidad para que exista un beneficio mutuo Enfocarse en intereses y no en posiciones
Pruebas
Producto
Validacin de Requerimientos
Es la actividad de la IR, que permite demostrar que los requerimientos definidos en el sistema son los que realmente quiere el cliente, adems revisa que no se haya omitido ninguno, que no sean ambiguos, inconsistentes o redundantes. Durante la actividad de validacin se deben hacer preguntas en base a cada una de las caractersticas que se deseen revisar.
Estn incluidas todas las funciones requeridas por el cliente? (completa) Existen conflictos en los requerimientos? (consistencia) Tiene alguno de los requerimientos ms de una interpretacin? (no ambigua) Est cada requerimiento claramente representado? (entendible) Pueden los requerimientos ser implementados con la tecnologa disponible? (factible)
Validacin de Requerimientos
(continuacin)
Esta la especificacin de requerimientos escrita en un lenguaje apropiado? (clara) Existe facilidad para hacer cambios en los requerimientos? (modificable) Esta claramente definido el origen de cada requisito? (rastreable) Pueden los requerimientos ser sometidos a medidas cuantitativas? (verificable)
Evolucin de Requerimientos
Es un proceso externo que ocurre a lo largo del ciclo de vida del proyecto Las razones ms frecuentes por las que cambian los requerimientos son :
Al analizar el problema no se hicieron las preguntas correctas a las personas correctas Cambio el problema que se estaba resolviendo Los usuarios cambiaron su forma de pensar o sus percepciones Cambio el ambiente de negocio Cambio el mercado en el cul se desenvuelve el negocio Cambio de procedimientos o forma de trabajo
Definicin de requerimientos.
polticas
de
control
de
versiones
de
Tcnicas utilizadas en la IR
Entrevistas y cuestionarios
Lluvia de ideas
Aplicacin Metodolgica
Conceptos fundamentales
Asegurar, en forma explicita que se obtuvo todo el conocimiento que poseen los expertos del proceso productivo Documentar el conocimiento a travs de los medios que permitan la comprensin de todos los involucrados Lo ms relevante es que el proceso de conocimiento considere todas las variables, reglas de negocio, procesos, etc.
Acuerdo Metodolgico
A pesar de ser considerada una tcnica de Anlisis Orientado a los Objetos, es importante destacar que los casos de uso poco tienen que ver con entender a un sistema como un conjunto de objetos que interactan, que es la premisa bsica del anlisis orientado a objetos clsico. En este sentido, el xito de los casos de uso no hace ms que dar la razn al anlisis estructurado, que propone que la mejor forma de empezar a entender un sistema es a partir de los servicios o funciones que ofrece a su entorno, independiente de los objetos que interactan dentro del sistema para proveerlos.
Acuerdo Metodolgico
Entradas
Conjunto de tareas y operaciones que estn diseados para cumplir una o varias funciones especficas, realizadas en forma secuencial o simultnea para lograr un objetivo
Salidas
Recursos
Usuarios
Procedimiento Formal
Procedimiento Formal
Anlisis Detallado
Establecer los procesos que considera la MacroFuncin. Establecer el conocimiento de cada proceso Identificar las entidades que participan en cada proceso Especificar actividades o casos de uso de cada proceso.
Thank you!