Las fases del ciclo de vida del programa son las etapas por las que pasa un programa informático , desde su creación inicial hasta su implementación y ejecución . Las fases son el tiempo de edición, el tiempo de compilación , el tiempo de enlace , el tiempo de distribución, el tiempo de instalación , el tiempo de carga y el tiempo de ejecución .
Las fases del ciclo de vida no necesariamente ocurren en un orden lineal y pueden estar entrelazadas de diversas maneras. Por ejemplo, al modificar un programa, los desarrolladores de software pueden necesitar editarlo, compilarlo, instalarlo y ejecutarlo repetidamente en sus propias computadoras para garantizar una calidad suficiente antes de que pueda distribuirse a los usuarios ; luego, los usuarios descargan, instalan y ejecutan copias del programa modificado en sus computadoras.
El tiempo de edición es cuando se edita el código fuente del programa. Esto abarca desde la creación inicial hasta la corrección de errores , la refactorización o la incorporación de nuevas funciones . La edición normalmente la realiza una persona, pero también se pueden utilizar herramientas de diseño automatizadas y sistemas de metaprogramación .
El tiempo de compilación es cuando un compilador traduce el código fuente a código de máquina . Parte de esto implica la verificación del lenguaje, como garantizar el uso correcto del sistema de tipos . El resultado de una compilación exitosa es un ejecutable .
El tiempo de enlace conecta todos los componentes de código de máquina necesarios de un programa, incluidos los externos. Es muy común que los programas utilicen funciones implementadas por bibliotecas externas , todas las cuales deben estar correctamente enlazadas entre sí. Hay dos tipos de enlace. El enlace estático es cuando la conexión la realiza el compilador, que siempre es anterior a la ejecución. El enlace dinámico , en cambio, lo realiza el sistema operativo (OS) justo antes o incluso durante la ejecución.
El tiempo de distribución es el proceso de transferir una copia de un programa a un usuario. El formato de distribución suele ser un ejecutable, pero también puede ser un código fuente, especialmente en el caso de un programa escrito en un lenguaje interpretado . Los medios de distribución pueden ser medios físicos, como una unidad flash USB , o una descarga remota a través de Internet .
El tiempo de instalación prepara el programa distribuido para su ejecución en la computadora del usuario, lo que a menudo incluye el almacenamiento del ejecutable para que el sistema operativo lo cargue en el futuro.
El tiempo de carga es cuando el sistema operativo toma el ejecutable del programa del almacenamiento, como un disco duro , y lo coloca en la memoria activa , para comenzar la ejecución.
El tiempo de ejecución es la fase de ejecución, cuando la unidad central de procesamiento ejecuta las instrucciones del código de máquina del programa. Los programas pueden ejecutarse indefinidamente. Si la ejecución finaliza, se tratará de un comportamiento normal y esperado o de una anomalía, como un bloqueo .