0300_ciclo de vida

30
INGENIERÍA DE SOFTWARE I CICLO DE VIDA ING. VÍCTOR ANCAJIMA MIÑÁN

Upload: vane-quevedo

Post on 09-Nov-2015

8 views

Category:

Documents


0 download

DESCRIPTION

ciclo de vida

TRANSCRIPT

  • INGENIERA DE SOFTWARE I

    CICLO DE VIDA

    ING. VCTOR ANCAJIMA MIN

  • Ciclo de vida: Definicin

    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 reemplazado (muere).

    Se denomina a veces paradigma.

    Dos puntos de vista Transformacin del producto.

    Proceso que transforma el producto.

    2

  • Ciclo de vida: Definicin

    3

    Una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y el mantenimiento del software

    IEEE 1074 Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la

    explotacin y el mantenimiento de un producto de

    software, abarcando la vida del sistema desde la definicin

    de los requisitos hasta la finalizacin de su uso

    ISO 12207-1

  • Ciclo de vida: Distribucin del esfuerzo

    Distribucin del esfuerzo durante el ciclo de vida

    16

    8

    16 12

    36

    12

    40

    35

    30

    25

    20

    15

    10

    5

    0 Es

    fue

    rzo

    Re

    lati

    vo

    (%)

    4

  • Ciclo de vida: Funciones (i)

    Un ciclo de vida debe:

    1. Determinar el orden de las fases del proceso

    software.

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

    3. Definir las entradas y salidas de cada fase.

    5

  • Ciclo de vida: Funciones (ii)

    1. Describir los estados por los que pasa el

    producto.

    2. Describir las actividades a realizar para

    transformar el producto.

    3. Definir un esquema que sirve como base para:

    Planificar. Organizar. Coordinar.

    Desarrollar.

    6

  • Ciclo de vida: Situacin Real

    Anlisis

    Diseo Pruebas

    Codificacin

    7

  • Modelos de ciclos de Vida

    8

    SECUENCIAL

    CASCADA

    ESPIRAL

    MODELOS CICLOS DESARROLLO

    MODELOS CICLOS DE VIDA DE SISTEMAS

    INCREMENTAL

    EVOLUTIVO CASCADA

    CONCURRENCIA

    COMPONENTES COMERCIALES Y REUTILIZAZIN

    PROTOTIPADO

    MO

    DIF

    ICA

    DO

    RES

  • Modelo de desarrollo: LINEAL

    9

    Requisitos

    Diseo

    Codificacin

    Pruebas

    Integracin

    Operacin y mantenimiento

  • Modelo de desarrollo: LINEAL

    10

    Este modelo refleja un desarrollo marcado por la sucesin escalonada de las etapas que lo componen : requisitos, diseo, codificacin, pruebas e integracin.

    Es necesario terminar por completo cada etapa para pasar a la siguiente.

    Este modelo, identificado ya a principios de la dcada de los 50, resulta muy rgido porque cada fase requiere como elemento de entrada el resultado completo de la

    anterior.

    Al aplicarlo en situaciones reales su rigidez genera problemas, porque muchas veces

    resulta difcil poder disponer de requisitos completos o del diseo pormenorizado del

    sistema en las fases iniciales, creando una barrera que impide avanzar.

    Resulta apropiado para:

    Desarrollar nuevas versiones de sistemas ya veteranos en los que el desconocimiento de las necesidades de los usuarios, o del entorno de

    operacin no plantea riesgos.

    Sistemas pequeos, sin previsin de evolucin a corto plazo.

  • Modelo de ciclo de vida CASCADA (i)

    Anlisis

    Diseo

    Codificacin

    Pruebas

    e integracin

    Operacin y

    Qu

    Cm

    o

    Mantenimiento 18

  • Modelo de ciclo de vida en cascada (ii) Caractersticas: Es el ms utilizado.

    Es una visin del proceso de desarrollo de software

    como una sucesin de etapas que producen productos intermedios.

    Para que el proyecto tenga xito deben desarrollarse todas las fases.

    Las fases continan hasta que los objetivos se han

    cumplido.

    Si se cambia el orden de las fases, el producto final

    ser de inferior calidad. 12

  • Modelo de ciclo de vida en cascada (iii)

    Limitaciones:

    No se permiten las iteraciones. Los requisitos se congelan al principio

    del proyecto. No existe un proyecto enseable hasta

    el final del proyecto.

    13

  • Modelo de ciclo de vida en cascada (iv)

    Divergencia de expectativas

    tiempo Anlisis Entrega

    14

  • Modelo de ciclo de vida en cascada: Variaciones

    Se aade realimentacin

    entre fases.

    Anlisis

    Diseo

    Pruebas

    e integracin

    Codificacin

    Operacin y 22 Mantenimiento

  • Modelo de mejora iteractiva

    Anlisis

    Diseo

    Codificacin

    Pruebas

    e integracin

    Operacin y

    Los productos de las

    diferentes etapas van

    refinando y mejorando.

    23 Mantenimiento

  • Iterativo

    Rational Unified Process (www.rational.com ).

    Diseo

    [ms iteraciones]

    cliente

    [ms iteraciones]

    Otras metodologas giles: Extreme Programming (Xp):

    24 www.extremeprogramming.org

    Iteraccin de A&D

    Anlisis Planificacin

    Planificacin Anlisis Diseo

    Incremento

    Prototipo Pruebas Evalua Cliente

  • Modelo de ciclo de vida en espiral (i)

    Determinacin de

    objetivos, riesgos,

    alternativas, restricciones

    A. de

    riesgo

    A. de

    riesgo Prototipo 1

    requisitos y del Concepto de operacin

    Planificacin de

    ciclo de vida

    Planificacin Validacin del diseo de requisitos

    Validacin y

    verificacin del diseo

    Planificacin de

    la codificacin

    Simulaciones, modelos, programas de prueba

    A. de

    riesgo

    Prueba Codificacin de unidad Integracin

    y prueba

    impl

    anta

    cin

    Pru

    eba

    de

    acep

    taci

    n

    Planificacin de

    las prximas fases

    Evaluacin de alternativas, identificacin y resolucin de riesgos

    Desarrollo, verificacin del producto del prximo

    Costos acumulados Progreso a travs

    de pasos

    25 nivel.

  • Modelo de ciclo de vida en espiral (ii)

    19

    Se usa en proyectos en los que se prevn riesgos. Representa un enfoque dirigido por el riesgo para el anlisis y

    estructuracin del proceso software. Ventajas:

    Utiliza las fases de modelos tradicionales.

    Se centra en la eliminacin de errores y alternativas poco

    atractivas.

    Su orientacin a detectar y prevenir el riesgo evita muchas

    dificultades. Desventajas:

    Complicado: Consume muchos recursos. Las etapas y sus E/S no estn claramente definidas

  • Modelo de ciclo de vida PROTOTIPADO

    20

  • Modelo de PROTOTIPADO

    21

    1. No modifica el flujo del ciclo de vida

    2. Reduce el riesgo de construir productos que no satisfagan las

    necesidades de los usuarios

    3. Reduce costos y aumenta la probabilidad de xito

    4. Exige disponer de las herramientas adecuadas

    5. No presenta calidad ni robustez

    6. Una vez identificados todos los requisitos mediante el prototipo, se construye el

    producto de ingeniera

  • Modelo de PROTOTIPADO

    22

    PARA QUE SEA EFECTIVO:

    Debe ser un sistema con el que se pueda experimentar

    Debe ser comparativamente barato (< 10%)

    Debe desarrollarse rpidamente

    Enfasis en la interfaz de usuario

    Equipo de desarrollo reducido

    Herramientas y lenguajes adecuados

    El prototipado es un medio excelente para recoger el

    feedback (realimentacin) del usuario final

  • Modelo de PROTOTIPADO: PELIGROS

    23

    1. El cliente ve funcionando lo que para el es la primera

    versin del prototipo que ha sido construido con

    plastilina y alambres, y puede desilusionarse al decirle que el sistema aun no ha sido construido.

    2. El desarrollador puede caer en la tentacin de ampliar

    el prototipo para construir el sistema final sin tener en

    cuenta los compromisos de calidad y de mantenimiento

    que tiene con el cliente

  • Modelos de desarrollo de productos software (i)

    El cliente no suele tener una idea clara de lo que quiere, o no sabe

    explicarlo bien.

    El responsable de desarrollo puede no estar seguro de la eficacia de

    un algoritmo, del enfoque a tomar en la interaccin hombre-

    mquina, etc.

    Ayudan a comprender y validar los requisitos de usuario.

    Desarrollo de prototipos y maquetas.

    24

  • Desarrollo de productos software

    Revisin del Prototipo

    Revisin del Prototipo

    Divergencia de expectativas

    25

    tiempo

  • Productos software

    Escuchar al cliente El cliente prueba

    Construir/revisar

    maqueta

    33 la maqueta

  • 35

    Modelo de procesos software IEEE (i)

    Proceso de seleccin de un MCVS

    Proceso de gestin del Proyecto

    Proceso

    de Iniciacin

    Proceso

    de

    Segui-

    miento

    y

    control

    Proceso de Gestin de

    Calidad del SW.

    Procesos Orientados al desarrollo de SW.

    Procesos de Pre-Desarrollo

    Proceso de exploracin de Conceptos

    Proceso de asignacin del sistema

    Procesos de Desarrollo

    Proceso de Requisitos

    Proceso de Diseo

    Proceso de Implementacin

    Procesos de post-desarrollo

    Proceso de Instalacin

    Proceso de

    Operacin y

    Soporte

    Proceso de

    Mantenimiento

    Proceso de

    Retiro

    Procesos Integrales

    del Proyecto

    Proceso

    de Verificacin

    y

    Validacin

    Proceso

    de Gestin

    de

    Configura-

    cin del SW

    Proceso

    de

    Documen-

    tacin.

    Proceso

    de

    Formacin

  • 63

    Modelo de procesos software IEEE:

    Modelo de ciclo de vida

    Actividades Ciclo de vida + =

    Ejemplos:

    Cascada Incremental Espiral Evolutivo ...

    IEEE 1074-1995 Gestin. Iniciacin, Seguimiento y Control, Gestin

    de calidad.

    Pre-desarrollo. Exploracin de conceptos, Asignacin del

    sistema.

    Desarrollo. Requisitos, diseo, implementacin.

    Post-desarrollo. Instalacin, Operacin, Soporte, Mantenimiento,

    Retiro.

    Integrales. Verificacin y Validacin, Gestin de Config.,

    Documentacin,Formacin.

  • Modelo de procesos software IEEE:

    29

    Ej.: Ciclo de Vida en Cascada

    Actividades EV AR DI CO PR IN MA RE

    Procesos de Gestin de Proyecto Procesos de Iniciacin

    Asignar actividades al MCV X Reservar recursos para el proyecto Establecer entorno (estndares,...)

    X X

    X X

    X X

    X X X X X

    Plan de gestin proyecto X X

    Procesos de Seguimiento y Control Analizar riesgos. Realizar planes de contingencia.

    X X X X X X

    Gestionar el proyecto. X X X

    X X

    X X

    X X

    X X

    X X

    Registrar informacin. X X X X X X X X Implementar sistema de reporte de Problemas. X X X X X X X

  • Creacin de un Modelo de ciclo de vida

    30

    Al iniciar el proyecto, el responsable de la arquitectura de procesos debe realizar los

    siguientes pasos:

    Anlisis de las circunstancias ambientales del proyecto. Diseo del modelo especfico de ciclo de vida para el proyecto (sobre las bases

    de los diseos ms apropiados, para el desarrollo y la evolucin del sistema de

    software.

    Mapeo de las actividades sobre el modelo. Desarrollo del plan para la gestin del ciclo de vida del proyecto.

    Debe considerar aspectos como:

    Posibilidad de descomposicin del sistema en subsistemas de software, con agendas y entregas diferenciadas.

    Estabilidad esperada de los requisitos. Novedad del proceso o procesos gestionados por el sistema en el entorno del

    cliente.

    Criticidad de las agendas y presupuestos. Grado de complejidad del interfaz de operacin, criticidad de la usuabilidad. Grado de conocimiento y familiaridad con el entorno de desarrollo, componentes

    externos empleados, etc.