Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

17
Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010

Transcript of Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

Page 1: 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

Page 2: 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

Page 3: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 4: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• Análisis para una adecuada reestructuración.

• Métodos

• Simplificación

• Generalización

Temario

Page 5: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 6: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• Ú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

Page 7: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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?

Page 8: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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?

Page 9: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 10: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 11: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 12: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 13: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 14: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 15: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• 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

Page 16: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

• Sanchez, M., (2009), Material del Curso de Reestructuración de Códigos, Instituto Tecnológico de Morelia.

Referenicas

Page 17: Reestructuración del Código M.C. Juan Carlos Olivares Rojas Marzo 2010.

Dudas