Publicado por: Tomas Vargas

LA INGENIERÍA DE REQUERIMIENTOS


La ingeniería de requerimientos se basa en la recolección de las funciones o parámetros que el sistema debe de cumplir además, se debe especificar los limites y restricciones que el proyecto tendrá, de esta manera se puede prevenir los errores para tomar las medidas necesarias.

Esto se logra gracias a que todo los requerimientos planteados incluyendo las restricciones o los limites son debidamente documentados y por este medio existen varias maneras de representar esta documentación, el lenguaje informal donde se detalla los requerimientos de manera muy fácil de entender, lenguaje semi formal donde se representa la documentación de manera entendible sin dejar a un lado detalles técnicos y por ultimo el lenguaje formal donde se detalla la documentación con exposiciones técnicas que talvez para un cliente sea difícil de entender.


Atajos


Ingeniería de software - Rtologic

Documentos de la IDR


Existen muchas formas de determinar los requerimientos de un proyecto, sin embargo, es esencial saber filtrar por orden de importancia y de esta manera tener un buen mapa que permita ver el panorama de la situación inicial.

La ingeniería de requerimientos cuenta con una serie de herramientas o técnicas que permiten ir documentando los requisitos del sistema, estos requisitos según indica se pueden presentar de distintas formas

Entrevistas

Este método de recolección de información sirve en gran medida para recaudar algunos requisitos para el sistema, son prácticamente esenciales para cualquier desarrollo y se pueden identificar en tres fases:

  • Prepración: en este punto se estudia el dominio del problema, se selecciona el publico al que va orientado el software para determinar el objetivo y contenido de la entrevista y posteriormente la planificación de esta.

  • Realización de la entrevista: se da paso a la fase de apertura donde el entrevistador debe de presentarse al entrevistado e informar la razón de la entrevista, luego se procede a la entrevista en cuestión en la fase de desarrollo, por último, en la fase de terminación se debe recapitular sobre la entrevista para confirmar que no haya habido confusiones durante el desarrollo de la entrevista.

  • Análisis: en este punto es necesario la verificación de los datos, pasarlas a limpio y reorganizar la información para ser contrastada con las demás entrevistas tomadas.

Brainstorming

Esta técnica conocida también como lluvia de ideas se caracteriza por ser llevada a cabo en reuniones donde en grupo se presente el objetivo de generar ideas por medio de un ambiente libre de criticas y juicios, general mente estas sesiones de lluvia de ideas suelen ser llevadas a cabo por grupos de cuatro a diez participantes donde uno de ellos es el que esté a cargo es decir el jefe.

Aunque parezca una técnica de carácter libre esta tiene 4 fases las cuales son:

  • Preparación: para esta fase se prepara la sala donde se hará la sesión y los participantes de esta serán el jefe del proyecto y generalmente pueden ser clientes, usuarios, ingenieros de requerimientos, desarrolladores y de ser necesario algún experto en cuanto el objetivo del sistema.

  • Generación: el jefe debe abrir la sesión donde expondrá un enunciado general sobre el problema a tratar, de esta forma los participantes de la sesión empezaran a debatir y exponer sus propuestas, sin embargo, se debe tener en cuenta que existen reglas, por ejemplo, no se permiten críticas, las ideas más avanzadas se fomentan, se debe de proponer cuantas ideas surjan y alentar a los participantes a combinar o complementar ideas de otros.

  • Consolidación: ahora de deben organizar y evaluar cada una de las ideas generadas en la fase de generación y se sugiere siempre tres pasos para la evaluación que son: la revisión de ideas, descartar ideas que son excesivamente avanzadas y priorizar ideas que restan.

  • Documentación: luego de todos los procesos el jefe produce la documentación con el contenido de las ideas filtradas y los comentarios de cada una.

Caso de uso

Esta técnica es muy utilizada por cualquier profesional, ya que se puede especificar los requerimientos funcionales propuestos inicialmente. Los casos de uso son descripciones de la secuencia de interacciones entre el sistema y uno o mas actores en la que se considera sistema como una caja negra.

Presentan varias ventajas porque facilitan la elicitación de requerimientos y son muy fáciles de comprender por los clientes o usuarios, además de eso pueden servir de base a las pruebas del sistema y a la documentación para los usuarios.

Formas de escritura para la IDR


Lenguajes informales

Lenguaje natural

El leguaje natural es el más simple y debe poder entenderse por cualquier persona de cualquier ámbito ya sea en negocios, análisis, equipos de desarrollo, etc. El contenido de entendimiento común hce que esta manera de documentar requerimientos sea la más idonea, sin embargo, aunque este lenguaje este dotado de excelentes características, al escribir los requisitos es muy probable que se encuentren ambigüedades y variablidad estructural.

Lenguaje natural estructurado

Este enfoque depende de la definición de formas estándar o plantillas para expresar la especificación de requerimientos.

Lenguajes de descripción de diseño

En este leguaje predominan características abstractas que especifican los requerimeibtos a travéz de las definiciones de un modelo operacional del sistema.

Notaciones graficas

Para definir los requerimientos funcionales del sistema se utiliza un lenguaje gráfico, complementado con anotaciones de texto.

Especificaciones matemáticas

Son notaciones que se basan en conceptos matemáticos como el de las máquinas de estado finito o los conjuntos. Estas especificaciones no ambiguas reducen los argumentos sobre la funcionalidad del sistema entre el cliente y el contratista.

Lenguajes semiformales

Lenguaje de Especificación

Un lenguaje de especificación o lenguaje de descripción es un lenguaje formal o semiformal cuya función es construir modelos de los sistemas que se desea elaborar. A diferencia de los lenguajes de programación, que son lenguajes interpretables o traducibles por una computadora hacia una representación ejecutable.

Los lenguajes de especificación no son por lo general utilizados para implementar el sistema, sino para especificarlo, conceptualizarlo o incluso validarlo, aunque también suelen ser legibles para un programa de computadora, que puede asistir en el proceso de validación.

Lenguajes Formales

El lenguaje formal es un conjunto de signos lingüísticos de uso exclusivo en situaciones donde el lenguaje natural no es adecuado. En el ámbito de las ciencias formales, un lenguaje formal es un conjunto de cadenas de símbolos que pueden ser reguladas por leyes que son específicas para cada una de estas ciencias.

Así pues, es un lenguaje ad hoc, creado con un objetivo determinado y para funcionar bajo contextos muy específicos. Además, no se utiliza en forma masiva. Por el contrario, su uso es restringido a los conocedores tanto del objetivo del lenguaje como de su contexto particular.

Por ejemplo, en el lenguaje de programación, el fin es la comunicación entre humanos y computadoras o entre dispositivos computarizados. No es una comunicación entre humanos.


Fuentes

  • Plaza, J. (2015) Lenguaje natural.

  • Ramírez, S. (2017) Ingenieria de requerimientos.


Sigueme en Ghithub