SlideShare una empresa de Scribd logo
Ciclo de Vida de
un Software
Qué es el ciclo de vida del Software
El ciclo de vida del desarrollo del software (también conocido como
SDLC o Systems Development Life Cycle) contempla las fases
necesarias para validar el desarrollo del software y así garantizar que
este cumpla los requisitos para la aplicación y verificación de los
procedimientos de desarrollo, asegurándose de que los métodos usados
son apropiados.
Su origen radica en que es muy costoso rectificar los posibles errores
que se detectan tarde en la fase de implementación. Utilizando
metodologías apropiadas, se podría detectar a tiempo para que los
programadores puedan centrarse en la calidad del software, cumpliendo
los plazos y los costes asociados.
Aunque existen diferentes ciclos de desarrollo de software, la
normativa ISO/IEC/IEEE 12207:2017 establece:
“Un marco común para los procesos del ciclo de vida de los programas
informáticos, con una terminología bien definida, a la que pueda remitirse
la industria del software. Contiene procesos, actividades y tareas
aplicables durante la adquisición, el suministro, el desarrollo, el
funcionamiento, el mantenimiento o la eliminación de sistemas,
productos y servicios informáticos. Estos procesos del ciclo de vida se
llevan a cabo mediante la participación de los interesados, con el
objetivo final de lograr la satisfacción del cliente”.
Fases de desarrollo de software
La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
para llevarlo a cabo con grandes posibilidades de éxito. Esta sistematización indica cómo se divide un proyecto en
módulos más pequeños para normalizar cómo se administra el mismo.
Así, una metodología para el desarrollo de software son los procesos a seguir sistemáticamente para idear,
implementar y mantener un producto de software desde que surge la necesidad del producto hasta que se cumple el
objetivo por el cual fue creado.
De esta forma, las etapas del
desarrollo de software son
las siguientes:
Planificación
 Antes de empezar un proyecto de desarrollo de un sistema de
información, es necesario hacer ciertas tareas que influirán
decisivamente en el éxito del mismo. Dichas tareas son conocidas como
el fuzzy front-end del proyecto, puesto que no están sujetas a plazos.
 Algunas de las tareas de esta fase incluyen actividades como la
determinación del ámbito del proyecto, la realización de un estudio de
viabilidad, el análisis de los riesgos asociados, la estimación del coste
del proyecto, su planificación temporal y la asignación de recursos a las
diferentes etapas del proyecto.
Diseño
 En esta fase se estudian posibles opciones de implementación para el software que hay que construir, así como
decidir la estructura general del mismo. El diseño es una etapa compleja y su proceso debe realizarse de
manera iterativa.
 Es posible que la solución inicial no sea la más adecuada, por lo que en tal caso hay que refinarla. No obstante,
hay catálogos de patrones de diseño muy útiles que recogen errores que otros han cometido para no caer en la
misma trampa.
Implementación
 En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de
programación apropiado para el tipo de software a construir. Esta elección dependerá tanto de las decisiones de diseño
tomadas como del entorno en el que el software deba funcionar.
Al programar, hay que intentar que el
código no sea indescifrable
siguiendo distintas pautas
como las siguientes:
•EVITAR BLOQUES DE CONTROL NO ESTRUCTURADOS.
•IDENTIFICAR CORRECTAMENTE LAS VARIABLES Y SU ALCANCE.
•ELEGIR ALGORITMOS Y ESTRUCTURAS DE DATOS ADECUADAS PARA
EL PROBLEMA.
•MANTENER LA LÓGICA DE LA APLICACIÓN LO MÁS SENCILLA
POSIBLE.
•DOCUMENTAR Y COMENTAR ADECUADAMENTE EL CÓDIGO DE LOS
PROGRAMAS.
•FACILITAR LA INTERPRETACIÓN VISUAL DEL CÓDIGO UTILIZANDO
REGLAS DE FORMATO DE CÓDIGO PREVIAMENTE CONSENSUADAS
EN EL EQUIPO DE DESARROLLO.
TAMBIÉN HAY QUE TENER EN CUENTA LA ADQUISICIÓN DE
RECURSOS NECESARIOS PARA QUE EL SOFTWARE FUNCIONE,
ADEMÁS DE DESARROLLAR CASOS DE PRUEBA PARA COMPROBAR
EL FUNCIONAMIENTO DEL MISMO SEGÚN SE VAYA PROGRAMANDO.
Pruebas
 Como errar es humano, la fase de pruebas del ciclo de vida del software busca detectar los fallos
cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo antes de
que el usuario final se los encuentre. Se dice que una prueba es un éxito si se detecta algún error.
Instalación o despliegue
 La siguiente fase es poner el software en funcionamiento, por lo que hay que planificar el
entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes del
mismo.
 Es posible que haya componentes que funcionen correctamente por separado, pero que al
combinarlos provoquen problemas. Por ello, hay que usar combinaciones conocidas que no
causen problemas de compatibilidad.
Uso y mantenimiento
Esta es una de las fases más importantes del ciclo de vida de desarrollo del
software. Puesto que el software ni se rompe ni se desgasta con el uso, su
mantenimiento incluye tres puntos diferenciados:
• Eliminar los defectos detectados durante su vida útil (mantenimiento
correctivo).
• Adaptarlo a nuevas necesidades (mantenimiento adaptativo).
• Añadirle nuevas funcionalidades (mantenimiento perfectivo).
Aunque suene contradictorio, cuanto mejor es el software más tiempo hay
que invertir en su mantenimiento. La principal razón es que se usará más
(incluso de formas que no se habían previsto) y, por ende, habrá más
propuestas de mejoras.
Modelos de ciclos de vida del software
Con el fin de facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida
(o paradigmas de desarrollo de software como la programación orientada a objetos) se han actualizado para plasmar las
etapas de desarrollo involucradas y la documentación necesaria, de forma que cada fase se valide antes de continuar con
la siguiente.
Modelo en cascada
 En el modelo de ciclo de vida en cascada las fases anteriores funcionarán
una detrás de la otra de manera lineal. De este modo, solo cuando una fase
termine se podrá continuar con la siguiente, y así progresivamente.
Modelo repetitivo
 Este modelo guía el proceso de desarrollo de software en repeticiones. Así,
proyecta el proceso de desarrollo de modo cíclico repitiendo cada paso
después de cada ciclo en el proceso de ciclo de vida del software.
Modelo en espiral
 El modelo en espiral es una combinación de los modelos anteriores donde se tiene en cuenta el riesgo. De esta forma,
se comienza fijando los objetivos y las limitaciones al empezar cada repetición. En la etapa siguiente se crean los
modelos de prototipo del software, que incluye el análisis de riesgo. Posteriormente se usa un modelo estándar para
construir el software y finalmente se prepara el plan de la próxima repetición.
Modelo en V
 Uno de los grandes problemas del modelo en cascada es que solo se pasa a la siguiente fase si se completa la
anterior y no se puede volver atrás si hay errores en etapas posteriores. Así, el modelo en V da más opciones de
evaluación del software en cada etapa.
Modelo Big Bang
 Probablemente este sea el modelo más simple, ya que
necesita poca planificación, mucha programación y
muchos fondos. Este modelo tiene como concepto
principal la creación del universo; así, si se reúnen
fondos y programación, se consigue el mejor producto
de software.
ESQUEMA:
Ciclo de Vida de un Software
Gracias

Más contenido relacionado

La actualidad más candente

Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Softwareolea_saavedra
 
Ciclo de vida del desarrollo de software
Ciclo de vida del desarrollo de softwareCiclo de vida del desarrollo de software
Ciclo de vida del desarrollo de softwareDiana Ortiz
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)Cristhian Aguilar
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
Andhy H Palma
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
masferrer1998
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
Alejandro Silva
 
Rup
RupRup
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De Software
Emilio Aviles Avila
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
Edison Morales
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwarearealisherrera
 
Expo modelocascada
Expo modelocascadaExpo modelocascada
Expo modelocascadamasilog
 
Semana 1 2-3 (3)
Semana 1 2-3 (3)Semana 1 2-3 (3)
Semana 1 2-3 (3)
J Martin Luzon
 
Modelo De Cascada
Modelo De CascadaModelo De Cascada
Modelo De Cascadaweysiba
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
Lis Pater
 

La actualidad más candente (20)

Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
 
Ciclo de vida del desarrollo de software
Ciclo de vida del desarrollo de softwareCiclo de vida del desarrollo de software
Ciclo de vida del desarrollo de software
 
ciclo_de_vida_software
ciclo_de_vida_softwareciclo_de_vida_software
ciclo_de_vida_software
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
El proceso unificado
El proceso unificadoEl proceso unificado
El proceso unificado
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Rup
RupRup
Rup
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De Software
 
Metodologias todas
Metodologias todasMetodologias todas
Metodologias todas
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Expo modelocascada
Expo modelocascadaExpo modelocascada
Expo modelocascada
 
Semana 1 2-3 (3)
Semana 1 2-3 (3)Semana 1 2-3 (3)
Semana 1 2-3 (3)
 
Modelo De Cascada
Modelo De CascadaModelo De Cascada
Modelo De Cascada
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 

Similar a Ciclo de Vida de un Software.pdf

Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
Jazmin Cr
 
Ciclo de vida de un SW.pptx
Ciclo de vida de un SW.pptxCiclo de vida de un SW.pptx
Ciclo de vida de un SW.pptx
TomasGonzalez471291
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Etapas del diseño .pdf
Etapas del diseño .pdfEtapas del diseño .pdf
Etapas del diseño .pdf
JonathanSevilla10
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
JhonJairoPerez
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
Andhy H Palma
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativaDiego Sinche
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
Nicolas Ormeño
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
Albert Cintron
 
Ciclo de vida de un software
Ciclo de vida de un softwareCiclo de vida de un software
Ciclo de vida de un software
MargotVenegas2
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
Abner Garcia
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
CESARCONTRERAS009
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
CESARCONTRERAS009
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
jafigueroa26
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
jafigueroa26
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
Pedro Montecinos Gaete
 
Rup
RupRup
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptxCICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
DEMSSHILLLEONELCOUTI
 
Expo modelocascada
Expo modelocascadaExpo modelocascada
Expo modelocascadamasilog
 

Similar a Ciclo de Vida de un Software.pdf (20)

Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Ciclo de vida de un SW.pptx
Ciclo de vida de un SW.pptxCiclo de vida de un SW.pptx
Ciclo de vida de un SW.pptx
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Etapas del diseño .pdf
Etapas del diseño .pdfEtapas del diseño .pdf
Etapas del diseño .pdf
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Ciclo de vida de un software
Ciclo de vida de un softwareCiclo de vida de un software
Ciclo de vida de un software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
metodologia
metodologia metodologia
metodologia
 
Rup
RupRup
Rup
 
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptxCICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
 
Expo modelocascada
Expo modelocascadaExpo modelocascada
Expo modelocascada
 

Último

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 

Último (6)

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 

Ciclo de Vida de un Software.pdf

  • 1. Ciclo de Vida de un Software
  • 2. Qué es el ciclo de vida del Software El ciclo de vida del desarrollo del software (también conocido como SDLC o Systems Development Life Cycle) contempla las fases necesarias para validar el desarrollo del software y así garantizar que este cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo, asegurándose de que los métodos usados son apropiados. Su origen radica en que es muy costoso rectificar los posibles errores que se detectan tarde en la fase de implementación. Utilizando metodologías apropiadas, se podría detectar a tiempo para que los programadores puedan centrarse en la calidad del software, cumpliendo los plazos y los costes asociados. Aunque existen diferentes ciclos de desarrollo de software, la normativa ISO/IEC/IEEE 12207:2017 establece: “Un marco común para los procesos del ciclo de vida de los programas informáticos, con una terminología bien definida, a la que pueda remitirse la industria del software. Contiene procesos, actividades y tareas aplicables durante la adquisición, el suministro, el desarrollo, el funcionamiento, el mantenimiento o la eliminación de sistemas, productos y servicios informáticos. Estos procesos del ciclo de vida se llevan a cabo mediante la participación de los interesados, con el objetivo final de lograr la satisfacción del cliente”.
  • 3. Fases de desarrollo de software La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto para llevarlo a cabo con grandes posibilidades de éxito. Esta sistematización indica cómo se divide un proyecto en módulos más pequeños para normalizar cómo se administra el mismo. Así, una metodología para el desarrollo de software son los procesos a seguir sistemáticamente para idear, implementar y mantener un producto de software desde que surge la necesidad del producto hasta que se cumple el objetivo por el cual fue creado.
  • 4. De esta forma, las etapas del desarrollo de software son las siguientes: Planificación  Antes de empezar un proyecto de desarrollo de un sistema de información, es necesario hacer ciertas tareas que influirán decisivamente en el éxito del mismo. Dichas tareas son conocidas como el fuzzy front-end del proyecto, puesto que no están sujetas a plazos.  Algunas de las tareas de esta fase incluyen actividades como la determinación del ámbito del proyecto, la realización de un estudio de viabilidad, el análisis de los riesgos asociados, la estimación del coste del proyecto, su planificación temporal y la asignación de recursos a las diferentes etapas del proyecto.
  • 5. Diseño  En esta fase se estudian posibles opciones de implementación para el software que hay que construir, así como decidir la estructura general del mismo. El diseño es una etapa compleja y su proceso debe realizarse de manera iterativa.  Es posible que la solución inicial no sea la más adecuada, por lo que en tal caso hay que refinarla. No obstante, hay catálogos de patrones de diseño muy útiles que recogen errores que otros han cometido para no caer en la misma trampa. Implementación  En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a construir. Esta elección dependerá tanto de las decisiones de diseño tomadas como del entorno en el que el software deba funcionar.
  • 6. Al programar, hay que intentar que el código no sea indescifrable siguiendo distintas pautas como las siguientes: •EVITAR BLOQUES DE CONTROL NO ESTRUCTURADOS. •IDENTIFICAR CORRECTAMENTE LAS VARIABLES Y SU ALCANCE. •ELEGIR ALGORITMOS Y ESTRUCTURAS DE DATOS ADECUADAS PARA EL PROBLEMA. •MANTENER LA LÓGICA DE LA APLICACIÓN LO MÁS SENCILLA POSIBLE. •DOCUMENTAR Y COMENTAR ADECUADAMENTE EL CÓDIGO DE LOS PROGRAMAS. •FACILITAR LA INTERPRETACIÓN VISUAL DEL CÓDIGO UTILIZANDO REGLAS DE FORMATO DE CÓDIGO PREVIAMENTE CONSENSUADAS EN EL EQUIPO DE DESARROLLO. TAMBIÉN HAY QUE TENER EN CUENTA LA ADQUISICIÓN DE RECURSOS NECESARIOS PARA QUE EL SOFTWARE FUNCIONE, ADEMÁS DE DESARROLLAR CASOS DE PRUEBA PARA COMPROBAR EL FUNCIONAMIENTO DEL MISMO SEGÚN SE VAYA PROGRAMANDO.
  • 7. Pruebas  Como errar es humano, la fase de pruebas del ciclo de vida del software busca detectar los fallos cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo antes de que el usuario final se los encuentre. Se dice que una prueba es un éxito si se detecta algún error. Instalación o despliegue  La siguiente fase es poner el software en funcionamiento, por lo que hay que planificar el entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes del mismo.  Es posible que haya componentes que funcionen correctamente por separado, pero que al combinarlos provoquen problemas. Por ello, hay que usar combinaciones conocidas que no causen problemas de compatibilidad.
  • 8. Uso y mantenimiento Esta es una de las fases más importantes del ciclo de vida de desarrollo del software. Puesto que el software ni se rompe ni se desgasta con el uso, su mantenimiento incluye tres puntos diferenciados: • Eliminar los defectos detectados durante su vida útil (mantenimiento correctivo). • Adaptarlo a nuevas necesidades (mantenimiento adaptativo). • Añadirle nuevas funcionalidades (mantenimiento perfectivo). Aunque suene contradictorio, cuanto mejor es el software más tiempo hay que invertir en su mantenimiento. La principal razón es que se usará más (incluso de formas que no se habían previsto) y, por ende, habrá más propuestas de mejoras.
  • 9. Modelos de ciclos de vida del software Con el fin de facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida (o paradigmas de desarrollo de software como la programación orientada a objetos) se han actualizado para plasmar las etapas de desarrollo involucradas y la documentación necesaria, de forma que cada fase se valide antes de continuar con la siguiente.
  • 10. Modelo en cascada  En el modelo de ciclo de vida en cascada las fases anteriores funcionarán una detrás de la otra de manera lineal. De este modo, solo cuando una fase termine se podrá continuar con la siguiente, y así progresivamente. Modelo repetitivo  Este modelo guía el proceso de desarrollo de software en repeticiones. Así, proyecta el proceso de desarrollo de modo cíclico repitiendo cada paso después de cada ciclo en el proceso de ciclo de vida del software.
  • 11. Modelo en espiral  El modelo en espiral es una combinación de los modelos anteriores donde se tiene en cuenta el riesgo. De esta forma, se comienza fijando los objetivos y las limitaciones al empezar cada repetición. En la etapa siguiente se crean los modelos de prototipo del software, que incluye el análisis de riesgo. Posteriormente se usa un modelo estándar para construir el software y finalmente se prepara el plan de la próxima repetición. Modelo en V  Uno de los grandes problemas del modelo en cascada es que solo se pasa a la siguiente fase si se completa la anterior y no se puede volver atrás si hay errores en etapas posteriores. Así, el modelo en V da más opciones de evaluación del software en cada etapa.
  • 12. Modelo Big Bang  Probablemente este sea el modelo más simple, ya que necesita poca planificación, mucha programación y muchos fondos. Este modelo tiene como concepto principal la creación del universo; así, si se reúnen fondos y programación, se consigue el mejor producto de software.
  • 13. ESQUEMA: Ciclo de Vida de un Software