Tutoriales de informática - Abrirllave.com

Abrirllave.com

Análisis de un programa

Un software siempre se crea para dar solución a un problema. Ahora bien, no todos los problemas planteados por los humanos se pueden informatizar. Para determinar si esto es posible, lo primero que hay que hacer es analizar el problema en cuestión. Esto implica determinar cuáles son las exigencias del problema y estudiar si se puede resolver poniendo en práctica las técnicas y conocimientos científicos que se pueden usar en la Ingeniería del Software. En el caso de que sí se considere viable, se debe realizar un análisis muy exhaustivo del problema, fruto del cual se obtendrá una documentación, en donde se especificará, claramente, cuales son los requisitos que el programa deberá tener, entendidos estos como características que el programa poseerá. A dicho documento se le llama Especificación de Requisitos Software (ERS) y en él quedará escrito qué tiene que hacer el programa que se va a desarrollar, tanto en lo que se refiere al comportamiento interno (gestión de los datos) como al externo (interacción con el usuario y con otras aplicaciones).

Especificación de Requisitos Software (ERS)

La ERS es un contrato entre la empresa desarrolladora y la empresa cliente. Ambas partes deben comunicarse muy estrechamente para establecer los requisitos de la aplicación. Una buena ERS ayudará a la empresa cliente a describir qué es lo que quiere, y también servirá a los desarrolladores para comprender qué es, exactamente, lo que le están pidiendo. De la ERS depende el resultado final del producto software. Por tanto, es muy importante que en ella se describa lo más detalladamente posible "todo" lo que se espera que haga dicho software. Hay que saberlo todo, incluso se tiene que saber por qué no se sabe lo que no se sabe. Para ello, el desarrollador debe preguntarle al cliente preguntas tales como:

Cuando se pretende desarrollar una aplicación muy grande, su ERS puede ser muy extensa, de varias decenas o cientos de páginas. Por el contrario, la ERS del problema del siguiente ejemplo, se puede escribir en unas pocas líneas, debido a que el programa a desarrollar es muy pequeño; pero, a la vez, es muy ilustrativo.

EJEMPLO Supóngase que alguien que no tiene apenas conocimientos de informática le pide a un amigo, "programador informático", que le haga un programa que sirva para realizar la suma de dos números enteros cualesquiera. La conversación entre ambos protagonistas podría ser la siguiente:

—¿Qué programa necesitas?

—Necesito un programa para hacer sumas.

—¿Qué tipo de sumas?

—De dos números enteros.

—¿Los vas a introducir por teclado?

—Sí.

—¿El resultado se mostrará por pantalla?

—Sí.

—¿En qué ordenador lo vas a ejecutar?

—En el mío.

—¿Qué características tiene?

—16 gigas de RAM, 500 gigas de disco duro...

—Estupendo ¿y sistema operativo?

—Windows 10.

—Bueno, creo que ya lo tengo todo.

De la conversación entre los dos amigos se puede obtener una ERS en donde hay que especificar que el programa debe realizar las siguientes tareas:

En pantalla se mostrará, por ejemplo:

Visualización en pantalla de un programa que realiza la suma de dos números enteros.

Así, se ha descrito qué es lo que se espera que haga el programa Sumar, es decir, se ha explicado su funcionalidad.

Por otra parte, en la ERS también habría que especificar quién va a ser el usuario del programa y en qué ordenador y sistema operativo se va a ejecutar. En esta ocasión, el usuario no requiere conocimientos avanzados de informática, ya que, ni si quiera será necesario elaborar un manual de uso del software. En cuanto al sistema operativo y prestaciones de la máquina, al tratarse de un programa tan simple, en principio servirá cualquier computadora del mercado actual.

Cuando una aplicación trabaja con un gran volumen de información, lo normal es que en la ERS también se incluya una descripción detallada de los datos que se van a manipular. En este caso, basta con decir que en el proceso van a intervenir solamente tres datos: dos números enteros de entrada y uno de salida.