Como entender el análisis de requisitos


Cuando escuchamos el término análisis de requisitos en consecuencia pensamos que es una etapa del proceso de software muy aburrida o que somos superiores a eso y que, además de ser super-programadores podemos saltarnos este análisis y codificar de una vez, pero y ¿si tu código funciona pero no resuelve nada que el cliente quiere?, ¿haces lo que el negocio requiere?, ¿previste todos los posibles casos que se te presentarían?. En realidad estas preguntas son el incio de una larga lista de problemas y consecuencias de no hacer un buen análisis de requerimientos (o requisitos).

En este tiempo quien no hace un buen ciclo de desarrollo de software deteniendose en cada una de sus etapas fundamentales, entonces viene de otro tiempo y sigue funcionando con bulbos.



Para entender donde empezar con el análisis de requerimientos es importante tener una definición con valor.

Pero primero pensemos en una hacer una alberca, todos sabemos o se nos viene a la mente una alberca según nuestra experiencia pero si el cliente requiere una cuadrada entonces, ¿sería lo mismo que la construcción de una redonda?, puede que pienses en muchas cosas relacionas pero si vemos más a fondo entonces podemos encontrarnos con que requerimos:

1.- La forma de la alberca
2.- Tamaño de la alberca.
3.- Materiales de la alberca.
4.- Altura de la alberca.
5.- Posición y altura de la escalera.

Estos son algunas cosas que necesitariamos preguntarle a quien requiere la construcción de esta alberca, pero también podemos pensar en que algunas cosas nos servirán para saber con que herramientas o bases la construiremos pero y si pensamos en ¿como funciona una alberca en nuestros tiempos?, entonces se nos vendrían a la mente cosas como:

1.- Tendrá alguna función de cambiar la temperatura del agua.
2.- Tendrá otra función para vaciarse y clorarse automaticamente.
3.- Tendrá algún dispositivo para crear olas artificiales.

Como vemos estos tres puntos se basan más en como es la función de la alberca o cosas que se pueden hacer en comparación a los 5 puntos anteriores que definen mejor como realizarla y con que, y esto es basicamente lo que se conoce en Análisis de requerimientos como los Requisitos No funcionals y los requisitos funcionales.


Teniendo lo anterior en mente podemos ahora describir puntualmente a que se refiere un análisis de requerimientos en el ambito del software.


¿Qué son Requerimientos?
Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, ha continuación se presenta la definición que aparece en el glosario de la IEEE .
(1) Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.
(2) Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal.
(3) Una representación documentada de una condición o capacidad como en (1) o (2).
Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales. 
Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar.
Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas.
Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc.


Fuente : http://www.ilustrados.com/tema/1605/Ingenieria-Requerimientos-Ingenieria-Software.html#inge



Te sirven mis contenidos y quieres ayudarme a crecer invitame un chicle

Quieres ganar dinero acortando enlaces entonces registrate en Adfly


Quieres ver contenido de juegos, tutoriales, cosas random suscribete a mi canal de Youtube.

Comentarios

Entradas más populares de este blog

Programas en C #3 Tres números, el mayor, el menor y el del medio

Programas en C #2 Tablas de Multiplicar

Programas en Racket Programación Funcional #1