Taller de Mantención de Software Parte 2

Click here to load reader

  • date post

    12-Jan-2016
  • Category

    Documents

  • view

    16
  • download

    0

Embed Size (px)

description

Taller de Mantención de Software Parte 2.Ciclo de Vida de Desarrollo del Software• El ciclo de vida es el conjunto de fases por las que pasa elsistema que se está desarrollando desde que nace la ideainicial hasta que el software es retirado o remplazado(muere). También se denomina a veces paradigma.• Entre las funciones que debe tener un ciclo de vida sepueden destacar:– Determinar el orden de las fases del proceso de software.– Establecer los criterios de transición para pasar de una fase a lasiguiente.– Definir las entradas y salidas de cada fase.– Describir los estados por los que pasa el producto.– Describir las actividades a realizar para transformar el producto.– Definir un esquema que sirve como base para planificar, organizar,coordinar, desarrollar…Tipos de Modelo de Ciclo de Vida• Las principales diferencias entre los distintos modelos deciclo de vida están en:– El alcance del ciclo dependiendo de hasta dónde llegue el proyectocorrespondiente. Un proyecto puede comprender un simple estudiode viabilidad del desarrollo de un producto, o su desarrollocompleto o en el extremo, toda la historia del producto con sudesarrollo, fabricación y modificaciones posteriores hasta su retiradadel mercado.– Las características (contenidos) de las fases en que dividen el ciclo.Esto puede depender del propio tema al que se refiere el proyecto,o de la organización.– La estructura y la sucesión de las etapas, si hay realimentación entreellas, y si tenemos libertad de repetirlas (iterar).

Transcript of Taller de Mantención de Software Parte 2

  • El Ciclo de Vida del Software

    Unidad I: Fundamentos de Mantenimiento de

    software

  • Conceptos

    El software nace, crece y muere

    Es su ciclo de vida

    Nace con sus requerimientos y diseo

    Crece con su desarrollo y mantenimiento

    Muere cuando se reemplaza por otro.

    Software obsoleto

    Razones:

    Crecimiento de la empresa

    Cambio de los requerimientos originales

    Cambio de operaciones

    Ampliacin

    Integracin con otros sistemas

  • Ciclo de Vida de Desarrollo del Software

    El ciclo de vida es el conjunto de fases por las que pasa el sistema que se est desarrollando desde que nace la idea inicial hasta que el software es retirado o remplazado (muere). Tambin se denomina a veces paradigma.

    Entre las funciones que debe tener un ciclo de vida se pueden destacar: Determinar el orden de las fases del proceso de software.

    Establecer los criterios de transicin para pasar de una fase a la siguiente.

    Definir las entradas y salidas de cada fase.

    Describir los estados por los que pasa el producto.

    Describir las actividades a realizar para transformar el producto.

    Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar

  • Ciclo de Vida de Desarrollo del Software (2)

    Un ciclo de vida para un proyecto se compone de fases sucesivas compuestas por tareas que se pueden planificar. Segn el modelo de ciclo de vida, la sucesin de fases puede ampliarse con bucles de realimentacin, de manera que lo que conceptualmente se considera una misma fase se pueda ejecutar ms de una vez a lo largo de un proyecto, recibiendo en cada pasada de ejecucin aportaciones a los resultados intermedios que se van produciendo (realimentacin).

    Fases: una fase es un conjunto de actividades relacionadas con un objetivo en el desarrollo del proyecto. Se construye agrupando tareas (actividades elementales) que pueden compartir un tramo determinado del tiempo de vida de un proyecto. La agrupacin temporal de tareas impone requisitos temporales correspondientes a la asignacin de recursos (humanos, financieros o materiales).

    Entregables: son los productos intermedios que generan las fases. Pueden ser materiales o inmateriales (documentos, software). Los entregables permiten evaluar la marcha del proyecto mediante comprobaciones de su adecuacin o no a los requisitos funcionales y de condiciones de realizacin previamente establecidos.

  • Tipos de Modelo de Ciclo de Vida

    Las principales diferencias entre los distintos modelos de ciclo de vida estn en:

    El alcance del ciclo dependiendo de hasta dnde llegue el proyecto correspondiente. Un proyecto puede comprender un simple estudio de viabilidad del desarrollo de un producto, o su desarrollo completo o en el extremo, toda la historia del producto con su desarrollo, fabricacin y modificaciones posteriores hasta su retirada del mercado.

    Las caractersticas (contenidos) de las fases en que dividen el ciclo. Esto puede depender del propio tema al que se refiere el proyecto, o de la organizacin.

    La estructura y la sucesin de las etapas, si hay realimentacin entre ellas, y si tenemos libertad de repetirlas (iterar).

  • Modelos de Ciclo de Vida

    La ingeniera del software establece y se vale de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software, desde su concepcin inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto. A estos modelos se les denomina Modelos de ciclo de vida del software.

    Los modelos de ciclo de vida del software describen las fases del ciclo de software y el orden en que se ejecutan las fases.

    Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transicin asociados entre estas etapas.

  • Modelos de Ciclo de Vida (2)

    Un modelo de ciclo de vida del software: Describe las fases principales de desarrollo de software

    Define las fases primarias esperadas de ser ejecutadas durante esas fases

    Ayuda a administrar el progreso del desarrollo

    Provee un espacio de trabajo para la definicin de un proceso detallado de desarrollo de software

    En cada una de las etapas de un modelo de ciclo de vida, se pueden establecer una serie de objetivos, tareas y actividades que lo caracterizan. Existen distintos modelos de ciclo de vida, y la eleccin de un modelo para un determinado tipo de proyecto es realmente importante; el orden es uno de estos puntos importantes.

    A continuacin veremos algunos de los modelos tradicionales ms utilizados.

  • Modelo en Cascada

    Es el enfoque metodolgico que ordena rigurosamente las etapas del ciclo de vida del software, de forma que el inicio de cada etapa debe esperar a la finalizacin de la inmediatamente anterior.

    El modelo en cascada es un proceso de desarrollo secuencial, en el que el desarrollo se ve fluyendo hacia abajo (como una cascada) sobre las fases que componen el ciclo de vida.

    Se cree que el modelo en cascada fue el primer modelo de proceso introducido y seguido ampliamente en la ingeniera el software. La innovacin estuvo en la primera vez que la ingeniera del software fue dividida en fases separadas.

  • Modelo en Cascada

    En el modelo original existan las siguientes fases:

    Especificacin de requisitos

    Diseo

    Construccin (Implementacin o codificacin)

    Integracin

    Pruebas

    Instalacin

    Mantenimiento

  • Modelo en Cascada

  • Ventajas

    Excelente cuando se tiene un producto estable y se

    conoce la tecnologa.

    Es un mtodo muy estructurado que funciona bien con

    gente de poca experiencia.

    Provee estabilidad en los requerimientos.

    La planeacin se puede hacer anticipadamente.

  • Desventajas

    Tiene poca flexibilidad.

    Los proyectos en la prctica raramente siguen un flujo

    secuencial.

    Siempre es difcil para el cliente mostrar todos los

    requerimientos explcitamente y con mucha anticipacin.

    El cliente debe tener paciencia.

    Es inflexible y no motiva al cambio.

    Poco apropiado para aplicaciones para la toma de

    decisiones.

    Los usuarios tienen una participacin limitada.

  • Modelo en V

    El modelo en V se desarroll para terminar con algunos de los problemas que se vieron utilizando el enfoque de cascada tradicional.

    Los defectos estaban siendo encontrados demasiado tarde en el ciclo de vida, ya que las pruebas no se introducan hasta el final del proyecto.

    El modelo en V dice que las pruebas necesitan empezarse lo ms pronto posible en el ciclo de vida.

    Tambin muestra que las pruebas no son slo una actividad basada en la ejecucin. Hay una variedad de actividades que se han de realizar antes del fin de la fase de codificacin. Estas actividades deberan ser llevadas a cabo en paralelo con las actividades de desarrollo.

  • Modelo en V

    El modelo en v es un proceso que representa la

    secuencia de pasos en el desarrollo del ciclo de vida de

    un proyecto.

    Describe las actividades y resultados que han de ser

    producidos durante el desarrollo del producto.

    La parte izquierda de la v representa la descomposicin

    de los requisitos y la creacin de las especificaciones del

    sistema. El lado derecho de la v representa la

    integracin de partes y su verificacin. V significa

    Validacin y Verificacin.

  • Modelo en V

  • Ventajas

    Es un modelo simple y fcil de utilizar.

    En cada una de las fases hay entregables especficos.

    Tiene una alta oportunidad de xito sobre el modelo en

    cascada debido al desarrollo de planes de prueba en

    etapas tempranas del ciclo de vida.

    Es un modelo que suele funcionar bien para proyectos

    pequeos donde los requisitos son entendidos

    fcilmente.

  • Desventajas

    Es un modelo muy rgido, como el modelo en cascada.

    Tiene poca flexibilidad y ajustar el alcance es difcil y

    caro.

    El software se desarrolla durante la fase de

    implementacin, por lo que no se producen prototipos

    del software.

    El modelo no proporciona caminos claros para

    problemas encontrados durante las fases de pruebas

  • Modelo Iterativo

    Modelo derivado del ciclo de vida en cascada.

    Este modelo busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos durante la etapa de recogida de requisitos.

    Consiste en la iteracin de varios ciclos de vida en cascada. Al final de cada iteracin se le entrega al cliente una versin mejorada o con mayores funcionalidades del producto.

    El cliente es quien despus de cada iteracin evala el producto y lo corrige o propone mejoras. Estas iteraciones se repetirn hasta obtener un producto que satisfaga las necesidades del cliente.

    Este modelo se suele utilizar en proyectos en los que los requisitos no estn claros por parte del usuario, por lo que se hace necesaria la creacin de distintos prototipos para presentarlos y conseguir la conformidad del cliente.

  • Modelo Iterativo

  • Ventajas

    Una de las principales ventajas que ofrece este modelo

    es que no hace falta que los requisitos estn totalmente

    definidos al inicio del desarrollo, sino que se pueden ir

    refinando en cada una de las iteraciones.

    Igual que otros modelos similares tiene las ventajas

    propias d