INGENIERIA DE REQUISITOS
2.1 TAREAS DE REQUISITOS
Se define como un
conjunto de actividades en los cuales, utilizando tecnicas y herramientas, se
analiza un problema y se concluye con la especificación de una solución. La ingeniería
de requisitos es el proceso de desarrollar una especificación de software.
Inicio:
Tiene
por objetivo identificar el ámbito del proyecto general. Comienza con una serie
de conversaciones informales entre los participantes del mismo. Esta fase suele
ser acompañada de los documentos de definición de la visión global y la visión del
dominio del sistema. Se inicia muchas veces por: se descubre un nuevo mercado y
se descubre un nuevo servicio.
Obtención:
Se
sugiere a los ingenieros recopilar requisitos de manera organizada, preguntando
a los usuarios y otros interesados cuales son os objetivos para el sistema o
producto, que es lo que se debe lograr, de que forma el producto satisface las
necesidades del negocio y como se utilizara el producto día d día. Se identifican
una serie de problemas que ayudan a entender porque es difícil la obtención de
requisitos:
1
Problema
de ámbito
1
Problema
de comprensión
1
Problemas
de volatilidad
Elaboración:
Se
crea un modelo de análisis con la información obtenida del cliente en las fases
de inicio y obtención. La información conseguida con el cliente durante el
inicio y obtención se expande y se refina durante la elaboración. Esta actividad
se enfoca en el desarrollo de un modelo técnico refinado de las funciones, características
y restricciones del software. La elaboración se conduce mediante la creación y
refinamiento de escenarios del usuario que describan la forma en que el usuario
final y otros actores interactúan con el sistema.
Negociación:
En
esta etapa el ingeniero de requisitos debe negociar con el cliente los alcances
y límites del sistema. De forma iterativa los requisitos se prioriza,
modifican, combinan o eliminan buscando acuerdos que beneficien a todas las partes.
Se identifican y analizan los riesgos asociados con cada requisito.
Especificación:
Es
el producto final de la ingeniería de requisitos, y se convierte en la materia
prima para las actividades posteriores en el proceso de desarrollo del sistema.
Una especificación puede ser un documento escrito, un conjunto de modelos gráficos,
un modelo matemático formal, una colección de escenarios de uso, un prototipo o
cualquier combinación de estos.
Validación:
Un
equipo de validación toma el producto de la fase de especialización, lo revisa para
detectar errores, conflictos u omisiones y los corrige con el fin de garantizar
la consistencia de requisitos. La validación de requisitos examina la especificación
para asegurar que todos los requisitos de software se han establecidos de manera
precisa; que se han detectado las inconsistencias omisiones y errores y que
estos han sido corregidos y que el producto de trabajo cumple con los estándares
establecidos para el proceso, proyecto y producto.
Gestión de requisitos:
Ayuda
a rastrear los requisitos según las características de los mismos, el código fuente
relacionado, dependencia entre requisitos, subsistemas e interfaces internas y
externas de forma que pueda identificarse con rapidez para entender como
afectara una modificación diferentes aspectos del sistema a construir. Es un
conjunto de actividades que ayudan al equipo de proyecto a identificar,
controlar y rastrear los requisitos y los cambios a estos en cualquier momento
mientras se desarrolla el proyecto.
2.2 TÉCNICAS DE REQUISITOS
Se conocen varias técnicas
para la ingeniería de requisitos, estas pueden ser aplicables a las distintas
fases del proceso de la IR. Las técnicas más utilizadas son:
Entrevistas y cuestionarios:
Estos
se emplean para reunir la información proveniente de personas o de grupos. El analista
conversa con el encuestado y realiza preguntas relacionadas con varios aspectos
de un sistema. Lo más común, los encuestados son usuarios de los sistemas
existentes. El éxito que se tenga depende de la habilidad del entrevistador y
de su preparación de la misma.
Sistemas existentes:
Consiste
en analizar distintos sistemas ya desarrollados que estén relacionados con el
sistema a ser construido, podemos analizar las interfaces de usuario observando
el tipo de información que se maneja y como es manejada.
Lluvia de ideas:
Este
modelo se usa para generar ideas. La intención en su aplicación es la de
generar la máxima cantidad posible de requerimientos para el sistema, la
principal intención es generar muchas ideas, posteriormente se irán eliminando
en base a distintos criterios como, “caro”, “impracticable”, “imposible” etc.
Prototipos:
Para
validar los requerimientos hallados, se construyen prototipos. Los prototipos
son simulaciones del posible producto, que luego son utilizados por el usuario
final, permitiéndonos conseguir una importante retroalimentación en cuanto a si
el sistema diseñado con base a los requerimientos recolectados le permite al usuario
realizar su trabajo de manera eficiente y efectiva.
Casos de uso:
Son
una técnica para especificar el comportamiento de un sistema. Los casos de uso
permiten describir la posible secuencia de interacciones entre el sistema y uno
o más actores. Los casos de uso es una técnica que se basa en escenarios para
la obtención de requerimientos, se ha convertido en una característica fundamental
de la notación UML que es utilizado para describir modelos de sistemas
orientada a objetos.
Herramientas automatizadas para la administración
de requerimientos:
Las
herramientas case (ingeniería del software asistida por computadora) se le
conoce a todo aquel software que es usado para ayudar a las actividades del
proceso de desarrollo del software. Estas herramientas se concentran en
capturar requerimientos, administrarlos y producir una especificación de requisitos.
Entre otras cosas estas herramientas permiten un control mayor en proyectos
complejos, reducir costos y retrasos en los proyectos, ayudan a determinar la
complejidad y los esfuerzos necesarios.
RequisitePro:
Es la
herramienta tener un mayor control sobre los requerimientos planteados por el
usuario y todos aquellos requerimientos técnicos o nuevos requerimientos
planteados por el usuario y todos aquellos requerimientos técnicos o nuevos
requerimientos de usuario que surjan durante el ciclo de vida del proyecto. Esta
herramienta se integra con aplicaciones para la administración de cambios,
herramientas de modelado de sistemas y con herramientas de pruebas. Esta integración
asegura que los diseñadores conocen los requerimientos del usuario, del sistema
y del software en el momento de su desarrollo.
2.3 MODELADO DE REQUISITOS
El modelo de
requisitos tiene como objetivo delimitar al sistema y capturar la funcionalidad
que debe ofrecer desde la perspectiva del usuario. Este modelo puede funcionar
como un contrato entre el desarrollador y el cliente o usuario del sistema, y
por lo tanto proyecta lo que el cliente desea según la percepción del desarrollador.
Es el primer modelo a desarrollarse, sirviendo de base para la formación de
todos los demás modelos en el desarrollo de software. Como propósito también tiene
el de capturar precisa y finalmente las principales características del sistema
de software que se desea construir. Este modelo permite representar los
requisitos del sistema de manera que cualquiera de sus potenciales de usuario
pueda revisarlo y comprenderlo sin que para eso necesite un entrenamiento
especial. No obstante la notación utilizada en tal representación es lo
suficientemente preciso para que pueda servir de base a la fase de modelado
conceptual.
Las tecnicas
propuestas para el desarrollo del modelo de requisitos intentan superar estos
problemas la determinación del propósito del sistema y la descomposición de sus
interacciones externas en funciones (árbol de refinamiento de funciones, Conjuntamente
con un estructurado especificación de las funcionalidades modelo de casos de
usos). Constituyen la clave para el establecimiento del nivel de abstracción adecuado
de los modelos de uso.
2.4 HERRAMIENTAS CASE PARA LA INGENIERIA DE REQUISITOS
Borland caliber analyst:
Se
trata de un producto que está compuesto por dos aplicaciones desarrolladas por
la compañía borland. Por un lado están el caliber define(la última de las herramientas
en cuanto a fecha de lanzamiento) que permite definir los requisitos del
sistema así como a capturar las diferentes herramientas visuales, es necesario
señalar que este software es compatible con gran número de herramientas existentes
en el mercado.
Case espec:
Esta herramienta está desarrollada por la empreza coda software.
Características:
Especificación,
seguimiento de los requisitos, capacidad de rastres, importar y exportar
archivos.
IRQA4:
Herramienta
desarrollado por visure y que tiene la meta de servir como aplicación para
proporcionar un soporte integral en la ingeniería de requisitos de un proyecto
de la informática aparte de incluir las tareas más básicas de la ingeniería de
requisitos(captura, análisis, modelado, organización y seguimiento).
Tiger pro:
Herramienta
shoreware desarrollado para facilitar al usuario la tarea de redactar los
requerimientos de un proyecto. Este aplicativo es capaz de solucionar algunos de
los aspectos.
IBM rational requisite pro:
Esta
herramienta desarrollada por una de las compañías más importantes dentro del
campo de la informática, se considera una de las herramienta más completas y
potentes dentro del análisis y la gestión de requisitos: una de las grandes
ventajas que aporta este producto es la compatibilidad y algunos programas más
usados.
Rambután:
Esta
herramienta está basada en XML, realmente consta de un conjunto de aplicación para
usuario final ayudando a los analistas de sistemas en la recopilación y categorización
de hechos en un documento de especificación de requisitos ofrece las ventajas
de aplicación para pal (PDA clases), portabilidad entre plataformas
independientemente metodología, herramienta de distribución libre.
CONCLUSION
La ingenieria de requisitos es uno de las partes mas importantes en la creacion o renovacion de un software, ya que con ella podremos saber cuales son los requisitos o necesidases que tiene el cliente y que nosotros debemos implementar.
En estos temas podemos visualisar cuales son algunas de los metodos, como por ejemplo la entrevista, lluvia de ideas y casos de uso, con las cuales podemos obtener los requisitos que debe cumplir y junto con ello dar la mejor solucion al usuario sobre el problema al que se enfrenta.
BIBLIOGRAFIA
http://insitutotec.blogspot.mx/
http://es.slideshare.net/nenyta08/tareas-de-ingenieria-de-requerimientos