Download UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA CENTRO

Document related concepts

Middleware wikipedia , lookup

Sistema operativo wikipedia , lookup

MATLAB wikipedia , lookup

Trusted Computing wikipedia , lookup

Sistema de gestión de paquetes wikipedia , lookup

Transcript
UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA
CENTRO UNIVERSITARIO DE SOLOLÁ
EL SOFTWARE
INTRODUCCION
El trabajo de investigación que a continuación se presenta da a conocer las diferentes funciones
que maneja un software, dado que en lo general de nuestro medio es de suma importancia
conocer los componentes básicos de las tecnologías que actualmente se nos proporciona, es por
ello que se necesita saber los sistemas de información y comunicación.
Dentro de los cuales podemos mencionar el software que hace mención a todo aquello que es lo
intangible de la computadora, Un computador en sí, es sólo un conglomerado de componentes
electrónicos; el software le da vida al computador, haciendo que sus componentes funcionen de
forma ordenada. la mayoría de los programadores llaman al software como el alma de la
computadora de igual manera el software son aquellos programas que la computadora contiene,
es el equipamiento lógico o soporte lógico de una computadora digital; 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.
SOFTWARE
Se conoce como software al equipamiento lógico o soporte lógico de una computadora digital;
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.
Se denomina software o soporte lógico a todos los componentes intangibles de una computadora,
es decir, el conjunto de programas y procedimientos necesarios para hacer posible la realización
de una tarea específica, en contraposición a los componentes físicos del sistema (hardware). Esto
incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario
realizar una tarea, y software de sistema, tal como el sistema operativo, que permite al resto de
programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el
resto de aplicaciones.
El Software es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar
tareas inteligentes, dirigiendo a los componentes físicos o hardware con instrucciones y datos a
través de diferentes tipos de programas.
El software es la parte intangible, es el alma del computador, lo único tangible que tiene el
software es el sitio donde se almacena disquetes, discos compactos (CD ROM), disco duro, etc.
Etimología
Software (pronunciación AFI:[soft' ɣ ware]) es una palabra proveniente del inglés (literalmente:
partes blandas o suaves), 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 no es estrictamente lo mismo, suele sustituirse por expresiones tales como programas
(informáticos) o aplicaciones (informáticas).
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.
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.
Componentes de software
Los componentes de Software son todos aquellos recursos desarrollados para un fin concreto y
que puede formar solo o junto con otros, un entorno funcional requerido por cualquier proceso
predefinido. Son independientes entre ellos, y tienen su propia estructura e implementación. Si
fueran propensos a la degradación debieran diseñarse con métodos internos propios de refresco y
actualización. Son partes intangibles (que no se pueden tocar) de una computadora el cual lee los
datos del hardware introduciendolos en la pc.
En la mayoría de los casos se entiende por componente de software, objetos precompilados con
interfaces bien definidas listos para ser usados en diferentes ambientes.
Clasificación del software
El Software son los programas de aplicación y los sistemas operativos, que según las funciones que
realizan pueden ser clasificados en:
 Software de Sistema
 Software de Programación
 Software de Aplicación
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 grandes tipos:
Software de Sistema
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para
interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros
programas.
El Software de Sistema se divide en:
 Sistema Operativo
 Controladores de Dispositivos
 Programas Utilitarios
Sistema operativo
El Sistema Operativo es un conjunto de programas que administran los recursos de la
computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario,
Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de
Soporte.
1. Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por
medio de interfaces que se basan en comandos, interfaces que utilizan menús, e
interfaces gráficas de usuario.
2. Administración de recursos: Administran los recursos del hardware como la CPU,
memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.
3. Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos
de datos y de programas.
4. Administración de tareas: Administra la información sobre los programas y procesos que
se están ejecutando en la computadora. Puede cambiar la prioridad entre procesos,
concluirlos y comprobar el uso de estos en la CPU, así como terminar programas.
5. Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las
implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas,
actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o
corrección de errores de software.
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel
como un sistema operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además
de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo.







Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al
programador de los detalles de la computadora 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, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre
otros:
Sistemas operativos
Controladores de dispositivos
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de Programación
El Software de Programación es el conjunto de herramientas que permiten al desarrollador
informático escribir programas usando diferentes alternativas y lenguajes de programación.
Este tipo de software incluye principalmente compiladores, intérpretes, ensambladores,
enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las
herramientas anteriores, y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI).







Software de programación: Es el conjunto de herramientas que permiten al programador
desarrollar programas informáticos, usando diferentes alternativas y lenguajes de
programación, de una manera práctica. Incluye entre otros:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
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).
Software de Aplicación
El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la
realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas
(procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de
datos...), u otros tipos de software especializados como software médico, software educativo,
editores de música, programas de contabilidad, etc.












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 otros:
Aplicaciones para Control de sistemas y automatización industrial
Aplicaciones ofimáticas
Software educativo
Software empresarial
Bases de datos
Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
Videojuegos
Software médico
Software de Cálculo Numérico y simbólico.
Software de Diseño Asistido (CAD)
Software de Control Numérico (CAM)
Funciones del software
El software es un conjunto de instrucciones detalladas que controlan la operación de un sistema
computacional.
Funciones del software:
 Administrar los recursos de cómputo
 Proporcionar las herramientas para optimizar estos recursos.
 Actuar como intermediario entre el usuario y la información almacenada.
Programas de Software
Programa: conjunto de argumentos o instrucciones para la computadora, almacenado en la
memoria primaria de la computadora junto con los datos requeridos para ser ejecutado, en otras
palabras hacer que las instrucciones sean realizadas por la computadora.
Cada software debe ser diseñado para un tipo de máquina específica para asegurar su
compatibilidad.
Lenguajes de consulta: (SQL) son lenguajes de alto nivel para recuperar datos almacenados en
bases de datos o en archivos, permiten solicitudes de información que no estén predefinidas.
Generadores de reportes: Son programas para crear informes sobre diseño en una amplia
variedad de formatos que no son rutinariamente producidos por un sistema de información.
Extraen datos de los archivos o de las bases de datos y crean reportes de acuerdo con muchos
formatos, proporcionan más control, pueden manejar datos de cálculos y lógica compleja antes de
darles la salida.
Lenguajes de gráficas: Recuperan datos de archivos o de bases de datos y los representan en un
formato gráfico.
Generadores de aplicaciones: Software que puede generar aplicaciones enteras de sistemas de
información; el usuario sólo necesita especificar cuáles son las necesidades a se satisfechas y el
generador de aplicaciones crea el código del programa adecuado para la entrada, validación
actualización, procesamiento e informes. Herramientas de desarrollo: un sistema de
administración de base de datos, diccionario de datos, lenguaje de consulta (SQL), protectores de
pantalla, generador de gráficas, generador de reportes herramientas para el soporte/simulación
de decisiones, elementos de seguridad y un lenguaje de programación de alto nivel.
Paquetes de software de aplicaciones: Conjunto prescrito, pre codificado y comercialmente
disponible de programas que elimina la necesidad de las personas de escribir sus propios
programas de software. Existen paquetes de aplicaciones para sistemas grandes y complejos los
cuales deben ser instalados por especialistas técnicos.
Software de procesamiento de palabras: Almacena datos de texto electrónicamente, como un
archivo de computadora, permite hacer cambios que se encuentra en la memoria. El software
tiene opciones de formateo para hacer cambios en el espacio de líneas, márgenes, tamaño de los
caracteres y ancho de la columna. Ejemplos: Word, Wordperfect.
Hojas de cálculo: Software que despliega los datos en una malla de columnas y renglones, con la
capacidad de calcular fácilmente los datos numéricos. Proporciona capacidades gráficas para una
presentación visual clara de los datos en las hojas de cálculo.
Software de administración de datos: Es más apropiado para crear y manejar listas y combinar
información de archivos diferentes. Los paquetes de administración de datos tienen características
de programación y menús fáciles de aprender. Ejemplos: dBASE IV, dBASEIII, Paradox, Rbase y
Foxbase.
Paquetes de software integrados: Combinan las funciones de los más importantes paquetes de
software como: hojas de cálculo, procesador de palabras, gráficas y administración de datos. Esta
integración elimina la entrada redundante de datos y el mantenimiento de los mismos.
Pasos del desarrollo de software.
1. Especificación del programa
2. Diseño del programa
3. Codificación del programa
4. Prueba
5. Documentación
6. Mantenimiento
1. Especificación del programa
Se conoce también como definición del problema o análisis del programa. En este paso se
determinan la información inicial para la elaboración del programa. Es donde se determina qué es
lo que debe resolverse con el computador, de qué presupuestos se debe partir... en definitiva, el
planteamiento del problema.
Se requieren cinco tareas:
a. Determinación de objetivos del programa.
Debe definirse claramente los problemas particulares que deberán ser resueltos o las tareas que
hay que realizar, esto nos permitirá saber qué es lo que se pretende solucionar y nos
proporcionará información útil para el planeamiento de la solución.
b. Determinación de la salida deseada.
Los datos seleccionados deben ser arreglados en una forma ordenada para producir información.
Esta salida podría ser una salida de impresión o de presentación en el monitor.
c. Determinación de los datos de entrada.
Una vez identificada la salida que se desea, se pueden determinar los datos de entrada y la fuente
de estos datos. Los datos deben ser recolectados y analizados.
d. Determinación de los requerimientos de procesamiento.
Aquí se definen las tareas de procesamiento que deben desempeñarse para que los datos de
entrada se conviertan en una salida.
e. Documentación de las especificaciones del programa.
Es importante disponer de documentación permanente. Deben registrarse todos los datos
necesarios para el procesamiento requerido. Esto conduce al siguiente paso del diseño del
programa.
2. Diseño del programa
Es diseñar cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer las
necesidades. Esta actividad se debe dividir en:
- Operaciones de entrada/salida
- Cálculos
- Lógica/ comparación
- Almacenamiento/ consulta
En este paso se genera una solución con técnicas de programación como diseño descendente de
programas, pseudocódigos, flujogramas y estructuras lógicas.
3. Codificación del programa
Es la generación real del programa con un lenguaje de programación. En esta etapa se hace uso de
la lógica que desarrolló en el paso del diseño del programa para efectivamente generar un
programa. Se debe seleccionar el lenguaje apropiado para resolver el problema.
4. Prueba y depuración del programa
Depurar es correr el programa en una computadora y corregir las partes que no funcionan. En esta
fase se comprueba el funcionamiento de cada programa y esto se hace con datos reales o ficticios.
Cuando los programas están depurados, se prueban. Cuando los programas se depuran, se pueden
encontrar los siguientes errores:
a) Errores de sintaxis o de compilación
b) Errores de ejecución
c) Errores de lógica
d) Errores de especificación.
a) Errores de sintaxis o de compilación
Es una violación de las reglas del lenguaje de programación. Son más fáciles de corregir, ya que
son detectados por el compilador (posible error de escritura), el cual dará información sobre el
lugar donde está y la naturaleza de cada uno de ellos mediante un mensaje de error.
b) Errores de Ejecución
Se deben generalmente a operaciones no permitidas como dividir por cero, leer un dato no
numérico en una variable numérica, exceder un rango de valores permitidos, etc. Se detectan
porque se produce una parada anormal del programa durante su ejecución.
c) Errores de Lógica
Corresponden a la obtención de resultados que no son correctos y la única manera de detectarlos
es realizando suficientes pruebas del programa. Son los más difíciles de corregir, no sólo por la
dificultad de detectarlos, sino porque se deben a la propia concepción y diseño del programa.
d) Errores de Especificación
Es el peor tipo de error y el más difícil de corregir. Se deben a mal diseño del programa
posiblemente por mala comunicación usuario programador y se detectan cuando ya se ha
concluido el diseño e instalación del programa, lo cual puede implicar repetir gran parte del
trabajo realizado.
Prueba:
Consiste en verificar la funcionalidad del programa a través de varios métodos para detectar
errores posibles.
Métodos de Prueba:
Chequeo de escritorio
Prueba manual de datos de muestra
Intento de traducción
Prueba de datos de muestra en la computadora
Prueba por un grupo selecto de usuarios potenciales.
a. Chequeo de Escritorio:
El programador se sienta frente a un escritorio y corrige una impresión del programa. Revisa el
listado línea por línea en busca de errores de sintaxis y lógica.
b. Prueba manual de datos de muestra:
Se corre el programa en forma manual aplicando datos tanto correctos como incorrectos para
comprobar que funciona correctamente.
c. Intento de Traducción:
El programa corre en una computadora usando un programa traductor para convertirlo a lenguaje
de máquina. Para ello debe estar ya libre de errores de sintaxis, de lo contrario serán identificados
por el programa de traducción.
d. Prueba de datos de muestra en la computadora:
Después del intento de traducción y corregidos los errores de sintaxis, se procede a buscar errores
de lógica utilizando diferentes datos de muestra.
e. Prueba por un grupo selecto de usuarios potenciales:
Esto se conoce como prueba beta. Se trata por lo general del paso final en la prueba de un
programa. Usuarios potenciales ponen a prueba el programa y ofrecen retroalimentación.
5. Documentación del programa
Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y
su modo de uso. También se debe documentar el programa para que sea más entendible.
¿Para quiénes son la documentación?
- Usuarios (Digitadores)
- Operadores
- Programadores
- Analistas de sistemas
Documentos que se elaboran:
Manual de Usuario y Manual del Analista.
A los usuarios se les elabora un manual de referencia para que aprendan a utilizar el programa.
Esto se hace a través de capacitaciones y revisión de la documentación del manual de usuario. El
manual del usuario no está escrito a nivel técnico sino al de los distintos usuarios previstos y
explica en detalle cómo usar el programa: descripción de las tareas que realiza el programa,
instrucciones necesarias para su instalación puesta en marcha y funcionamiento,
recomendaciones de uso, menús de opciones, método de entrada y salida de datos, mensajes de
error, recuperación de errores, etc.
A los operadores por si se presentan mensajes de error, sepan cómo responder a ellos. Además
que se encargan de darle soporte técnico al programa.
A los programadores a través del manual del analista para que recuerden aspectos de la
elaboración del programa o en caso que otras personas puedan actualizarlo o modificarlo (darle
mantenimiento) y no son necesariamente las personas que lo diseñaron. Es por ello, que la
documentación debe contener algoritmos y flujo gramas de los diferentes módulos que lo
constituyen y las relaciones que se establecen entre ellos; listados del programa, corridas,
descripción de variables que se emplean en cada módulo, cuáles son comunes a diferentes
módulos y cuáles locales; descripción de los ficheros de cada módulo y todo lo que sea de
importancia para un programador.
A los analistas de sistemas que son las personas que deberán proporcionar toda la información al
programador. Estos se encargan de hacer una investigación previa de cómo realizar el programa y
documentar con las herramientas necesarias para que el programador pueda desarrollar el
sistema en algún lenguaje de programación adecuado.
6. Mantenimiento del programa
Es el paso final del desarrollo del software. Alrededor del 75% del costo total del ciclo de vida de
un programa se destina al mantenimiento. El propósito del mantenimiento es garantizar que los
programas en uso estén libres de errores de operación y sean eficientes y efectivos.
Finalmente tenemos que hablar de los programas gratis y que como navegadores consumados en
los que nos vamos constituir después de leer este libro, los encontrarán en la web. De esta manera
no será extraño encontrar en algunas páginas términos como SOFTWARE LIBRE, que algunas
veces, efectivamente son gratis. Software gratis, como el sistema operativo LINUX, el traductor
BABYLON, el compresor WINZIP, y muchos otros, son considerados por algunos usuarios, como
programas para el uso y el abuso. Ello nos obliga a explicarle al lector que no es así, todas las
veces, implicando por ello responsabilidades legales, cuando se superan las limitaciones que
incluyen algún software en sus licencias y debemos conocer.
Veamos cuales son:
El software libre
El software libre (en inglés free software, esta denominación también se confunde a veces con
gratis por la ambigüedad del término en el idioma inglés) es la denominación del software que
respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido
puede ser usado, copiado, estudiado, cambiado y redistribuido libremente. Según la Free Software
Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, modificar el software y distribuirlo modificado.
El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a
través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar
software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su
carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el
"software gratis" o "gratuito" incluye en ocasiones el código fuente; no obstante, este tipo de
software no es libre en el mismo sentido que el software libre, a menos que se garanticen los
derechos de modificación y redistribución de dichas versiones modificadas del programa.
Tampoco debe confundirse software libre con "software de dominio público". Éste último es aquel
software que no requiere de licencia, pues sus derechos de explotación son para toda la
humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con
fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la
humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de
este, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que
sea, ya no es del dominio público.
FREE SOFTWARE (Programa libre y gratis) Cuando hablamos o encontramos el término de FREE,
se cree que se trata solamente de programas que el usuario puede utilizar sin pagar un peso y que
normalmente se encuentra gratis en Internet. Pero FREE SOFTWARE, es muchos más que eso.
RICHARD STALLMAN, fundador del proyecto GNU (no es una sigla, sino el producto de un juegos
de palabras que significa "nosotros no somos UNIX"), nos dice en su página web, que fue
desarrollador de un sistema operativo y que tiene las habilidades apropiadas para esa tarea.
Agrega que aun cuando no tenía garantías de éxito, se dio cuenta que había sido elegido para
hacer ese trabajo. Que por eso decidió hacer que el sistema fuese compatible con UNIX pues así
sería portable, y los usuarios de UNIX podrían cambiarse a él con facilidad. Dice también que para
un software sea libre, este debe cumplir los siguientes requisitos:
Que se pueda ejecutar sin importar el propósito.
 Que el usuario lo pueda modificar para ajustarlo a sus necesidades, teniendo acceso al
código fuente, pues si no se sabe, no se podrá lograr cambios en el código fuente.
 Que el usuario pueda redistribuir copias del programa, ya sea gratis o por una suma
determinada.
 Que el usuario pueda distribuir versiones modificadas del programa siempre y cuando se
documenten los cambios al software.
OPEN SOURCE. Es necesario aclarar que OPEN SOURCE y FREE SOFTWARE son esencialmente los
mismos, la diferencia radica en que los defensores del free software no están cien por cien de
acuerdo con que las empresas disfruten y distribuyan free software ya que, según ello, el mercado
corporativo antepone la utilidad a la libertad, a la comunidad y a los principios y por ende no va de
la mano con la filosofía pura detrás del free software. Open Source es pues, el software que puede
ser compartido abiertamente entre desarrolladores y usuarios finales de tal forma que todos
aprendan de todos. Tal es el caso de Linux.
LICENCIA GPL (General Public Licence o copy left) La licencia GPL se aplica al software de la FSF
(Free Software Foundation) y el proyecto GNU y otorga al usuario la libertad de compartir el
software y realizar cambios en él. Mutatis mutandi, el usuario tiene derecho a usar el programa,
modificarlo y a distribuir las versiones modificadas pero no tiene permiso de realizar restricciones
propias con respecto a la utilización de programa modificado. El nombre de COPYLEFT ALL RIGHTS
REVERSED (algo así como izquierdos de autor-todos los derechos reversados) sería lo contrario
de COPY RIGHT-ALL RIGHTS RESERVED, todos los derechos de autor reservados.
SOFWARE DE DOMINIO PÚBLICO: Este software no está protegido por las leyes de derechos de
autor y puede ser copiado por cualquiera sin costo alguno, no implicando que se le puedan sacar
copias ora modificarlo o redistribuirlo.
FREWARE: Es el software que el usuario final puede bajar totalmente gratis de Internet, y éste
finalmente no puede realizar algo que no esté expresamente autorizado por el autor del
programa, como modificarlo o venderlo.
SHARWARE: Es el software que se distribuye gratis y el usuario puede utilizarlo totalmente gratis
durante un tiempo como prueba, el autor exige que superado el término, el usuario pagará el
programa.
El primer software
Máquina analítica de Charles Babbage
Ada Lovelace es recordada principalmente por haber escrito una descripción de la antigua
máquina analítica de Charles Babbage, también desarrolló instrucciones para hacer cálculos en
una versión inicial del computador.
En sus notas, Ada Augusta dice que la «máquina analítica» sólo podía dar información disponible
que ya era conocida: vio claramente que no podía originar conocimiento. Su trabajo fue olvidado
por muchos años, atribuyéndole exclusivamente un papel de transcriptora de las notas de
Babbage. Este mismo caracterizó su aporte al llamarla su intérprete aunque recientes
investigaciones muestran la originalidad de su punto de vista sobre las instrucciones necesarias
para el funcionamiento de la «máquina analítica».
Hoy en día se reconoce a Ada Byron como la primera persona en describir un lenguaje de
programación de carácter general interpretando las ideas de Babbage, pero reconociéndosele la
plena autoría y originalidad de sus aportes. Ada Byron es la madre de la programación informática.
Ada Lovelace Publicó en 1843 una serie de influyentes notas sobre la computadora de Babbage, su
«máquina analítica» que nunca llegó a construirse, aunque las firmó con sus iniciales por miedo a
ser censurada por ser mujer. Ada Byron se llamó a sí misma una analista, un concepto realmente
moderno para la época.
Ejemplos de software
Sistemas operativos:
Windows • Linux • Mac OS X • BSD • Plan 9 • Palm OS • MS-DOS • BeOS • MVS • OS/2 • Solaris •
Unix
Suites ofimáticas:
Microsoft Office • OpenOffice.org • Gnome Office • KOffice
Procesadores de texto:
Word • AbiWord • Writer • KWord • iWork • Microsoft Works • WordPerfect Office • Adobe
InCopy • WordPerfect
Hojas de cálculo:
Gnumeric • Excel • Calc • KSpread • VisiCalc
Programas de presentación:
PowerPoint • Impress • KPresenter • Corel Presentations
Software de gráficos:
GIMP • Paint.NET • Blender • Maya • Photoshop • 3D Studio Max • CorelDRAW • Scribus •
Rhinoceros 3D • ArchiCAD • AutoCAD • Kerkythea
Sistemas de gestión de bases de datos:
MySQL • PostgreSQL • Firebird • SQLite • Apache Derby • SQL Server • Oracle • Informix • DB2 •
Sybase IQ • Base • Access • FileMaker • dBase • Visual FoxPro
Navegadores web:
Internet Explorer • Firefox • Opera • Camino • Netscape Navigator • Konqueror • Safari • Nautilus
• Mosaic • Google Chrome •
Clientes de correo:
Outlook Express • Thunderbird • Evolution • KMail • Lotus Notes • fetchmail • getmail
Mensajería instantánea:
MSN Messenger • Yahoo! Messenger • Google Talk • aMSN • KMess • Gajim • Kopete • Miranda
IM • Adium • Pidgin • Openfire • Meetro • meebo • AOL • ICQ • ejabberd
Voz sobre IP:
Skype • WengoPhone NG • Voipbuster • Jajah • OpenWengo • Asterisk • NetMeeting
P2P:
Napster • eMule • Shareaza • MLDonkey • Gnutella • Gtk-Gnutella • DC++ • Vuze • BitTorrent •
Ares Galaxy
Gestores de contenidos (CMS):
Drupal • Joomla! • Plone • WordPress • Apache Lenya • OpenCms • LifeType • Slash • Mambo •
Blakord Portal • PostNuke • TYPO3
Software para crear Wikis:
MediaWiki • TiddlyWiki • MoinMoin • DokuWiki • UseModWiki • TikiWiki
Software educativo:
Moodle • ATutor • Claroline • Dokeos • Edubuntu • GCompris • GeoGebra • Wikspeak • WebCT •
VTrain • Stellarium • Rosetta Stone • Programa Clic
Lenguajes de programación:
Assembler • Haskell • APL • Fortran • C • HTML/XHTML • JavaScript • ALGOL • DBase • ASP • PHP
• COBOL • Perl • LISP • Smalltalk • Clipper • Prolog • Python • Pascal • Modula-2 • C++ • Java •
BASIC • Scheme • RPG II • Ruby • SQL • Lua • Scheme
CONCLUSION
El Software Es el conjunto de programas de cómputo, procedimientos, reglas, documentación y
datos asociados que forman parte de las operaciones de un sistema de computación. Los
programas de una computadora tales como. windows xp, vista, etc. msn, nero, media player.
Office 2007, 2010 etc.
El desarrollo del software y la programación es uno de los pilares fundamentales de la informática
y al cual se dedican muchas horas de esfuerzos en empresas, colegios, academias y universidades.
El uso de software de libre uso disponible en Internet tiene varios atractivos generales, tales como
su disponibilidad inmediata y el bajo o ningún costo. Un aspecto llamativo adicional es que el tipo
de software que se encuentra disponible en Internet muchas veces corresponde a software único
en su clase, o corresponde a software que no se consigue fácilmente de formas tradicional.