Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.
-
Upload
vinicio-trevino -
Category
Documents
-
view
214 -
download
0
Transcript of Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.
Reestructuración del Código
M.C. Juan Carlos Olivares Rojas
Marzo 2010
• Específica: conoce y corrige los errores que generalmente se cometen al desarrollar código.
• Genéricas
• Instrumentales: Capacidad de análisis y síntesis, Solución de problemas, Toma de decisiones.
Competencias
• Interpersonales: Capacidad crítica y autocrítica, Capacidad de trabajar en equipo interdisciplinario, Habilidad para trabajar en un ambiente laboral, Compromiso ético.
• Sistémicas: Capacidad de aprender, Capacidad de adaptarse a nuevas situaciones, Capacidad de generar nuevas ideas (creatividad), Habilidad para trabajar en forma autónoma, Preocupación por la calidad.
Competencias
• Análisis para una adecuada reestructuración.
• Métodos
• Simplificación
• Generalización
Temario
• 30% Prácticas
• 70% Actividad de Evaluación Integral (Teórico-Práctico)
• Actividades entregadas en horario de clases. Dudas en horarios de clases
Evidencias
• Último trabajo unidad 3
• Refactorizar una aplicación existente Orientada a Objetos con al menos tres aspectos diferentes (login, acounting, etc.)
• El miércoles se deberá definir que software existente se va a modificar para entregar (en clase) el viernes 14 de mayo por plataforma.
Práctica 11 Refactoring AOP
• Generalmente se pide una extensión a un sistema, y ni siquiera se comprende completamente lo que se va a hacer, cuando ya hay que hacerlo.
• ¿Porqué voy yo a corregir lo que otros hicieron mal?
• ¿Qué me garantiza que al “corregir” el código, el programa siga funcionando tal como al principio?
¿Por qué no refactorizamos?
• Con el tiempo, los errores se propagan a sí mismos.
• El diseño del programa se corrompe.
• El costo incremental de cambios se escala
¿qué pasa si no se refactoriza?
• El desarrollo de software con reuso consiste en desarrollar una aplicación usando software existente.
• El desarrollo de software para reuso consiste en la construcción de un sistema con la intención de reutilizar partes de él en futuros desarrollos.
• Estudios realizados determinaron que la práctica de reutilización del software en un proyecto aumenta la productividad durante el desarrollo de dicho proyecto.
Reuso de Software
• Los desarrolladores de software no entienden bien el concepto y creen que es solo copy-paste profesional.
• El beneficio no se da en el instante de desarrollar software para reuso, sino más adelante al minimizar tiempos de codificación y pruebas; por tanto, ¿para que lo hago si yo no disfrutaré esos beneficios?
• Pondré al descubierto mi forma de codificar (buena o mala) al dejar componentes reusables.
Problemas con el refactoring
• El curso se llevará por su cuenta se realizarán los siguientes temas para el examen teórico y práctico.
• Las prácticas se darán el lunes antes de las 16:00 (se espera que estén antes) para entregarse el jueves en horario de clases.
• El examen práctico de la cuarta unidad será el lunes 31 de mayo y el téorico el jueves 3 de junio en horario de laboratorio y clases respectivamente.
Patrones de Diseño
• Los exámenes de nivelación (máximo dos unidades) serán los siguientes días:
• Unidad 1 (solo teoría) y Unidad 2 Téorico Lunes 7 de junio (11:00 salón de clases Max. 2 horas)
• Unidad 3 Práctico Lunes 7 de junio (laboratorio 14 horas)
• Unidad 3 y 4 téoricos martes 8 de junio (11:00 salón de clases).
Patrones de Diseño
• Unidad 2 Práctico martes 8 de junio (laboratorio 14:00)
• Práctico unidad 4 miercoles 9 de junio (laboratorio 14:00)
• Resultados 24 horas después de aplicar los exámenes.
• Extras:• Jueves 10 de junio examenes teóricos
(sólo una unidad una hora máximo) salón de clases 11 horas.
Patrones de Diseño
• Extras:• Viernes 11 de junio examenes prácticos
(sólo uno) en el laboratorio 14:00 horas
• Semana 17-20 de mayo• Patrones de diseño estructurales:
adapter, bridge, composite, decorator, facade y proxy.
• Semana 24-27 de mayo• Patrones de diseño de comportamiento:
command, memento, mediator y observer.
Patrones de Diseño
• Referencias:
• Libro de patrones de diseño de gama (Gang of Four).
• Ebooks proporcionados por el profesor sobre patrón de diseño.
• Referencias electrónicas
Patrones de Diseño
• Sanchez, M., (2009), Material del Curso de Reestructuración de Códigos, Instituto Tecnológico de Morelia.
Referenicas
Dudas