
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 es quizá uno de los productos de la ingeniería que más ha evolucionado en muy poco tiempo, pasando del software empírico o artesanal hasta llegar al software desarrollado bajo los principios y herramientas de la ingeniería del software.
Bajo esta definición, El concepto de software va más allá de los programas de cómputo en sus distintos estados: código fuente, binario o ejecutable; también su documentación, datos a procesar e información de usuario es parte del software: es decir, abarca todo lo intangible, todo lo "no físico" relacionado.

CLASIFICACIÒN
Software de sistema: Es aquel que permite que el hardware funcione. Su objetivo es desvincular adecuadamente al programador de los detalles del computador 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 y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
Sistemas operativos
Controladores de dispositivo
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Aplicaciones 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
Software de Control Numérico

o La libertad de usar el programa, con cualquier propósito (libertad 0).
o La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades (libertad 1).
o La libertad de distribuir copias, con lo que puede ayudar a otros (libertad 2).
o La libertad de mejorar el programa y hacer publicas las mejoras, de modo que toda la comunidad se beneficie.
· El software gratis o gratuito (denominado usualmente freeware) incluye en algunas ocasiones el código fuente; sin embargo, 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.
· De acuerdo a su protección:
De dominio publico: es el software que no esta protegido por ningún tipo de licencia. Cualquiera puede tomarlo y luego de modificarlo, hacerlo propio.
Protegido por licencias: es el tipo de software protegido con una licencia de uso. Dentro de este grupo tenemos:
b.2) Protegido con copyleft: es aquel cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional. Quiere decir que cada copia del software, aun modificada, sigue siendo como era antes.
Legal: es aquel software que se posee o circula sin contravenir ninguna norma. Por ejemplo, si tengo un software con su respectiva licencia original y con su certificado de autenticidad, o si lo tengo instalado en una sola computadora (porque la licencia solo me permite hacer eso).
Ilegal: es el software que se posee o circula violando una norma determinada. Por ejemplo: tengo licencia para usarlo en una sola computadora pero lo instalo en más de una, no tengo la licencia pero lo puedo utilizar mediante artificios (cracks, patchs, loaders, key generators, números de serie duplicados, etc.)
Propietario: es aquel software que refleja el hecho de que su propiedad absoluta permanece en manos de quien tiene sus derechos y no del usuario, quien únicamente puede utilizarlo bajo ciertas condiciones. Su uso, redistribución y/o modificación están prohibidos o restringidos de modo tal que no es posible llevarlos a cabo. Es decir, este tipo de software le da al usuario derechos limitados sobre su funcionamiento, cuyo alcance establece el autor o quien posea ese derecho. Por ejemplo, ese derecho puede ser el de ejecutar el programa "tal como es" en una determinada computadora.
El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión y gerenciamiento. Pero casi rigurosamente siempre se cumplen ciertas etapas mínimas, las que se pueden resumir como sigue:
Análisis
Codificación
Implementación
Pruebas (unitarias e integrales)
Paso a Producción
Mantenimiento
Clasificación del Software de acuerdo al tipo de trabajo realizado
Software de uso especifico
Características del Software
1. El software se desarrolla o construye; no se manufactura en el sentido clásico. A pesar de que existen similitudes entre el desarrollo del software y la manufactura del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la alta calidad se alcanza por medio del buen diseño, la fase de manufactura del hardware puede incluir problemas de calidad existentes en el software.







