Está en la página 1de 4

1

Industria del software



Breve historia del software: Las computadoras pueden ser descritas por dos elementos
bsicos: el hardware y el software.
Software: Es el conjunto de los programas de cmputo, procedimientos, reglas,
documentacin y datos asociados que forman parte de las operaciones de un sistema de
computacin.
Extrado del estndar 729 del IEEE5

Considerando esta definicin, el concepto de software va ms all de los programas de
computacin en sus distintos estados: cdigo fuente, binario o ejecutable; tambin su
documentacin, los datos a procesar e incluso la informacin de usuario forman parte del
software: es decir, abarca todo lo intangible, todo lo no fsico relacionado.
El trmino software fue usado por primera vez en este sentido por John W. Tukey en 1957.
En la ingeniera de software y las ciencias de la computacin, el software es toda
la informacin procesada por los sistemas informticos: programas y datos.
El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de
un dispositivo para controlar los clculos fue introducido por Charles Babbage como parte de
su mquina diferencial. La teora que forma la base de la mayor parte del software moderno
fue propuesta por Alan Turing en su ensayo de 1936, Los nmeros computables, con una
aplicacin al problema de decisin.

Clases de Software:
1. Software de sistema:
Le provee al usuario y programador adecuadas interfaces de alto nivel, controladores,
herramientas y utilidades de apoyo que permiten la Administracin y el mantenimiento de
todo el sistema.
Incluye entre otros:
a. Sistemas operativos (o software del sistema): Realiza la Administracin y
funcionamiento del computador. Mac Macintosh (1984-Apple), DOS (1981-IBM),
Linux, unix, Windows, otros.
b. Controladores de dispositivos: Llamado normalmente controlador (en
ingls, device driver) es un programa informtico que permite al sistema
operativo interactuar con un perifrico, haciendo una abstraccin del hardware y
proporcionando una interfaz -posiblemente estandarizada- para usarlo.
c. Herramientas de diagnstico: Es un software que permite monitorear y en algunos
casos controlar la funcionalidad del hardware, como: computadoras, servidores y
perifricos, segn el tipo y sus funciones. Estos dispositivos pueden ser, la
memoria RAM, el procesador, los discos duros, ruteadores, tarjetas de red, entre
muchos dispositivos ms!!

El software permite monitorear temperatura, rendimiento, transferencia de datos, etc.
d. Servidores:
En informtica, un servidor es una computadora que, formando parte de una red,
provee servicios a otras computadoras denominadas clientes.

2

Por lo cual podemos llegar a la conclusin de que un servidor tambin puede ser un
proceso que entrega informacin o sirve a otro proceso. El modelo Cliente-servidor no
necesariamente implica tener dos ordenadores, ya que un proceso cliente puede
solicitar algo como una impresin a un proceso servidor en un mismo ordenado

El servidor HTTP Apache es un servidor web HTTP de cdigo abierto, para
plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras.
e. Utilidades/ Herramientas de Correccin y Optimizacin: En informtica,
una utilidad es una herramienta que realiza:
Tareas de mantenimiento
Soporte para la construccin y ejecucin de programas
Las tareas en general
En donde se incluyen las bibliotecas de sistema, middleware, herramientas de desarrollo,
etc.
Entre ellas podemos nombrar cifrado y descifrado de archivos, compresin de
archivos, desfragmentadores de disco, editores de texto, respaldo, etc.

2. Software de programacin: Es el conjunto de herramientas que permiten
al programador desarrollar programas informticos, usando diferentes alternativas
y lenguajes de programacin, de una manera prctica. Incluyen bsicamente:
a. Editores de texto: Es un programa que permite crear y modificar archivos digitales
compuestos nicamente por texto sin formato, conocidos comnmente como archivos
de texto o texto plano. El programa lee el archivo e interpreta los bytes ledos segn
el cdigo de caracteres que usa el editor. Hoy en da es comnmente de 7- 8-bits
en ASCII o UTF-8, rara vez EBCDIC.

b. Compiladores: Un compilador es un programa que permite traducir el cdigo
fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior
(tpicamente lenguaje de mquina). De esta manera un programador puede disear
un programa en un lenguaje mucho ms cercano a cmo piensa un ser humano, para
luego compilarlo a un programa ms manejable por una computadora.

Usualmente el segundo lenguaje es lenguaje de mquina, pero tambin puede ser un
cdigo intermedio (bytecode), o simplemente texto. Este proceso de traduccin se
conoce como compilacin. El bytecode es un cdigo intermedio ms abstracto que
el cdigo mquina. Habitualmente es tratado como un fichero binario que contiene un
programa ejecutable similar a un mdulo objeto, que es un fichero binario producido
por el compilador cuyo contenido es el cdigo objeto o cdigo mquina .

3


c. Intrpretes: Un lenguaje interpretado es un lenguaje de programacin que est
diseado para ser ejecutado por medio de un intrprete, en contraste con
los lenguajes compilados. A ciertos lenguajes interpretados tambin se les conoce
como lenguajes de script.

En ciencias de la computacin, intrprete o interpretador es un programa
informtico capaz de analizar y ejecutar otros programas, escritos en
un lenguaje de alto nivel. Los intrpretes se diferencian de los compiladores en que
mientras estos traducen un programa desde su descripcin en un lenguaje de
programacin al cdigo de mquina del sistema, los intrpretes slo realizan
la traduccin a medida que sea necesaria, tpicamente, instruccin por instruccin, y
normalmente no guardan el resultado de dicha traduccin.

En programacin, se llama cdigo objeto al cdigo que resulta de
la compilacin del cdigo fuente.

Consiste en lenguaje mquina o bytecode y se distribuye en varios archivos que
corresponden a cada cdigo fuente compilado. Para obtener un programa
ejecutable se han de enlazar todos los archivos de cdigo objeto con un programa
llamado enlazador (linker).

Muchos lenguajes han sido implementados usando tanto compiladores como
intrpretes, incluyendo Lisp, Pascal, C, BASIC, yPython. Mientras que Java es
traducido a una forma que se destina a ser interpretada, la compilacin justo a
tiempo es frecuentemente usada para generar el cdigo de mquina.

d. Enlazadores: En (ingls, linker) es un programa que toma los objetos generados en
los primeros pasos del proceso de compilacin, la informacin de todos los recursos
necesarios (biblioteca), quita aquellos recursos que no necesita, y enlaza el cdigo
objeto con su(s) biblioteca(s) con lo que finalmente produce un fichero ejecutable o
una biblioteca. En el caso de los programas enlazados dinmicamente, el enlace
entre el programa ejecutable y las bibliotecas se realiza en tiempo de carga o
ejecucin del programa

e. Depuradores: En (ingls, debugger), es un programa usado para probar y
depurar (eliminar los errores) de otros programas (el programa "objetivo"). El cdigo a
ser examinado puede alternativamente estar corriendo en un simulador de conjunto
de instrucciones (ISS), una tcnica que permite gran potencia en su capacidad de
detenerse cuando son encontradas condiciones especficas pero ser tpicamente
4

algo ms lento que ejecutando el cdigo directamente en el apropiado (o el
mismo) procesador.

f. Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas,
usualmente en un entorno visual, de forma tal que el programador no necesite
introducir mltiples comandos para compilar, interpretar, depurar, etc. Habitualmente
cuentan con una avanzada interfaz grfica de usuario (GUI).

3. Software de aplicacin: Es aquel que permite a los usuarios llevar a cabo una o varias
tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o
asistido, con especial nfasis en los negocios. Incluye entre muchos otros:
a. Aplicaciones para Control de sistemas y automatizacin industrial
b. Aplicaciones ofimticas
c. Software educativo
d. Software empresarial
e. Bases de datos
f. Telecomunicaciones (por ejemplo Internet y toda su estructura lgica)
g. Videojuegos
h. Software mdico
i. Software de clculo Numrico y simblico.
j. Software de diseo asistido (CAD):
k. Software de control numrico (CAM): La fabricacin asistida por computadora (en
Hispanoamrica) ofabricacin asistida por ordenador (en Espaa), tambin
conocida por las siglas en ingls CAM (computer-aided manufacturing), implica el
uso de computadores y tecnologa de cmputo para ayudar en la fase directa
demanufactura de un producto, es un puente entre el Diseo Asistido por
Computadora CAD y el lenguaje de programacion de las mquinas herramientas con
una intervencin mnima del operario

También podría gustarte