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.
Clasificación del software
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 de altonivel, controladores,
herramientas y utilidades de apoyo que permiten el mantenimiento del sistema
global. Incluye entre otros:
§ Herramientas de
Corrección y Optimización
§ Software deprogramación: Es el conjunto de herramientas que permiten
al programador desarrollar programas
informáticos, usando diferentes alternativas y lenguajes deprogramación, de una manera práctica. Incluyen básicamente:
§ 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 comandospara
compilar, interpretar, depurar,
etc. Habitualmente cuentan con una avanzada interfazgráfica de usuario (GUI).
§ Software deaplicació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
§ Telecomunicaciones (por
ejemplo Internet y toda su estructura lógica)
§ Software de cálculo Numérico y
simbólico.
§ Software de diseñoasistido (CAD)
§ Software de control
numérico (CAM)
No hay comentarios:
Publicar un comentario