La ingeniera de requisitos es la rama de la ingeniera del software o ingeniera de sistemas que se
encarga de la realizacin de actividades en el intento de entender las necesidades exactas de los usuarios de un sistema y traducir stas a precisas funciones y acciones que subsecuentemente sern usadas en el desarrollo del sistema. Loucopoulos, P (1995). System Requirements Engineering. McGraw-Hill. Segn la IEEE un requisito es: 1.Una condicin o capacidad requerida por un usuario para resolver un problema o alcanzar un objetivo. 2.Una condicin o capacidad que debe cumplir o poseer un sistema o componente de sistema para satisfacer un contrato, estndar, especificacin, o cualquier otro documento impuesto formalmente. 3.Una representacin documentada de una condicin o capacidad de lo explicado en los puntos 1 o 2. IEEE Standard Glosary of Software Engineering Terminology. IEEE Computer Society Press. 1990.
Los requisitos pueden dividirse en:
Requisitos de usuario: Son frases en lenguaje natural o descripciones grficas (diagramas) de los servicios que se espera que ofrezca el sistema y de sus restricciones. Requisitos de sistema: Una descripcin ms detallada de los servicios exactos que se proporcionarn y sus restricciones. Estos requisitos sirven como contrato con el cliente. A su vez los requisitos de sistema pueden dividirse en requisitos funcionales, no funcionales y de dominio. Requisitos funcionales: Especifican lo que debe hacer o los servicios que debe proporcionar el sistema. Ejemplo: en un software de gestin de una biblioteca podran ser requisitos funcionales dar de alta un cliente, alquilar un libro, devolver un libro, comprar un libro, etc. Los requisitos funcionales deben describir tambin cmo responder el sistema ante estas distintas entradas, y su comportamiento frente a situaciones particulares. Requisitos no funcionales: Son restricciones de los servicios del sistema o funciones que ofrece. Ejemplo: en un software de gestin de compras de una tienda podran ser requisitos no funcionales un tpv para pagar con tarjeta, un PC con memoria y espacio en disco para almacenar la base de datos de ventas, que sea capaz de atender a la vez a varios clientes, que no tarde ms de X tiempo en gestionar una venta, etc. Requisitos de dominio: Estos requisitos reflejan caractersticas del dominio de la aplicacin. Ejemplo: la forma en la que se comunicarn distintas partes de la aplicacin, el tipo de datos con los que trabajar, etc.
Actividades cclicas que cumplen una buena practica de ingeniera de requisitos.
1.Extraccin: Esta fase representa el comienzo de cada ciclo. Extraccin es el nombre comnmente dado a las actividades involucradas en el descubrimiento preliminar de los requisitos de usuario. 2.Estudio de viabilidad: En esta fase se estima si el problema del usuario se podr resolver con la tecnologa disponible y si el sistema ser rentable segn el presupuesto del que se dispone. 3.Anlisis: Sobre la base de la extraccin realizada previamente, comienza esta fase en la cual se interacta con clientes o usuarios para determinar los requisitos funcionales y funcionales del sistema, adems del dominio de la aplicacin. 4.Especificacin: En esta fase se documentan los requisitos con mayor detalle y precisin, de manera que sirva de base para un contrato entre el desarrollador y el cliente. 5.Validacin: La validacin es la etapa final de la IR. Su objetivo es, ratificar los requisitos, es decir, verificar todos los requisitos que aparecen en el documento especificado para asegurarse de que son aceptados por el cliente. Esto implica verificar que los requisitos sean consistentes, que estn completos, que sean realistas y que puedan ser verificables. Quispe-Otazu, Quispe-Otazu, Rodolfo (2011). Que es la Ingenieria de Requisitos. Permite gestionar las necesidades del proyecto en forma estructurada Mejora la capacidad de predecir cronogramas de los proyectos, as como sus resultados Disminuye los costos y retrasos del proyecto Mejora la calidad del software Mejora la comunicacin entre equipos Evita rechazos de los usuarios finales