Resumen
Concepto
Software es un término informático que hace referencia a un programa o
conjunto de programas de cómputo, así como datos, procedimientos y pautas
que permiten realizar distintas tareas en un sistema informático.
Evolución histórica
El término “evolución” del software se utiliza desde los sesenta para denominar
la dinámica de crecimiento del software.
Ned Chapin 1 (1999) lo definió como “la aplicación de las actividades y
procesos de mantenimiento del software que genera una nueva versión
operativa de un software con una función de usuario o propiedades cambiadas
a partir de una versión anterior […] junto con los procesos y actividades de
garantía de calidad y con la gestión de esos procesos ”. De estas definiciones
se desprende que la evolución cubre el ajuste a funcionalidades adicionales.
Durante los primeros años de la era de la computadora, el software se
contemplaba como un añadido. La programación de computadoras era un "arte
de andar por casa" para el que existían pocos métodos sistemáticos. El
desarrollo del software se realiza virtualmente sin ninguna planificación, hasta
que los planes comenzaron a descalabrarse y los costes a correr. Los
programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a
menudo salían con éxito. El software se diseñaba a medida para cada
aplicación y tenía una distribución relativamente pequeña.
La segunda era en la evolución de los sistemas de computadora se extienden
desde la mitad de la década de los sesenta hasta finales de los setenta. La
multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos
de interacción hombre - máquina. También se caracteriza por el
establecimiento del software como producto y la llegada de las "casas del
software". Los patronos de la industria, del gobierno y de la universidad se
aprestaban a "desarrollar el mejor paquete de software" y ganar así mucho
dinero.
La tercera era en la evolución de los sistemas de computadora comenzó a
mediados de los años setenta y continúo más allá de una década. El sistema
distribuido, múltiples computadoras, cada una ejecutando funciones
concurrentes y comunicándose con alguna otra, incrementó notablemente la
complejidad de los sistemas informáticos. Las redes de área local y de área
global, las comunicaciones digitales de alto ancho de banda y la creciente
demanda de acceso "instantáneo" a los datos, supusieron una fuerte presión
sobre los desarrolladores del software.
La cuarta era de la evolución de los sistemas informáticos se aleja de las
computadoras individuales y de los programas de computadoras, dirigiéndose
al impacto colectivo de las computadoras y del software. Potentes máquinas
personales controladas por sistemas operativos sofisticados, en redes globales
y locales, acompañadas por aplicaciones de software avanzadas se han
convertido en la norma.
Clasificación
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los
fines prácticos se puede clasificar al software en tres tipos:
Software de sistema: Su objetivo es desvincular adecuadamente al usuario y
al programador de los detalles del sistema informático en particular que se use,
aislándolo especialmente del procesamiento referido a las características
internas de: memoria, discos, puertos y dispositivos de comunicaciones,
impresoras, pantallas, teclados, etc.
Software de programación: Es el conjunto de herramientas que permiten al
programador desarrollar programas de informática, usando diferentes
alternativas y lenguajes de programación, de una manera práctica.
Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una
o varias tareas específicas, en cualquier campo de actividad susceptible de ser
automatizado o asistido, con especial énfasis en los negocios.
Importancia del software para el correcto funcionamiento del
Hardware y para el desarrollo de la sociedad en sentido general
Un software adecuado es de vital importancia, pues, para llevar a cabo la tarea
que se quiere hacer de modo correcto. Cuando un software no funciona bien en
un determinado hardware, se habla de incompatibilidad entre ambos.
La importancia del software radica también en que permite una comunicación
entre el usuario y la máquina, e incluso una interacción entre ambos.