30
Programación orientada a objetos Clase & taller Dra. Elisa Schaeffer / FIME UANL 2011

Programaci n orientada a objetos - Elisa Schaeffer · Selección de patrones de diseño Eventos, excepciones y errores Diseño de pruebas unitarias ... Descripción textual que identifica

  • Upload
    lyhanh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Programación orientada a

objetosClase & taller

Dra. Elisa Schaeffer / FIME UANL 2011

Meta: un propio software

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

Programa semanal

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 semanales

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

Dinámica de sesiones

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

Proyectos individuales

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

¿Ideas?