programaci n orientada a objetos - elisa schaeffer · selección de patrones de diseño eventos,...
TRANSCRIPT
Cada uno diseña e implementa un software
El diseño será orientado a objetos
La implementación se realiza en el taller
Toda la calificación se basa en el proyecto
El proyecto avanza por fases
Blogs personales
Todo se entrega en el blog individual
Se puede “reciclar” un sólo blog entre varias clases, pero hay que indicar claramente al inicio de cada entrada para qué clase y qué semana es la entrada
Entregas a más tardar el jueves siguiente, 09:30 horas de la mañana; no habrá prórrogas
No pospongan las cosas
Si se atrasan en las actividades, se pierden y luego reprueban; no es una buena idea
Apóyense uno con el otro, formando grupos de trabajo y también en línea vía la lista de correos y los blogs
Los jueves hay asesorías M4+M5
Ahí es donde yo califico las entradas publicadas
Clase (teoría y diseño)
Definición inicial de temas
Diseño en términos de clases
Herencia y polimorfismo
Documentación y herramientas
Presentaciones de temas
Diagramas de clase de UML
Diagramas de secuencia de UML
Examen de medio curso
Presentaciones de diagramas
Selección de patrones de diseño
Eventos, excepciones y errores
Diseño de pruebas unitarias
Interfaces gráficas de usuario
Sistemas distribuidos
Presentaciones finales
Examen ordinario
Taller (implementación)
Herramientas y plataformas
Sintaxis de clases
Modularidad y reutilización de código
Documentación y herramientas
Especificación técnica
Herramientas UML
Diagramas de actividad
(Examen de medio curso)
Demostración de avance parcial
Incorporación de patrones de diseño
Manejo de eventos, excepciones y errores
Aplicación de pruebas unitarias
Implementación de interfaces gráficas
Implementación de sistemas distribuidos
Demostraciones finales
(Examen ordinario)
Mantengan su código así que siempre haya una versión que compila y ejecuta
Actividades de semana 1Para el 27 de enero
Definición inicial de tema de proyectoClase; 5 puntos
Descripción textual con imágenes
Selección, instalación y configuración de herramientasTaller; 5 puntos
Documentación con ligas a descargas y tutoriales junto con capturas de pantalla del ambiente de desarrollo instalado y configurado
Actividades de semana 2Para el 3 de febrero
Diseño de programas en términos de clases múltiplesClase; 5 puntos
Descripción textual que identifica las clases, sus atributos y sus métodos y la visibilidad de cada uno
Sintaxis de clases: métodos, atributos, visibilidadTaller; 5 puntos
Código en el lenguaje OO de su elección de las definiciones de las clases, sus atributos y métodos con la visibilidad adecuada (sin implementación los métodos no triviales)
Actividades de semana 3Para el 10 de febrero
Herencia y polimorfismo: modularidad y reutilización de códigoClase; 5 puntos
Descripción textual que identifica y explica las relaciones de herencia utilizados en el proyecto
Implementación de polimorfismoTaller; 5 puntos
Código en el lenguaje OO que están usando que implementa la herencia y demuestra el uso de polimorfismo en el proyecto
Actividades de semana 4Para el 17 de febrero
Documentación y herramientas de desarrolloClase; 5 puntos
Un texto que explica la importancia de documentación de software y la metodología que utilizarán para producirla, con ligas a herramientas
Documentación y herramientas avanzadas de desarrolloTaller; 5 puntos
Documentación para el código existente del proyecto y la explicación con ligas y capturas de pantalla sobre cómo fue generado
Actividades de semana 5
Para el 24 de febrero (diapositivas o video y discusiones en blogs)
Presentaciones de temas y retroalimentación entre paresClase; 5 puntos
Presentación breve en clase o video en YouTube
Especificación técnicaTaller; 10 puntos (mitad por calidad del contenido, mitad por claridad y nitidez de la presentación)
Un escrito técnico que detalla la implementación restante del proyecto
Actividades de semana 6
Para el 17 de marzo (después del exámenes de medio curso)
Diagramas de clase y secuencia de UMLClase; 5+5 puntos
Gráficas con explicación textual
Código autogenerado y comparaciónTaller; 5+5 puntos
Código autogenerado a partir de un diagrama de clases
Código que implementa las secuencias principales de actividad del programa
Actividades de semana 7
Examen de medio curso
Clase: martes 1 de marzo10 puntos; sin notas, libros o acceso a internet
Diseño a nivel de clases de un software a base de lo practicado
Taller: sin sesión y sin actividad en las semanas de exámenesA la hora de examen, asesoría de proyecto individual y retroalimentación personal del avance parcial del proyecto
Actividades de semana 8
Para el 24 de marzo (diapositivas o video y discusiones en blogs)
Presentaciones de diagramas de proyectosClase; 10 puntos (mitad por calidad de contenido, mitad por calidad de presentación)
Diapositivas explicadas en clase o en video en YouTube
Demostraciones de avance parcialTaller; 10 puntos (mitad por calidad de contenido, mitad por calidad de presentación)
Compilación y ejecución del código existente junto con explicación verbal
Actividades de semana 9
Para el 31 de marzo
Identificación de patrones de diseñoClase; 5 puntos
Texto con diagramas que explica cuáles patrones se aprovecha en el proyecto
Aplicación de patrones de diseñoTaller; 5 puntos
Incorporación de patrones de diseño en la implementación del proyecto
Actividades de semana 10
Para el 7 de abril
Identificación de eventos, excepciones y errores propiosClase; 5 puntos
Texto con diagramas que explica los eventos, excepciones y errores particulares al software que se está diseñando
Implementación de eventos, excepciones y errores propiosTaller; 5 puntos
Incorporación de eventos, excepciones y errores particulares al software
Actividades de semana 11
Para el 14 de abril
Diseño de pruebas unitariasClase; 5 puntos
Texto con diagramas que explica las pruebas unitarias a aplicar
Implementación de pruebas unitariasTaller; 5 puntos
Implementación de las pruebas unitarias en código documentado y un reporte de los resultados de su ejecución
Actividades de semana 12Para el miércoles 4 de mayo, medianoche (el día 5 no habrá clase ni asesorías)
Sistemas distribuidosClase; 5 puntos
Texto con diagramas que explica la operación (incorporada o potencial) del software de manera distribuida
También 5 puntos en el taller aunque perdemos la clase presencial por el asueto de 5 de mayo
En el caso de ya contar con un sistema distribuido implementado como parte de proyecto: análisis de las ventajas y desventajas del diseño actual
En el caso contrario, la implementación (de por lo menos un prototipo pequeño) para lograr la operación distribuida (por lo menos parcial) del sistema bajo desarrollo
Actividades de semana 13Para el 12 de mayo
Diseño de interfaces gráficasClase; 5 puntos
Dibujos de diseños de pantallas que identifican los componentes utilizados, su posicionamiento y función
Implementación de interfaces gráficasTaller; 10 puntos
Códigos documentados que implementan pantallas gráficas (5 puntos) con la funcionalidad correcta de los componentes ya incorporada (5 puntos)
Actividades de semana 14
Para el 19 de mayo (diapositivas o video y discusiones en blogs)
Presentaciones finalesClase; 10 puntos (mitad contenido, mitad forma, como antes)
Diapositivas en persona o video en YouTube
Demostraciones finales
Taller; 10+5+5 = 20 puntos (funcionalidad implementada + documentación + presentación)
Diapositivas en persona o video en YouTube
Actividades de semana 15
Examen ordinario
Clase: martes 24 de mayo10 puntos; sin notas, libros o acceso a internet
Diseño integral de un software a base de lo practicado
Taller: sin sesión y sin actividad en las semanas de exámenesA la hora de examen, retroalimentación personal del proyecto y calificación de los vídeos de demostraciones finales
En la sesión de la claseDoy una motivación breve al tema de la sesión
Les platico algo o muestro unas diapositivas o un video o un sitio web
Discutimos algunos casos de ejemplo para comenzar
Buscamos por recursos en línea
Aplican lo discutido a sus proyectos individuales
Comienzan la actividad entregable de la semana
En la sesión del taller
Repaso rápidamente el tema de la sesiónEl mismo que mi grupo vio en la clase de la misma semana
Probamos juntos lo que se pretende hacer
Aplican lo discutido a sus proyectos individuales
Comienzan la actividad entregable de la semana
Hagan lo que ustedes quieranSiempre y cuando
Sea realista que lo terminen exitosamente en este semestreSi quieren hacer algo más exótico, que tengan algo experiencia en eso o mucho tiempo libre para averiguar detalles
El diseño del software se haga orientado a objetosEl lenguaje en realidad no importa, aunque es recomendable utilizar alguno que es orientado a objetos por su propio diseño
Tengan un clientePuede ser algunos de ustedes mismos, yo, un tercero - alguien quien quiera el software que van a desarrollar y quien pueda decir sí o no sirve