R u4

Page 1

Reestructuraci贸n del C贸digo M.C. Juan Carlos Olivares Rojas

Marzo 2010


Competencias

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


Temario

• Análisis para reestructuración. • Métodos • Simplificación • Generalización

una

adecuada


• 30% Prácticas

Evidencias

• 70% Actividad de (Teórico-Práctico)

Evaluación

Integral

• Actividades entregadas en horario de clases. Dudas en horarios de clases


Práctica 11 Refactoring AOP

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


¿Por qué no refactorizamos?

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


¿qué pasa si no se refactoriza?

• Con el tiempo, los errores se propagan a sí mismos. • El diseño del programa se corrompe. • El costo incremental de cambios se escala


Reuso de Software

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


Problemas con el refactoring

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


Patrones de Diseño

• 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 (laboratorio 14 horas)

Lunes

7

de

junio

• Unidad 3 y 4 téoricos martes 8 de junio (11:00 salón de clases).


Patrones de Diseño

• Unidad 2 Práctico (laboratorio 14:00)

martes

8

de

junio

• 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


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


Referenicas

โ ข Sanchez, M., (2009), Material del Curso de Reestructuraciรณn de Cรณdigos, Instituto Tecnolรณgico de Morelia.


Dudas


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.