Definición de Software
En computación, el software -en sentido estricto- es todo programa o aplicación programado para realizar tareas específicas. El término «software» fue usado por primera vez por John W. Tukey en 1957.
Algunos autores prefieren ampliar la definición de software e incluir también en la definición todo lo que es producido en el desarrollo del mismo: diseños conceptuales, manuales, etc.
La palabra "software" contrasta con "hardware"; el software se ejecuta dentro del hardware.
En la actualidad, el software es una parte esencial de nuestra vida cotidiana, ya que está presente en la mayoría de los dispositivos electrónicos que utilizamos, como computadoras, teléfonos inteligentes, tabletas, entre otros. Gracias al software, podemos realizar diversas tareas como navegar por internet, enviar correos electrónicos, reproducir música o vídeos, editar fotografías, jugar videojuegos, entre muchas otras actividades.
Existen diferentes tipos de software, clasificados según su funcionalidad. Por ejemplo, el software de sistema se encarga de gestionar y controlar los recursos del hardware, permitiendo que las aplicaciones y programas se ejecuten correctamente. Por otro lado, el software de aplicación está diseñado específicamente para realizar tareas específicas, como procesadores de texto, hojas de cálculo, programas de diseño gráfico, sistemas de gestión empresarial, entre otros.
Además, el software puede ser de código cerrado o de código abierto. El software de código cerrado se distribuye bajo licencias y solo puede ser modificado por los desarrolladores autorizados. Mientras que el software de código abierto permite el acceso al código fuente, lo que permite a cualquier persona modificar y distribuir el programa de acuerdo a sus necesidades, fomentando la colaboración y la innovación.
En conclusión, el software es una parte esencial de la computación, ya que permite realizar diferentes tareas y funciones en nuestros dispositivos electrónicos. Su constante desarrollo y evolución nos brinda nuevas oportunidades y beneficios en nuestra vida diaria.
El "software" como programa
El software, como programa, consiste en un código en un lenguaje máquina específico para un procesador individual. El código es una secuencia de instrucciones ordenadas que cambian el estado del hardware de una computadora.
El software se suele escribir en un lenguaje de programación de alto nivel, que es más sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe convertirse a lenguaje máquina para ser ejecutado.
El software en sentido amplio de la palabra
Una definición más amplia de software incluye mucho más que sólo los programas. Esta definición incluye:
- La representación del software: programas, detalles del diseño escritos en un lenguaje de descripción de programas, diseño de la arquitectura, especificaciones escritas en lenguaje formal, requerimientos del sistema, etc.
- El conocimiento de la ingeniería del software: Es toda la información relacionada al desarrollo de software (por ejemplo, cómo utilizar un método de diseño específico) o la información relacionada al desarrollo de un software específico (por ejemplo, el esquema de pruebas en un proyecto). Aquí se incluye información relacionada al proyecto, información sobre la tecnología de software, conocimiento acerca de sistemas similares y la información detallada relacionada a la identificación y solución de problemas técnicos.
- La información de la aplicación.
Clasificación básica de software
El software puede distinguirse en tres categorías: software de sistema, software de programación y aplicación de software. De todas maneras esta distinción es arbitraria y muchas veces un software puede caer un varias categorías. También existen otras formas de clasificación más complejas.
- Software de sistema: ayuda a funcionar al hardware y a la computadora. Incluye el sistema operativo, controladores de dispositivos, herramientas de diagnóstico, servidores, sistema de ventanas, utilidades y más. Su propósito es evitar lo más posible los detalles complejos de la computación, especialmente la memoria y el hardware.
- Software de aplicación: permite a los usuarios finales hacer determinadas tareas. Algunos software de aplicación son los navegadores, editores de texto, editores gráficos, antivirus, mensajeros, etc. Para más información sobre este tipo de software ver: aplicación.
- Software malicioso: son los programas malignos como virus, troyanos, gusanos, etc. Decidimos distinguirlo de la categoría "software de aplicación" porque no le sirven al usuario final en nada. Ver: programa maligno.
- Software de programación: provee herramientas de asistencia al programador. Incluye editores de texto, compiladores, intérprete de instrucciones, enlazadores, debuggers, etc. Técnicamente deberían ser parte del "software de aplicación", porque quienes los emplean son usuarios (algo más avanzados, como los programadores, pero usuarios al fin), pero a su vez es el software que permite construir software, por eso lo distinguimos en otra categoría.
Clasificación del software por su naturaleza de ejecución
- Aplicaciones de escritorio: son aquellos programas que el usuario ejecuta localmente en su computadora o en su dispositivo móvil (estas últimas son llamadas usualmente "apps"). Por ejemplo, navegadores web, editores de texto, editor gráfico, etc.
- Scripts: piezas de software que usualmente se incluyen en sitios web para correrse dentro de un navegador web cuando una determinada página web es abierta. Usualmente son scripts escritos en JavaScript. También está el ActionScript pero el navegador web debe contar con el plugin Adobe Flash. Ver. script.
- Software de servidor: Aquí pueden incluirse las aplicaciones web, que se ejecutan en un servidor remoto (server-side) y el resultado del procesamiento lo vemos usualmente en nuestro propio navegador web (client-end). Estas aplicaciones pueden incluir algo de scripts también, por lo que en estos casos gran parte del procesamiento se realiza en el servidor y una parte menor en el navegador web. Ver: servidor.
- Software embebido: Es aquel software que reside en el firmware dentro de un sistema embebido (suelen ser dispositivos de un único propósito). Por ejemplo, el software incluido en la computadora de un automóvil, o el que está incluido en un televisor smart. Incluso también el software embebido en un chipset que provee funcionalidad inalámbrica (sistema embebido) puede ser parte de una computadora (que no es un sistema embebido). En algunos casos un sistema embebido puede tener un sistema operativo, pero que corre probablemente una única aplicación.
- Microcódigo: es un software especial que el die al procesador cómo ejecutar código máquina así que, en esencia, es de nivel inferior que el código máquina. Usualmente es un software específico para el procesador. Un programador ordinario probablemente jamás tenga que ver este código. Ver: microcódigo.
Clasificación del software por su arquitectura
- Plataforma: aquí se incluye el firmware, controladores, sistema operativo, el controlador de la interfaz gráfica de usuario. Básicamente es el que permite al usuario interactuar con la computadora y sus periféricos. Actualmente ya vienen incluidos con la computadora.
- Aplicación: son los típicos programas que el usuario emplea como navegadores, juegos, editores, etc. En este caso algunos vienen incluidos con la computadora, pero muchos son instalados por el usuario.
- Software escrito para el usuario: software adaptado para satisfacer necesidades específicas del usuario. Por ejemplo, las plantillas de hojas de cálculos y plantillas de procesamiento de textos. También los filtros de correo electrónico. En ocasiones el usuario no logra distinguir entre el programa y este software.
Versión de un software
Todo software tiene o debería tener su versión de software. Permite identificar el estado de desarrollo o el nivel de actualización de un software específico. Para ello se le asigna un nombre, un código o un número. Por ejemplo: 2012.1.3.2. Indica que es un software del año 2012 en su versión 1. Con su tercera modificación mayor (3). Dentro de la cual tiene una su segunda modificación menor (2).
Para más información leer: Versión.
Ejecución del software
Ver el artículo: Ejecutar (software).
Diseño e implementación del software: Ciclo de vida del software
Ver el artículo: Ciclo de vida del software.
Industria y organización del software
Existen una gran cantidad de individuos, empresas y organizaciones desarrolladoras de software en la industria. Sin dudas la distinción o clasificación más importante es:
- Software propietario: básicamente, aquel software que se comercializa. Microsoft sin dudas es sin dudas uno de los mayores productores de software propietario. Bill Gates, su fundador, es el hombre más rico del mundo durante los últimos años. Otras compañías conocidas de esta categoría son Oracle, Novell, SAP, Symantec, Adobe Systems y Corel.
- Software libre: aquel software que se distribuye gratuitamente y puede ser usado sin pagar. Emplea también estándares libres de organizaciones como W3C o IETF. Sin dudas la organizaciones más importante son Free Software Foundation, GNU Project y Mozilla Foundation. La persona paradigmática de este software es Richard Stallman.
Resumen: Software
El software es un programa o aplicación que realiza tareas específicas en una computadora. Se diferencia del hardware, ya que se ejecuta dentro de este. Se puede incluir también el diseño y los manuales en la definición. Del 1957.
¿Cuál es la diferencia entre software y hardware?
El software se refiere a los programas o aplicaciones que se ejecutan en un dispositivo electrónico, como una computadora. Por otro lado, el hardware se refiere a los componentes físicos y tangibles de un dispositivo, como la memoria, la placa madre o la pantalla. Mientras que el software es intangible, el hardware es tangible y necesario para ejecutar el software.
¿Qué tipos de software existen?
Existen diferentes tipos de software, como el software de sistema, que incluye el sistema operativo y los controladores del dispositivo. También existe el software de aplicación, que son programas diseñados para realizar tareas específicas, como procesadores de texto, hojas de cálculo o programas de diseño gráfico. Además, existen el software de desarrollo, utilizado por los programadores para crear nuevos programas, y el software de seguridad, que protege nuestro dispositivo de amenazas y ataques cibernéticos.
¿Cuál es el proceso de desarrollo de software?
El proceso de desarrollo de software implica varias etapas. Comienza con la planificación, donde se definen los objetivos y requisitos del programa. Luego viene el diseño, donde se crean los diagramas y la arquitectura del software. Después, se procede a la codificación, donde los programadores escriben el código del programa. A continuación, el software se prueba para detectar errores y fallos. Finalmente, se implementa y lanza el programa, seguido del mantenimiento y las actualizaciones periódicas.
¿Qué es el software de código abierto?
El software de código abierto se refiere a programas cuyo código fuente es accesible y puede ser modificado o distribuido libremente por cualquier persona. Esto permite que la comunidad de programadores colabore en su mejora, corrigiendo errores, añadiendo nuevas funciones y adaptándolo a sus necesidades. Ejemplos populares de software de código abierto incluyen el sistema operativo Linux y el navegador web Firefox.
¿Qué es el software propietario?
El software propietario, a diferencia del software de código abierto, es aquel cuyo código fuente es cerrado y no se encuentra disponible para el público en general. Solo el titular de los derechos de autor tiene el control y la propiedad exclusiva del software. Sin embargo, los usuarios tienen licencia para utilizar el software según los términos y condiciones establecidos por el titular de los derechos de autor.
¿Cuál es la importancia del software en nuestras vidas?
El software desempeña un papel fundamental en nuestras vidas, ya que nos permite realizar una amplia gama de tareas de manera eficiente y rápida. Desde usar aplicaciones de mensajería, editar documentos, navegar por internet o incluso jugar videojuegos, todas estas actividades son posibles gracias al software. Además, el software también se utiliza en áreas como la medicina, la ingeniería y la investigación científica, facilitando el almacenamiento, análisis y procesamiento de datos para beneficio de la sociedad.
Distribución de software | Abrir/Cerrar |
|
Relacionados:
• Hardware
• Software pirata
• Proceso de testeo del software.
• Componentes típicos de una computadora.
Autor: Leandro Alegsa
Actualizado: 31-07-2023
¿Cómo citar este artículo?
Alegsa, Leandro. (2023). Definición de Software. Recuperado de https://www.alegsa.com.ar/Dic/software.php