of 31 /31
Los cálculos de coste asociados Los cálculos de coste asociados con el desarrollo de software con el desarrollo de software excesivamente elevados excesivamente elevados Insatisfactorio comportamiento Insatisfactorio comportamiento y funcionalidad del software y funcionalidad del software desarrollado desarrollado Motivación de los ingenieros a Motivación de los ingenieros a desarrollar nuevos modelos de desarrollar nuevos modelos de desarrollo, incluyendo desarrollo, incluyendo prototipos, síntesis de software, prototipos, síntesis de software, Causas para el Causas para el ESTUDIO ESTUDIO de de Modelos Modelos

Ciclo Vida Sw

Embed Size (px)

Text of Ciclo Vida Sw

  • 1.
    • Los clculos de coste asociados con el desarrollo de software excesivamente elevados
    • Insatisfactorio comportamiento y funcionalidad del software desarrollado
    • Motivacin de los ingenieros a desarrollar nuevos modelos de desarrollo, incluyendo prototipos, sntesis de software, software reutilizable,.
    Causas para elESTUDIOde Modelos

2.

  • Definir las actividades necesarias en el desarrollo de un Sistema de Informacin.
  • Mantener una coherencia entre todos los proyectos de una misma organizacin.
  • Introducir puntos de control para realizar revisiones y controles de calidad, toma de decisiones.
  • Investigacin de paradigmas o modelos de desarrollo.

Necesidades de las organizaciones 3. 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. Norma ISO 12207-1 Ciclo de vida del Software 4. CICLO DE VIDA:Conjunto de etapas que se han de llevar a cabo para crear, explotar y mantener un Sistema Informtico. METODOS: Son las normativas que marcan las directrices que se han de seguir para llevar a cabo una tarea. Responde a la pregunta QU. TECNICAS: Es un modo de representacin para la solucin de un problema concreto. Responde a la pregunta CMO. METODOLOGIA:Es un conjunto coherente de mtodos y tcnicas que cubren ms de una etapa del ciclo de vida. HERRAMIENTAS: Proporcionan un soporte automtico o semi-automtico para el proceso y para los mtodos. DEFINICIONES 5.

  • Los paradigmas o modelos de desarrollo de Software son estrategias de desarrollo para organizar las diversas etapas y actividades del ciclo de vida del software.
  • Describe las transiciones entre las etapas, especificando qu actividades desarrollar en cada momento.
  • Seleccin de un modelo o paradigma especfico dependiendo de lanaturaleza del proyectoy/o aplicacin, los mtodos, las herramientas a utilizar, los controles yentregas que se requieren.

Paradigmas o Modelos de desarrollo 6.

  • El trabajo asociado a la ingeniera del Software puede dividirse en tres fases fundamentales, independientemente del rea de aplicacin:
  • FASE DE DEFINICIN
  • FASE DE DESARROLLO
  • FASE DE MANTENIMIENTO

Paradigmas o Modelos de desarrollo 7.

    • Qu informacin que ha de ser procesada,
    • Qu funcin y rendimiento se desea
    • Qu comportamiento del sistema
    • Qu interfaces van a ser establecidas
    • Qu restricciones de diseo existen
    • Qu criterios de validacin se necesitan para definir
    • Dependiendo del paradigma o modelo se definen un conjunto especfico de actividades, pero las tareas principales sern: ingeniera de sistema o de informacin, planificacin del proyecto del software, y anlisis de los requisitos

Paradigmas o Mod. de desarrollo: Fase de definicin 8.

    • Cmo han de disearse las estructuras de datos,
    • Cmo ha de implementarse la funcin como una arquitectura del software
    • Cmo han de caracterizarse las interfaces
    • Cmo ha de traducirse el diseo en un lenguaje de programacin
    • Cmo ha de realizarse la prueba
    • Las tareas principales sern: diseo del software, generacin de cdigo y prueba del software

Paradigmas o Mod. de desarrollo: Fase de desarrollo 9. Fase centrada en el cambio que va asociado a la correccin de errores, a las adaptaciones requeridas a medida que evoluciona el entorno del software, y a cambios producidos por los requisitos cambiantes del software. Cuatro tipos de cambio: Correccin, Adaptacin (Cambio de sistema Operativo, reglas de la empresa,etc.), Mejora, Prevencin (reingeniera) Actividades a realizar: Gestin de riesgos, revisiones tcnicas formales, mediciones, garantia de calidad del software, seguimiento y gestion del proyecto de software, gestin de reutilizaci. Paradigmas o Mod. de desarrollo: Fase de Mantenimiento 10.

  • Desglosando las fases anteriores, obtendramos las principales fases o etapas del ciclo de vida del software
    • Identificacin del sistema y definicin de requerimientos
    • Anlisis
    • Diseo
    • Desarrollo e implementacin
    • Integracin y prueba del software
    • Documentacin
    • Entrenamiento y uso
    • Mantenimiento del software

Paradigmas o Modelos de desarrollo 11.

  • Principales Modelos:
  • Ciclo de vida en cascada o modelo tradicional (WaterFall)
  • Prototipado
  • Modelo o ciclo de vida en espiral
  • Modelos de desarrollo orientados a objetos

Paradigmas o Modelos de desarrollo 12.

  • Propuesto por Royce en 1970, popularizado por Boehm en 1981
  • Finalidad: Establecer orden en el desarrollo de grandes productos de software
  • Diferentes etapas, las cuales son procesadas de un modo lineal
  • Base de muchos otros modelos, levemente mejorada y retocada a lo largo del tiempo.
  • An en nuestros das sigue siendo muy utilizado.

Paradigmas o Modelos de desarrollo:Ciclo de vida en cascada o mod. tradicional 13.

  • Anima a especificar lo que el sistema ha de hacer (definicin de requerimientos) antes de la construccin del sistema
  • Planea los componentes que van a interaccionar
  • Gestiona el encuentro de errores
  • Genera un conjunto de documentos para ms tarde ser utilizados y permitir un buen testeo y mantenimiento del sistema
  • Reducir los costes de desarrollo ymantenimiento
  • Referente a las tareas a realizar: Organizacin estructurada

Paradigmas o Modelos de desarrollo:Ciclo de vida en cascada o mod. tradicional 14. 1. Definicin de requerimientos Estudio detallado de la situacin actual del problema a tratar, definicin de los requerimientos que debe cumplir el nuevo sistema 2. Anlisis y diseo del sistema Descomposicin modular de toda la aplicacin, descripcin detallada de cada uno de los mdulos y sus inter-relaciones, todo ello para poder facilitar al mximo la fase de codificacin 3. Implementacin (codificacin) Cada mdulo como resultado de la fase anteriores traducido a la herramienta o lenguaje apropiado. Ciclo de vida en cascada: Etapas(1/2) 15. 4. Integracin y pruebas Verificacin del correcto funcionamiento de cada mdulo y todo el sistema una vez ha sido integrado, detectar errores en la codificacin, definiciones de requerimientos y de diseo 5. Explotacin y mantenimiento Garantizar el mantenimiento del sistema, correccin de errores detectados en esta fase, adaptacin del sistema a nuevos entornos.Cul es la etapa que absorbe la mayora de tiempo? La fase de explotacin y mantenimiento, yes un coste adicional para el cliente Ciclo de vida en cascada: Etapas(2/2) 16.

  • El establecimiento explcito de todos los requisitos del sistema al principio del desarrollo.
  • Poca flexibilidad para cambios en el sistema. No muestra interactividad entre fases
  • Nada hecho hasta el final. La validacin de los requisitos iniciales no realizada hasta el final
  • La implementacin del sistema de un modo ascendente implica primero las pruebas modulares, despus la de los subsistemas, y finalmente la del sistema completo. Los problemas graves suelen encontrarse en la interficie entre subsistemas

Ciclo de vida en cascada: CRITICA 17. Objetivos principales de cada una de las fases: 1. Estudio del sistema actual y viabilidad del nuevo sistema Identificacin de usuarios envueltos, estudio de su puesto de trabajo, deficiencias actuales, sugerencias de cara al futuro. Establecer los objetivos del nuevo sistema. Determinar la viabilidad proponiendo diversas soluciones. Planificacin de desarrollo. 5% o 10 % del tiempo total del desarrollo. 2. Anlisis Especificacin estructurada utilizando diferentes tcnicas de diagramas para modelar el sistema nuevo Ciclo de vida en cascada: MEJORAS Ciclo de Vida Estructurado (1/3) 18. 3. Diseo Establecer un conjunto de mdulos e interficies entre ellos, desglosando la especificacin obtenida en la fase de anlisis, facilitando la tarea de codificacin, transformacin de los modelos lgicos de datos a fsicos 4. Implementacin Programacin estructurada descendente e integracin de los mdulos Ciclo de vida en cascada: MEJORAS Ciclo de Vida Estructurado (2/3) 19. 5. Generacin de pruebas de aceptacin Especificacin de un conjunto de pruebas 6. Garanta de calidad. 7. Descripcin de los procedimientos Toda la documentacin necesaria para describir tanto los procesos como el producto resultante 8. Instalacin e implantacin del nuevo sistema al entorno Principal caracterstica del modelo: la implantacin del sistema descendente. Abstraccin de sistema, de los subsistemas y finalmente de los mdulos Ciclo de vida en cascada: MEJORAS Ciclo de Vida Estructurado (3/3) 20. Ciclo de vida en cascada o mod. tradicional Documentacin Definicin de requerimientos Anlisis yDiseo del sistema Implementacin Integracin yPruebas Explotacin y Mantenimiento 21.

  • Utilizados principalmente en el desarrollo de sistemas donde existe un pobre conocimiento de los requerimientos de un sistema o la rpida evolucin de los mismos a travs del tiempo.
  • Captura de requerimientos diseo rpido
  • El diseo rpido se centra en una representacin de aquellos aspectos del software que sern visibles al usuario. El prototipo es evaluado por el cliente y el usuario yutilizado para refinar los requerimientos del software a ser desarrollado.

Paradigmas o Modelos de desarrollo:Prototipado 22.

  • 1.Preliminar anlisis y especificacin de los requerimientos de usuario.
  • 2.Diseo e implementacin de un prototipo
    • Enfasis en la interficie de usuario, equipo pequeo para minimizar los costes de comunicacin. Utilizacin de herramientas de ayuda al desarrollo.
  • 3.Ejercicio del prototipo
  • 4.Refinamiento iterativo del prototipo
  • 5.Refinamiento de los requerimientos
  • 6.Diseo e implementacin de un sistema.
    • A partir de la fase 6 se sigue con el estndar del ciclo de vida.

Prototipado : FASES 23. Prototipado 24. Prototipado: CRITICAS

  • El diseo rpido indica muchas de las veces el utilizar fragmentos de programas ya existentes y herramientas que faciliten la rpida generacin de programas.
  • No se tiene en cuenta la calidad del software, ni sumantenimiento.
  • Ineficiencia de los programas, utilizacin de recursos, utilizacin de lenguajes inadecuados

25. Prototipado: Para QUE nos puede ser til?

  • Cuando el cliente no sabe o no quiere revisar modelos abstractos de datos (DER o DFD) para la validacin de los resultados que se van obteniendo.
  • No s lo que quiero , pero lo reconocer en cuanto lo vea
  • Sistemas on-line donde la importancia reside ms en la interficie de usuario que en los procesos.

26.

  • Descrito por Boehm, mejores caractersticas de los dos modelos anteriormente expuestos
  • Incorpora el factor riego del proyecto al modelo de ciclo de vida
  • Se produce una cadena continua de productos, los cuales estn disponibles para la examinacin y evaluacin por parte del cliente
  • Provee mecanismos para la aseguracin de la calidad del software
  • La reevaluacin despus de cada fase permite cambios en las percepciones de los usuarios, avances tecnolgicos o perspectivas financieras

Paradigmas o Modelos de desarrollo:Modelo o ciclo de vida en espiral 27.

  • Planificacin
  • Determinacin de objetivos, alternativas, restricciones, y elaboracin del plan de desarrollo para el ciclo actual.
  • Anlisis de riesgos
  • Evaluacin de las alternativas, identificacin y resolucin de riesgos. Se decide si se sigue o no con el proyecto
  • Ingeniera
  • Desarrollo del producto siguiendo un modelo:del ciclo de vida o cascada, prototipo, etc...
  • Evaluacin por el cliente
  • Valoracin de resultados

Modelo o ciclo de vida en espiral:CUADRANTES 28. Modelo o ciclo de vida en espiral 29. Modelo o ciclo de vida en espiral:Puntos Fuertes

  • Evita las dificultades de los modelos existentes a travs de un acercamiento conducido por el riesgo.
  • Intenta eliminar errores en las fases tempranas.
  • Es el mismo modelo para el desarrollo y el mantenimiento.
  • Provee mecanismos para la aseguracin de la calidad del software.
  • Trabaja bien en proyectos complejos, dinmicos e innovadores.
  • La reevaluacin despus de cada fase permite cambios en las percepciones de los usuarios, avances tecnolgicos o perspectivas financieras.
  • La focalizacin en los objetivos y limitaciones ayuda a asegurar la calidad.

30. Modelo o ciclo de vida en espiral:Puntos Dbiles

  • Falta un proceso de gua explcito para determinar objetivos, limitaciones y alternativas
  • Provee ms flexibilidad que la conveniente para la mayora de las aplicaciones
  • La pericia de tasacin del riesgo no es una tarea fcil. El autor declara que es necesaria mucha experiencia en proyectos de software para realizar esta tarea exitosamente

31. Modelo o ciclo de vida en espiral:Dominios

  • Dominio de aplicacin
    • Proyectos complejos, dinmicos, innovadores, ambiciosos, llevados a cabo por equipos internos (no necesariamente de software).
  • Dominios de aplicacin inapropiados
    • Dominio de probemas fciles: si el domino del problema est bien entendido y no hay mayores riesgos, es difcil y consume tiempo buscar riesgos donde no los hay.