3. modelos prescriptivos de proceso

776 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
776
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

3. modelos prescriptivos de proceso

  1. 1. Sesión III: Modelos Prescriptivos de Proceso Ing. Luis Alfredo Fernández Vizcarra lfernandez@speedy.com.pe lfernandez@coesi.com.pe
  2. 2. Vistazo rápido: Modelos Prescriptivos ¿Qué es? •Un conjunto distinto de actividades, acciones, tareas, fundamentos y productos de trabajo que se requieren para desarrollar software de alta calidad. •Proporcionan una guía útil para el trabajo de la ingeniería del software. ¿Quién lo hace? •Los ingenieros de software y sus gerentes adaptan un modelo prescriptivo de proceso a sus necesidades y después lo siguen. •La gente que ha solicitado el software participa durante la ejecución del modelo de software. ¿Por qué es importante? •Proporciona estabilidad, control y organización a una actividad que si no controla puede volverse caótica. ¿Cuáles son los pasos? •El proceso conduce a un equipo de software a través de un conjunto de actividades del marco de trabajo que se organizan en un flujo de proceso, el cual puede ser lineal, incremental o evolutiva. ¿Cuál es el producto obtenido? •Desde el punto de vista de un ingeniero de software: programas, documentos y datos que se producen como consecuencia de las actividades y tareas que define el proceso. ¿Cómo puedo estar seguro de que lo he hecho correctamente? •Los mejores indicadores de la eficacia del proceso que se utiliza son la calidad, el tiempo de entrega y la viabilidad a largo plazo del producto que se construye.
  3. 3. Modelos Prescriptivos Los Modelos Prescriptivos de Proceso definen un conjunto distinto de actividades, acciones, tareas, flujo de trabajo, fundamentos y productos de trabajo que se requieren para software de alta calidad. MODELO EN CASCADA CARACTERÍSTICAS DESVENTAJAS  También se le conoce como Ciclo de Vida Clásico.  Enfoque sistemático secuencial hacia el desarrollo del software.  Es el paradigma más antiguo para la ingeniería de Software.  Es muy raro que los proyectos reales sigan el flujo secuencial que propone el modelo.  Con frecuencia es difícil para el cliente establecer todos los requisitos de manera explícita.  El cliente debe tener paciencia.  La naturaleza lineal del modelo conduce a “estados de bloqueo” en los cuales algunos miembros del equipo del proyecto deben esperar a otros para terminar tareas independientes.
  4. 4. Modelo en Cascada Comunicación •Inicio del proyecto •Recopilación de requisitos Planeación •Estimación •Itinerario •Seguimiento Modelado •Análisis •Diseño Construcción •Código •Prueba Despliegue •Entrega •Soporte •Retroalimentación
  5. 5. Modelos de Proceso Incrementales MODELO INCREMENTAL CARACTERÍSTICAS Combina elementos del modelo en cascada aplicado en forma iterativa. Se enfoca en la entrega de un producto operacional con cada incremento. Entrega una serie de lanzamientos llamados incrementos que proporcionan en forma progresiva más funcionalidad para los clientes a medida que se entrega cada uno de los incrementos.
  6. 6. Modelo incremental Tiempo de calendario de proyecto Funcionalidadycaracterísticasdelsoftware Comunicación Planeación Modelado (análisis, diseño) Construcción (código, prueba) Despliegue (entrega, retroalimentación) Entrega del primer incremento Entrega del segundo incremento Entrega del n-ésimo incremento Incremento # 1 Incremento # 2 Incremento # n
  7. 7. Modelo DRA (Desarrollo Rápido de Aplicaciones) •Es una adaptación a “alta velocidad” del modelo en cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basado en componentes. •Si se entienden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite crear un sistema completamente funcional en un periodo muy corto. CARACTERÍSTICAS •Necesita muchos Recursos Humanos •Desarrolladores y los clientes deben involucrarse con las actividades del desarrollo del sistema •La construcción de componentes es complicada •Si se convierte interfaces en componentes el DRA no funcionará •Es inapropiado con riesgos técnicos muy altos DESVENTAJAS
  8. 8. Modelo DRA Modelado Modelado del negocio Modelado de los datos Modelado del proceso Construcción Reutilización de componentes Generación de código automático Pruebas Comunicación Planeación 60 - 90 días Modelado Modelado del negocio Modelado de los datos Modelado del proceso Construcción Reutilización de componentes Generación de código automático Pruebas Modelado Modelado del negocio Modelado de los datos Modelado del proceso Construcción Reutilización de componentes Generación de código automático Pruebas Despliegue Integración Entrega Retroalimentación Equipo #1 Equipo #2 Equipo #n
  9. 9. Modelos de Proceso Evolutivos Los modelos evolutivos son iterativos, los caracteriza la forma en que permiten que los ingenieros de software desarrollen versiones cada vez completas del software. Su propósito es desarrollar software de alta calidad de una manera iterativa o incremental. CONSTRUCCION DE PROTOTIPOS CARACTERISTICAS DESVENTAJAS Se puede utilizar como un modelo de proceso independiente o como una técnica susceptible de implementarse dentro de otros modelos.  Ayuda al ingeniero de sistemas y al cliente a entender de mejor manera cual será el resultado de la construcción cuando los requisitos estén satisfechos.  El cliente no entiende lo que es un prototipo y el sistema final  El desarrollador puede adaptarse al lenguaje con el que elaboró el prototipo  La calidad del software se reduce.
  10. 10. Construcción de Prototipos Plan rápido Modelado diseño rápido Construcción del prototipo Desarrollo, entrega y retroalimentación Comunicación
  11. 11. Modelo en Espiral DESVENTAJAS - Es difícil convencer a los clientes de que el enfoque evolutivo es controlable. - Requiere una habilidad considerable para evaluar el riesgo. - Si un riesgo importante no se descubre y administra, sin duda surgirán problemas. CARACTERÍSTICAS - Conjuga la naturaleza iterativa de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo cascada. - Proporciona el material para el desarrollo rápido de versiones incrementales del software. - Se puede adaptar y aplicar a través del ciclo de vida completo de una aplicación, desde el desarrollo del concepto hasta el mantenimiento. - Es un enfoque realista para el desarrollo de software y de sistemas a gran escala. - Se considera el riesgo en cada revolución - Se revisa los costos - Se adapta a lo largo de la vida del software
  12. 12. Modelo Espiral Comunicación Planeación Estimación Itinerario Análisis de riesgos Despliegue Entrega Retroalimentación Construcción Código Prueba Modelado Análisis Diseño Inicio
  13. 13. Modelo Desarrollo Concurrente CARACTERÍSTICAS Se representa en forma esquemática como una serie de actividades del marco de trabajo, acciones y tareas de la ingeniería del software y sus estados asociados. Es más apropiado para proyectos donde están implicados diferentes equipos de ingeniería. Todas las actividades existen de forma concurrente, pero se encuentra en diferentes estados. Proporciona una visión exacta del estado actual del proyecto. Los eventos generados en un punto de la red del proceso disparan transiciones entre los estados.
  14. 14. Modelo Desarrollo Concurrente Ninguno Bajo desarrollo En espera de cambios En modificación En revisión En línea de base Realizado Representa el estado de una actividad o tarea de la ingeniería de software Actividad de modelado
  15. 15. Modelos Especializados de Proceso Se aplican cuando se ha elegido un enfoque de ingeniería del software definido de una manera muy estrecha. 1.DESARROLLOBASADOEN COMPONENTES CARACTERÍSTICAS - Incorpora muchas de las características del modelo espiral. - Destaca la reutilización y ensambladura de componentes. - Se pueden emplear cuando el software está en construcción. - Proporcionan funcionalidad dirigida con interfaces bien definidas que permiten su integración en el software. PASOS - Investigar productos basados en componentes y evaluarlos - Integración de componentes - Diseñar arquitectura de software - Integrar los componentes a la arquitectura - Pruebas
  16. 16. Modelos Especializados de Proceso 2. MODELO DE MÉTODO FORMALES CARACTERÍSTICAS Definen un conjunto de actividades basadas en una especificación matemática Se verifica mediante notación matemática rigurosa. Una variación de este modelo es el llamado “Ingeniería del software de sala limpia” La ambigüedad, el estado incompleto y la inconsistencia se descubren y corrigen con mayor facilidad. DESVENTAJAS • Es muy caro y consume mucho tiempo • Se requiere una capacitación detallada al personal • Dificulta la comunicación con los clientes
  17. 17. Modelos Especializados de Proceso CARACTERÍSTICAS Conocido también como Programación Orientada a Aspectos (POA). Incluye los intereses generales que cubren la arquitectura total del sistema. Proporciona un proceso y enfoque metodológico para definir, especificar, diseñar y construir aspectos (mecanismos más allá de subrutinas).
  18. 18. El Proceso Unificado CARACTERÍSTICAS Es un ciclo de vida incremental e iterativo propuesto por los creadores de UML (Unified Modeling Language). Dirigido por los casos de uso Centrado en la arquitectura Iterativo e incremental Distingue 6 fases: inicio, elaboración, construcción, transición, producción.
  19. 19. Fase de Producción Se realiza el monitoreo continuo y el soporte. Fase de Transición Transfiere el software del desarrollador al usuario final para realizar las pruebas beta y obtener la aceptación. Fase de Construcción Refina y después traduce el modelo de diseño en componentes de software implementados. Fase de elaboración Abarca la comunicación con el cliente y las actividades de modelado con un enfoque en la creación de modelos de análisis y diseño, con énfasis en las definiciones de clase y representaciones arquitectónicas. Fase Inicio Abarca la comunicación con el cliente y las actividades de planeación y destaca el desarrollo y el refinamiento de casos de uso como un modelo primario. Fases del Proceso Unificado
  20. 20. El Proceso Unificado Elaboración Inicio Construcción Transición Incremento del software Lanzamiento Producción
  21. 21. Productos de trabajo del proceso unificado Fasedeconstrucción Fasedeelaboración Fasedetransición Fasedeinicio Documento de la visión Modelo inicial de caso de uso Glosario inicial del proyecto Caso inicial de negocio Evaluación inicial del riesgo Plan de Proyecto, fases e iteraciones Modelo del negocio si es necesario Uno o más prototipos Modelo de casos de uso Requisitos suplementarios, se incluyen los no funcionales Modelo de análisis Descripción de la arquitectura del software Prototipo arquitectónico ejecutable Modelo de diseño preliminar Lista revisada de riesgo Plan de proyecto que incluye: • Plan de iteración • Flujos de trabajo adoptados • Fundamentos • Productos técnicos del trabajo • Manual preliminar del usuario Modelo del diseño Componentes del software Incremento integrado del software Plan y procedimiento de pruebas Casos de prueba Documentación del soporte Manuales del usuario Manuales de instalación Descripción del incremento actual Incremento de software integrado Reportes de las pruebas beta Retroaliment ación general del usuario
  22. 22. Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1 Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1 Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2 Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3 Referencias

×