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)
Proceso de creación del software
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.
El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su
porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo
es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo
disciplinado de trabajo. En el otro extremo, si se trata de un sencillo programa (por ejemplo, la
resolución de una ecuación de segundo orden), éste puede ser realizado por un solo
programador (incluso aficionado) fácilmente. Es así que normalmente se dividen en tres
categorías según su tamaño (líneas de código) o costo: de «pequeño», «mediano» y «gran
porte». Existen varias metodologías para estimarlo, una de las más populares es el
sistema COCOMO que provee métodos y un software (programa) que calcula y provee una
aproximación de todos los costos de producción en un «proyecto software» (relación
horas/hombre, costo monetario, cantidad de líneas fuente de acuerdo a lenguaje usado, etc.).
Considerando los de gran porte, es necesario realizar complejas tareas, tanto técnicas como
de gerencia, una fuerte gestión y análisis diversos (entre otras cosas), la complejidad de ello
ha llevado a que desarrolle una ingeniería específica para tratar su estudio y realización: es
conocida como ingeniería de Software.
En tanto que en los de mediano porte, pequeños equipos de trabajo (incluso un
avezado analista-programador solitario) pueden realizar la tarea. Aunque, siempre en casos
de mediano y gran porte (y a veces también en algunos de pequeño porte, según su
complejidad), se deben seguir ciertas etapas que son necesarias para la construcción