SOFWARE E INGENIERIA DE SOFWARE
Ingeniería de software es
la aplicación de un enfoque sistemático, disciplinado y cuantificable al
desarrollo, operación y mantenimiento de software, y el estudio de estos
enfoques, es decir, la aplicación de la ingeniería al software.1 Es
la aplicación de la ingeniería al software, ya que integra matemáticas,
ciencias de la computación y prácticas cuyos orígenes se encuentran en la
ingeniería.2
Se pueden
citar otras definiciones enunciadas por prestigiosos autores:
§ Ingeniería de software es el estudio de los principios y metodologías
para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
§ Ingeniería de software es la aplicación práctica del conocimiento
científico al diseño y construcción de programas de computadora y a la
documentación asociada requerida para desarrollar, operar y mantenerlos. Se
conoce también como desarrollo de software o producción de software (Bohem,
1976).
§ Ingeniería de software trata del establecimiento de los principios y
métodos de la ingeniería a fin de obtener software de modo rentable, que sea
fiable y trabaje en máquinas reales (Bauer, 1972).
En el 2004, en los Estados Unidos,
la Oficina de Estadísticas del Trabajo (U. S. Bureau of Labor Statistics) contó
760.840 ingenieros de software de computadora.3 El
término "ingeniero de software", sin embargo, se utiliza en forma
genérica en el ambiente empresarial, y no todos los ingenieros de software
poseen realmente títulos de ingeniería de universidades reconocidas.
Algunos
autores consideran que "desarrollo de software" es un término más
apropiado que "ingeniería de software" para el proceso de crear
software. Personas como Pete McBreen (autor de "Software
Craftmanship") cree que el término IS implica niveles de rigor y prueba de
procesos que no son apropiados para todo tipo de desarrollo de software.
Indistintamente
se utilizan los términos "ingeniería de software" o
"ingeniería del software". En Hispanoamérica el término
usado normalmente es el primero de ellos.
La
creación del software es un proceso intrínsecamente creativo y la ingeniería
del software trata de sistematizar este proceso con el fin de acotar el riesgo
del fracaso en la consecución del objetivo creativo por medio de diversas
técnicas que se han demostrado adecuadas en base a la experiencia previa.
La IS se
puede considerar como la ingeniería aplicada al software, esto es, por medios
sistematizados y con herramientas preestablecidas, la aplicación de ellos de la
forma más eficiente para la obtención de resultados óptimos; 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.