Introducción
Ingeniería de Requerimientos Cuando se da inicio a un proyecto de software siempre empezamos por el mismo lugar: los requerimientos. Los requerimientos son un elemento fundamental en el proceso de desarrollo de Software. Muchos de los proyectos software que fracasan es por causa de una mala definición, especificación o administración de requisitos. No siempre lo que el cliente quiere es lo que realmente necesita, también muchas veces lo que el cliente solicita no es lo que se le trasmiten al programador, la ingeniería de requerimientos se trata de que lo que el cliente pide es lo que realmente necesita y mas importante aun es lo que los analistas y programadores desarrollan. |
¿Qué son requerimientos?
Los requerimientos de un sistema representan todo lo que el sistema debe realizar. Alegsa (s.f.) nos ofrece la siguientes definiciones:
- 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.
Para qué sirven, cual es el impacto de una mala definición.
Los requerimientos son el principal elemento en un proyecto de desarrollo de software, según el artículo “Requerimientos del software” (2012) en ellos se basan muchos participantes del proyecto para planear el proyecto y los recursos que se usarán en él, además se menciona que los líderes de proyecto usan los requerimientos como una base para la estimación del esfuerzo necesario en un proyecto.
Pressman (s.f., citado en Ruiz, 2011) expresa que, para que un esfuerzo de desarrollo de software tenga éxito, es esencial comprender perfectamente los requisitos del software.
Independientemente de lo bien diseñado o codificado que esté un programa, si se ha analizado y especificado pobremente, decepcionará al usuario y desprestigiará al que lo ha desarrollado (Ruiz, 2011).
Una mala definición de los requerimientos puede afectar el resultado final de un proyecto, ninguna otra parte es tan difícil de rectificar posteriormente, es más elementos como requisitos incompletos o mala administración de los cambios de requisitos, conducen los proyectos al fracaso.
Pressman (s.f., citado en Ruiz, 2011) expresa que, para que un esfuerzo de desarrollo de software tenga éxito, es esencial comprender perfectamente los requisitos del software.
Independientemente de lo bien diseñado o codificado que esté un programa, si se ha analizado y especificado pobremente, decepcionará al usuario y desprestigiará al que lo ha desarrollado (Ruiz, 2011).
Una mala definición de los requerimientos puede afectar el resultado final de un proyecto, ninguna otra parte es tan difícil de rectificar posteriormente, es más elementos como requisitos incompletos o mala administración de los cambios de requisitos, conducen los proyectos al fracaso.
¿Cuál es el rol del analista?
El analista debe capturar, especificar y validar requisitos, interactuando con el cliente y los usuarios mediante técnicas para la obtención de requerimientos, como lo pueden ser entrevistas, entre otros.
Sánchez (s.f) menciona que los analistas deben entender el problema de los usuarios en su cultura y con su lenguaje y construir el sistema que resuelve sus necesidades.
Sánchez (s.f) menciona que los analistas deben entender el problema de los usuarios en su cultura y con su lenguaje y construir el sistema que resuelve sus necesidades.
¿Cuál es el impacto en un proyecto de desarrollo de software?
La calidad con que se lleve a cabo la definición de los requisitos influirá en todo el proceso de desarrollo del software, afectando las demás fases de desarrollo del este.
Sobre esto Ruiz (2011) menciona que una definición eficiente de los requisitos permite:
Sobre esto Ruiz (2011) menciona que una definición eficiente de los requisitos permite:
- Mostrar un nivel de disciplina en el proceso de desarrollo.
- Dar un mejor soporte a la Gestión de Cambios y ganar una mayor eficiencia en las pruebas, reduciendo el riesgo, mejorando la calidad y permitiendo la automatización.
- Además, contribuye a tomar mejores decisiones de diseño y de arquitectura. También le permite al equipo de desarrollo reducir los problemas de mantenimiento.
Reflexiones!!!!
Con este ejercicio pudimos ver que es fundamental evaluar correctamente lo que realmente desea y necesita el cliente, para así evitar problemas en el desarrollo del sistema, ya que al tener requerimientos incompletos o al darse cambios frecuentes en los requerimientos establecidos, nos pueden llevar hasta al fracaso total del proyecto.
Asimismo se vio que es imperativo involucrar al usuario en el desarrollo del sistema, así como es importante que el analista se involucre en problema, para así evitar el riesgo de que los requisitos identificados no correspondan a las verdaderas necesidades del cliente.
Bibliografía
- Requerimientos del software. (2012). Tomado de http://es.slideshare.net/maryme/2-requerimientos-del-software
- Ruiz, A. (2011). Importancia de los requisitos en un proyecto de software. Tomado de http://www.blogtrw.com/2011/07/la-importancia-de-los-requisitos-en-un-proyecto-de-software/
- Alegsa, L. (s.f.). Definición de requerimientos. Tomado de http://www.alegsa.com.ar/Dic/requerimientos.php
- Administración de Cambios. (2015)Consultado el 22 abril 2015 de: http://materias.fi.uba.ar/7546/material/03_Administracion_de_Cambios.pdf
- Sanchez, S. (s.f.). Análisis de requerimientos. Tomado de http://es.slideshare.net/SergioRios/unidad-13-analisis-de-requerimientos.