viernes, 15 de agosto de 2008

Ingeniería de software - Introducción

Este es el inicio de este blog donde postearé información relacionada a la Ingeniería de software, además de agregar mi opinión personal respecto a cada tópico que publique. Espero sirva a otros mi pequeño aporte y claro está que este blog estará abierto a cualquier comentario o critica.

Empezaré por dar una definición sencilla de lo que es la IS. Wikipedia (La enciclopedia más grade jamás conocida) la define como "La disciplina dentro de la informática encargada de la creación de software de calidad."

No está de más aclarar que no solo se considera Software a una aplicación o a un programa de computación, sino que también se considera parte del software a la documentación generada durante el desarrollo del proyecto.

El surgimiento de esta "rama" se debió en parte a que en las últimas décadas del siglo XX, las reducciones de costo en hardware llevaron a que el software fuera un componente que participa en muchos de los dispositivos usados por las sociedades industrializadas.

El término "ingeniero de software" se utiliza en forma genérica en el ambiente empresarial y laboral, y no todos los ingenieros de software poseen realmente títulos de Ingeniería de universidades reconocidas. Esta es una de la principales criticas que recibe esta "Ingeniería", debido a que no se ajusta a los modelos ortodoxos de definición y clasificación propios de las ingenierías (cálculo y rigor científico).

Algunas personas piensan que Desarrollo de Software es un término más apropiado que Ingeniería de Software para el proceso de crear software. Expertos en el tema creen que el término IS implica niveles de rigor y prueba de procesos que no son apropiados para todo tipo de desarrollo de software.

A su vez se le puede considerar como la ingeniería aplicada al software, esto es en base a herramientas preestablecidas, la aplicación de las mismas de la forma más eficiente y óptima; objetivos que siempre busca la ingeniería. No es sólo de la resolución de problemas, sino más bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada.

A mi parecer esta ultima definición es más acertada, pero bueno esto estará por mucho tiempo en debate (al menos eso creo) debido a que cada quien defenderá su opinión, el analista, el ingeniero e incluso el programador.

Enlaces de interés: