2. El Software
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.
3. 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, Controladores de dispositivos, Controladores de
dispositivos, Herramientas de diagnóstico, Herramientas de Corrección y
Optimización, Servidores, Utilidades.
Ejemplos en desktop: Windows y Linux. Y Ejemplos en Celulares: Android
y Windows Phone
4. 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
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).
Ejemplos en desktop: Microsoft Office y Open Office. Y Ejemplos en Celulares: What’sApp y
Skype.
5. 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. Incluyen básicamente:
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).
Ejemplos en desktop: Oracle y Java Y Ejemplos en Celulares: LiveCode y App
Inventor
6. Etapas del Proceso de Desarrollo de Software
Los “procesos de desarrollo de software” poseen reglas preestablecidas, y deben
ser aplicados en la creación del software de mediano y gran porte, ya que en caso
contrario lo más seguro es que el proyecto no logre concluir o termine sin cumplir
los objetivos previstos, y con variedad de fallos inaceptables (fracasan, en pocas
palabras). Entre tales «procesos» los hay ágiles o livianos (ejemplo XP), pesados y
lentos (ejemplo RUP), y variantes intermedias. Normalmente se aplican de
acuerdo al tipo y porte del software a desarrollar, a criterio del líder (si lo hay) del
equipo de desarrollo. Algunos de esos procesos son Programación Extrema (en
inglés eXtreme Programming o XP), Proceso Unificado de Rational (en inglés
Rational Unified Process o RUP), Feature Driven Development (FDD).
Se define como proceso al conjunto ordenado de pasos a seguir para llegar a la
solución de un problema u obtención de un producto, en este caso particular, para
lograr un producto software que resuelva un problema específico.
7. Los Tipos de Licencias que Existen en el
Software
Uno de los puntos en que con mayor frecuencia se confunden los usuarios de computadoras, es en el
tipo de licencia que ofrece el software. Estas licencias básicamente son un contrato entre el autor
del programa y el usuario, y comprenden una serie de términos y cláusulas que el usuario deberá
cumplir para usar el mismo.
Software Libre o Free Software
Es un software disponible para cualquiera que desee utilizarlo, copiarlo y distribuirlo, ya sea en su forma
original o con modificaciones. La posibilidad de modificaciones implica que el código fuente está
disponible. Si un programa es libre, puede ser potencialmente incluido en un sistema operativo también
libre.
Software Semi-libre
El Software semi-libre es un software que no es libre pero permite que otros individuos lo usen, lo
copien, lo distribuyan y hasta lo modifiquen. Ejemplos de software semi-libre son las primeras versiones
de Internet Explorer de Microsoft, o algunas versiones de browsers de Netscape, y StarOffice.
Software Propietario
El Software propietario es aquel cuya copia, redistribución o modificación están, en alguna medida,
prohibidos por su propietario. Para usar, copiar o redistribuir, se debe solicitar permiso al propietario o
pagar.
Software Comercial
El Software comercial es el software desarrollado por una empresa con el objetivo de lucrar con su
utilización.
8. Maquina virtual
En informática una máquina virtual es un software que simula a una
computadora y puede ejecutar programas como si fuese una computadora
real. Este software en un principio fue definido como "un duplicado eficiente
y aislado de una máquina física". La acepción del término actualmente
incluye a máquinas virtuales que no tienen ninguna equivalencia directa con
ningún hardware real.
Las máquinas virtuales se pueden clasificar en dos grandes categorías según su
funcionalidad y su grado de equivalencia a una verdadera máquina.
Máquinas virtuales de sistema (en inglés System Virtual Machine)
Máquinas virtuales de proceso (en inglés Process Virtual Machine)
Una característica esencial de las máquinas virtuales es que los procesos que
ejecutan están limitados por los recursos y abstracciones proporcionados por
ellas. Estos procesos no pueden escaparse de esta "computadora virtual".