La Ingeniería de Software (IS) es un área de las Ciencias de la Computación que se encarga de proporcionar la receta para crear software de calidad.
En esta nota vamos a desmenuzar todo lo que hay detrás de esta definición, pero antes de meternos en eso necesitamos definir:
¿Qué es software?
La RAE dice que software es el “Conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en una computadora.”. Esta definición es un poco restrictiva porque si miras a tu alrededor te darás cuenta de que el software está presente en todos lados, no sólo en la computadora, también en tu celular, el GPS del coche, los aviones, etc. El ritmo tan rápido al que avanza la tecnología es lo que ha hecho que cada vez sea más común que los dispositivos tengan un software asociado, si no nos crees mira a este perro que parece salido de la caricatura de los supersónicos: Spot.
¡Aja! pero entonces ¿qué es software?
El software es el intermediario entre un dispositivos tecnológico y un ser humano.
Es la magia que le permite a los dispositivos realizar las actividades que tú necesitas. Por ejemplo, para realizar una llamada desde tu celular, no importa que tan inteligente sea tu teléfono no va a adivinar el número de la persona con la que quieres hablar, tú debes indicárselo. Una vez que le proporcionas el contacto, el software es quien le traduce al teléfono lo que tú estás pidiendo para que te regrese una respuesta, en este caso, realizar la llamada.
El software tiene una presencia cada vez más notoria en nuestras vidas, así que es necesario que sea de calidad. ¿A que nos referimos con esto? Imagínate que tú celular un día se pusiera loco y le mandara mensajes a tu ex sin que tú se lo ordenes, o peor aún, le copiara automáticamente a tu papá el mensaje que le enviaste a tu novio. Para evitar ese tipo de problemas, los responsables de desarrollar software deben asegurarse de que sea de calidad. El software debe realizar las tareas para las que fue diseñado específicamente, y debe hacerlo de manera eficiente, debe cumplir también con las expectativas de los usuarios, y ser fácil de entender y utilizar.
¿Y dónde entra la Ingeniería de Software?
La IS como mencionamos al principio, es un área que se encarga de proporcionar los pasos para crear productos de software de calidad. Desarrollar software no es distinto a realizar otro proyecto, al igual que un chef cuando prepara un nuevo platillo, o un arquitecto cuando diseña un nuevo edificio: mientras más detallada sea la planificación, más fácil es llevar a cabo el proyecto exitosamente. La IS ayuda al equipo de desarrollo de software con esta planificación, es un conjunto de reglas y métodos que les permite trabajar de manera eficiente, y asegura que el software cumplan con las necesidades de los clientes. (Bueno y bonito, lo de barato lo dejamos como tema para otra ocasión).
“La Ingeniería de Software es una disciplina que se enfoca a todos los aspectos de producción/desarrollo de software, desde las especificaciones hasta el mantenimiento de un sistema de software (incluso después de que fue entregado).” Sommerville, Ian, (2004), Software Engineering, Addison Wesley.
La IS es un área fundamental para el desarrollo de software, pues como dice la siguiente frase:
“La calidad de nuestras vidas, depende la calidad del software”. Hanna Oktaba
Si quieres saber más acerca de IS te invitamos a ver el siguiente vídeo.