12 de octubre de 2012

Ingeniería de Software

Aunque cientos de autores han desarrollado definiciones personales de la ingeniería del software, una definición propuesta por Fritz Bauer en una conferencia de gran influencia sobre estos temas va a servir como base de estudio:

[La ingeniería del software] es el establecimiento y uso de principios robustos de la ingeniería a fin de obtener económicamente software que sea fiable y que funcione eficientemente sobre máquinas reales.

No dice mucho sobre los aspectos técnicos de la calidad del software; no se enfrenta directamente con la necesidad de la satisfacción del cliente o de la entrega oportuna del producto; omite la mención de la importancia de mediciones y métricas; tampoco expresa la importancia de un proceso avanzado. Y sin embargo, la definición de Bauer nos proporciona una línea base. ¿Cuáles son los «principios robustos de la ingeniería» aplicables al desarrollo de software de computadora? ¿Cómo construimos el software «económicamente» para que sea «fiable»? ¿Qué se necesita para crear programas de computadora que funcionen «eficientemente» no en una máquina si no en diferentes «máquinas reales»? Éstas son cuestiones que siguen siendo un reto para los ingenieros del software.

El IEEE [IEE93] ha desarrollado una definición más completa:

Ingeniería del software: (1) La aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del software; es decir, la aplicación de ingeniería al software. (2) El estudio de enfoques como en (1).

No hay comentarios:

Publicar un comentario