03 cicloprocesodesoftware isi

Click here to load reader

  • date post

    28-Jul-2015
  • Category

    Software

  • view

    292
  • download

    2

Embed Size (px)

Transcript of 03 cicloprocesodesoftware isi

1. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 1 Modelos de Proceso de Software Ingeniera de Software I FIEC03046 Sesin 03 2. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 2 Agenda Terminologa Ciclo de vida para desarrollo de software Actividades de un proceso de software Modelos de proceso de software Modelo en cascada 3. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 3 Terminologa 4. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 4 Terminologa Un proceso de software es un conjunto relacionado de actividades que estn involucrados en el desarrollo y evolucin de un producto de software. El modelo de un proceso de software es una representacin simplificada del proceso desde una perspectiva en particular. 5. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 5 Terminologa Un producto Commercial-off-the-shelf [COTS] es un sistema de software que puede ser adaptado para las necesidades de diferentes clientes sin la necesidad de modificar el cdigo fuente del sistema. Por ejemplo: Un ERP. 6. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 6 Ciclo de vida para desarrollo de software 7. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 7 Ciclo de vida para desarrollo de software Existen varios procesos de software. Sin embargo, todos ellos incluyen cuatro actividades fundamentales para la ingeniera de software: Especificacin de software: se deben definir las funcionalidades del software y sus restricciones de operacin. Diseo e implementacin de software: se debe producir un software que cumpla sus especificaciones. Validacin de software: se debe validar el software a fin de asegurar que este hace lo deseado por el cliente. Evolucin de software: el software debe evolucionar para cumplir con los cambios producto de las cambiantes necesidades del cliente. 8. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 8 Ciclo de vida para desarrollo de software Los procesos dividen estas actividades en subactividades. Las descripciones de estas actividades tambin pueden incluir: Productos: los cuales son los resultados de una actividad. Por ejemplo: en una actividad de diseo de arquitectura el resultado podra ser el modelo de la arquitectura del software. Roles: reflejan las responsabilidades de los involucrados en el proceso. Por ejemplo: director de proyectos, programador, gestor de la configuracin, etc. Pre y post condiciones: hechos que son verdaderos antes y despus de procesar la actividad. Por ejemplo: para el inicio del diseo de la arquitectura se tiene como pre-condicin que los requerimientos hayan sido aprobados por el cliente y una post- condicin sera que se haya revisado los modelos UML que describen la arquitectura. 9. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 9 Ciclo de vida para desarrollo de software No existen procesos de software ideales, dependen del buen juicio y criterio de las personas. Los procesos deben evolucionar para tomar ventaja de las capacidades de los integrantes de la organizacin. Los procesos de software se saben categorizar en: Plan-driven processes Agile processes 10. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 10 Ciclo de vida para desarrollo de software Plan-driven processes: procesos en los cuales sus actividades son planeadas con antelacin y sus avances son medidos con respecto al plan. Agile processes: la planeacin es incremental y es ms fcil cambiar el proceso pra reflejar cambios en los requerimientos del cliente. 11. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 11 Actividad de especificacin de software 12. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 12 Especificacin del software Tambin conocido como Ingeniera de requerimientos. Es el proceso de entender y definir qu servicios son requeridos desde el sistema e identificar sus restricciones de operacin y desarrollo. Es un actividad crtica en vista que errores en esta inevitablemente generarn problemas en el diseo e implementacin. 13. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 13 Especificacin del software Las principales cuatro actividades en el proceso de ingeniera de requerimientos son: 1. Estudio de factibilidad 2. Anlisis y elicitacin de requerimientos 3. Especificacin de requerimientos 4. Validacin de requerimientos 14. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 14 Especificacin del software 15. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 15 Especificacin del software Estudio de factibilidad Estimar si las necesidades del usuario pueden ser satisfechas con la tecnologa disponible, Estimar si el sistema es costo-efectivo desde un punto de vista econmico Estimar si se puede llevar a cabo el desarrollo dentro del presupuesto establecido Producir un informe relativamente barato y rpido si se debe o no continuar con un anlisis detallado. 16. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 16 Actividad de especificacin del software Anlisis y elicitacin de requerimientos Es el proceso de derivar los requerimientos del sistema a travs de la observacin del proceso existente Entrevistas con los potenciales usuarios Contruir prototipos Entre otras tcnicas 17. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 17 Especificacin del software Especificacin de requerimientos Traducir los requerimientos recopilados durante la actividad de anlisis en un documento que define un conjunto de requerimientos Dos tipos de requerimientos se incluyen en el documento: Requerimientos de usuario: oraciones en lenguaje natural de los servicios que el sistema debe proveer y sus restricciones de operacin. Requerimientos de sistema: descripciones detalladas de la funciones, servicios y restricciones operativas del sistema. 18. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 18 Especificacin del software Especificacin de requerimientos 19. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 19 Especificacin del software Validacin de requerimientos Comprobar que los requerimientos seas reales, consistentes y completos. Durante el proceso se descubren errores en el documento, los cuales son modificados para corregir estos problemas. 20. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 20 Actividad de diseo e implementacin de software 21. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 21 Diseo e implementacin de software Convertir las especificacin del sistema en un sistema ejecutable. Implica diseo e implementacin. En un proceso de diseo se llevan a cabo las siguientes actividades: Diseo de arquitectura: identificar la estructura general del sistema, sus principales componentes o mdulos y la relacin distribucin de los mismos. Diseo de interface: definir las interfaces entre los componentes del sistema. As, los componentes pueden ser usados sin conocer su implementacin. Diseo de componentes: disear la operacin de cada componente. Alternativamente, podra contemplar los cambios a los componentes reutilizados. Diseo de base de datos: disear las estructuras de base de datos y su representacin en la base de datos. 22. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 22 Diseo e implementacin de software 23. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 23 Actividad de validacin de software 24. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 24 Validacin de software Validacin de software o ms generalmente verificacin y validacin tiene por objeto mostrar que un sistema cumple con su especificacin y a la vez cumple con las expectativas del cliente. Las pruebas de software son la principal tcnica de validacin. La fase formal de testing y sus costos de validacin se llevan a cabo luego de la fase de implementacin. Las pruebas llevadas a cabo por los desarrolladores son parte de la implementacin. Lo veremos en detalle en el prximo curso 25. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 25 Validacin de software 26. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 26 Actividad de evolucin de software 27. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 27 Evolucin de software Tambin conocida como actividad de mantenimiento de software. Cambios en el software pueden ser hechos durante o despus de la fase de implementacin. Sin embargo, histricamente se ha dividido el proceso de desarrollo del proceso de evolucin o mantenimiento. 28. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 28 Modelos de proceso de software 29. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 29 Modelos de proceso de software Los modelos de procesos de software son frameworks que pueden ser extendidos y adaptados para crear procesos de ingeniera de software ms especficos. 30. Ingeniera de Software I MSc. Carlos Mera Gmez 2013 Modelos / 30 Modelos de proceso de software Cubriremos los siguientes modelos: Modelo en cascada: fases separadas para especificacin de requerimientos, diseo de software, implementacin, pruebas, etc. Modelo de desarrollo incremental: intercala las actividades de especificacin, desarrollo y validacin. El sistema se desarrolla en una serie de versiones en donde cada una de ellas agrega funcionalidad. Modelo de desarrollo iterativo: no se inicia con una especificacin de requerimientos completa. Se especifica parte del software y se inicia un ciclo de desarrollo. Al final de este, se repite el proceso con un nuevo ciclo identificando nuevos requerimientos. Modelo de espiral de Boehm: es un tipo de proceso de software iterativo, generalmente implementado en proyectos de alto riesgo. Cada lazo en el espiral representa un fase de desarrollo. Modelo orientado al reuso: basado en la existencia de