Es el proceso de desarrollar una especificacin de Software. Las especificaciones
pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del sistema. Trata de los principios, mtodos, tcnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora, de forma sistemtica y repetible. Faces para la implementacin de ingeniera de Requisitos Desde un punto de vista conceptual, las actividades son de cinco clases. Obtener requisitos: a travs de entrevistas o comunicacin con clientes o futuros usuarios, para saber cules son sus expectativas. Analizar requisitos: detectar y corregir las carencias o falencias comunicativas, transformando los requisitos obtenidos de entrevistas y requisitos, en condiciones apropiadas para ser tratados en el diseo. Documentar requisitos: igual que todas las etapas, los requisitos deben estar debidamente documentados. Verificar los requisitos: consiste en comprobar el correcto funcionamiento de un requisito en la aplicacin. Validar los requisitos: comprobar que los requisitos implementados se corresponden con lo que inicialmente se pretenda.
Tcnicas para la induccin de requisitos Entrevistas Las entrevistas son un mtodo comn. Por lo general no se entrevista a toda la gente que se relacionar con el sistema, sino a una seleccin de personas que represente a todos los sectores crticos de la organizacin, con el nfasis puesto en los sectores ms afectados o que harn un uso ms frecuente del nuevo sistema. Talleres Los requisitos tienen a menudo implicaciones cruzadas desconocidas para las personas implicadas individuales y que a menudo no se descubren en las entrevistas o quedan incompletamente definidas durante la misma. Estas implicaciones cruzadas pueden descubrirse realizando en un ambiente controlado, talleres facilitados por un analista del negocio, en donde las personas implicadas participan en discusiones para descubrir requisitos, analizan sus detalles y las implicaciones cruzadas. A menudo es til la seleccin de un secretario dedicado a la documentacin de la discusin, liberando al analista del negocio para centrarse en el proceso de la definicin de los requisitos y para dirigir la discusin. Existen dos tcnicas de este tipo que son las ms utilizadas: Brainstorming (Lluvia de ideas) y JAD (Joint Application Development, Diseo de Aplicacin Conjunta). La diferencia que existe entre ambas tcnicas es que durante la tormenta de ideas se tiene como objetivo generar una gran cantidad de ideas, es desestructurada y la informacin que se obtiene puede ser visual, textual coloquial; mientras que en el JAD el taller es ordenado, la informacin que se obtiene es visual y su objetivo es generar requisitos y la interfaz del sistema.
Forma de contrato En lugar de una entrevista, se pueden llenar formularios o contratos indicando los requisitos. En sistemas muy complejos stos pueden tener centenares de pginas.
Objetivos medibles Los requisitos formulados por los usuarios se toman como objetivos generales, a largo plazo, y en cambio se los debe analizar una y otra vez desde el punto de vista del sistema hasta determinar los objetivos crticos del funcionamiento interno que luego darn forma a los comportamientos apreciables por el usuario. Luego, se establecen formas de medir el progreso en la construccin, para evaluar en cualquier momento qu tan avanzado se encuentra el proyecto.
Prototipos y Casos de uso Un prototipo es una pequea muestra, de funcionalidad limitada, de cmo sera el producto final una vez terminado. Ayudan a conocer la opinin de los usuarios y rectificar algunos aspectos antes de llegar al producto terminado. Un caso de uso es una tcnica para documentar posibles requisitos, graficando la relacin del sistema con los usuarios u otros sistemas. Dado que el propio sistema aparece como una caja negra, y slo se representa su interaccin con entidades externas, permite omitir dichos aspectos y determinar los que realmente corresponden a las entidades externas. El objetivo de esta prctica es mejorar la comunicacin entre los usuarios y los desarrolladores, mediante la prueba temprana de prototipos para minimizar cambios hacia el final del proyecto y reducir los costes finales. Esta tcnica se enfrenta a los siguientes peligros potenciales. A los directivos, una vez que ven un prototipo, les cuesta comprender que queda mucho trabajo por hacer para completar el diseo final. Los diseadores tienden a reutilizar el cdigo de los prototipos por temor a perder el tiempo al comenzar otra vez. Los prototipos ayudan principalmente a las decisiones del diseo y de la interfaz de usuario. Sin embargo, no proporcionan explcitamente cules son los requisitos. Los diseadores y los usuarios finales pueden centrarse demasiado en el diseo de la interfaz de usuario y demasiado poco en producir un sistema que sirva el proceso del negocio. Los prototipos pueden ser: diagramas, aplicaciones operativas con funcionalidades sintetizadas. Los diagramas, en los casos donde se espera que el software final tenga diseo grfico, se realizan en una variedad de documentos de diseo grficos y a menudo elimina todo el color del diseo del software (es decir utilizar una gama de grises). Esto ayuda a prevenir la confusin sobre la apariencia final de la aplicacin.
Caractersticas y especificaciones de los requisitos de sistemas Es una descripcin completa del comportamiento del sistema a desarrollar. Incluye un conjunto de casos de uso que describen todas las interacciones que se prevn que los usuarios tendrn con el software. Tambin contiene requisitos no funcionales (o suplementarios). Los requisitos no funcionales son los requisitos que imponen restricciones al diseo o funcionamiento del sistema (tal como requisitos de funcionamiento, estndares de calidad, o requisitos del diseo). Los requisitos se dividen en tres: Funcionales: son los que el usuario necesita que efecte el software. Normalmente se identifican como los requisitos que responden a la pregunta qu hace? e.g. El sistema debe emitir un comprobante al asentar la entrega de mercadera. No funcionales: son los "recursos" para que trabaje el sistema de informacin (redes, tecnologa). Ej: el soporte de almacenamiento a usar debe ser MySQL. Normalmente se identifican como los requisitos que responden a la pregunta cmo lo hace? e.g. rpido, fcil etc. Empresariales u Organizacionales: son el marco contextual en el cual se implantar el sistema para conseguir un objetivo macro. Ej: abaratar costos de expedicin.
Herramienta CASE como soporte de la Ingeniera de Requisitos Con el nimo de facilitar las tareas del desarrollo de software, surgen herramientas informticas que agilizan la labor en la IR. Dichas herramientas son denominadas CASE (Ingeniera de software asistida por computador), y sirven de apoyo para los desarrolladores, desde el principio hasta el final del proceso. Estas incluyen un conjunto de programas que facilitan la optimizacin de un producto ofreciendo apoyo permanente a los analistas, ingenieros de software y desarrolladores. CASE, es la aplicacin de mtodos y tcnicas que dan utilidades a los programas, por medio de otros, procedimientos y su respectiva documentacin. En esta investigacin se hace referencia a las herramientas que ayudan a la gestin de requisitos; es decir al proceso de identificacin, asignacin y seguimiento de los mismos, incluyendo interfaz, verificacin, modificacin y control de cada requisito, durante el ciclo de vida del proyecto. Los cambios/actualizaciones de requisitos deben ser gestionados para asegurar que se mantenga la calidad del producto. Hasta hace poco tiempo las herramientas para la gestin de requisitos de Software se limitaban a editores de texto, los cuales hacan de esta tarea una labor tediosa y confusa. Actualmente, se cuenta con mltiples opciones, como las que se mencionan a continuacin:
IRQA 4 Herramienta CASE de Ingeniera de Requisitos, diseada para soportar las actividades realizadas en el proceso de especificacin de sistemas. sta facilita y formaliza la comunicacin entre el cliente, el proveedor y los distintos miembros del equipo de desarrollo. Facilita la captura, organizacin y anlisis de las condiciones, as como la especificacin de la solucin mediante el apoyo metodolgico adaptable a cada cliente.
RETO Esta herramienta propone un modelo de requisitos para capturar los aspectos funcionales del sistema; bsicamente, mediante tres tcnicas complementarias entre s: la definicin de la Misin del Sistema, la construccin del rbol de Refinamiento de Funciones y el desarrollo del Modelo de Casos de Uso. Adems, se introduce un Proceso de Anlisis que permite traducir el Modelo de Requisitos en el Modelo Conceptual, manteniendo la trazabilidad entre ambos y propiciando una representacin de la informacin en el segundo prototipo.
CONTROLA Herramienta de apoyo al proceso de ingeniera de software en pequeas empresas. Se cre gracias a la expansin que tuvo el mercado y a la generacin de grandes y pequeas empresas, las cuales requieren un instrumento para el desarrollo de sus proyectos. Ofrece recursos importantes tales como: Administracin de requisitos, administracin de casos de uso, administracin de casos de prueba y error, planeamiento de liberaciones, administracin de implementaciones, control de dependencia entre Implementaciones, matriz de rastreabilidad y rastreabilidad de los requisitos.
OSRMT (Open Source Requirements Management Tool) Herramienta libre para la gestin de requisitos, cuyas principales caractersticas son: trabaja en arquitectura cliente/servidor, desarrollada bajo Java; la versin 1.3 trae un mdulo para manejar la trazabilidad y lo introduce para el control de cambios; as mismo, genera la documentacin de los requisitos tratados.
JEREMIA Se trata exclusivamente de una aplicacin cliente exclusivamente, lo cual no permite la posibilidad de trabajar en equipo. sta, ayuda durante el desarrollo del sistema, especialmente en el seguimiento de cambios de los requisitos a lo largo del ciclo de vida. Con JEREMIA es posible captar las necesidades, analizarlas y clasificarlas. Implementa un mdulo orientado a la generacin de la documentacin posible de exportar en formato DocBook XML, la cual junto con los requisitos, se almacena en una base de datos en MySQL.
Rol de la ingeniera de requisitos en el ciclo de vida de los sistemas de informacin