Evolución del Software: Eras, Desafíos y Mitos en la Ingeniería Informática
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,44 KB
El Software: Un Doble Papel y su Evolución
El software desempeña un doble papel fundamental en la era digital. Por un lado, es un producto que entrega la potencia informática del hardware. Por otro, actúa como un vehículo esencial para la entrega de otros productos, sirviendo como base de control para el ordenador (Sistemas Operativos), facilitando la comunicación de información (redes) y permitiendo la creación y control de otros programas. Sin embargo, su función más crucial es la de proporcionar lo que se considera el producto más importante del siglo XXI: la información.
Eras de la Evolución del Software
La historia del software se puede dividir en distintas eras, cada una marcada por avances tecnológicos y cambios en su desarrollo y uso:
- Primera Era (1950-1960):
- Desarrollo de software predominantemente a medida.
- Distribución limitada del software.
- Orientación hacia procesos batch (sin interacción directa del usuario).
- Segunda Era (1960-1970):
- Surgimiento de la multiprogramación y los sistemas multiusuario.
- Aparición de los primeros sistemas en tiempo real (captura, procesamiento y respuesta en tiempo establecido).
- Emergencia de las bases de datos.
- El software comienza a consolidarse como un producto comercial.
- Tercera Era (1970-1980):
- Reducción significativa de los costes del hardware.
- Aparición de los sistemas distribuidos (múltiples máquinas procesando información concurrentemente con cierto grado de sincronismo).
- Impacto creciente del software en el consumo masivo.
- Introducción de los microprocesadores y la incorporación de inteligencia en los sistemas.
- Cuarta Era (1980-2000+):
- Sistemas personales potentes.
- Desarrollo de tecnologías orientadas a objetos.
- Aparición de sistemas expertos.
- Creación y expansión de las grandes redes (internet).
Desafíos Persistentes en el Software
A pesar de esta notable evolución, la industria del software sigue enfrentando problemas significativos:
- Los avances del software continúan rezagados respecto al potencial del hardware.
- La habilidad y destreza de los programadores no sigue el ritmo de la creciente demanda de nuevos programas.
- El software se utiliza de forma tan extensiva que está inmerso en la propia actividad y negocio de las empresas, lo que puede causar grandes trastornos económicos e incluso humanos si falla.
- La capacidad para mantener y mejorar los programas existentes se complica, ya que con frecuencia los diseños y la documentación existente son deficientes.
Las mejoras para estos problemas solo se logran aplicando prácticas y normas rigurosas de ingeniería del software.
Evolución de la Ingeniería de Software
Inicialmente, la programación de computadoras se consideraba más un arte que una disciplina, careciendo de métodos sistemáticos en los que poder basarse para la creación de productos de software.
De los años 60 a finales de los 70:
- El software se reconoce como producto.
- Énfasis en el mantenimiento de software.
- Aparición de diversas técnicas de desarrollo.
De los años 70 a finales de los 80:
- Surgimiento de diversas técnicas y metodologías formales de diseño.
- A finales de los 80, surge el Desarrollo Orientado a Objetos (DOO).
En los años 90:
- Se afianza la tecnología orientada a objetos (OO).
- Evolución de las herramientas CASE (Computer-Aided Software Engineering).
- Explosión del fenómeno WWW, Intranets y lenguajes como Java.
Mitos Comunes en el Desarrollo de Software
Existen diversas creencias erróneas que persisten en el ámbito del software, afectando a clientes, gestores y desarrolladores:
Mitos del Cliente
- Mito: Una declaración general de objetivos es suficiente para empezar a hacer el programa; los detalles los podemos dar después.
- Realidad: Una definición inicial deficiente es la causa de una gran cantidad de trabajo perdido y retrabajos.
- Mito: Los requisitos del negocio cambian continuamente, pero el software es flexible y estos cambios se pueden acometer fácilmente.
- Realidad: La viabilidad de acometer cambios depende críticamente del momento del proyecto en que surjan. Los cambios tardíos son mucho más costosos.
Mitos de Gestión
- Mito: Ya tenemos un documento con todos los estándares y procedimientos, por lo que el equipo de desarrollo tiene todo lo que necesita.
- Realidad: La mera existencia de estándares no garantiza su aplicación; a menudo, nadie los sigue.
- Mito: Si la planificación nos falla, siempre podremos añadir más programadores al final para recuperar tiempo.
- Realidad: La inclusión de programadores adicionales en fases avanzadas a menudo retrasa aún más el proyecto (Ley de Brooks).
Mitos de los Desarrolladores
- Mito: Una vez que escribo el programa y hago que funcione, mi trabajo ha terminado.
- Realidad: El desarrollo de software es un ciclo continuo que incluye pruebas, depuración, mantenimiento y mejoras. Cuanto antes se "termina" un programa, más tarde se terminará realmente.
- Mito: Hasta que no tengo el programa finalizado no puedo controlar su calidad.
- Realidad: La calidad del software debe ser velada y asegurada desde el principio del proyecto, no solo al final.
- Mito: Lo único que he de entregar es el programa.
- Realidad: Además del programa funcional, es indispensable entregar la documentación completa y de calidad (diseño, usuario, técnica, etc.).