Software, logiciário o soporte lógico es una secuencia de instrucciones a ser seguidas y/o ejecutadas, en la manipulación, redirecionamento o modificación de un dato/información o acontecimiento.
Software también es el nombre dado al comportamiento exhibido por esa secuencia de instrucciones cuando ejecutada en un ordenador o máquina semejante.
Software también es un producto y es desarrollado por la Ingeniería de software , e incluye no sólo el programa de ordenador propiamente dicho, pero también manuales y especificaciones. Para fines contábeis y financieros , el Software es considerado un Bienes de capital.
Este producto pasa por varias etapas como: Análisis económico, Análisis de requisitos, Especificación, Codificación, Prueba, Documentación, Entrenamiento y Mantenimiento .
Tabla de contenido |
Un programa de ordenador es compuesto por una secuencia de instrucciones, que es interpretada y ejecutada por un procesador o por una máquina virtual. En un programa correcto y funcional, esa secuencia sigue patrones específicos que resultan en un comportamiento deseado.
Un programa puede ser ejecutado por cualquier dispositivo capaz de interpretar y ejecutar las instrucciones de que es formado.
Cuando un software está representado como instrucciones que pueden ser ejecutadas directamente por un procesador decimos que está escrito en lenguaje de máquina. La ejecución de un software también puede ser intermediada por un programa interpretador, responsable por interpretar y ejecutar cada una de sus instrucciones. Una categoría especial y notable de interpretadores son las máquinas virtuales, como la Máquina virtual Java (JVM), que simulan un ordenador entero, real o imaginado.
El dispositivo más conocido que dispone de un procesador es el ordenador. Actualmente, con el barateamento de los microprocessadores, existen otras máquinas programabais, como teléfono celular, máquinas de automatización industrial, calculadora, etc.
Un programa es un conjunto de instrucciones para el procesador (lenguaje de máquina). Sin embargo, se puede utilizar lenguajes de programación, que traduzca mandos en instrucciones para el procesador.
Normalmente, programas de ordenador son escritos en lenguajes de programación, pues estas fueron proyectadas para aproximarse de los lenguajes usados por seres humanos. Raramente el lenguaje de máquina es usada para desarrollar un programa.
Algunos programas hechos para usos específicos, como por ejemplo software embarcado o software embutido, aún son hechos en lenguaje de máquina para aumentar la velocidad o disminuir el espacio consumido. En todo si, la mejoría de los procesadores dedicados también viene disminuyendo esa práctica, siendo a C un lenguaje típico para ese tipo de proyecto. Esa práctica, sin embargo, viene cayendo en desuso, principalmente debido a la gran complejidad de los procesadores actuales, de los sistemas operativos y de los problemas tratados. Muy raramente, realmente sólo en casos excepcionales, es utilizado el código de máquina, la representación numérica utilizada directamente por el procesador.
El Programa es inicialmente "cargado" en la memoria principal. Después de cargar el programa, el ordenador encuentra el 'Entry Point' o punto inicial de entrada del programa que cargó y lee las instrucciones sucesivamente byte por byte. Las instrucciones del programa son pasadas para el sistema o procesador donde son traducidas de la lenguajes de programación para el lenguaje de máquina, siendo enseguida ejecutadas o directamente para el hardware, que recibe las instrucciones en la forma de lenguaje de máquina.
Cualquier ordenador moderno tiene una variedad de programas que hacen diversas tareas.
Ellos pueden ser clasificados en dos grandes categorías:
Aún es posible usar la categoría Software embutido o Software embarcado, indicando software destinado a funcionar dentro de una máquina que no es un ordenador de uso general y normalmente con un destino muy específico
Actualmente tenemos un nuevo tipo de software. El software como servicio, que es un tipo que rueda directamente en internet, no siendo necesario instalar nada en el ordenador del usuario. Generalmente ese tipo de software es gratuito y tiene las mismas funcionalidades de las versiones desktop.
La mayoría del software es publicado bajo una licencia. Esa licencia define (y hasta restringe) cual la forma que se puede utilizar el software (números de licencias, modificaciones, etc.). Ejemplos de licencias: