ALEGSA.com.ar

Definición de Requerimientos (desarrollo de software)

Significado de Requerimientos: (requirements en inglés). En ingeniería del software y el desarrollo de sistemas, un requerimiento es una necesidad documentada sobre el contenido, ...
09-07-2023 00:00
Para poder mantener nuestro sitio web gratuito nos ayudas mucho si nos sigues en nuestras Redes Sociales

 


Definición de Requerimientos (desarrollo de software)

 

(requirements en inglés). En ingeniería del software y el desarrollo de sistemas, un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio.

Los requerimientos son declaraciones que identifican atributos, capacidades, características y/o cualidades que necesita cumplir un sistema (o un sistema de software) para que tenga valor y utilidad para el usuario. En otras palabras, los requerimientos muestran qué elementos y funciones son necesarias para un proyecto.

En el modelo clásico de desarrollo de sistemas o desarrollo software, la etapa de los requerimientos viene antecedida de la etapa de factibilidad del sistema/software y precedida por la etapa de diseño del sistema/software.


Etapas de la fase de requerimientos



* Obtención de requerimientos: búsqueda y obtención de los requerimientos desde los grupos de interés.

* Análisis: comprobación de la consistencia y completitud de los requerimientos.

* Verificación: constatación de que los requerimientos especificados son correctos.


Clasificación de los requerimientos



* Requerimientos funcionales: qué debe hacer el sistema o software.

* Requerimientos no funcionales: cómo debe funcionar el sistema o software (no su implementación), por ej. calidad, rendimiento, facilidad de uso, etc.

* Requerimientos externos: a qué se debe atener el sistema o software con respecto a su entorno: compatibilidad con otros sistemas, adecuación a determinadas leyes, etc.


Características que deberían cumplir los requerimientos



* Actual: el requerimiento no debe volverse obsoleto con el paso del tiempo.

* Cohesión: el requerimiento debe dirigirse a solo una única cosa.

* Completo: el requerimiento debe estar completamente declarado en un único lugar, sin información faltante.

* Consistente: el requerimiento no debe contradecir ningún otro requerimiento y debe ser completamente consistente con toda la documentación.

* Correcto/necesario: el requerimiento debe cumplir con la necesidad declarada por los interesados en el sistema/software.

* Factible/viable: el requerimiento debe poder ser implementado.

* No ambiguo: el requerimiento debe estar concisamente declarado. Debe expresar hechos objetivos, no opiniones subjetivas. Debe poder poder ser interpretado de una única manera.

* Obligatorio: el requerimiento debe representar una característica definida por el grupo interesado en el desarrollo del sistema/software, su ausencia no puede ser reemplazada.

* Observable externamente: el requerimiento debe especificar una característica observable externa o experimentable por el usuario del producto.

* Verificable/demostrable: La implementación del requerimiento debe poder ser resuelta en alguno de estos cuatro métodos: inspección, análisis, demostración o prueba.




Es importante destacar que la fase de requerimientos es fundamental en el proceso de desarrollo de software, ya que es durante esta etapa que se identifican y documentan las necesidades y expectativas de los usuarios y stakeholders del proyecto. De esta manera, se establecen las bases para el diseño y creación del sistema o software.

Además, es necesario señalar que la obtención de requerimientos puede ser un proceso complejo, ya que se deben tomar en cuenta diferentes perspectivas, opiniones y necesidades de los diferentes grupos de interés. Es fundamental realizar una búsqueda exhaustiva y precisa de estos requerimientos, para poder satisfacer de manera eficaz las expectativas de los usuarios.

Por otro lado, durante el análisis de los requerimientos es necesario verificar la consistencia y completitud de los mismos. Esto implica revisar que no existan contradicciones o duplicidad en los requerimientos y asegurarse de que estén claramente definidos y no falte ningún detalle importante.

Adicionalmente, la verificación de los requerimientos es esencial para comprobar que estos sean correctos y se ajusten a las necesidades establecidas por los interesados en el sistema o software. Esta etapa puede incluir pruebas, inspecciones o demostraciones, con el objetivo de asegurar que los requerimientos cumplan con los estándares y requisitos establecidos.

En cuanto a la clasificación de los requerimientos, es importante tener en cuenta que existen diferentes tipos de requerimientos funcionales, que se refieren a las acciones y funcionalidades específicas que debe realizar el sistema. Por otro lado, los requerimientos no funcionales se enfocan en aspectos como la calidad, el rendimiento y la facilidad de uso del sistema.

Finalmente, es crucial que los requerimientos cumplan con una serie de características, para garantizar su calidad y eficacia. Entre estas características se encuentran que sean actuales, coherentes, completos, consistentes, correctos, factibles, no ambiguos, obligatorios, observables externamente y verificables. Estas características aseguran que los requerimientos sean comprensibles, medibles y alcanzables, y permiten que el sistema o software sea desarrollado de manera exitosa.


Resumen: Requerimientos



Un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio en ingeniería del software. Los requerimientos son declaraciones que identifican las características que un sistema o software debe cumplir para ser útil. En la etapa de requerimientos se obtienen, analizan y verifican los requerimientos. Se clasifican en funcionales, no funcionales y externos. Los requerimientos deben ser actualizados, cohesivos, completos, consistentes, correctos, factibles, no ambiguos, obligatorios, observables externamente y verificables.




¿Cuál es la importancia de definir los requerimientos en el desarrollo de software?



La definición de los requerimientos en el desarrollo de software es fundamental para el éxito del proyecto. Estos requerimientos son la base sobre la cual se construirá el producto o servicio final, y su correcta identificación y documentación asegura que todas las partes involucradas tengan una comprensión clara de lo que se espera. Además, los requerimientos bien definidos permiten establecer metas realistas, asignar recursos adecuados, planificar el desarrollo de manera efectiva y garantizar que el producto final cumpla con las expectativas de los usuarios.


¿Cómo se pueden identificar los requerimientos en un proyecto de software?



La identificación de los requerimientos en un proyecto de software se logra a través de una serie de técnicas y actividades. Estas incluyen la realización de entrevistas con los usuarios y stakeholders, la observación directa de los procesos y actividades relacionadas con el software, la revisión de documentos existentes, la creación de prototipos y la realización de pruebas y validaciones. Es importante utilizar una combinación de estas técnicas para obtener una visión completa de los requerimientos y asegurarse de no pasar por alto ninguno.


¿Qué características deben tener los requerimientos para ser efectivos?



Los requerimientos efectivos deben ser claros, completos, consistentes, no ambiguos y verificables. Esto significa que deben ser comprensibles para todas las partes involucradas, contener toda la información necesaria, no presentar contradicciones ni duplicidades, no dejar espacio para diferentes interpretaciones y poder ser probados o verificados de alguna manera. Además, los requerimientos deben ser cuantificables siempre que sea posible, lo que significa que deben poder ser medidos objetivamente.


¿Qué ocurre si los requerimientos no son definidos correctamente?



Si los requerimientos no son definidos correctamente, pueden surgir una serie de problemas durante el desarrollo de software. Estos problemas pueden incluir retrasos en el desarrollo, aumento de costos, falta de satisfacción de los usuarios, productos o servicios que no cumplen con las expectativas, y conflictos entre las partes involucradas. Además, la falta de una definición clara de los requerimientos puede llevar a la implementación de soluciones incorrectas o innecesarias, lo que resulta en una pérdida de tiempo y recursos.


¿Qué hacer si los requerimientos cambian durante el desarrollo de software?



Es común que los requerimientos cambien durante el desarrollo de software debido a diversas razones, como cambios en el entorno empresarial, nuevas necesidades de los usuarios o descubrimientos durante el proceso de desarrollo. En caso de que los requerimientos cambien, es importante llevar a cabo un proceso formal de gestión de cambios. Esto implica evaluar el impacto del cambio, comunicar y obtener la aprobación de las partes interesadas, actualizar los documentos y planificar las acciones necesarias para adaptarse al cambio de manera controlada.


¿Cómo se puede asegurar que los requerimientos son entendidos correctamente por todas las partes involucradas?



Para asegurar que los requerimientos sean entendidos correctamente por todas las partes involucradas, es recomendable utilizar técnicas de comunicación efectivas. Estas técnicas pueden incluir la realización de reuniones de seguimiento y revisión con los usuarios y stakeholders, la creación de documentos claros y concisos que describan los requerimientos, la utilización de diagramas y modelos visuales para representar de manera gráfica la información, y la realización de pruebas y demostraciones para mostrar el funcionamiento esperado. Además, es importante fomentar una comunicación abierta y constante con todas las partes interesadas para asegurarse de que no haya malentendidos o malinterpretaciones.





Autor: Leandro Alegsa
Actualizado: 09-07-2023

¿Cómo citar este artículo?

Alegsa, Leandro. (2023). Definición de Requerimientos. Recuperado de https://www.alegsa.com.ar/Dic/requerimientos.php

Diccionario informático



Compartir nota:

 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: Sugerimos dejar tu email si quieres que te contactemos para una respuesta de nuestro staff o corregir la respuesta de la IA.


Nuestras Redes

Puedes seguirnos y contactarnos en nuestras redes.
Facebook
WhatsApp
Instagram
Facebook Horoscopo

Comentarios relacionados

  • Requerimientos funcionales y no funcionales respecto de la norma IEE830

    Nombre: Santiago - Fecha: 09/05/2023

    ¡Hola! Me gustaría saber más acerca de la norma IEE830 y entender la diferencia entre requerimientos funcionales y no funcionales en el desarrollo de software. ¿Podrías brindarme más información al respecto? ¡Gracias!

    Respuesta
    La norma IEE830 es una guía para la especificación de requerimientos del software. Los requerimientos son las funcionalidades y características que el software debe cumplir para satisfacer las necesidades y expectativas del usuario.

    Los requerimientos funcionales son aquellos que describen las funcionalidades específicas que el software debe tener para cumplir con sus objetivos. Estos requerimientos describen lo que el software debe hacer, cómo debe hacerlo, en qué condiciones y con qué resultados.

    Por otro lado, los requerimientos no funcionales son aquellos que describen características generales que el software debe tener para cumplir con sus objetivos. Estos requerimientos describen cómo el software debe comportarse en términos de rendimiento, seguridad, usabilidad, fiabilidad, compatibilidad, entre otros aspectos.

    La principal diferencia entre los requerimientos funcionales y no funcionales es que los primeros se enfocan en la funcionalidad específica que el software debe tener, mientras que los segundos se enfocan en las características generales que el software debe tener para cumplir con sus objetivos. Ambos tipos de requerimientos son igualmente importantes para el desarrollo exitoso de un software.
Usa nuestro buscador para definiciones, informática y tecnologías