Estándar IEEE 830

¿Qué es?

En 1998, el Instituto de Ingenieros Eléctricos y Electrónicos publicó el estándar IEEE 830-1998, que es la Práctica Recomendada por este instituto para Especificaciones de Requisitos de Software (SRS). Este estándar proporciona pautas detalladas sobre cómo especificar los requisitos del software que se va a desarrollar, por lo que describe cómo crear documentos SRS de alta calidad para software convencional, su contenido y las cualidades de un buen SRS. Se usa ampliamente en la industria de la ingeniería de software para garantizar una comunicación clara y completa entre las partes interesadas involucradas en proyectos de desarrollo de software, pues, además, ayuda a establecer un entendimiento común de los requisitos y sirve como referencia para desarrolladores, evaluadores y otros miembros del equipo del proyecto. 

Este fue el recurso técnico utilizado para el desarrolo del proyecto debido a que fue la base de la cual se desarrolló el diseño para la integración de requisitos de inteligencia artificial en la especificación de requisitos. 

Estructura

El estándar se compone por la estructura mostrada a continuación. Esta es una breve explicación de las secciones de la misma.

Plantilla del estándar IEEE 830

La plantilla del estándar IEEE 830 se puede observar y descargar mediante el siguiente botón:

Plantilla

Integración de IA al estándar IEEE 830

¿De qué se trata?

ERS-IA es un proyecto que se enfoca en la adaptación y mejora de la especificación de requisitos de software utilizando inteligencia artificial. Inspirado en la necesidad de integrar la IA de manera efectiva en el desarrollo de software, ERS-IA proporciona un marco estructurado para asegurar que los requisitos de inteligencia artificial se consideren desde las etapas iniciales del desarrollo de sistemas de software.

La integración de requisitos de inteligencia artificial en el proceso de desarrollo de software es un proyecto que surge como una respuesta a la creciente complejidad en el desarrollo de sistemas que incorporan IA, un campo que exige precisión y un enfoque meticuloso para garantizar la funcionalidad óptima dentro de cualquier entorno de desarrollo. Utilizando el estándar IEEE 830 como base, esta es una modificación del mismo, que adapta la especificacion de requisitos para que puedan documentarse requisitos de inteligencia artificial. 

Se trata de una plantilla que incluye dos tablas de especificación de requisitos adaptadas para permitir al usuario especificar los requisitos respecto a la inteligencia artificial presentes en su proyecto. Una de las tablas fue diseñada para la especificación de requisitos funcionales, mientras que la otra, fue diseñada para la especificación de requisitos no funcionales. 

Con el diseño de estas tablas, se buscó integrar los requisitos de inteligencia artificial dentro de la documentación de los proyectos de software, ya que no suelen ser documentados o especificados de una manera formal. Además, con estas tablas también se optimizó la plantilla de manera que se eliminaron redundancias innecesarias de secciones posteriores que se incluyen dentro de la plantilla original.

El proyecto incorpora la metodología GPEI (Goal-Prompt-Evaluate-Iterate) para el diseño de las dos tablas de especificación de requisitos, la cualoptimiza las interacciones con programas de IA generativa, asegurando que los resultados obtenidos sean confiables y de alta calidad.


Resultados: Plantilla de integración de requisitos de inteligencia artificial

Tabla de especificación de requisitos funcionales

La tabla para requerimientos funcionales, se diseñó con 16 parámetros; 11 parámetros más que en la tabla presentada en la plantilla original. El aumento de los parámetros fue debido a la integración que se hizo para especificar los requerimientos de inteligencia artificial. Al formar parte de una plantilla, dentro de la misma tabla se puede observar que se añadió una pequeña descripción de lo que se espera especificar en cada parámetro de la tabla.


La tabla proporciona una estructura clara y detallada para especificar los requisitos, buscando asegurar que todos los aspectos del sistema, tanto funcionales como de IA, sean comprendidos y abordados adecuadamente. Si bien es cierto que se estableció indicando que se pueden obviar algunos parámetros según las necesidades de cada proyecto, los parámetros específicos de IA fueron incluidos para la especificación para que el modelo de IA sea de alta calidad, preciso y confiable, por lo que se considera preferible que, cuando un requisito sea de inteligencia artificial, esos parámetros sean incluidos al menos en su mayoría. 


La justificación del uso de cada parámetro se muestra a continuación:

Tabla de especificación de requisitos no funcionales 

Aunque se diseñó similar a la tabla anterior, esta tabla tuvo unos cambios diseñados únicamente para especificar requisitos no funcionales. Constó con 14 parámetros, y, al igual que con el diseño anterior, en la plantilla realizada, se añadió esta tabla junto con una pequeña descripción de lo que se espera especificar dentro de cada parámetro de la misma. Algo que se consideró en este diseño fue que, en el parámetro “Categoría”, se añadieron las clasificaciones de requisitos no funcionales establecidas dentro del estándar IEEE 830, para omitir redundancias posteriores. 


De igual manera que la tabla para requerimientos funcionales, la estructura de esta se diseñó de manera clara y detallada para el proceso de especificación, con el mismo objetivo de asegurar los aspectos del sistema no funcionales y de IA, sean comprendidos y abordados de manera apropiada. Aunque en la tabla para requisitos no funcionales también se pueden obviar algunos parámetros según las necesidades de cada proyecto, los parámetros específicos de IA fueron incluidos para la especificación para que el modelo de IA no pase por alto las consideraciones de la inteligencia artificial aun cuando se trata de este tipo de requisitos, por ende, en estas tablas también debería considerar preferible que, al menos mayoritariamente, esos parámetros sean incluidos cuando un requisito sea de inteligencia artificial.


La justificación del uso de cada parámetro se muestra a continuación:

Eliminación de secciones específicas del estándar IEEE 830

Sección “3.2 Requisitos funcionales”

La sección “3.2 Requisitos funcionales” de la plantilla original del estándar, se vuelve redundante una vez establecidas las tablas  de especificación anteriores. Esta sección se encargaba de especificar las actividades específicas de cada requerimiento. 

La tabla para requerimientos funcionales contenía dos parámetros tomados de la tabla conocida para la especificación de casos de uso: Flujo Normal y Flujo Alternativo. Al añadir estos parámetros, las actividades específicas de las que cada requerimiento funcional debe encargarse, ya se indicaban y establecían dentro de la misma tabla, por lo que se eliminó por completo la necesidad de proporcionar nuevamente estos detalles importantes de cada requisito en una sección aparte, aumentando la facilidad de comprender cada requisito observando una única sección.

Sección “3.3 Requisitos no funcionales”

La sección “3.3 Requisitos no funcionales” de la plantilla original del estándar, se vuelve redundante una vez establecidas las tablas  de especificación anteriores. Esta sección se encargaba de clasificar el cada tipo de requerimiento no funcional.

Se tomó en cuenta, al momento de eliminar esta sección, que el objetivo principal de la misma era clasificar los requisitos no funcionales en sus 6 categorías: Rendimiento, Seguridad, Fiabilidad, Disponibilidad, Mantenibilidad y Portabilidad. Al incluir en la tabla diseñada las clasificaciones de requisitos no funcionales, no solo se optimizó el proceso de gestión al tener toda la información en una misma tabla, sino que se determinó que la sección se volvería obsoleta y redundante, por lo que su eliminación se consideró apropiada.

Plantilla del estándar IEEE 830 con la integración de requisitos de inteligencia artificial

La plantilla del estándar con integración de requisitos de IA se puede observar y descargar mediante el siguiente botón:

Plantilla


Plantilla dinámica para completar en línea

La misma plantilla del estánda con integración re requisitos de IA, se desarrolló en una página web dinámica para que el usuario pueda completar el documento desde la misma, y al final, descargar el documento. Se puede visitar la página accediendo al siguiente enlace: https://computacion.unl.edu.ec/srs/


Equipo de Invetigación

La presente investigación fue desarrollada en su totalidad por:

  • Ing. Pablo Fernando Ordóñez Ordóñez: Director de la carrera de Computación y director especialista del trabajo de integración curricular. Su rol fue crucial en la orientación técnica y la validación de los resultados obtenidos durante la investigación. Diseño el desarrollo de la Revisión Sistemática de la Literatura realizada para la contextualización de la necesidad del tema de investigación, y el procedimiento de integración de inteligencia artificial en el proceso de desarrollode software.
  • Yamilka Valeria Erazo Aleaga: Estudiante investigadora de la Unviersidad Nacional de Loja y principal autora del trabajo de integración curricular que dio lugar esta información. Encargada del desarrollo de la Revisión Sistemática de la Literatura realizada para la contextualización de la necesidad del tema de invetigación, así como de haber desarrollado el procedimiento de integración de inteligencia artificial en el proceso de desarrollode software.