Desarrollo de software

El desarrollo de software son los procesos colectivos involucrados en la creación de programas de software, que incorporan todas las etapas a lo largo del ciclo de vida de desarrollo de sistemas (SDLC).

Las metodologías SDLC apoyan el diseño de software para satisfacer una necesidad empresarial, el desarrollo de software para cumplir con el diseño especificado y la implementación de software en producción. Una metodología también debe apoyar el mantenimiento, aunque esa opción puede o no elegirse, dependiendo del proyecto en cuestión.

El modelo Waterfall, el método SDLC original, es lineal y secuencial, generalmente siguiendo estas etapas en orden:

1) Identificación del software requerido
2) Análisis de los requisitos de software
3) Especificación detallada de los requisitos de software
4) Diseño de software
5) Programación
6) Prueba
7) mantenimiento

Los modelos de cascada y similares se consideran metodologías predictivas, en contraste con los modelos adaptativos como el desarrollo ágil de software (ASD), el desarrollo rápido de aplicaciones (RAD), el desarrollo de aplicaciones conjuntas (JAD), el modelo de fuente, el modelo de espiral, construir y arreglar y sincronizar y estabilizar. Con frecuencia, varios modelos se combinan en algún tipo de metodología híbrida, como es el caso del desarrollo de software de código abierto (OSSD).

La historia del desarrollo de software se remonta aproximadamente a 1810, cuando Joseph Marie Jacquard desarrolló agujeros perforados en cartulina para guiar los patrones tejidos por sus telares. Sin embargo, no fue hasta 1949 que John Mauchly desarrolló el primer lenguaje de programación, Brief Code (más tarde conocido como Short Code).

Consulte también: Nuestra guía de referencia de desarrollo de software Learn IT. O consulte nuestro glosario de desarrollo de software imprimible con breves definiciones, vinculado a las versiones completas para obtener más información. ¿Le gustaría poner a prueba sus conocimientos? Pruebe nuestro cuestionario sobre desarrollo de software.