is_01b__modelos_procesos_2015

4
GUIA 1. Introducción 9 CONCEPTO DE CICLO DE VIDA DEL SOFTWARE El ciclo de vida del software es una sucesión de estados o fases por los cuales pasa un software a lo largo de su "vida útil". El propósito es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. El esquema de ciclo de vida busca que los errores se detecten lo antes posible y por lo tanto, permite a todos los involucrados concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados. El ciclo de vida básico de un software consta de los siguientes procedimientos (pueden ser secuenciados o simultáneos): Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. Diseño general: requisitos generales de la arquitectura de la aplicación. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. Programación: es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. Prueba beta (o validación): para garantizar que el software cumple con las especificaciones originales. Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

Upload: rodrigo-franco

Post on 15-Sep-2015

214 views

Category:

Documents


0 download

DESCRIPTION

bghhgfh

TRANSCRIPT

  • GUIA 1. Introduccin 9

    CONCEPTO DE CICLO DE VIDA DEL SOFTWARE

    El ciclo de vida del software es una sucesin de estados o fases por los cuales pasa un software a lo largo de su

    "vida til". El propsito es definir las distintas fases intermedias que se requieren para validar el desarrollo de

    la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo: se asegura de que los mtodos utilizados son apropiados.

    El esquema de ciclo de vida busca que los errores se detecten lo antes posible y por lo tanto, permite a todos

    los involucrados concentrarse en la calidad del software, en los plazos de implementacin y en los costos asociados.

    El ciclo de vida bsico de un software consta de los siguientes procedimientos (pueden ser secuenciados o

    simultneos):

    Definicin de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Anlisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y

    examinar cualquier restriccin que se pueda aplicar. Diseo general: requisitos generales de la arquitectura de la aplicacin.

    Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin.

    Programacin: es la implementacin de un lenguaje de programacin para crear las funciones definidas durante la etapa de diseo.

    Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se implementaron de acuerdo con las especificaciones.

    Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito de la prueba de integracin que est cuidadosamente documentada.

    Prueba beta (o validacin): para garantizar que el software cumple con las especificaciones originales. Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para

    desarrollos futuros. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones

    secundarias del software (mantenimiento continuo).

    El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicacin dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

  • GUIA 1. Introduccin 10

    MODELOS DE PROCESOS DE DESARROLLO DE SOFTWARE (ejemplares de modelos de ciclo de vida)

    1. Modelo Lineal Secuencial (o de Cascada). Se compone de las siguientes etapas: Anlisis de Requisitos. En esta etapa debe obtenerse la comprensin del dominio de la informacin del

    Software. Eso implica revisar la funcionalidad requerida, el comportamiento, el rendimiento y las condiciones de interconexin.

    Diseo. Se centra en cuatro atributos como son: Estructura de Datos, Arquitectura del Software, Representaciones de Interfaz, Detalles Procedimentales (Algoritmos). En esta etapa se traducen requisitos

    en una representacin del Software donde se pueda evaluar su calidad antes de comenzar a codificar.

    Generacin del Cdigo. Pruebas. Verificacin de sentencias internas y procesos externos para captar errores.

    Mantenimiento. Gestin de cambios despus de entregado.

    Sin embargo este modelo falla porque: Rara vez se sigue el modelo a cabalidad.

    No se acomoda fcilmente ante cambios surgidos por deficiente recoleccin de requisitos. Presenta versiones de trabajo de los programas en estados muy avanzados, si un error grave no ha sido

    detectado, existe un alto riesgo de perder el trabajo realizado.

    2. Modelo de construccin de prototipos. Tiene tres pasos:

    Escuchar al cliente. Recoleccin de requisitos. Se encuentran y definen los objetivos globales, se identifican

    los requisitos conocidos y las reas donde es obligatorio ms definicin. Construir y revisar el prototipo.

    El cliente prueba el prototipo y lo utiliza para refinar los requisitos del software.

    Este modelo es til cuando: El cliente no identifica los requisitos detallados.

    El responsable del desarrollo no est seguro de la eficiencia de un algoritmo, sistema operativo o de la interface hombre - mquina.

  • GUIA 1. Introduccin 11

    Su principal desventaja es que una vez que el cliente ha dado su aprobacin final al prototipo y cree que est a

    punto de recibir el proyecto final, se encuentra con que es necesario reescribir buena parte del prototipo para hacerlo funcional, porque lo ms seguro es que el desarrollador haya hecho compromisos de implementacin

    para hacer que el prototipo funcione rpidamente. Es posible que el prototipo sea muy lento, muy grande, no muy amigable en su uso, o incluso, que est escrito en un lenguaje de programacin inadecuado.

    3. Modelos Evolutivos. Tienen en cuenta que el software es susceptible de cambios con el paso del tiempo. Se basan en la idea de desarrollar una implementacin inicial, exponindola a los comentarios del usuario y refinndola a travs de las

    diferentes versiones hasta que se desarrolla un sistema adecuado. Las actividades de especificacin, desarrollo y validacin se entrelazan, en vez de separarse, con una rpida retroalimentacin entre stas.

    Para sistemas pequeos y medios (de hasta 500.000 lneas de cdigo), el enfoque evolutivo de desarrollo es el

    recomendado. Para sistemas grandes, se recomienda un proceso mixto que incorpore las mejores

    caractersticas del modelo en cascada y del desarrollo evolutivo

    3.1. Modelo Incremental. Combina repeticin de elementos del Modelo Lineal Secuencial con la filosofa interactiva del Modelo de

    Construccin de Prototipos. En este modelo se entrega el software en partes pequeas, pero utilizables llamadas Incrementos; en

    general, cada incremento se construye sobre aquel que ya haya sido entregado. El primer incremento es fundamental, ya que sobre l se construir el resto del producto.

    Este modelo es muy til en situaciones en las que la fecha de entrega sea inmodificable.

    3.2. Espiral.

    Combina la naturaleza iterativa del Modelo de Construccin de Prototipos con los aspectos sistemticos y controlados del Modelo Lineal Secuencial.

    Define Regiones de Tareas aplicables a cualquier etapa del desarrollo de software. Las regiones de Tareas en su conjunto forman un ciclo de la espiral (conceptualmente hablando).

  • GUIA 1. Introduccin 12

    Esas Regiones de Tareas aplican en cualquiera de las etapas del proyecto:

    Desarrollo de conceptos * Desarrollo de nuevos productos

    Mejora de productos * Mantenimiento de productos.

    Ventaja: Este modelo muestra un enfoque realista del desarrollo de sistemas y de software a gran escala.

    Desventaja: Depende en muy alto grado de la capacidad del analista para la evaluacin de riesgos.