Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ra semana 12

257 views

Published on

  • Be the first to comment

  • Be the first to like this

Ra semana 12

  1. 1. Planificación, Reingeniería y Plan de Proyecto ISF5501 Ingeniería de Software Semana 12
  2. 2. Aprendizajes Esperados:Utiliza Patrones de diseño de acuerdo a características de desarrollo. Contenidos: Analiza la solución de diseño para una aplicación informática para gestión.
  3. 3. Temario Semana 121. Planificación Temporal del Proyecto2. Reingeniería del Software3. Plan de Proyecto del Software4. Síntesis
  4. 4. Planificación Temporal Esta planificación se puede visualizar desde 2 perspectivas: • La fecha del lanzamiento del Sistema ya ha sido irrevocablemente establecida. Quizás es necesario distribuir el esfuerzo dentro del marco prescrito. • El segundo enfoque asume que se han estudiado unos límites cronológicos aproximados, pero la organización del Sistema es la que fijará la fecha final. Quizás mas a menudo que lo esperado nos encontramos con que la planificación es mas importante que los mismo valores estimados para sus Costes…
  5. 5. Planificación Temporal Relación Gente/Trabajo: • En un proyecto pequeño una sola persona puede desarrollar todas las fases del proyecto. • Si nos retrasamos en la agenda, ¿siempre podremos añadir más personal y mas tarde ponernos al día con el proyecto?. • A parte del tiempo que lleva comprender el Sistema, también se amplían los canales de comunicación y, por consiguiente, crece la complejidad en todo el proyecto. • Siendo la comunicación esencial para un fructífero desarrollo, cada nuevo camino (canal) requiere esfuerzo y tiempo adicional.
  6. 6. Planificación Temporal Relación Gente/Trabajo: • Regularmente, la relación entre el número de personas trabajando versus la productividad global no es lineal. • Por lo tanto, ¿son poco productivos los equipos de trabajo? • La respuesta es NO, considerando que la comunicación servirá para mejorar la calidad y la facilitar el mantenimiento del software.
  7. 7. Planificación Temporal Definición de Tareas y Paralelismo: • En un proyecto es posible que varias de las actividades de desarrollo se realicen en forma paralela. • El Análisis, las Especificaciones y los Requisitos, son las primeras tareas que hay que desarrollar y serán la base para el paralelismo de las siguiente etapas. • La naturaleza modular de un software bien diseñado, lleva por si solo al desarrollo en paralelo del diseño detallado, de la codificación, y de las pruebas unitarias. • El planificador es el que deberá determinar la dependencia entre tareas, para asegurar el progreso continuo y el cumplimiento de los hitos establecidos.
  8. 8. Planificación Temporal Distribución de Esfuerzo: • Las técnicas de Estimación son las que nos entregan el esfuerzo requerido en personas/mes para terminar el proyecto. Distribucion de Esfuerzo Analisis y Diseño Prueba y Depuracion Codificacion 15-20% 40-50% 30-40%
  9. 9. Planificación Temporal Distribución de Esfuerzo: • La gráfica anterior solo es una directriz; las características de cada proyecto son las que impondrán la distribución del esfuerzo. • El detalle anterior podría suponer que:  El esfuerzo gastado en la Planificación, rara vez superará el 2% ó 3%  El análisis de requisitos supone entre el 10% y 25%  Para el diseño de software, entre el 20% y el 25%.  Para la Codificación, entre el 15% y 20%.  Las Pruebas y sus depuraciones, pueden requerir entre el 30% y 40%.
  10. 10. Planificación Temporal Seguimiento y Control del Proyecto: • “Los proyectos del software salen de su agenda día a día” • Un día no va a afectar en la agenda, pero los días se van acumulando y al final esos pequeños retrasos pueden producir grandes problemas. • Por lo anterior, el Seguimiento es fundamental para el éxito del proyecto y se puede desarrollar de las siguientes formas:  Realizando reuniones periódicas sobre el estado del proyecto.  Evaluando los resultados de todas las revisiones realizadas en todo el proceso de ingeniería.
  11. 11. Planificación Temporal Seguimiento y Control del Proyecto:  Determinar si los hitos formales del proyecto se han alcanzado en la fecha programada, comparando la fecha de comienzo real con la fecha de comienzo planeada para cada tarea del proyecto.  Reuniéndose informalmente con los técnicos para conocer sus valoraciones subjetivas acerca del progreso y los problemas que acechan en el horizonte. • Los gestores de proyecto utilizan el Control para administrar los recursos del proyecto, para así hacer frente a los problemas y para dirigir al personal a cargo.
  12. 12. Temario Semana 121. Planificación Temporal del Proyecto2. Reingeniería del Software3. Plan de Proyecto del Software4. Síntesis
  13. 13. Reingeniería del Software Casi todas las empresas que utilizan algún software o que construyen sus propios sistemas, se encontrarán con que el este “envejece”. Muchos programas que son cruciales para la operación de la organización se han vuelto mucho mas costosos y difíciles de mantener. Incluso, se llega al grado de implementar “parches” sobre “parches”, logrando un funcionamiento ineficiente, fallas concurrentes y que no responden a las necesidades del usuario. Considerando los casos anteriores, se puede elaborar una estrategia para llevar a cabo una reingeniería sobre el software existente.
  14. 14. Reingeniería del Software Siendo la reingeniería una alternativa incluso de “bajo coste”, debemos considerar los siguiente pasos: i. Seleccionar aquellos programas que actualmente se están utilizando y que sea probable de que se sigua utilizando durante los próximos 5 o 10 años. ii. Estimar el Coste anual de mantenimiento de los programas seleccionados. Este coste debe incluir la corrección de errores, la adaptación al entorno y las mejoras funcionales. iii. Asignar prioridades a los programas seleccionados según su importancia y su coste de mantención. iv. Estimar el coste de la reingeniería de los programas seleccionados.
  15. 15. Reingeniería del Softwarev. Para cada programa seleccionado comparar el coste de mantenimiento con el coste de reingeniería.vi. Calcular el tiempo requerido para que se empiece a recuperar la inversión en reingeniería.vii.Considerar ciertos asuntos intangibles como la facilidad de cambio, la mejora en la fiabilidad, el rendimiento del sistema y la mejora en las interfaces de usuario.viii.Comenzar la reingeniería a partir de una sencilla aplicación.ix. Con las lecciones aprendidas en el paso anterior, comenzar la estrategia para los siguientes
  16. 16. Temario Semana 121. Planificación Temporal del Proyecto2. Reingeniería del Software3. Plan de Proyecto del Software4. Síntesis
  17. 17. Plan de Proyecto Cada paso del proceso de ingeniería de software debe producir algo que se pueda entregar, que se pueda revisar y que sirva de base para las etapas posteriores. El Plan de Proyecto del Software es la culminación de la Planificación y proporciona una línea base con información de costes y agenda que se utilizará a lo largo del desarrollo del proyecto.
  18. 18. Plan de Proyecto Este Plan de Proyecto es un documento breve que debe incluir, entre otras cosas, lo siguiente: • Comunicar el ámbito y los recursos a los gestores del software, al personal técnico y a los clientes. • Definir los riesgos y sugerir técnicas de aversión al riesgo • Definir el coste y la agenda de la revisión de la gestión. • Proporcionar un enfoque global del desarrollo del software para la gente involucrada en el proyecto.
  19. 19. Temario Semana 121. Planificación Temporal del Proyecto2. Reingeniería del Software3. Plan de Proyecto del Software4. Síntesis
  20. 20. Síntesis• La Planificación en una herramienta que nos entregará la distribución de tareas, actividades, esfuerzo y sus costes a lo largo del proyecto.• Esta Planificación puede incluir todos aquellos aspectos del proyecto desde que nace hasta que termina su mantención.• El desarrollo de un proyecto apunta también a encontrase con situaciones de reutilización. Estas aportan otra visión y postura ante el enfoque del mismo. Esto se llama Reingeniería.
  21. 21. Síntesis• La Reingeniería trata el desarrollo como una instancia para generar una solución escalar e integral.• Todo proceso se debe documentar y la Planificación no escapa a esto. El término de esta actividad se plasma en una documento denominado Plan de Proyecto.• El Plan de Proyecto es de suma importancia ya que es la formalidad de los procesos a seguir y además entrega una visión general al cliente en caso que lo requiera.

×