Análisis de Requerimientos

Nov 10, 2020
Luna
En la carrera por conquistar el espacio, cuando se prometió que los Estados Unidos, serían los primeros en poner a un hombre en la luna, se estaba definiendo uno de los requerimientos más grandes del ser humano. Para lograr cumplir con esa promesa, personas de diferentes especialidades trabajaron en analizar las tareas para construir el equipo y todo lo necesario para poder viajar. Este ejemplo demuestra que es importante hacer un análisis de lo que se quiere hacer, para posteriormente realizar las actividades que consigan ese objetivo.

En el área de sistemas el Análisis de Requerimientos se puede definir como “el proceso del estudio de las necesidades de los usuarios para llegar a una definición de los requisitos del sistema, de hardware o de software, así como el proceso de estudio y refinamiento de dichos requisitos” (Estándar IEEE Std. 610 [IEEE 1990]).

El Análisis de Requerimientos se realiza como una fase del ciclo de vida de un sistema y el resultado es el documento en el que se describe lo que el sistema tiene que hacer. El documento no puede ser elaborado solo por los analistas de software, ya que ellos no son expertos en el área en la que trabaja la persona que tiene la necesidad y como el cliente no conoce sobre procesos de diseño y desarrollo de software, puede opinar sobre lo que quiere que tenga el software, pero no sabe cómo se debe de elaborar.

Según el estándar IEEE 1074 [IEEE 1991] la fase de análisis de requerimientos se desglosa en 3 actividades:

  1. Definir los requerimientos de software. Tarea iterativa para crear una definición o especificación preliminar de los requisitos que debe cumplir el software a partir de la información obtenida mediante técnicas de recogida de información.
  2. Definir los requerimientos de las interfaces del software con el resto del sistema y con el exterior. Deben definirse las propiedades que se deben satisfacer para obtener una interacción eficaz con otros elementos del sistema (el usuario, el hardware, otras aplicaciones software, ...). En particular la interfaz con el usuario es crítica para la facilidad de uso (y por tanto el éxito) del software. Los requisitos de interfaz con otras aplicaciones deben describir las características para que el software se relacione con ellas, las cuales pueden estar muy influenciadas por restricciones de trabajo del sistema (Sistema. Operativo. utilizado, SGBD empleado, Compiladores, controladores de red, etc.). Así mismo deben definirse las características de las interrelaciones con elementos hardware.
  3. Integrar los requerimientos en un documento de especificación y asignarles prioridades. La asignación de prioridades debe hacerse en función de su importancia o los beneficios que puede aportar su cumplimiento.

Es importante obtener los requerimientos de los usuarios clave en los diferentes niveles de la organización. Casi siempre se tiene la visión del dueño o personal que dirige, por lo que hay que identificar qué personal puede aportar ideas que ayuden a lograr cumplir con el requerimiento. 

La manera de obtener esos requerimientos es por medio de:
  • Entrevistas. El usuario expone su idea y el analista va creando una idea general. 
  • Elaboración de documento resumen. El analista genera el documento donde escribiendo a manera de relato lo que se requiere, este documento va integrando toda la información recabada por la gente entrevistada.
  • Presentación de documento a los usuarios. En esta presentación el usuario podrá detallar la idea o modificarla para reducir o ampliar las características de lo que requiere. El analista hará los cambios al documento y hasta que el usuario este de acuerdo con lo escrito, se podrá tener el requerimiento confirmado para pasar a la siguiente etapa del ciclo de vida.

El desarrollo de software depende de que el análisis de requerimientos se haya realizado correctamente, de otra manera, se tendrán variaciones respecto al documento original. Es importante que se compare lo que se hizo contra el requerimiento.
Si la visión del usuario cambió y el desarrollo cubre el requerimiento documentado, se estará ante el escenario de modificación del requerimiento y es aquí donde se tiene que definir un nuevo desarrollo con lo que eso conlleva (Recursos y tiempo). Una práctica que ayuda al usuario a decidir qué hacer en estos casos es presentarle la comparación de los recursos necesarios para el nuevo desarrollo vs los recursos necesarios para reorganizar las tareas e introducir las nuevas actividades dentro del desarrollo inicial.

Si en las reuniones de evaluación interna para ver si el desarrollo va cubriendo los requerimientos, se llegan a identificar variaciones respecto al requerimiento, el equipo de trabajo tendrá que hacer esfuerzos extra para reorientar el trabajo, por eso es fundamental que el requerimiento sea lo más detallado posible para que el equipo que programa no tenga dudas sobre lo que se está buscando alcanzar. 

Para muchas empresas, el desarrollo de soluciones a la medida ayuda a que su conocimiento sea preservado y optimizado por un programa o aplicación que le facilita el trabajo.
Un buen análisis de requerimientos permite hacer software que dure muchos años sin cambios significativos o permitirá tomar el requerimiento original y al hacer una actualización poder programar en cualquier lenguaje y plataforma.

No se construirán “Viajes a la Luna” todos los días, pero lo que se debe comprender es que para las empresas, el desarrollo de su “cohete a la luna” representa una oportunidad de crecer y por eso es importante hacerlo bien desde la 1ª vez.


por Tony Elvira 09 feb., 2024
La lnteligencia Artificial Ilega integrada a las herramientas que utilizamos día a día
Captura de datos en campo
por Moisés Avila 06 feb., 2024
Descubre cómo la Integración de Datos en Campo Impulsa la Eficiencia y el Éxito Empresarial
Cómo la IA está Transformando Empresas Mexicanas
26 sep., 2023
La IA está transformando empresas en México: Banorte, Aeroméxico y Hospital Ángeles ejemplifican su impacto positivo, pero surgen desafíos éticos. Un futuro inteligente se vislumbra.
Share by: