jueves, 22 de noviembre de 2012

Evolución del software


Reseña Histórica del Software

En 1990 La crisis del software se fundamentó en el tiempo de creación de software, ya que en la creación del mismo no se obtenían los resultados deseados, además de un gran costo y poca flexibilidad.

Es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la ingeniería de software. El término se adjudica a F. L. Bauer, aunque previamente había sido utilizado por Edsger Dijkstra en su obra The Humble Programmer.

Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables. Las causas son, entre otras, la complejidad que supone la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para sercontinuamente adaptado a las necesidades de los usuarios.

Además, no existen todavía herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cuál es el esfuerzo que se necesitará para desarrollar un programa. Este hecho provoca que la mayoría de las veces no sea posible estimar cuánto tiempo llevará un proyecto, ni cuánto personal será necesario. Cuando se fijan plazos normalmente no se cumplen por este hecho. Del mismo modo, en muchas ocasiones el personal asignado a un proyecto se incrementa con la esperanza de disminuir el plazo de ejecución.

Por último, las aplicaciones de hoy en día son programas muy complejos, inabordables por una sola persona. En sus comienzos se valoró como causa también la inmadurez de la ingeniería de software, aunque todavía hoy en día no es posible realizar estimaciones precisas del coste y tiempo que necesitará un proyecto de software.

Englobó a una serie de sucesos que se venían observando en los proyectos de desarrollo de software:

  • Los proyectos no terminaban en plazo.
  • Los proyectos no se ajustaban al presupuesto inicial.
  • Baja calidad del software generado.
  • Software que no cumplía las especificaciones.
  • Código inmantenible que dificultaba la gestión y evolución del proyecto.

Aunque se han propuesto diversas metodologías para intentar subsanar los problemas mencionados, lo cierto es que todavía hoy no existe ningúnmétodo que haya permitido estimar de manera fiable el coste y duración de un proyecto antes de sus comienzos.

En 1984 Richard Stallman deja el MIT y comienza a trabajar en su proyecto GNU, con el objetivo de desarrollar un sistema operativo completamente libre, desde el kernel, editores, compiladores, debuggers, hasta utilitarios más complejos como procesadores de texto e inclusive juegos. Uno de los primeros desarrollos realizados por el mismo Stallman fue el editor de textos GNU Emacs a principios de 1985. Ese mismo año se funda la Free Software Fundation, ente que financia desde entonces al proyecto GNU, la misma se mantiene con donaciones y con el producto de la venta de CD-ROMs tanto de programas binarios como código fuente, manuales y distribuciones completas (conjunto de software para una dada plataforma dehardware).


En este punto conviene aclarar la distinción entre software libre y software gratuito. Se entiende que el poseedor de software libre tiene la libertad de:

  • Ejecutar el programa.
  • Modificar el programa (para que este punto tenga sentido es necesario que el programa sea distribuido con el código fuente)
  • Redistribuir copias del programa (ya sea gratis o no).
  • Distribuir copias modificadas del programa.

Con el tiempo, los programadores de la Free Software Fundation fueron completando algunas de las tareas planeadas originalmente por el proyectoGNU, entre otros la biblioteca de lenguaje "C", y el shell más utilizado en los sistemas GNU/Linux: bash. El éxito conseguido por estos programas que no sólo trabajan en sistemas GNU/Linux, sino que han sido portados a otras plataformas, forzaron a sus desarrolladores a dedicar un tiempoimportante a su mantenimiento y mejora. De esta manera, el desarrollo completo de un sistema operativo basado en software libre se vio demorado por algunos años.



Por otra parte, además de los productos de la FSF, existen otros desarrollos de software libre que fueron aprovechados por el proyecto GNU, entre los más importantes están el TeX como procesador de textos y el X Windows System como sistema gráfico de interfase con el usuario.

Alrededor de 1990 el único componente básico del sistema que estaba faltando era el kernel. La decisión que se tomó en ese momento fue utilizar el microkernel Mach (desarrollado por las universidades Carnegie Mellon y la de Utah), adicionándole una serie de procesos servidores desarrollados por la FSF. A esta combinación de un micro-kernel con procesos servidores independientes se le llamó HURD. Recién desde los últimos meses de 1999 HURD ha comenzado a ser utilizado en forma confiable. Mucho antes de que esto sucediera, un estudiante finlandés, Linus Torvalds, desarrolló un kernel para computadoras basadas en el procesador Intel 386, compatible con unix, que llamó LINUX. Este kernel fue también desarrollado como software libre, y rápidamente fue creciendo merced a la colaboración de programadores de todo el mundo. En este momento Linux ha sido portado a toda la gama de procesadores Intel a partir del i386: (486, Pentium, Pentium II y III, Celeron), a procesadores para PC's de Cyrix y de AMD, e incluso a procesadores tipo sparc (SUN), a los procesadores Motorola 68000 (Apple MacIntosh), a procesadores Alpha (de 64 bits, utilizados por Compaq, antes Digital). De esta manera, alrededor de 1992 fue posible combinar el kernel Linux con los utilitarios del proyecto GNU y surgió el primer sistema operativo completamente basado en software libre.




No hay comentarios:

Publicar un comentario

DEJA TU MENSAJE