Está en la página 1de 15

SOFTWARE

SOFTWAR

Software es un conjunto de programas, instrucciones y reglas informática


informáticas que

permiten ejecutar distintas tareas en una computadora


computadora.

Se considera que el software es el equipami


equipamiento
ento lógico e intangible
intangibl de un ordenador. En

otras palabras, el concepto de software abarca a todas las aplicaciones informática


informáticass, como

los procesadores de textos, las planillas de cálculo y los editores de imágenes


imágenes.

Software de Sistem
Sistemaa
El software de sistem
sistema,, digamos que es la parte esencial, en ella no solamente podemos clasificar

los sistemas operativos como Linux, Windows o Ma


Mac,, también debemos agregar aquel

software que permite la comunicación entre el Hardware y el sistema operativ


operativo, los

controladores de sistema para la ejecución de diversos sectores de la computadora e incluso

programas que son capaces de administrar los recursos y de proporc


proporcionarle
ionarle al usuario una bella

interfaz para que pueda controlar la computadora de una forma muy sencilla.
sencilla
La clasificación del Software de sistema queda de la siguiente manera:

 Sistemas operativos

 Controladores de dispositivo

 Herramientas de diagnóstico

 Herramientas de Corrección y Optimización

 Servidores

 Utilidades}

Software de Programación
Está claro que para que puedan existir diversos programas, primero debe haber personas encargadas

del desarrollo de sistemas, en este caso haciendo uso de software de programación, por eso la

clasificación continua en este punto, después de que el sistema operativo es la base de todo, la

programación le sigue muy detrás, un software que ayuda en la creación y desarrollo de

aplicaciones, haciendo uso de conocimientos lógicos y de programación.

Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto de software

que trabaja de la mano uno con el otro, el programador desarrolla en un editor de texto y

posteriormente compila el programa para verificar que está correcto, esto en cualquier lenguaje de

programación, aunque actualmente existen Entornos de Desarrollo Integrados (IDE) que no

son más que un programa informático que consta de una serie de herramientas de

programación, los que actualmente utilizan los lenguajes de programación para su desarrollo.

La Clasificación del software de programación es la siguiente:

 Editores de texto

 Compiladores

 Intérpretes
 Enlazadores

 Depuradores

 Entornos de Desarrollo Integrados (IDE)

Software de Aplicación
El software de aplicación, es aquel que utilizamos día a día, cada uno de los programas,

aplicaciones o utilidades que manejamos dentro de nuestra computadora, entran dentro de esta

clasificación de software, es el resultado de la programación de software, enfocado hacia

alguno de los sistemas operativos, como puedes ver es el tercer y último paso, hablando de forma

técnica es el software diseñado para el usuario final.

Dentro de los ejemplos que podría darte, se encuentran todos los programas que usas día a día, la

paquetería de Office, los programas para comunicarte por medio de chat, los programas para

ver fotos, utilidades para escuchar música en la computadora, los antivirus, etc.

La clasificación del software de aplicación queda de la siguiente manera:

 Aplicaciones de Sistema de control y automatización industrial

 Aplicaciones ofimáticas

 Software educativo

 Software médico

 Software de Cálculo Numérico

 Software de Diseño Asistido (CAD)

 Software de Control Numérico (CAM)


SOFTWARE
Se conoce como software al soporte lógico de un sistema informático, que comprende el conjunto de
los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a
los componentes físicos que son llamados hardware. La interacción entre el software y el hardware hace
operativo un ordenador (u otro dispositivo), es decir, el Software envía instrucciones que el Hardware ejecuta,
haciendo posible su funcionamiento.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas, tales como
el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el
llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los
programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el
resto de las aplicaciones, y proporcionando una interfaz con el usuario.
El software en su gran mayoría, está escrito en lenguajes de programación de alto nivel, ya que son
más fáciles y eficientes para que los programadores los usen, porque son más cercanos al lenguaje natural
respecto del lenguaje de máquina. Los lenguajes de alto nivel se traducen a lenguaje de máquina utilizando
un compilador o un intérprete, o bien una combinación de ambos. El software también puede estar escrito
en lenguaje ensamblador, que es de bajo nivel y tiene una alta correspondencia con las instrucciones de
lenguaje máquina; se traduce al lenguaje de la máquina utilizando un ensamblador.
El anglicismo software es el más ampliamente difundido al referirse a este concepto, especialmente
en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es
utilizado mayormente en países y zonas de influencia francesa. Su abreviatura es Sw.

Etimología
Software (pronunciación AFI: [ˈsɒftwɛəʳ]) es una palabra proveniente del inglés, que en español no
posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y así fue admitida
por la Real Academia Española (RAE). Aunque puede no ser estrictamente lo mismo, suele sustituirse por
expresiones tales como programas (informáticos) o aplicaciones (informáticas) o soportes lógicos.
Software es lo que se denomina producto en ingeniería de software.

Definición de software
Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea
la siguiente:
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 IEEE

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 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 alto nivel, controladores, herramientas y utilidades de apoyo que permiten
el mantenimiento del sistema global. Incluye entre otros:

 Sistemas operativos

Un sistema operativo (SO o, frecuentemente, OS —del inglés operating system—) es


el software principal o conjunto de programas de un sistema informático que gestiona los recursos
de hardware y provee servicios a los programas de aplicación de software, ejecutándose en modo
privilegiado respecto de los restantes (aunque puede que parte de él se ejecute en espacio de usuario).
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas
sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de
ficheros, el navegador web y todo tipo de herramientas que permiten la interacción con el sistema
operativo. Otro ejemplo para comprender esta diferencia se encuentra en la plataforma Amiga, donde
el entorno gráfico de usuario se distribuía por separado, de modo que, también podía reemplazarse por
otro, como era el caso de directory Opus o incluso manejarlo arrancando con una línea de comandos y
el sistema gráfico. De este modo, comenzaba a funcionar con el propio sistema operativo que llevaba
incluido en una ROM, por lo que era cuestión del usuario decidir si necesitaba un entorno gráfico para
manejar el sistema operativo o simplemente otra aplicación. Uno de los más prominentes ejemplos de
esta diferencia, es el núcleo Linux, usado en las llamadas distribuciones Linux, ya que al estar también
basadas en Unix, proporcionan un sistema de funcionamiento similar. Este error de precisión, se debe a la
modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica
de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su
uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un
sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.
Véase AmigaOS, beOS o Mac OS como los pioneros de dicha modernización, cuando los Amiga fueron
bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en
entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.
En ciertos textos, el sistema operativo es llamado indistintamente como núcleo o kernel, pero debe
tenerse en cuenta que la diferencia entre kernel y sistema operativo solo es aplicable si el núcleo
es monolítico, lo cual fue muy común entre los primeros sistemas. En caso contrario, es incorrecto llamar
al sistema operativo núcleo.
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 (teléfonos
móviles, reproductores de DVD, computadoras, radios, enrutadores, etc.). En cuyo caso, son manejados
mediante una interfaz gráfica de usuario, un gestor de ventanas o un entorno de escritorio, si es un
celular, mediante una consola o control remoto si es un DVD y, mediante una línea de comandos o
navegador web si es un enrutador.
 Controladores de dispositivos
Un controlador de dispositivo o manejador de dispositivo (en inglés: device driver, o
simplemente driver) es un programa informático que permite al sistema operativo interaccionar con
un periférico, haciendo una abstracción del hardware y proporcionando una interfaz (posiblemente
estandarizada) para utilizar el dispositivo.
Es una pieza esencial del software, y en particular, del núcleo de un sistema operativo, sin la cual
el hardware sería inutilizable.
 Herramientas de diagnóstico
Una herramienta de diagnóstico es un software que permite monitorear 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, ruteadores, tarjetas de red, entre muchos dispositivos más. El software permite monitorear
temperatura, rendimiento, transferencia de datos, etc.
 Herramientas de corrección y optimización
Las herramientas de corrección y optimización son las encargadas de modificar un software para
que funcione con más eficiencia o con un menor uso de recursos. Normalmente a los programas
informáticos se les optimiza para que funcionen de manera más rápida, que sean capaces de trabajar con
un menor uso de memoria o que usen menos energía.
Aunque la palabra optimización tiene la misma raíz que óptima, raramente se produce
un software óptimo con el simple uso de dichas herramientas. El sistema optimizado será óptimo
únicamente para una aplicación o una simple audiencia. Uno puede reducir el tiempo que tarda un
programa en ejecutarse a cambio de que utilice más memoria. En casos donde la memoria sea escasa se
deberá elegir que el programa funcione más lento.
Normalmente no existe una "configuración perfecta", así que los ingenieros suelen optimizar los
atributos dependiendo de los intereses de dicha aplicación. Además, el esfuerzo necesario para crear
un software óptimo (imposible de mejorar) es mucho mayor a las ventajas que este recibiría, así pues el
proceso de optimización puede ser parado antes de llegar a una opción totalmente óptima.
Afortunadamente, las mayores mejoras suelen ser las primeras en aplicarse.
 Servidores
Un servidor es una aplicación en ejecución capaz de atender las peticiones de un cliente y
devolverle una respuesta en concordancia. Los servidores se pueden ejecutar en cualquier tipo de
computadora, incluso en computadoras con bombillo dedicadas a las cuales se les conoce individualmente
como «el servidor». En la mayoría de los casos una misma computadora puede proveer múltiples servicios
y tener varios servidores en funcionamiento. La ventaja de montar un servidor en computadoras dedicadas
es la seguridad. Por esta razón la mayoría de los servidores son procesos diseñados de forma que puedan
funcionar en computadoras de propósito específico.
Los servidores operan a través de una arquitectura cliente-servidor. Los servidores son programas
de computadora en ejecución que atienden las peticiones de otros programas, los clientes. Por tanto, el
servidor realiza otras tareas para beneficio de los clientes. Ofrece a los clientes la posibilidad de compartir
datos, información y recursos de hardware y software. Los clientes usualmente se conectan al servidor a
través de la red pero también pueden acceder a él a través de la computadora donde está funcionando. En
el contexto de redes Internet Protocol (IP), un servid
servidor
or es un programa que opera como oyente de
un socket.
Comúnmente los servidores proveen servicios esenciales dentro de una red, ya sea para usuarios
privados dentro de una organización o compañía, o para usuarios públicos a través de Internet. Los tipos
de
e servidores más comunes son servidor de base de datos, servidor de archivos, servidor de
correo, servidor de impresión, servidor web, servidor de juego, y servidor de aplicaciones.
Un gran número de sistemas usa el modelo de red cliente-servidor,
cliente servidor, entre ellos
ellos los sitios web y los
servicios de correo. Un modelo alternativo, el modelo red peer
peer-to
to-peer permite a todas las computadoras
conectadas actuar como clientes o servidores acorde a las necesidades.
 Utilidades
En informática,
informática una utilidad es una herramie
herramienta
nta que realiza:

 Tareas de mantenimiento.
 Soporte para la construcción y ejecución de programas.
programas
 Tareas en general.
En donde se incluyen las bibliotecas de sistema, middleware,
middleware, herramientas de desarrollo y demás.
Entre ellas podemos nombrar cifrado y desci
descifrado
frado de archivos, compresión de
archivos, desfragmentación de disco, editores de texto, respaldo, etc.

 Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar


programas de informática, usando diferentes alterna
alternativas
tivas y lenguajes de programación
programación,, de una manera
práctica. Incluyen en forma básica:

 Editores de texto
Un editor de texto es un programa informático que permite crear y modificar archivos
digitales compuestos únicamente por textos sin formato, conocidos ccomúnmente
omú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. Es comúnmente de 77- u 8--bits en ASCII o UTF-8,
8, rara vez EBCDIC.
Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97
o 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 número 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 crear o modificar archivos de texto como archivos de
configuración, lenguaje de programación interpretado (scripts) o el código fuente de algún programa.
El archivo creado por un 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.
Al trasladar archivos de texto de un sistema operativo a otro se debe considerar que existen al
menos dos convenciones diferentes para señalar el término de una línea o lo que es lo mismo una nueva
línea: Unix y Linux usan solo retorno de carro en cambio Microsoft Windows utiliza retorno de carro y salto
de línea.
 Compiladores
En informática, un compilador es un tipo de traductor que transforma un programa entero de
un lenguaje de programación (llamado código fuente) a otro. Usualmente el lenguaje objetivo es código
máquina, aunque también puede ser traducido a un código intermedio (bytecode) o a texto. A diferencia
de los intérpretes, los compiladores reúnen diversos elementos o fragmentos en una misma unidad
(un programa ejecutable o una librería), que puede ser almacenada y reutilizada. Este proceso de
traducción se conoce como compilación.
La construcción de un compilador involucra la división del proceso en una serie de fases que
variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa
fuente y la síntesis del programa objeto.

 Análisis: se trata de la comprobación de la corrección del programa fuente, según la


definición del lenguaje en términos de teoría de lenguajes formales. Incluye las fases
correspondientes al análisis léxico (que consiste en la descomposición del programa fuente
en componentes léxicos), análisis sintáctico (agrupación de los componentes léxicos en
frases gramaticales) y análisis semántico (comprobación de la validez semántica de las
sentencias aceptadas en la fase de análisis sintáctico).
 Síntesis: su objetivo es la generación de la salida expresada en el lenguaje objeto y suele
estar formado por una o varias combinaciones de fases de generación de código
(normalmente se trata de código intermedio o de código objeto) y de optimización de
código (en las que se busca obtener un programa objetivo lo más eficiente posible, según
su complejidad computacional o complejidad de Kolmogórov: tiempo de ejecución, espacio
durante ejecución, espacio para ser almacenado fuera de ejecución, etc).
Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en:

 Analizador o front-end: es la parte que analiza el código fuente, comprueba su validez,


genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele
ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está
compuesta por las fases comprendidas entre el análisis léxico y la generación de código
intermedio.
 Generador o back-end: es la parte que genera el código máquina, específico de una
plataforma, a partir de los resultados de la fase de análisis, realizada por este generador.
Esta división permite que el mismo generador se utilice para crear el código máquina de
varios lenguajes de programación distintos y que el mismo analizador que sirve para examinar el código
fuente de un lenguaje de programación concreto sirva para producir código máquina en varias
plataformas. Suele incluir la generación y optimización del código dependiente de la máquina.
 Intérpretes
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de
analizar y ejecutar otros programas. Los intérpretes se diferencian de los compiladores o de
los ensambladores en que mientras estos traducen un programa desde su descripción en un lenguaje de
programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que
sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha
traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en
sistemas sumamente diferentes (ejemplo. una PC y una PlayStation 4). Usando un compilador, un solo
archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a
cada sistema.
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de
traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos
de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar
partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa
interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio
intérprete (lo que se conoce comúnmente como máquina virtual).
Para mejorar el desempeño, algunas implementaciones de algunos lenguajes de programación
pueden interpretar o compilar el código fuente original en una forma intermedia más compacta, y después
traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente
guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).
En la actualidad, uno de los entornos más comunes de uso de los intérpretes es en los navegadores
web, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
 Enlazadores

Un enlazador (en inglés, linker) es un programa que toma los objetos generados 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 realiza en tiempo de carga o ejecución del
programa.
 Depuradores

Un depurador (en inglés, debugger), es un programa usado para probar y depurar (eliminar)
los errores de otros programas (el programa "objetivo"). El código a ser examinado puede
alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que
permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero
será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el
mismo) procesador. Algunos depuradores ofrecen dos modos de operación - la simulación parcial o
completa, para limitar este impacto.
Si es un depurador de nivel de fuente o depurador simbólico, comúnmente ahora visto
en entornos de desarrollo integrados, cuando el programa "se estrella" o alcanza una condición
predefinida, la depuración típicamente muestra la posición en el código original. Si es un depurador de
bajo nivel o un depurador de lenguaje de máquina, muestra la línea en la fuente desensamblado (a
menos que también tenga acceso en línea al código fuente original y pueda exhibir la sección apropiada
del código del ensamblador o del compilador). Un "estrellamiento" sucede cuando el programa no puede
continuar normalmente debido a un error de programación. Por ejemplo, el programa pudo haber
intentado usar una instrucción no disponible en la versión actual del CPU o haber intentado tener acceso
a memoria protegida o no disponible.
Típicamente, los depuradores también ofrecen funciones más sofisticadas tales como correr un
programa paso a paso (un paso o animación del programa), parar el programa (breaking), es decir, pausar
el programa para examinar el estado actual en cierto evento o instrucción especificada por medio de
un breakpoint, y el seguimiento de valores de algunas variables. Algunos depuradores tienen la capacidad
de modificar el estado del programa mientras que está corriendo, en vez de simplemente observarlo.
También es posible continuar la ejecución en una posición diferente en el programa bypaseando un
estrellamiento o error lógico.
La importancia de un buen depurador no puede ser exagerada. De hecho, la existencia y la calidad
de tal herramienta para un lenguaje y una plataforma dada a menudo puede ser el factor de decisión en su
uso, incluso si otro lenguaje/plataforma es más adecuado para la tarea. La ausencia de un depurador, una
vez estando acostumbrado a usar uno, se ha dicho que "hace que usted se sienta como un hombre ciego
en un cuarto oscuro buscando un gato negro que no está allí". Sin embargo, el software puede (y a
menudo) se comporta diferentemente corriendo bajo un depurador que normalmente, debido a los
cambios inevitables que la presencia de un depurador hará a la temporización interna de un programa de
software. Como resultado, incluso con una buena herramienta de depuración, es a menudo muy difícil
rastrear problemas de tiempo de corrida en complejos sistemas distribuidos con múltiples hilos.
La misma funcionalidad que hace a un depurador útil para eliminar errores permite ser usado
como herramienta de craqueo de software para evadir la protección anticopia, la gestión digital de
derechos, y otras características de protección de software. A menudo también lo hace útil como
herramienta general de verificación de pruebas, cobertura de fallas, o analizador de desempeño,
especialmente si son mostradas las longitudes de trayectoria de instrucción.
La mayoría de los motores de depuración actuales, tales como gdb y dbx proporcionan interfaces
basadas en línea de comandos. Los frontales de depuración son extensiones populares a los motores de
depuración, que proporcionan integración al IDE, animación del programa, y características de
visualización. Algunos depuradores de los primeros mainframes tales como el Oliver y
el SIMON proporcionaron esta misma funcionalidad para el IBM System/360 y posteriores sistemas
operativos, hasta los años 1970.
 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).
Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en inglés Integrated
Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para
facilitarle al desarrollador o programador el desarrollo de software.
Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción
automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de
código (IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales
como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus.
El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien
definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI,
por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. Muchos IDE
modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de
jerarquía de clases, para su uso con el desarrollo de software orientado a objetos.

 Software de aplicació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


Dentro de la ingeniería de sistemas, un sistema de control es un conjunto de dispositivos
encargados de administrar, ordenar, dirigir o regular el comportamiento de otro sistema, con el fin de
reducir las probabilidades de fallo y obtener los resultados deseados. Por lo general, se usan sistemas de
control industriales en procesos de producción industriales para controlar equipos o máquinas.
Existen dos clases comunes de sistemas de control, sistemas de lazo abierto y sistemas de lazo
cerrado. En los sistemas de control de lazo abierto la salida se genera dependiendo de la entrada; mientras
que en los sistemas de lazo cerrado la salida depende de las consideraciones y correcciones realizadas por
la retroalimentación. Un sistema de lazo cerrado es llamado también sistema de control con
realimentación. Los sistemas de control más modernos en ingeniería automatizan procesos sobre la base
de muchos parámetros y reciben el nombre de controladores de automatización programables (PAC).
La automatización industrial (automatización: del griego antiguo auto, ‘guiado por uno mismo’) es
el uso de sistemas o elementos computarizados y electromecánicos para fines industriales. Como una
disciplina de la ingeniería más amplia que un sistema de control, abarca la instrumentación industrial, que
incluye los sensores, los transmisores de campo, los sistemas de control y supervisión, los sistemas de
transmisión y recolección de datos y las aplicaciones de software en tiempo real para supervisar y
controlar las operaciones de plantas o procesos industriales.

 Aplicaciones ofimáticas
Un paquete de oficina o paquete ofimático, una suite de oficina o suite ofimática, una serie de
oficina o serie ofimática, es la recopilación de aplicaciones informáticas utilizadas en oficinas, para realizar
diferentes funciones sobre archivos y documentos, como crear, modificar, organizar, escanear, imprimir,
entre otros.
El desarrollo de los programas de oficina en paquetes en lugar de hacerse individualmente puede
atribuirse a la necesidad de interoperatividad entre aplicaciones y a la reducción de costos de adquisición
en el caso de las suites ofimáticas comerciales.
En la actualidad, entre los paquetes de oficina más utilizados se encuentran, por parte del software
privativo, Microsoft Office. Para los computadores Mac de Apple la compañía desarrolla la suite iWork. Y
respecto al software libre, está LibreOffice, desarrollado por The Document Foundation. Si bien estos
programas usan o han usado sus propios formatos de archivo, en la actualidad los tres usan o permiten
exportar sus documentos a los formatos estándares OpenDocument, Office Open XML o ambos.
 Software educativo
El software educativo es una herramienta o programa informático que ayuda a integrar las
diferentes áreas de gestión dentro de un centro educativo: el área de facturación, financiera, contable y
administrativa, el área de comunicación y atención al cliente, la organización escolar del centro, los
sistemas de calificación, etc.
Es decir, se trata de un software ideado para unificar las diferentes áreas de gestión del centro
para, de esta forma, poder hacer una gestión más eficaz y co coordinada
ordinada de todos los departamentos
necesarios para el buen funcionamiento del centro escolar al igual se utiliza para la computadora
 Software empresarial
Por software empresarial se entiende generalmente cualquier tipo de soporte lógico (software)
que estáá orientado a ayudar a una empresa o a una organización a mejorar su productividad y/o a medirla.
El término engloba una amplia variedad de aplicaciones informáticas que incluyen desde
programas de contabilidad y de ofimática, hasta sistemas de planificación
planificación de recursos empresariales (ERP),
pasando por programas de gestión de clientes (CRM) y de recursos humanos, así como programas de
administración de la cadena de suministros (SCM), etc. Con estos se suele incluir un servicio para dar
soporte técnico a las empresas que los usan, como también orientarlas en problemas y dar soluciones,
según los protocolos de cada distribuidor.
Corresponde señalar que el software empresarial no siempre es un progicial,
progicial, si bien es cierto que
una buena parte del software empresarial
empres es progicial empresarial;
empresarial; en efecto, es claro que en el primero
de estos conceptos también tiene cabida el software a medida.
 Bases de datos
Una base de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para
para su posterior uso. En este sentido; una biblioteca puede considerarse una base de
datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.
Actualmente, y debido al desarrollo tecnológico de campos como la informática
ormática y la electrónica, la mayoría
de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha
desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados
enominados sistemas gestores de bases de datos, abreviado SGBD (del
inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los
datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilizació
utilización y
administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También
son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información
experimental.

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se
encuentran mutuamente protegidos por las leyes de varios países. Por ejemplo en España, los datos
personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter
Personal (LOPD), en México por la Ley Federal de Transparencia y Acceso a la Información Pública
Gubernamental y en Argentina la Ley de Protección de Datos Personales.
 Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
Una telecomunicación es toda transmisión y recepción de señales de cualquier naturaleza,
típicamente electromagnéticas, que contengan signos, sonidos, imágenes o, en definitiva, cualquier tipo
de información que se desee comunicar a cierta distancia. Por metonimia, también se denomina
telecomunicación (o telecomunicaciones, indistintamente) a la disciplina que estudia, diseña, desarrolla y
explota aquellos sistemas que permiten dichas comunicaciones; de forma análoga, la ingeniería de
telecomunicaciones resuelve los problemas técnicos asociados a esta disciplina.
Las telecomunicaciones son una infraestructura básica del contexto actual. La capacidad de poder
comunicar cualquier orden militar o política de forma casi instantánea ha sido radical en muchos
acontecimientos históricos de la Edad Contemporánea —el primer sistema de telecomunicaciones
moderno aparece durante la Revolución Francesa—. Pero además, la telecomunicación constituye hoy en
día un factor social y económico de gran relevancia. Así, estas tecnologías adquieren una importancia
como su utilidad en conceptos de la globalización o la sociedad de la información y del conocimiento; que
se complementa con la importancia de las mismas en cualquier tipo de
actividad mercantil, financiera, bursátil o empresarial. Los medios de comunicación de masas también se
valen de las telecomunicaciones para compartir contenidos al público, de gran importancia a la hora de
entender el concepto de sociedad de masas.
La telecomunicación incluye muchas tecnologías como la radio, televisión, teléfono y telefonía
móvil, comunicaciones de datos, redes informáticas, Internet, radionavegación o GPS o telemetría. Gran
parte de estas tecnologías, que nacieron para satisfacer necesidades militares o científicas,
ha convergido en otras enfocadas a un consumo no especializado llamadas tecnologías de la información y
la comunicación, de gran importancia en la vida diaria de las personas, las empresas o las instituciones
estatales y políticas. Es por este contexto que la tendencia actual es la comunión de la telecomunicación
con otras disciplinas como la informática, la electrónica o la telemática para diseñar y ofrecer estos
productos y servicios, lo suficientemente complejos y multidisciplinares como para que la frontera entre la
aportación de dichas disciplinas no sea percibida por las personas —a pesar de que un informático,
un eléctrico y un telecomunicador tengan distintos ámbitos disciplinarios—.

 Videojuegos
Un videojuego es un juego electrónico en el que una o más personas interactúan, por medio de
un controlador, con un dispositivo que muestra imágenes de video. Este dispositivo electrónico, conocido
genéricamente como «plataforma», puede ser una computadora, una máquina arcade, una videoconsola o
un dispositivo portátil (un teléfono móvil, por ejemplo). Los videojuegos son, año por año, una de las
principales industrias del arte y el entretenimiento.
Al dispositivo de entrada, usado para manipular un videojuego se lo conoce como controlador de
videojuego, o mando, y varía dependiendo de la plataforma. Por ejemplo, un controlador podría
únicamente consistir de un botón y una palanca de mando o joystick, mientras otro podría presentar una
docena de botones y una o más palancas (mando). Los primeros juegos informáticos solían hacer uso de
un teclado para llevar a cabo la interacción, o bien requerían que el usuario adquiriera un joystick con un
botón como mínimo. Muchos juegos de computadora modernos permiten o exigen que el usuario utilice
un teclado y un ratón de forma simultánea. Entre los controladores más típicos están
los gamepads, joysticks, teclados, ratones y pantallas táctiles.
Generalmente, los videojuegos hacen uso de otras maneras, aparte de la imagen, de proveer
la interactividad e información al jugador. El audio es casi universal, usándose dispositivos de reproducción
de sonido, tales como altavoces y auriculares. Otro tipo de realimentación se hace a través
de periféricos hápticos que producen vibración o retroalimentación de fuerza, usándose a veces la
vibración para simular la retroalimentación de fuerza.

 Software médico

El término software médico se refiere a aquellos programas informáticos que son utilizados para
fines médicos. Se utilizan muchos dispositivos médicos para vigilar o controlar a los pacientes, en su
mayoría controlados por software. Estos programas son productos sanitarios y deben cumplir la
normativa de los mismos. Nótese que no todos los programas que se utilizan en el entorno médico son
productos sanitarios.

 Software de cálculo numérico y simbólico.


El análisis numérico o cálculo numérico es la rama de las matemáticas encargada de
diseñar algoritmos para, a través de números y reglas matemáticas simples, simular procesos matemáticos
más complejos aplicados a procesos del mundo real.
El análisis numérico cobra especial importancia con la llegada de los ordenadores.
Los ordenadores son útiles para cálculos matemáticos extremadamente complejos, pero en última
instancia operan con números binarios y operaciones matemáticas simples.
Desde este punto de vista, el análisis numérico proporcionará todo el andamiaje necesario para
llevar a cabo todos aquellos procedimientos matemáticos susceptibles de expresarse algorítmicamente,
basándose en algoritmos que permitan su simulación o cálculo en procesos más sencillos empleando
números.
Definido el error, junto con el error admisible, pasamos al concepto de estabilidad de los
algoritmos. Muchas de las operaciones matemáticas pueden llevarse adelante a través de la generación de
una serie de números que a su vez alimentan de nuevo el algoritmo (feedback). Esto proporciona un poder
de cálculo y refinamiento importantísimo a la máquina que a medida que va completando un ciclo va
llegando a la solución. El problema ocurre en determinar hasta cuándo deberá continuar con el ciclo, o si
nos estamos alejando de la solución del problema.
Finalmente, otro concepto paralelo al análisis numérico es el de la representación, tanto de los
números como de otros conceptos matemáticos como los vectores, polinomios, etc. Por ejemplo, para la
representación en ordenadores de números reales, se emplea el concepto de coma flotante que dista
mucho del empleado por la matemática convencional.

 Software de diseño asistido (CAD)


El diseño asistido por computadoras (diseño asistido por ordenador en España), más conocido
por sus siglas inglesas CAD (computer-aided design), es cuando se utilizan diferentes programadores
gráficos para lograr crear una serie de imágenes que conjuntas crean una imagen más grande (por así
decirlo) o más conocida como dibujo. El CAD es también utilizado como un medio de expresión mediante
un ordenador y un gestor gráfico; a su vez, se puede decir que también es considerado como una,
relativamente nueva técnica de dibujo revolucionaria, con la cual se pueden realizar dibujos y, o planos.
También se puede llegar a encontrar denotado con las siglas CADD (computer-aided design and
drafting), que significan «bosquejo y diseño asistido por computadora».
Estas herramientas se pueden dividir básicamente en programas de dibujo 2D y de modelado 3D.
Las herramientas de dibujo en 2D se basan en entidades geométricas vectoriales
como puntos, líneas, arcos y polígonos, con las que se puede operar a través de una interfaz gráfica. Los
modeladores en 3D añaden superficies y sólidos.
El CAD fue principalmente inventado por un francés, Pierre Bézier, ingeniero de los Arts et Métiers
ParisTech. El ingeniero desarrolló los principios fundamentales del CAD con su programa UNISURF en 1966.
El usuario puede asociar a cada entidad una serie de propiedades como color, capa, estilo de línea,
nombre, definición geométrica, material, etc., que permiten manejar la información de forma lógica.

 Software de control numérico (CAM)


La fabricación asistida por computadora (en Hispanoamérica) o fabricación asistida por
ordenador (en España), también conocida por las siglas en inglés CAM (computer-aided manufacturing),
implica el uso de computadores y tecnología de cómputo para ayudar en la fase directa de manufactura de
un producto, es un puente entre el Diseño Asistido por Computadora CAD y el lenguaje de programación
de las máquinas herramientas con una intervención mínima del operario. Es parte de los Sistemas de
planificación del proceso y la producción CAPP, que incluyen calendarización, administración y control de
calidad.
Debido a sus ventajas, se suele combinar el diseño y la fabricación asistidos por computadora en
los sistemas CAD/CAM. Esta combinación permite la transferencia de información desde la etapa de
diseño a la etapa de fabricación de un producto, sin necesidad de volver a capturar manualmente los datos
geométricos de la pieza. La base de datos que se desarrolla durante el CAD es procesada por el CAM, para
obtener los datos y las instrucciones necesarias para operar y controlar la maquinaria de producción, el
equipo de manejo de material y las pruebas e inspecciones automatizadas para establecer la calidad del
producto.
Una función de CAD/CAM importante en operaciones de mecanizado es la posibilidad de describir
la trayectoria de la herramienta para diversas operaciones, como por ejemplo torneado, fresado y
taladrado con control numérico. Las instrucciones o programas se generan en computadora, y pueden
modificar el programador para optimizar la trayectoria de las herramientas. El ingeniero o el técnico
pueden entonces mostrar y comprobar visualmente si la trayectoria tiene posibles colisiones con prensas,
soportes u otros objetos.
En cualquier momento es posible modificar la trayectoria de la herramienta para tener en cuenta
otras formas de piezas que se vayan a mecanizar. También, los sistemas CAD/CAM son capaces de
codificar y clasificar las piezas que tengan formas semejantes en grupos, mediante codificación
alfanumérica.
Algunos ejemplos de CAM son: el fresado programado por control numérico, la realización de
agujeros en circuitos automáticamente por un robot, y la soldadura automática de componentes SMD en
una planta de montaje.
El surgimiento del CAD/CAM ha tenido un gran impacto en la manufactura al normalizar el
desarrollo de los productos y reducir los esfuerzos en el diseño, pruebas y trabajo con prototipos. Esto ha
hecho posible reducir los costos de forma importante, y mejorar la productividad. Por ejemplo, el avión
bimotor de pasajeros Boeing 777 fue diseñado en su totalidad en computadora con 2000 estaciones de
trabajo conectadas a ocho computadoras. Este avión se construye de forma directa con los programas
CAD/CAM desarrollados (y el sistema ampliado CATIA), y no se construyeron prototipos ni simulaciones,
como los que se requirieron en los modelos anteriores. El costo de este desarrollo fue del orden de seis mil
millones de dólares.

También podría gustarte