Software: se le dice al equipamiento lgico o soporte lgico de un sistema
informtico, el que comprende el conjunto de los componentes lgicos necesarios
que hacen posible la realizacin de tareas especficas, en contraposicin a los componentes fsicos que son llamados hardware. Ingeniera de Software es el estudio de los principios y metodoogias para desarrollo y mantenimiento de sistemas de software El papel del software informtico ha sufrido un cambio significativo durante un periodo de tiempo superior a 50 aos. Enormes mejoras en rendimiento del hardware, profundos cambios de arquitecturas informticas, grandes aumentos de memoria y capacidad de almacenamiento y una gran variedad de opciones de entrada y salida han conducido a sistemas ms sofisticados y ms complejos basados en computadora. La sofisticacin y la complejidad pueden producir resultados deslumbrantes cuando un sistema tiene xito, pero tambin pueden suponer grandes problemas para aquellos que deben construir sistemas complejos. En 1990 La crisis del software se fundament en el tiempo de creacin de software, ya que en la creacin del mismo no se obtenan los resultados deseados, adems de un gran costo y poca flexibilidad. Es un trmino informtico acuado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual naci formalmente la rama de la ingeniera de software. Bsicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fcilmente 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 ser continuamente adaptado a las necesidades de los usuarios. Adems, no existen todava herramientas que permitan estimar de una manera exacta, antes de comenzar el proyecto, cul es el esfuerzo que se necesitar para desarrollar un programa. Este hecho provoca que la mayora de las veces no sea posible estimar cunto tiempo llevar un proyecto, ni cunto 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 ejecucin. Por ltimo, las aplicaciones de hoy en da son programas muy complejos, inabordables por una sola persona. En sus comienzos se valor como causa tambin la inmadurez de la ingeniera de software, aunque todava hoy en da no es posible realizar estimaciones precisas del coste y tiempo que necesitar un proyecto de software.
Englob a una serie de sucesos que se venan 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 cumpla las especificaciones. Cdigo inmantenible que dificultaba la gestin y evolucin del proyecto. Aunque se han propuesto diversas metodologas para intentar subsanar los problemas mencionados, lo cierto es que todava hoy no existe ningn mtodo que haya permitido estimar de manera fiable el coste y duracin 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 ms 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 ao 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 cdigo fuente, manuales y distribuciones completas (conjunto de software para una dada plataforma de hardware). Software de sistema Es el software bsico o sistema operativo. Es un conjunto de programas cuyo objeto es facilitar el uso del computador (asla de la complejidad de cada dispositivo, y presenta al exterior un modelo comn de sistema de manejo para todos los dispositivos) y conseguir que se use eficientemente (ejemplo: realizar operaciones mientras se ejecuta un programa). Administra y asigna los recursos del sistema (hard-ware), ejemplo windows xp, edition, vista, ms-dos, lunix, unix, mac, e incluido en este se encuentran los Programas de utilidad: (se le podran llamar tambin software de mantenimiento): desfragementador de discos, liberador de espacio etc. Software de Aplicacin Son los programas que controlan y optimizacin la operacin de la mquina, establecen una relacin bsica y fundamental entre el usuario y el computador, hacen que el usuario pueda usar en forma cmoda y amigable complejos sistemas hardware, realizan funciones que para el usuario seran engorrosas o incluso imposibles, y actan como intermediario entre el usuario y el hardware, ejemplo cuando nos vamos a inicio\todos los programas. y todos los que aparezcan ah, instalados as se les llaman "software de aplicacin"