El software es un conjunto de programas, instrucciones y reglas informáticas que gobiernan los procesos que pueden llevar a cabo las computadoras. Este término fue acuñado por John W. Tukey en 1957.
Se conoce como software al sistema formal de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hace posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware
Los artesanos suelen trabajar individualmente creando productos manufacturados. Cada nuevo producto es una obra diferente de las anteriores. La producción artesanal se caracteriza por la falta de uniformidad de las obras generadas, así como por la inexistencia de procedimientos o automatizaciones que aseguren la calidad del producto. La obra artesanal es creada, habitualmente, por un único artesano. Cuando el producto demandado crece tanto en complejidad como en exigencia de calidad, la producción artesanal deja paso a la producción industrial.
Un ingeniero aplica conocimientos científicos para resolver problemas concretos y tangibles refinando soluciones eficientes en términos de costes y beneficios. La ingeniería dota a la producción industrial de los procedimientos y automatizaciones necesarias para que un equipo multidisciplinar de trabajadores pueda generar un producto económicamente viable sin mermar su calidad.
La ingeniería consiste en hacer uso de principios científicos para diseñar y construir máquinas o estructuras (puentes, carreteras, vehículos, edificios, etcétera).
La Ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas a la creación, perfeccionamiento e implementación de estructuras (tanto físicas como teóricas) para la resolución de problemas que afectan la actividad cotidiana de la sociedad.
La ingeniería de software es, en suma, la aplicación de la ingeniería al software
💬 El establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiable y funcione eficientemente sobre máquinas reales.
F. Bauer, Conferencia de la OTAN, 1969
💬 La Ingeniería del Software incluye la aplicación práctica del conocimiento científico en el diseño y construcción de los programas y la documentación requerida para su desarrollo, operación y mantenimiento.
B.Boehm, 1976
💬 El enfoque sistemático para el desarrollo, operación, mantenimiento y eliminación del software, definiendo como software los programas, procedimientos, reglas y documentación, así como los datos de operación de un sistema de cómputo.
Glosario IEEE, 1983
💬 Esa forma de ingeniería que aplica los principios de la informática y las matemáticas para conseguir soluciones rentables construyendo productos software.
Software Engineering Institute (SEI), 1990
💬 La aplicación de teorías, métodos y herramientas necesarias para la especificación, desarrollo, gestión y evolución de sistemas software.
Ian Sommerville, Software Engineering, 1996
💬 La programación es el acto inmediato de producir código. La ingeniería de software es el conjunto de políticas, prácticas y herramientas que son necesarias para hacer que ese código sea útil durante el tiempo que sea necesario y que permita la colaboración entre el equipo.
Titus Winters, Software Engineering at Google, 2020,
Construir software es mucho más que únicamente programar. Una buena prueba de ello es la cantidad de roles que intervienen en la construcción de un producto software: Analistas, gestores, arquitectos, diseñadores, técnicos de operación, etc.