Concepto del software

miércoles, 19 de agosto de 2015

Software

Concepto de Software

El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el computador tiene, de manera que pueda resolver gran cantidad de problemas. Un computador en si, es sólo un conglomerado de componentes electrónicos; el software le da vida al computador, haciendo que sus componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas que controlan la operación de un sistema computacional.



Se conoce como software  al equipo lógico o 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.
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 anglicismo "software" es el más amplia mente difundido al referirse a este concepto, especialmente en 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.

_______________________________________


HISTORIA DEL SOFWARE


  • PRIMERA ERA
Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido. Desde entonces el campo se ha desarrollado tremendamente. La programación de computadoras era un “arte de andar por casa” para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costos a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salían con éxito. Los problemas a ser resueltos eran principalmente de una naturaleza técnica, el énfasis estaba en expresar algoritmos conocidos eficazmente en algún lenguaje de programación.
En estos primeros años lo normal era que el hardware fuera de propósito general. Por otra parte, el software se diseña a medida para cada aplicación y tenía una distribución relativamente pequeña. El software como producto estaba en su infancia. La mayoría del software se desarrollaba y era utilizado por la misma persona un organización. La misma persona lo escribía , lo ejecutaba y, si fallaba, lo depuraba. Debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estará allí cuando se encontrara algún error. Debido a este entorno personalizado del software, el diseño era un proceso implícito, realizado en la mente de alguien, y la documentación normalmente no existía.
A lo largo de los primeros años aprendimos mucho sobre la implementación de sistemas informáticos, pero relativamente poco sobre la ingeniería de las computadoras. Sin embargo, en honor de la verdad, debemos reconocer que durante esa era se desarrollaron muchos sistemas informáticos excepcionales. Algunos de ellos todavía se siguen utilizando hoy y, por sus características, siguen siendo admirados con toda justicia.

  • SEGUNDA ERA
La segunda era en la evolución de los sistemas de computadora se extienden desde la mitad de la década de los sesenta hasta finales de los setenta. La multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de interacción hombre - máquina. Las técnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticación del hardware y del software. Los sistemas de tiempo real podían recoger, analizar y transformar datos de múltiples fuentes, controlando así los procesos y produciendo salidas en milisegundos en lugar de en minutos. Los avances en los dispositivos de almacenamiento en línea condujeron a la primera generación de sistemas de gestión de bases de datos.
La segunda era se caracterizó también por el establecimiento del software ya se desarrollaba para tener una amplia distribución en un mercado multidisciplinario. Los programas se distribuían para computadoras grandes y para minicomputadoras, a cientos e incluso a miles de usuarios. Los patronos de la industria, del gobierno y de la universidad se aprestaban a “desarrollar el mejor paquete de software” y ganar así mucho dinero.
Conforme crecía el número de sistemas informáticos, comenzaron a extenderse as bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producían programas de decenas de miles de sentencias fuente. Los productos de software comprados al exterior incorporaban cientos de miles de nuevas sentencias. Una nube negra apareció en el horizonte. Todos esos programas, todas esas sentencias fuente tenían que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos hardware que se hubieran adquirido. Esta actividades se llamaron colectivamente mantenimiento del software. El esfuerzo gastado en el mantenimiento del software comenzó a absorber recursos en una medida alarmante.
Aún peor, la naturaleza personalizada de muchos programas los hacía virtualmente imposibles de mantener. Había comenzado una crisis del “software”

  • TERCERA ERA
La tercera era en la evolución de los sistemas de computadora comenzó a mediados de los años setenta y continuó más allá de una década. El sistema distribuido, múltiples computadoras, cada una ejecutando funciones concurrentemente y comunicándose con alguna otra, incrementó notablemente la complejidad de los sistemas informáticos. Las redes de área local y de área global, las comunicaciones digitales de alto ancho de banda y creciente demanda de acceso “instantáneo” a los datos, supusieron una fuente presión sobre los desarrolladores del software. Aún más, los sistemas y el software que lo permitían continuaron residiendo dentro de la industria y de la academia. El uso personal era extraño.
La conclusión de la tercera era se caracterizó por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde productos inteligentes, desde automóviles hasta hornos microondas, desde robots industriales a equipos de diagnóstico de suero sanguíneo, pero ninguno ha sido más importante que la computadora personal. En menos de una década, las computadoras llegarán a ser fácilmente accesibles al público.

  • CUARTA ERA
La cuarta era de la evolución de sistemas informáticos se aleja de las computadoras individuales y da los programas de computadoras, dirigiéndose al impacto colectivo de las computadoras individuales y de los programas de computadoras, dirigiéndose al impacto colectivo de las computadoras y del software. Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompañadas por aplicaciones de software avanzadas se han convertido en la norma. Las arquitecturas informáticas están cambiando de entornos centralizados de grandes computadoras a entornos descentralizados cliente/servidor. Las redes de información en todo el mundo proporcionan una infraestructura que iguala a expertos y políticos en pensar sobre una “superautopista de información” y una “conexión del ciberespacio”. De hecho internet se puede observar como un “software” al que pueden acceder usuarios individuales.
La industria del software ya es la cuna de la economía del mundo. Las decisiones tomadas por gigantes de la industria tales como Microsoft arriesgan billones de dólares. A medida que la cuarta generación progresa, han comenzado a surgir nuevas tecnologías. Las tecnologías orientadas a objetos están desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones. Aunque las predicciones de las computadoras de “quinta generación”” continúan eludiéndonos, “las técnicas de cuarta generación” para el desarrollo del software están cambiando en forma en que la comunidad del software construye programas informáticos. Los sistemas expertos y el software de inteligencia artificial han salido del laboratorio para entrar en aplicaciones prácticas de una gran variedad de problemas del mundo real. El software de redes neuronales artificiales junto con la aplicación de lógica difusa ha abierto posibilidades excitantes para el reconocimiento de patrones y habilidades de procesamiento de información de carácter humano. La programación de realidad virtual y los sistemas multimedia ofrecen formas radicalmente diferentes de comunicar información al usuario final. “Los algoritmos genéricos” ofrecen el potencial para el software que reside dentro de las computadoras biológicas masivamente en paralelo.
Sin embargo, un conjunto de problemas relacionados con el software ha persistido a través de la evolución de los sistemas basados en computadora, y estos problemas continúan aumentado.


El origen de las máquinas de calcular está dado por el ábaco chino, éste era una tablilla dividida en columnas en la cual la primera, contando desde la derecha, correspondía a las unidades, la siguiente a la de las decenas, y así sucesivamente. A través de sus movimientos se podía realizar operaciones de adición y sustracción.
Otro de los hechos importantes en la evolución de la informática lo situamos en el siglo XVII, donde el científico francés Blas Pascal inventó una máquina calculadora. Ésta sólo servía para hacer sumas y restas, pero este dispositivo sirvió como base para que el alemán Leibnitz, en el siglo XVIII, desarrollara una máquina que, además de realizar operaciones de adición y sustracción, podía efectuar operaciones de producto y cociente. Ya en el siglo XIX se comercializaron las primeras máquinas de calcular. En este siglo el matemático inglés Babbage desarrolló lo que se llamó "Máquina Analítica", la cual podía realizar cualquier operación matemática. Además disponía de una memoria que podía almacenar 1000 números de 50 cifras y hasta podía usar funciones auxiliares, sinembargo seguía teniendo la limitación de ser mecánica.
Recién en el primer tercio del siglo XX, con el desarrollo de la electrónica, se empiezan a solucionar los problemas técnicos que acarreaban estas máquinas, reemplazándose los sistemas de engranaje y varillas por impulsos eléctricos, estableciéndose que cuando hay un paso de corriente eléctrica será representado con un *1* y cuando no haya un paso de corriente eléctrica se representaría con un *0*.
Con el desarrollo de la segunda guerra mundial se construye el primer ordenador, el cual fue llamado Mark I y su funcionamiento se basaba en interruptores mecánicos.
En 1944 se construyó el primer ordenador con fines prácticos que se denominó Eniac.
En 1951 son desarrollados el Univac I y el Univac II (se puede decir que es el punto de partida en el surgimiento de los verdaderos ordenadores, que serán de acceso común a la gente).




_______________________________________



CLASES DE SOFTWARE


El término software (partes suaves o blandas en castellano) hace alusión a la sumatoria de aquellas reglas, programas, datos, documentación e instrucciones que permiten la ejecución de múltiples tareas en un ordenador. Es su parte lógica e intangible y actúa como nexo entre el usuario y el hardware (partes duras), es decir, la parte tangible de la computadora.





A grandes rasgos, se puede decir que existen tres tipos de software:
Software de Aplicación: aquí se incluyen todos aquellos programas que permiten al usuario realizar una o varias tareas específicas. Aquí se encuentran aquellos programas que los individuos usan de manera cotidiana como: procesadores de texto, hojas de cálculo, editores, telecomunicaciones, software de cálculo numérico y simbólico, videojuegos, entre otros.
Software de Programación: son aquellas herramientas que un programador utiliza para poder desarrollar programas informáticos. Para esto, el programador se vale de distintos lenguajes de programación. Como ejemplo se pueden tomar compiladores, programas de diseño asistido por computador, paquetes integrados, editores de texto, enlazadores, depuradores, intérpretes, entre otros. 
Software de Sistema: es aquel que permite a los usuarios interactuar con el sistema operativo así como también controlarlo. Este sistema está compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz. El sistema operativo permite facilitar la utilización del ordenador a sus usuarios ya que es el que le da la posibilidad de asignar y administrar los recursos del sistema, como ejemplo de esta clase de software se puede mencionar a Windows, Linux y Mac OS X, entre otros. Además de los sistemas operativos, dentro del software de sistema se ubican las herramientas de diagnóstico, los servidores, las utilidades, los controladores de dispositivos y las herramientas de corrección y optimización, etcétera.





_______________________________________





Diferencias entre el software libre y comercial



Diferenciar el hardware del software no es difícil. En las primeras clases de informática de cualquier escuela, mostrar las diferencias entre ambos muy común. Pero lo relativo al software es más complicados de comprender, a pesar de ser muy usados y muchas veces en forma ilegal. Un punto importante a diferenciar son los conceptos de Software Libre y Software Comercial. 




Software Libre

Software Libre o no propietario son aquellos que están bajo una licencia libre y que su uso, modificación y distribución son permitidos a todos. 
Las principales licencias de software libre son GPL y LGPL. La primera, destinada a usuarios que puedan incorporarle modificaciones o que puedan agregar el software libre a un trabajo propio, el cual deberá ponerlo a disposición también con la misma licencia. La segunda, es más libre y destinada inclusive a software comercial. 

Software Libre no implica necesariamente que es gratuito, este es un punto importante a considerar, muchos softwares libres pueden ser vendidos o incorporado a ellos la venta de consultoría o servicios anexos. 

Ejemplos de Softwares Libres:

- Sistema Operacional Linux 
- Lenguajes 
Java y PHP 
- Base de datos MySQL 
- Programa de oficina Open Office 

Software Comercial 

El Software Comercial o propietario es aquel que tiene un dueño y su uso se permite mediante una licencia comercial y en la mayoría de las veces pagada. El Software Comercial no es diferente comercialmente de cualquier otro producto, sólo teniendo en cuenta que aún pagando por un software estarás recibiendo sólo la licencia o derecho de uso y no estarás comprando el software propiamente dicho. 

Las empresas más importante en el mercado de Software Comercial son: 
Microsoft, Adobe, Corel, Autodesk, Apple, entre otras. 

Ejemplos de Softwares Comercial: 

- Sistema operativo Windows 
- Paquete de oficina Office (Word, Excel, Power Point) 
- Aplicación para el tratamiento de imágenes Photoshop 
- Suite para desarrollo web Dreamweaver, Flash y Fireworks 
- Software para diseño gráfico vectorial Corel Draw 

Cual usar? Software Libre o Software Comercial? 

Usar Software Libre y Software Comercial es una decisión de cada empresa o persona. El precio, licencia, modelo de negocios, soporte y funcionalidades son algunos puntos que deben ser considerados. 

Muchas personas y empresas, hacen uso mixto de Software Libre y Software Comercial
. Es una buena estrategia ya que de esta forma puedes explotar lo mejor de ambos. 







Sacado de: