DEFINICIÓN:
Existen varias definiciones similares aceptadas
para software, pero probablemente la más formal sea la siguiente:
Es el conjunto de los programas de cómputo,
procedimientos, reglas, documentación y datos asociados, que forman parte de
las operaciones de un sistema de computación.
Extraído del estándar 729 del IEEE5
Considerando esta definición, el concepto de
software va más allá de los programas de computación en sus distintos estados:
código fuente, binario o ejecutable; también su documentación, los datos a
procesar e incluso la información de usuario forman parte del software: es
decir, abarca todo lo intangible, todo lo «no físico» relacionado.
El término «software» fue usado por primera vez en
este sentido por John W. Tukey en 1957. En la ingeniería de software y las
ciencias de la computación, el software es toda la información procesada por
los sistemas informáticos: programas y datos.
El concepto de leer diferentes secuencias de
instrucciones (programa) desde la memoria de un dispositivo para controlar los
cálculos fue introducido por Charles Babbage como parte de su máquina
diferencial. La teoría que forma la base de la mayor parte del software moderno
fue propuesta por Alan Turing en su ensayo de 1936, «Los números computables»,
con una aplicación al problema de decisión.
CLACIFICASION
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 grandes 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. El software de sistema le procura al usuario y
programador adecuadas interfaces, controladores, herramientas y utilidades de apoyo que permiten
el mantenimiento del sistema global. Incluye entre otros:
· Sistemas operativos
· Controladores de dispositivos
· Herramientas de diagnóstico
· Herramientas de Corrección y Optimización
· Servidores
· Utilidades
Software de programación: Es el conjunto de herramientas que permiten
al programador desarrollar programas informáticos, usando
diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:
- Editores de texto
- Compiladores
- Intérpretes
- Enlazadores
- Depuradores
- Entornos de Desarrollo Integrados (IDE): Agrupan las
anteriores herramientas, usualmente en un entorno visual, de forma tal que
el programador no necesite introducir múltiples comandos para compilar,
interpretar, depurar, etc. Habitualmente cuentan con una
avanzada interfaz gráfica de usuario (GUI).
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. Incluye
entre muchos otros:
- Aplicaciones para Control de
sistemas y automatización industrial
- Aplicaciones ofimáticas
- Software educativo
- Software empresarial
- Bases de datos
- Telecomunicaciones (por ejemplo Internet
y toda su estructura lógica)
- Videojuegos
- Software médico
- Software de cálculo numérico y
simbólico.
- Software de diseño asistido (CAD)
- Software de control numérico (CAM)