Proceso ( software )

5,664 views
5,484 views

Published on

Proceso, curso de sofrware avanzado universidad de san carlos

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,664
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
100
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Proceso ( software )

  1. 1. El proceso de desarrollar software (organización y disciplina en las actividades) contribuyen a la calidad del software y a la velocidad con que se desarrolla * Significado del Proceso - seguir, escribir * Modelos de Proceso de Software * Herramientas y Técnicas * Modelado en la Práctica 08/27/09 Ing. de Software CH2- Modelando el proceso y el Ciclo de Vida Puntos a tratar
  2. 2. Significado del proceso <ul><li>Conjunto ordenado de tareas como Proceso : serie de pasos con actividades, restricciones y recursos que producen una salida de cierto tipo. </li></ul><ul><li>Cuando el proceso involucra la construcción de un producto, a veces se menciona como Ciclo de Vida (del producto). </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  3. 3. Siguiendo un Proceso <ul><li>Un proceso es un conjunto de procedimientos (receta), organizado para construir productos que satisfacen una seria de objetivos y estándares. </li></ul><ul><li>Los procesos son importantes porque imponen consistencia y estructura en un conjunto de actividades. </li></ul><ul><li>Sabemos cómo hacer algo bien y queremos forzar que otros lo hagan de la misma forma. </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  4. 4. Escribiendo un Proceso (un “programa” que otros deben seguir) <ul><li>Prescribir todas las actividades principales </li></ul><ul><li>Usa recursos sujeto a restricciones </li></ul><ul><li>Puede estar compuesto de subprocesos </li></ul><ul><li>Cada actividad tiene un criterio de entrada y otro de salida </li></ul><ul><li>Las Actividades están organizadas en una secuencia. </li></ul><ul><li>Establecer los objetivos de cada actividad. </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  5. 5. Modelos de Proceso de Software <ul><li>Prescripciones de la forma en que el desarrollo de software debería llevarse a cabo . </li></ul><ul><li>Descripciones de la forma en que el desarrollo se lleva a cabo realmente . </li></ul><ul><li>Cada modelo de desarrollo de software incluye los requerimientos del sistema como entrada y el producto librado al uso como salida . </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  6. 6. Modelo Cascada 08/27/09 Ing. de Software Modelando el Proceso - ANALISIS DE REQUERIMIENTOS DISEÑO DEL SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA Y DE INTEGRACION PRUEBA DEL SISTEMA PRUEBA DE ACEPTACION OPERACION Y MANTENIMIENTO
  7. 7. (Proceso de desarrollo en la realidad) 08/27/09 Ing. de Software Modelando el Proceso - ANALISIS DE REQUERIMIENTOS DISEÑO DEL SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA PRUEBA DE INTEGRACION PRUEBA DEL SISTEMA LIBRAR AL USO MANTENIMIENTO
  8. 8. Cascada c/prototipos 08/27/09 Ing. de Software Modelando el Proceso - ANALISIS DE REQUERIMIENTOS DISEÑO DEL SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA Y DE INTEGRACION PRUEBA DEL SISTEMA PRUEBA DE ACEPTACION Validar Verificar OPERACION Y MANTENIMIENTO PROTOTIPADO
  9. 9. Modelo V 08/27/09 Ing. de Software Modelando el Proceso - ANALISIS DE REQUERIMIENTOS DISEÑO DEL SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA Y DE INTEGRACION PRUEBA DEL SISTEMA PRUEBA DE ACEPTACION OPERACION Y MANTENIMIENTO Verificar diseño Validar requerimientos
  10. 10. Modelo de Prototipación 08/27/09 Ing. de Software Modelando el Proceso - LISTA DE REVISIONES LISTA DE REVISIONES LISTA DE REVISIONES PROTOTIPAR REQUERIMIENTOS PROTOTIPAR DISEÑO PROTOTIPAR SISTEMA PRUEBA SISTEMA LIBRADO AL USO REQUERIMIENTOS DEL SISTEMA (a veces informales o incompletos) revisar prototipo revisión de usuario/ cliente
  11. 11. Especificación Operacional: los requerimientos se ejecutan utilizando un producto de software 08/27/09 Ing. de Software Modelando el Proceso - PRUEBA SISTEMA LIBRADO AL USO Ejecutar y Revisar ESPECIFICACION OPERACIONAL (orientada al problema) ESPECIFICACION TRANSFORMADA (orientada a la implementación) REQUERIMIENTOS DEL SISTEMA (a veces informales o incompletos)
  12. 12. Modelo Transformacional 08/27/09 Ing. de Software Modelando el Proceso - Comparar con requerimientos; actualizar si se necesita ESPECIFICACION FORMAL REGISTRO FORMAL DEL DESARROLLO Secuencia de transformaciones + sus justificaciones REQUERIMIENTOS DEL SISTEMA (a veces informales o incompletos) SISTEMA LIBRADO AL USO PRUEBA TRANSFORM. N . . TRANSFORM. 2 TRANSFORM. 1
  13. 13. Desarrollo en Fases con liberaciones parciales 08/27/09 Ing. de Software Modelando el Proceso - Sistemas en Desarrollo Sistemas en Producción DESARROLLA- DORES USUARIOS Construir liberación 1 Usar Lib. 1 Construir liberación 2 Usar Lib. 2 Construir liberación 3 Usar Lib. 3 Tiempo
  14. 14. Desarrollo en Fases con evaluaciones parciales 08/27/09 Ing. de Software Modelando el Proceso - Sistemas en Desarrollo Sistemas en Evaluación DESARROLLA- DORES USUARIOS Construir liberación 1 Evaluar Lib. 1 Construir liberación 2 Evaluar Lib. 2 Construir liberación 3 Evaluar Lib. 3 Tiempo
  15. 15. Incrementos e Iteraciones 08/27/09 Ing. de Software Modelando el Proceso - DESARROLLO INCREMENTAL DESARROLLO ITERATIVO
  16. 16. Modelo Espiral 08/27/09 Ing. de Software Modelando el Proceso - Planificar Desarrollar y Probar Determinar Objetivos, Alternativas y Restricciones Evaluar Alternativas y Riesgos start Requirims, plan ciclo/vida Presupto 1 Alternativas 1 Restriccs 1 An. Riesgos 1 An.Riesgos 2 An.Riesgos 3 Análisis de Riesgos 4 Restriccs 2 Restriccs 3 Restriccs 4 Prespto 2 Prespto 3 Prespto 4 Alternativas 2 Alternativas 3 Alternativas 4 Prototipo 1 Proto- tipo 2 Proto- tipo 3 Proto- tipo 4 Concepto de operacion Reqs. de Software Requers. Validados Plan de Desarrollo Plan de Integracion y Pruebas Diseño de Software Diseño Validado, y verificado Diseño Detallado Codificación Prueba Unitaria Prueba del Sistema Prueba de Aceptación Plan de Implantación
  17. 17. Modelo de Proceso y de Ciclo de Vida <ul><li>La preocupación por el “Proceso” (fin de los ’80) es más reciente que la definición del “Ciclo de Vida” (fin de los ’60) </li></ul><ul><li>En general se asocia a la noción de modelo de proceso un mayor detalle y precisión </li></ul><ul><li>Los modelos previos presentan en general poco nivel de detalle y fueron propuestos originalmente como modelos de Ciclo de Vida </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  18. 18. Herramientas y Técnicas para el Modelado de Procesos <ul><li>Elegir un lenguaje o notación </li></ul><ul><li>Tener claro objetivos del modelo </li></ul><ul><ul><li>Detalle (granularidad) </li></ul></ul><ul><ul><li>Describir-prescribir </li></ul></ul><ul><ul><li>Predecir (requiere agregar relaciones cuantitativas entre elementos) </li></ul></ul><ul><ul><li>Ejecutar (asistir en el uso) </li></ul></ul><ul><li>Vamos a ver algunos ejemplos… </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  19. 19. Esquema ETVX <ul><li>Entry Task Verification eXit </li></ul><ul><li>Entry: Condiciones necesarias para poder cumplir una tarea </li></ul><ul><li>Task: Tarea que se lleva a cabo </li></ul><ul><ul><li>Quién y con qué responsabilidad </li></ul></ul><ul><li>Verification: Criterios para verificar que concluyó de forma adecuada (a veces se le menciona como Validation) </li></ul><ul><li>eXit: Resultados a obtener </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  20. 20. Notación de Lai <ul><li>Artefacto, subartefacto, Actividad,subActividad, Rol, Operación, Análisis </li></ul><ul><li>Tablas de estado muestran información referida a cuán completo está un artefacto en un instante dado </li></ul><ul><li>Tablas de estado muestran cómo puede operar el proceso sobre los artefactos </li></ul><ul><li>Diagramas de transición de estado muestran cómo se relacionan unos estados con otros (máquina de estados compuestos) </li></ul><ul><li>Formularios para definir cada tipo de elemento (en los que se especifican las relaciones) </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  21. 21. Lai- relaciones entre elementos 08/27/09 Ing. de Software Modelando el Proceso - Actividad Operación Rol Artefacto Estado-P(roceso) Estado- A(rtefacto) Análisis Ejecuta Ejecuta Ejecuta Manipula Sub-actividad Sub-artefacto compuesto por controla Refiere a cambia Refiere a proceso artefacto
  22. 22. Lai – Formulario para operación 08/27/09 Ing. de Software Modelando el Proceso - Componente Definición Pre-Condición Predicado en Estado-A para poder realizarla Artefacto El artefacto manipulado por la operación Acción La función a ser relizada por la operación Rol Lista de roles habilitados Post-Condición Predicados sobre Estado-A
  23. 23. Modelo de Factores que inciden en la productividad (Abdel-Hamid 96) 08/27/09 Ing. de Software Modelando el Proceso - Porción de personal experiente Productividad potencial nominal de personal experiente Productividad potencial promedio nominal Productividad potencial nominal de personal nuevo Productividad potencial % completado del proyecto Multiplicador de aprendizaje Sobre/bajo Tolerancia del trabajo Porción real de persona-día en el proyecto Presión del Calendario Pérdidas por motivación y comunicación Tamaño del equipo Esfuerzo adicional de comunicación Productividad de Desarrollo
  24. 24. Estructura del Desarrollo de Software (Abdel-Hamid 96) 08/27/09 Ing. de Software Modelando el Proceso - Pérdidas del Proceso Detección y Corrección de Errores Productividad potencial Personal Tasa de incorporación de personal Mezcla de experiencia del personal Nivel de Personal percibido como necesario Presión del Calendario Fecha estimada de Terminación Estado percibido del proyecto Productividad Percibida Esfuerzo de Q A Tasa de Errores Aprendizaje PRODUCCION DE SOFTWARE Tasa de bajas GESTION DE RRHH CONTROL PLANIFICACION Ajustes a Personal y Calendario Fecha Planificada de Terminación Tareas percibidas como terminadas Nivel de precisión en medir el avance Esfuerzo faltante percibido Productividad Real Tasa de Desarrollo de SW
  25. 25. Modelado de Proceso ¿Para qué? <ul><li>Entender el proceso (real o propuesto) </li></ul><ul><ul><li>Revelar inconsistencias, problemas (base para la mejora) </li></ul></ul><ul><li>Simulación del proceso y planificación del proyecto </li></ul><ul><ul><li>Poco nivel de detalle adicional necesario </li></ul></ul><ul><ul><li>Factores que afectan la productividad global. </li></ul></ul><ul><ul><li>Relaciones (cuantificadas) entre los factores. </li></ul></ul><ul><ul><li>Soportados por sw que simulan el proceso. </li></ul></ul><ul><li>Guía en la ejecución real del proceso </li></ul><ul><ul><li>Se precisa agregar múltiples detalles </li></ul></ul>08/27/09 Ing. de Software Modelando el Proceso -
  26. 26. Preguntas <ul><li>¿Qué ventajas presenta el modelo en cascada? </li></ul><ul><li>¿Qué problemas presenta este modelo para atacar proyectos de envergadura? </li></ul><ul><li>¿Qué aporta la construcción de prototipos? </li></ul><ul><li>¿Qué incorpora el modelo V del modelo respecto al modelo en cascada? </li></ul><ul><li>¿Qué ventajas presenta el desarrollo en Fases con liberaciones parciales? </li></ul><ul><li>¿Qué diferencias presenta con el desarrollo en Fases con evaluaciones parciales? </li></ul><ul><li>¿Qué aspecto introduce el Modelo en Espiral? </li></ul>08/27/09 Ing. de Software Modelando el Proceso -
  27. 27. Preguntas (2) <ul><li>¿Para qué sirve el esquema ETVX? </li></ul><ul><li>¿Para qué nos puede interesar modelar un proceso? </li></ul><ul><li>¿Los modelos de Abdel Hamid son descriptivos o prescriptivos? </li></ul>08/27/09 Ing. de Software Modelando el Proceso -

×