Software: Tipos y Clasificación

¿Qué es Software?

Es el conjunto de programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación.

Considerando esta definición, el concepto de software va mas 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 relaciona do.

El termino “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.

Tipos y Clasificación de Software

1. Software de sistema: Es el que nos permite establecer una interacción con un hardware, a través de programas que administran los recursos y proporcionan una interfaz de uso. El mejor ejemplo en este sentido son los populares sistemas operativos como Windows, Linux o Mac OS.

Incluye entre otros:

Sistemas operativos: Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.

Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo.

Controladores de dispositivos: Un controlador de dispositivo, llamado normalmente controlador (device driver) es un programa informático que permite al sistema operativo interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz posiblemente estandarizada para usarlo.
Debido a que el software de controladores de dispositivos se ejecuta como parte del sistema operativo, con acceso sin restricciones a todo el equipo, resulta esencial que solo se permitan los controladores de dispositivos autorizados.

Herramientas de diagnostico: Una herramienta de diagnostico es un software que permite monitorizar y en algunos casos controlar la funcionalidad del hardware, como: computadoras, servidores y periféricos, según el tipo y sus funciones. Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos duros, tarjetas de red, entre muchos dispositivos más.

Servidores: Un servidor es una computadora que, formando parte de una red, provee servicios a otros computadores denominadas clientes.

Utilidades: Una utilidad es una herramienta que realiza tareas de mantenimiento, soporte para la construcción y ejecución de programas, tareas en general; en donde se incluyen las bibliotecas de sistema, middleware, herramientas de desarrollo, entre otros.

2. Software de programación: Como su nombre lo indica, es el software que nos permite programar o desarrollar un programa informático a través de uso de reglas lógicas y un lenguaje específico, los cuales nos permiten darle forma. De esta manera, podemos crear una herramienta que nos ayude a resolver un problema o realizar una actividad o tarea específica. Los mejores ejemplos al respecto son los editores de texto, los compiladores, los intérpretes y los entornos de desarrollo integrados.

Editores de texto: Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Hoy en día es comúnmente de 7- ó 8- bits en ASCII o UTF-8, rara vez EBCDIC. Por ejemplo, un editor ASCII de 8 bits que lee el numero binario 0110 0001(decimal 97 ó hexadecimal 61) en el archivo lo representará en la pantalla por la figura “a” que el usuario reconoce como la letra “a” y ofrecerá al usuario las funciones necesarias para cambiar el numero binario en el archivo. Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado y se usan cuando se deben de crear o modificar archivos de texto como archivos de configuración, scripts o el código fuente de algún programa. El archivo creado por el editor de texto incluye por convención en DOS y Microsoft Windows la extensión “.txt”, aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominación de sus archivos.

Compiladores: Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la maquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de maquina, pero también puede ser simplemente texto.

Este proceso de traducción se conoce como compilación. Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior. De esta manera un programador puede diseñar un programa en un lenguaje mucho mas cercano a como piensa un ser humano, para luego compilarlo a un programa mas manejable por una computadora.

Interpretes: En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel.

Enlazadores: Es un programa que toma los ficheros de cogido objeto generado en los primeros pasos del proceso de compilación, la información de todos los recursos necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el código objeto con su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o una biblioteca. En el caso de los programas enlazados dinámicamente, el enlace entre el programa ejecutable y las bibliotecas se realizan en tiempo de carga o ejecución del programa.

Depurador: Un depurador es un programa usado para probar y depurar (eliminar errores) de otros programas (el programa “objetivo”).

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).

3. Software de aplicación: Este tipo de software permiten realizar tareas específicas. Por lo tanto, este software se enfoca únicamente en un aspecto o en la resolución de algún problema en particular y no, como lo hacen los software de sistema, en proporcionar un funcionamiento general mucho más complejos. En este sentido, los programas que utilizamos diariamente en nuestras computadoras son de este tipo, ya que se enfocan en una tarea en particular. Así, ejemplos de este tipo de software son los procesadores de texto, los editores, las hojas de cálculo, las bases de datos, los programas para comunicación, entre otros.

Software de sistema:

Ordenadores

•Windows
•Mac OS
•Linux
•AmigaOS

Dispositivos móviles

•Symbian
•Android
•iOS
•Windows Mobile
•BlackBerry OS
•Palm OS

Software de programación:

•C.
•Delphi
•Visual Basic
•Pascal

•Java