EL CICLO DE VIDA DEL DESARROLLO SOFTWARE



SDLC por sus siglas en inglés, es una secuencia estructurada y bien definida de las etapas en Ingeniería de software para desarrollar el producto de software deseado.

Etapas del SDLC El SDLC aporta una serie de pasos a seguir con la finalidad de diseñar y desarrollar un producto software de manera eficiente. El borrador del SDLC incluye los pasos que veremos a continuación:

1

Comunicación: Este es el primer paso donde el usuario(s) inicia la petición de un producto software determinado. Contacta al proveedor de servicios e intenta negociar las condiciones.

2

Levantamiento de Requisitos: A partir de este paso y en adelante el equipo de desarrollo software trabaja para tirar adelante el proyecto. El equipo se reúne con varios sponsors de dominio del problema, e intentan conseguir la máxima cantidad de información posible sobre lo que requieren. Los requisitos se contemplan y agrupan en requisitos del usuario, requisitos funcionales y requisitos del sistema. La recolección de todos los requisitos se lleva a cabo como se especifica a continuación: 

  • Análisis del software / sistema actual. 

  • Entrevistas a usuarios y sponsors actuales. 

  • Consultar base de datos, esquemas, diagramas, documentación. 

  • Levantamiento de respuestas a través de entrevistas, documentación.

Texto de Odoo y bloque de imagen
3

Estudio de viabilidad (Caso de negocio): Después de la recolección de requisitos, el equipo idea un plan para procesar el software. En esta fase, el equipo analiza si el software puede hacerse para cubrir todos los requisitos del usuario y si hay algún riesgo asociado. Se investiga si el proyecto es viable a nivel financiero, práctico, y a nivel tecnológico para que la organización acepte la oferta. Hay varios algoritmos disponibles, los cuales ayudan a los desarrolladores a concluir si el proyecto software es factible o no.

4

Análisis del sistema: En esta etapa los desarrolladores trazan su plan e intentan crear el mejor y más conveniente modelo de software para el proyecto. El análisis del sistema incluye el entendimiento de las limitaciones del producto Software; el aprendizaje de los problemas relacionados con el sistema; los cambios que se requieren en sistemas ya existentes con antelación, identificando y dirigiendo el impacto del proyecto a la organización y al personal, etc. Se detallan los requerimientos funcionales y no funcionales. El equipo del proyecto analiza las posibilidades del proyecto y planifica la temporalización y los recursos correspondientes.

5

Diseño de Software: El siguiente paso es diseñar el producto software con la ayuda de toda la información recogida sobre requisitos y análisis. Los inputs (aportaciones) de los usuarios y los resultados de la recogida de información hecha en la fase anterior serán las aportaciones base de la fase actual. El output (o resultado) de esta etapa toma la forma de 2 diseños; El diseño lógico y el diseño físico. Los ingenieros crean meta-data (Metadatos), Diagramas lógicos, diagramas de flujo de datos, diagramas de Arquitectura y en algunos casos pseudo códigos.

6

Codificación: Esta fase también se puede denominar 'fase de programación'. La implementación del diseño de software empieza con el lenguaje de programación más conveniente, y desarrollando programas ejecutables y sin errores de manera eficiente.  En esta fase se lleva a través de varios métodos como son: Desarrollo ágil, en espiral, iterativo incremental, evolutivo, etc.

7

Pruebas: Se estima que el 80% de todos los procesos de desarrollo de software deberían ser evaluados. Los errores pueden arruinar el software tanto a nivel crítico y hasta el punto de ser eliminado. Las pruebas de Software se hacen mientras se codifica y suelen hacerlo los desarrolladores y otros expertos evaluadores a varios niveles. Esto incluye evaluación de módulos, evaluación del programa, evaluación del producto, evaluación interna, finalmente evaluación con el consumidor final. Encontrar errores y su remedio a tiempo es la llave para conseguir un software fiable.

8

Integración: El Software puede necesitar estar integrado con las bibliotecas, Bases de datos o con otro u otros programas o sistemas. Esta fase se focaliza en la integración del software con las entidades externas.

9

Implementación / Delivery: Esta fase confirma el funcionamiento del software en términos de más eficiencia y menos errores. Si se requiere, los usuarios se forman, o se les presta documentación sobre como operar y como mantenerlo en funcionamiento. El software se mantiene de forma temprana actualizando el código en acorde a los cambios que tienen lugar en entornos del usuario o tecnológicos.

11

Implementación / Delivery: Esta fase confirma el funcionamiento del software en términos de más eficiencia y menos errores. Si se requiere, los usuarios se forman, o se les presta documentación sobre como operar y como mantenerlo en funcionamiento. El software se mantiene de forma temprana actualizando el código en acorde a los cambios que tienen lugar en entornos del usuario o tecnológicos.

    ¿Cómo lo hacemos?

    Cuente cuál es el valor para el
    cliente de esta característica.

    Marcos de referencia

    SCRUM

    Rational Unified Process

    Agile Development


    DEVOps