Software - Ciclo de Vida de Desarrollo



El ciclo de vida del desarrollo Software (SDLC en sus siglas inglesas), es una secuencia estructurada y bien definida de las etapas en Ingeniera de software para desarrollar el producto sofware deseado.

Actividades del SDLC

El SDLC aporta una serie de pasos a seguir con la finalidad de disear y desarrollar un producto software de manera eficiente. El borrador del SDLC incluye los pasos que veremos a continuacin:

SDLC

Comunicacin

Este es el primer paso donde l usuario inicia la peticin de un producto software determinado. Contacta al proveedor de servicios e intenta negociar las condiciones. Presenta su solicitud al proveedor de servicios aportando la organizacin por escrito.

Recoleccin de solicitudes

A partir de este paso y en adelante el equipo de desarrollo software trabaja para tirar adelante el proyecto. El equipo se rene con varios depositarios de dominio del problema, e intentan conseguir la mxima cantidad de informacin possible sobre lo que requieren. Los requisitos se contemplan y agrupan en requisitos del usuario, requisitos funcionales y requisitos del sistema. La recoleccin de todos los requisitos se lleva a cabo como se especifica a continacin -

  • Estudiando el software y el sistema actual o obsoleto,

  • Entrevistando a usuarios y a desarrolladores de Software,

  • Consultando la base de datos o

  • Recogiendo respuestas a travs de cuestionarios.

Estudio de viabilidad

Despus de la recoleccin 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 alguna posibilidad de que el software ya no sea necesario. Se investiga si el proyecto es viable a nivel financiero, prctico, y a nivel tecnolgico para que la organizacin acepte la oferta. Hay varios algoritmos disponibles, los cuales ayudan a los desarrolladores a concluir si el proyecto software es factible o no.

Anlisis del sistema

En este pas los desarrolladores trazan su plan e intentan crear el mejor y ms conveniente modelo de software para el proyecto. El anlisis del sistema inclye 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 antelacin, identificando y dirigiendo el impacto del proyecto a la organizacin y al personal, etc. El equipo del proyecto analiza las posibilidades del proyecto y planifica la temporalizacin y los recursos correspondientes.

Diseo de Software

El siguiente paso es disear el producto software con la ayuda de toda la informacin recogida sobre requisitos y anlisis. Los inputs (aportacines) de los usuarios y los resultados de la recogida de informacin hecha en la fase anterior seran las aportaciones base de la fase actual. El output (o resultado) de esta etapa toma la forma de 2 diseos; El diseo lgico y el diseo fsico. Los ingenieros crean meta-data (Metadatos), Diagramas dilgicos, diagramas de flujo de datos, y en algunos casos pseudocdigos.

Codificacin

Esta fase tambin se puede denominar 'fase de programacin'. La implementacin del diseo de software empieza con el lenguaje de programacin ms conveniente, y desarrollando programas ejecutables y sin errores de manera eficiente.

Pruebas

Se estima que el 50% de todos los procesos de desarrollo de software deberan ser evaluados. Los errores pueden arruinar el software tanto a nivel crtico 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 evaluacin de mdulos, evaluacin del programa, evaluacin del producto, evaluacin interna y finalmente evaluacin con el consumidor final. Encontrar errores y su remedio a tiempo es la llave para conseguir un software fiable.

Integracin

El Software puede necesitar estar integrado con las bibliotecas, Bases de datos o con otro u otros programas. Esta fase del SDLC se focaliza en la integracin del software con las entidades del mundo exterior.

Implementacin

Aqu se instala el software en mquinas de clientes. A veces, el software necesita instalar configuraciones para el consumidor final con posterioridad. El Software se evala por su adaptabilidad y su portabilidad, en cuanto a las cuestiones relacionadas con la integracin y conceptos asociados, se resuelven durante la implementacin.

Mantenimiento y Funcionamiento

Esta fase confirma el funcionamiento del software en trminos de ms eficiencia y menos errores. Si se requiere, los usuarios se forman, o se les presta documentacin sobre como operar y como mantenerlo en funcionamiento. El software se mantiene de forma temprana actualizando el cdigo en acorde a los cambios que tienen lugar en entornos del usuario o tecnolgicos. Esta fase puede que tenga que encarar retos originados por virus ocultos o problemas no identificados del mundo real.

Disposicin

Con el paso del tiempo, puede que el software falle en su ejecucin. Puede que se vuelva totalmente obsoleto o que necesite actualizaciones. De ah surge una necesidad urgente de eliminar una parte importante del sistema. Esta fase incluye archivar datos y componentes software requeridos, cierre del sistema, planificacin de la actividad de disposicin y terminacin de sistema en el momento final del sistema.

Paradigma de desarrollo de Software

El Paradigma de desarrollo de Software ayuda al desarrollador a escoger una estrategia para desarrollar el software. El paradigma de desarrollo software tiene su propio set de herramientas, mtodos y procedimientos, los cuales son expresados de forma clara, y define el ciclo de vida del desarrollo del software. Algunos paradigmas de desarrollo de software o modelos de proceso se definen a continuacin:

Modelo de cascada

El modelo de cascada es el modelo de paradigma ms simple en desarrollo de software. Sigue un modelo en que las fases del SDLC funcionarn una detrs de la otra de forma lineal. Lo que significa que solamente cuando la primera fase se termina se puede empezar con la segunda, y as progresivamente.

Este modelo asume que todo se lleva a cabo y tiene lugar tal y como se haba planeado en la fase anterior, y no es necesario pensar en asuntos pasados que podran surgir en la siguiente fase. Este modelo no funcionar correctamente si se dejan asuntos de lado en la fase previa. La naturaleza secuencial del modelo no permite volver atrs y deshacer o volver a hacer acciones.

Este modelo es recomendable cuando el desarrollador ya ha diseado y desarrollado softwares similares con anterioridad, y por eso est al tanto de todos sus dominios.

Modelo repetitivo

Este modelo gua el proceso de desarrollo de software en repeticiones. Proyecta el proceso de desarrollo de forma cclica repitiendo cada paso despus de cada ciclo en el proceso de SDLC.

Modelo iterativo

El software primero se desarrolla en menor escala y se siguen y tienen en consideracin todos los pasos. Entonces, por cada repeticin, ms mdulos y caractersticas son diseados, codificados, evaluados y aadidos al software. Cada ciclo produce un sotware completo, con ms caractersticas y capacidad que los previos.

Despus de cada repeticin, el equipo directivo puede concentrarse en la gestin de riesgos y prepararse para la siguiente repeticin. Como el ciclo incluye pequeas porciones de la totalidad del proceso software, es ms fcil gestionar el proceso de desarrollo, pero a la vez se consumen ms recursos.

Modelo en espiral

El modelo en espiral es una combinacin de ambos modelos, el repetitivo y uno del modelo SDLC. Se puede ver como si se combina un modelo de SDLC combinado con un proceso cclico (modelo repetitivo).

Modelo espiral

Este modelo considera el riesgo, factor que otros modelos olvidan o no prestan atencin en el proceso. El modelo empieza determinando los objetivos y las limitaciones del software al inicio de cada repeticin. En la siguiente etapa se crean los modelos de prototipo del software. Esto incluye el anlisis de riesgos. Luego un modelo estndar de SDLC se usa para construir el software. En la cuarta etapa es donde se prepara el plan de la siguiente repeticin.

Modelo V

El mayor inconveniente del modelo de cascada es que solo se pasa a la siguiente fase cuando se completa la anterior, por tanto no es posible volver atrs si se encuentra algn error en las etapas posteriores. El Modelo V aporta opciones de evaluacin del software en cada etapa de manera inversa.

V-Modelo

En cada etapa, se crea la planificain de las pruebas y los casos de pruebas para verificar y validar el producto segn los requisitos de la etapa. Por ejemplo, en la etapa de recogida de requisitos, el equipo de evaluadores prepara las pruebas de caso correspondientes a los requisitos. Ms tarde, cuando el producto se desarrolla y est preparado para ser evaluado, las pruebas de caso en esta etapa verifican el software y su validez sugn sus requisitos.

Esto hace que tanto la verificacin como la validacin vayan en paralelo. Este modelo tambin se conoce como modelo de validacin y verificacin.

Modelo Big Bang

Este modelo es el modelo con la forma ms simple. Requiere poca planificacin, mucha programacin y tambin muchos fondos. Este modelo se conceptualiza alrededor de la teora de creacin del universo 'Big Bang'. Tal como cuentan los cientficos, despus del big bang muchas galaxias, planetas y estrellas evolucionaron. De la misma manera, si reunimos muchos fondos y programacin, quiz podemos conseguir el mejor producto de software.

Big Bang Modelo

Para este modelo, se requiere poca planificacin. No sigue ningn proceso concreto, y a veces el cliente no est seguro de las futuras necesidades y requisitos. Por tanto la entrada o input respecto a los requisitos es arbitraria.

Este modelo no es recomendable para grandes proyectos de software, pero es bueno para aprender y experimentar.

Para una lectura en profundidad del SDLC y de sus modelos, Pulse aqu.

Advertisements