Proceso de desarrollo de software


En ingeniería de software , un proceso de desarrollo de software es el proceso de dividir el trabajo de desarrollo de software en pasos o subprocesos más pequeños, paralelos o secuenciales para mejorar el diseño , la gestión del producto . También se conoce como ciclo de vida de desarrollo de software ( SDLC ). La metodología puede incluir la predefinición de entregables y artefactos específicos que un equipo de proyecto crea y completa para desarrollar o mantener una aplicación. [1]

La mayoría de los procesos de desarrollo modernos pueden describirse vagamente como ágiles . Otras metodologías incluyen cascada , creación de prototipos , desarrollo iterativo e incremental , desarrollo en espiral , desarrollo rápido de aplicaciones y programación extrema .

Un "modelo" de ciclo de vida a veces se considera un término más general para una categoría de metodologías y un "proceso" de desarrollo de software es un término más específico para referirse a un proceso específico elegido por una organización específica. [ cita requerida ] Por ejemplo, hay muchos procesos específicos de desarrollo de software que se ajustan al modelo de ciclo de vida en espiral. El campo a menudo se considera un subconjunto del ciclo de vida del desarrollo de sistemas .

El marco de la metodología de desarrollo de software (también conocido como SDM) no surgió hasta la década de 1960. Según Elliott (2004), el ciclo de vida de desarrollo de sistemas (SDLC) puede considerarse el marco de metodología formalizado más antiguo para construir sistemas de información . La idea principal del SDLC ha sido "proseguir el desarrollo de sistemas de información de una manera muy deliberada, estructurada y metódica, requiriendo cada etapa del ciclo de vida, desde el inicio de la idea hasta la entrega del sistema final, para llevarse a cabo de manera rígida y secuencial" [2] dentro del contexto del marco que se está aplicando. El objetivo principal de este marco de metodología en la década de 1960 era "desarrollar sistemas de negocios funcionales a gran escalaen una era de conglomerados empresariales a gran escala. Las actividades de los sistemas de información giraban en torno al procesamiento pesado de datos y las rutinas de procesamiento de números". [ 2]

Las metodologías, los procesos y los marcos van desde pasos proscriptivos específicos que una organización puede usar directamente en el trabajo diario, hasta marcos flexibles que una organización usa para generar un conjunto personalizado de pasos adaptados a las necesidades de un proyecto específico o grupo. En algunos casos, una organización de "patrocinador" o "mantenimiento" distribuye un conjunto oficial de documentos que describen el proceso. Los ejemplos específicos incluyen:

Cabe destacar que desde DSDM en 1994, todas las metodologías de la lista anterior, excepto RUP, han sido metodologías ágiles; sin embargo, muchas organizaciones, especialmente los gobiernos, todavía usan procesos pre-ágiles (a menudo en cascada o similares). El proceso de software y la calidad del software están estrechamente relacionados entre sí; algunas facetas y efectos inesperados se han observado en la práctica [3]


Modelo de desarrollo rápido de aplicaciones (RAD)
Las actividades del proceso de desarrollo de software representadas en el modelo en cascada . Hay varios otros modelos para representar este proceso.
Modelo espiral (Boehm, 1988)
Los tres enfoques básicos aplicados a los marcos de metodología de desarrollo de software.
Ciclo de vida de desarrollo de software (SDLC)