GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. ·...
Transcript of GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. ·...
INGENIERÍA EN INFORMÁTICA
PROGRAMACIÓN ORIENTADA
A OBJETOS
POO-ES
REV00
II
DIRECTORIO
Mtro. Alonso Lujambio Irazábal
Secretario de Educación Pública
Dr. Rodolfo Tuirán Gutiérrez
Subsecretario de Educación Superior
Mtra. Sayonara Vargas Rodríguez
Coordinadora de Universidades Politécnicas
III
PÁGINA LEGAL
Participantes
Mtra. Alma Delia Nieto Yáñez – Universidad Politécnica del Estado de Morelos
Mtra. Irma Yazmín Hernández Báez - Universidad Politécnica del Estado de Morelos
Mtro. Edgardo González Hernández - Universidad Politécnica del Estado de Morelos
Mtro. Roberto Enrique López Díaz - Universidad Politécnica del Estado de Morelos
Mtra. Liliana Márquez Mundo – Universidad Politécnica del Estado de Morelos
Mtro. José Luis Ledezma Sánchez - Universidad Politécnica de Toluca
Mtro. Gilberto García González - Universidad Politécnica del Valle de México
Mtro. Pedro Vargas García - Universidad Politécnica de Puebla
Mtro. Alejandro Pérez Pasten - Universidad Politécnica de Sinaloa
Primera Edición: 2011
DR 2011 Coordinación de Universidades Politécnicas.
Número de registro:
México, D.F.
ISBN-----------------
IV
ÍNDICE
INTRODUCCIÓN ............................................................................................................................................ 1
PROGRAMA DE ESTUDIOS .......................................................................................................................... 3
FICHA TÉCNICA ............................................................................................................................................. 4
DESARROLLO DE LAS PRÁCTICAS ............................................................................................................. 5
INSTRUMENTOS DE EVALUACIÓN ............................................................................................................. 19
GLOSARIO ................................................................................................................................................... 31
BIBLIOGRAFÍA ............................................................................................................................................ 33
ANEXO A...................................................................................................................................................... 34
1
INTRODUCCIÓN
La programación orientada a objetos POO es un modelo de programación que utiliza objetos,
ligados mediante mensajes, para la solución de problemas. El paradigma de la POO consiste
en organizar los programas a imagen y semejanza de la organización de los objetos en el
mundo real, en donde la interacción de los objetos construye objetos.
En la programación estructurada, se puede pensar en los programas como si fueran una
lista de instrucciones que le indican a la computadora qué hacer. En cambio en la POO un
programa es un conjunto de objetos que interactúan entre sí para realizar las distintas
tareas programadas.
La combinación de éstos objetos es un aspecto de dicha programación, pero también
incluye mecanismos y características que hacen que la creación y el uso de objetos sea
sencillo y flexible. Entre dichos mecanismos, propiedades y características podemos
mencionar la clase, el encapsulamiento y la herencia.
La clase es la generalización de un tipo específico de objetos, pero cada objeto que sea
construido a partir de una clase tendrá sus propios datos. La mayoría de los autores utilizan
el término instancia para los objetos creados a partir de una clase, las instancias son la
representación concreta y específica de una clase.
Cuando se escribe un programa utilizando un lenguaje orientado a objetos, no se definen
objetos verdaderos, se definen clases de objetos, donde una clase se ve como una plantilla
para múltiples objetos con características similares.
Los objetos están definidos por sus atributos y comportamiento, características que se
definen en las clases. Las rutinas que establecen el comportamiento de los objetos son los
métodos, que contienen los lineamientos de interacción entre objetos, conocidos como
2
mensajes. Una vez que un objeto ya no es necesario es borrado, y los recursos de cómputo
liberados al realizar ésta eliminación se vuelven de nuevo disponibles para el programa.
El ciclo de vida de los objetos se vuelve entonces:
1. Creación del objeto
2. Utilización del objeto
3. Borrado del objeto y recuperación de recursos de cómputo
Una plataforma de desarrollo de un lenguaje de programación provee al programador
Interfaces de Programación de Aplicaciones (APIs, por sus siglas en inglés Application
Programming Interface) para el manejo de errores, para la programación multihebra,
aplicaciones gráficas y en internet, entre otras. Para crear una aplicación real, los
desarrolladores combinan las diferentes APIs disponibles, por cual es importante conocer
las APIs existentes, su funcionamiento y como usarlas de manera combinada. En esta
asignatura el alumno conocerá y aplicará las principales APIs para desarrollar soluciones a
problemas reales.
3
PROGRAMA DE ESTUDIOS
PresencialNO
PresencialPresencial
NO
Presencial
Al completar la unidad de aprendizaje el
alumno será capaz de:
*Identificar cuando un programa OO
requiere el manejo de excepciones para
implementarlas.
EP1. Diagrama de flujo
para identificar cuando un
programa OO requiere el
manejo de excepciones
para implementarlas.
Aprendizaje basado en
problemas, uso de
diagramas e
ilustraciones
* Lista de cotejo
para diagrama de
flujo para identificar
cuando un
programa OO
requiere el manejo
de excepciones para
implementarlas.
*Describir estructuras dinámicas.
EC1. Resolver
cuestionario sobre
colecciones, listas,
vectores y árboles
binarios
Aprendizaje basado en
problemas, aprendizaje
cooperativo
* Cuestionario guía
sobre colecciones,
listas, vectores y
árboles binarios
Al completar la unidad de aprendizaje el
alumno será capaz de:
* Implementar procesos en paralelo
mediante el uso de hilos.
EP1.Reporte de práctica
en la que se utilizan hilos
para realizar varios
procesos en paralelo.
Aprendizaje basado en
problemas, aprendizaje
cooperativo, uso de
diagramas,
ilustraciones y
esquemas
* Lista de cotejo
para reporte de
práctica de hilos
para realizar varios
procesos en paralelo.
* Elaborar programas donde se utilicen
hilos para realizar operaciones de conexión
asíncronas.
EP2. Reporte de práctica
sobre operaciones de
conexión asíncronas a
datos remotos.
Aprendizaje basado en
problemas, uso de
diagramas
*Lista de cotejo
para reporte de
práctica sobre
operaciones de
conexión asíncronas
a datos remotos.
EP1. Reporte de práctica
en la que se genere
código a partir de la
interfaz propuesta como
lineamiento.
*Lista de cotejo
para reporte de
práctica de
interfaces.
EC1. Cuestionario sobre
interfaces. *Cuestionario guía sobre
interfaces.
Al completar la unidad de aprendizaje el
alumno será capaz de:
* Implementar interfaces gráficas en
programas orientados a objetos.
EP1. Reporte de práctica
para programa que hace
uso de interfaz gráfica.
Aprendizaje basado en
problemas, dinámica
de grupos, uso de
diagramas
*Lista de cotejo
para reporte de
práctica de uso de
interfaces gráficas.
EP2. Reporte de práctica
de programa para manejo
de eventos en interfaz
gráfica.
*Lista de cotejo para
reporte de práctica
de programa donde
maneja eventos en
interfaz gráfica.
ED1. Práctica para
realizar modificaciones
de interfaz gráfica.
* Guía de
observación para
práctica donde
realiza
modificaciones de
interfaz gráfica.
Al completar la unidad de aprendizaje el
alumno será capaz de:
* Identificar las tecnologías web que hacen
uso de POO.
EC1. Cuestionario sobre
tecnologías web que
hacen uso de POO.
Aprendizaje basado en
problemas, aprendizaje
cooperativo
*Cuestionario guía
sobre las
tecnologías web que
hacen uso de POO.
* Implementar programas bajo el
paradigma OO que se ejecuten en ambiente
Web
EP1. Reporte de proyecto
de programas OO que se
ejecutan en ambiente
Web.
Aprendizaje basado en
problemas, dinámica
de grupos
*Lista de cotejo
para reporte de
proyecto de POO en
Web.
INTERFACES
10 3 10 3X X N/A N/A N/A
Exposición,
discusión dirigida,
uso de diagramas,
ilustraciones y
esquemas
8 3 8 3
3
Exposición,
discusión dirigida,
uso de diagramas,
ilustraciones y
esquemas
x xHILOS
PROGRAMA DE ESTUDIO
DATOS GENERALES
AULA LABORATORIO
MATERIALES
REQUERIDOSPARA EL
APRENDIZAJE
(ALUMNO)
ESTRATEGIA DE APRENDIZAJE
PARA LA
ENSEÑANZA
(PROFESOR)
PROYECTO
TOTAL HRS. DEL CUATRIMESTRE:
NOMBRE DEL PROGRAMA EDUCATIVO:
OBJETIVO DEL PROGRAMA EDUCATIVO:
NOMBRE DE LA ASIGNATURA:
CLAVE DE LA ASIGNATURA:
OBJETIVO DE LA ASIGNATURA:
EVALUACIÓN
OBSERVACIÓN
CONTENIDOS PARA LA FORMACIÓN
TEÓRICA
Documental
Documental
EXCEPCIONES Y ESTRUCTURAS DINÁMICAS
PRÁCTICA
120
UPEMOR,UPPuebla, UPSIN, UPVM, UPVT
9
9N/A N/A
*Práctica de
hilos.
*Práctica de
operaciones de
conexión
asíncronas a
datos remotos.
Documental y de
campo
Documental
Al completar la unidad de aprendizaje el
alumno será capaz de:
* Elaborar programas en que se haga uso
de interfaces.
Aprendizaje basado en
problemas, dinámica
de grupos
POO EN WEB X X
Documental
Ingeniería en Informática
Formar Ingenieros competentes en la implementación y administración de soluciones de negocios o para la investigación basada en computadora, con una amplia visión de la ciencia y las nuevas tecnologías de la información, bajo el modelo de educación basado en competencias
Programación Orientada a Objetos
POO - ES
El alumno será capaz de codificar las soluciones para problemas reales o simulados uti l izando un lenguaje de programacion orientada a objetos.
Material
bibliográfico e
impreso,
marcadores,
lapiceros, plumas,
borrador, lápices,
hojas, cuaderno,
carpetas.
Computadora,
proyector, pizarrón
interactivo, pizarrón.
X X N/A N/A* Práctica de
interfaces
9 3
EQUIPOS
REQUERIDOS
TOTAL DE HORASESPACIO EDUCATIVO MOVILIDAD FORMATIVA
INTERFAZ GRÁFICA N/AX X N/A
Exposición
Ejemplos
ilustrativos
Aprendizaje basado
en problemas
* Implementar manejo de eventos en
interfaz gráfica.
Aprendizaje basado en
problemas
Aprendizaje basado
en problemas
Ejemplos
ilustrativos
31 de mayo de 2011FECHA DE EMISIÓN:
PRÁCTICA EVIDENCIAS
TECNICAS SUGERIDAS
OTRO
9
Exposición
Ejemplos
ilustrativos
Aprendizaje basado
en problemas
3
3
3
UNIVERSIDADES PARTICIPANTES:
UNIDADES DE APRENDIZAJE RESULTADOS DE APRENDIZAJE
TÉCNICA INSTRUMENTO
9
N/A
Proyecto de
programas OO
que se ejecuten
en ambiente
Web
N/A
Práctica de
implementación
de interfaz
gráfica y de
manejo de
eventos
9 3
4
FICHA TÉCNICA
PROGRAMACIÓN ORIENTADA A OBJETOS
Nombre: Programación Orientada a Objetos
Clave: POO – ES
Justificación:
Proveer al estudiante del lenguaje de programación orientada a objetos para
que pueda probar la validez de sus implementaciones y las ejecute en
tecnologías de software compatibles con las que el sector productivo demanda
en la actualidad.
Objetivo: El alumno será capaz de codificar las soluciones para problemas reales o
simulados utilizando un lenguaje de programación orientada a objetos.
Habilidades:
Razonamiento Matemático, comprensión oral y escrita, selección de
información, uso de tecnologías informáticas y de comunicación, análisis y
síntesis, resolución de problemas, aplicación del conocimiento.
Competencias
genéricas a
desarrollar:
Análisis y síntesis para: aprender, resolver problemas, aplicar los conocimientos
en la práctica y trabajar en forma autónoma yen equipo.
Capacidades a desarrollar en la asignatura Competencias a las que contribuye la asignatura
Programar sistemas de información
usando lenguajes de programación y
considerando las características de diseño
para automatizar los procesos.
Programar sistemas de información
usando lenguajes de programación Web y
considerando las características de diseño
para automatizar los procesos.
Desarrollar aplicaciones de software mediante
lenguajes especializados para eficientar los
procesos de las organizaciones.
Desarrollar aplicaciones web mediante lenguajes
especializados para eficientar los procesos de
las organizaciones.
Estimación de
tiempo (horas)
necesario para
transmitir el
aprendizaje al
alumno, por Unidad
de Aprendizaje:
Unidades de aprendizaje HORAS TEORÍA HORAS PRÁCTICA
Presencial
No
presencial
Presencial
No
presencial
Excepciones y estructuras
dinámicas 10 3 10 3
Hilos 9 3 9 3
Interfaces 8 3 8 3
Interfaz gráfica 9 3 9 3
POO en Web 9 3 9 3
Total de horas por cuatrimestre: 120
Total de horas por semana: 8
Créditos: 8
5
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE DE EXCEPCIONES
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: I. Excepciones y estructuras dinámicas
Nombre de la práctica o
proyecto: Práctica de excepciones.
Número: 1/2 Duración (horas) : 3
Resultado de
aprendizaje:
Identificar cuando un programa OO requiere el manejo de excepciones, y
en su caso, implementarlas.
Requerimientos (Material
o equipo):
Computadora, material bibliográfico impreso, compilador y procesador de
textos.
Actividades a desarrollar en la práctica:
1. Elaborar un diagrama de flujo en el que realice el procedimiento de conversión de una expresión
aritmética infija a posfija y posteriormente la evalúe. Se deberán identificar las situaciones en las
que son necesarias el uso de excepciones. El diagrama debe incluir los elementos necesarios para
permitir capturar todos los errores usando excepciones. Se deben incluir las excepciones estándar
del lenguaje así como excepciones definidas por el programador para el problema en particular,
por ejemplo un carácter no válido. La expresión puede ser básica (operadores aritméticos y
operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería:
Expresión en infijo:538*2/+
Resultado de la evaluación: 17
2. Elaborar el reporte de práctica correspondiente. El reporte debe incluir:
- Portada
- Índice
- Introducción. Breve descripción del tema (excepciones) y algunos aspectos de interés (en este caso
se debe notación infija y postfija), así como descripción y objetivo de la práctica.
6
- Diseño. Esta sección incluye el diagrama de clases, la descripción textual de las clases y el
pseudocódigo de los métodos principales. Así como el diagrama de flujo solicitado en el punto 1.
- Conclusiones. Además de las conclusiones se pueden incluir limitaciones o dificultades encontradas.
- Bibliografía. Todas las referencias deben estar completas.
Nota: Todas las figuras deben numerarse y hacer referencia a ellas en el texto.
Evidencias a las que contribuye el desarrollo de la práctica:
EP1. Diagrama de flujo para identificar cuando un programa OO requiere el manejo de excepciones
para implementarlas.
7
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: II. Hilos
Nombre de la práctica o
proyecto: Práctica de Procesos en paralelo usando hilos.
Número: 1/2 Duración (horas) : 5
Resultado de
aprendizaje: Implementar procesos en paralelo mediante el uso de hilos
Requerimientos (Material
o equipo): Computadora, material bibliográfico impreso, libreta, lápiz.
Actividades a desarrollar en la práctica:
1. Escriba un programa de nombre BarberoDormilon que consiste lo siguiente:
En una peluquería en la cual trabaja un barbero que tiene una silla de trabajo y varias sillas
para que los clientes esperen su turno. Si no hay clientes presentes, el barbero se sienta
en la silla y se duerme. Cuando llega un nuevo cliente, si el barbero estaba dormido
despierta y atiende al cliente. Si llegan más clientes mientras el barbero está afeitando a
otro cliente, se sientan (si hay sillas vacías) en una silla a esperar ser atendidos o bien
salen del establecimiento (si todas las sillas están ocupadas).
a. Implementar mediante hilos a los clientes y al barbero.
b. Implementar a la barbería como un monitor que considera el proceso de
sincronización entre clientes y barbero.
c. Escriba un método llamado CortarCabello que permita atender a los clientes de
manera sincronizada.
d. Escriba un método llamado AtenderCliente que notifique el turno a un cliente que
se encuentra sentado en la silla de espera o que indique al barbero que puede
dormirse porque no hay clientes que atender.
DESARROLLO DE LA PRÁCTICA DE HILOS
8
2. Incluir un comentario al principio del programa con la siguiente información:
a. Número de la práctica.
b. Fecha de la última modificación del programa.
c. Nombre, apellidos y matrícula del autor.
d. Grupo al que asiste.
e. Nombre de la unidad de aprendizaje.
f. Tamaño del archivo fuente y el tamaño del archivo compilado.
3. Elaborar el reporte de práctica correspondiente. El reporte debe incluir:
- Breve descripción del problema, así como descripción de los conceptos de POO utilizados en
el diseño de la solución.
- Diagrama de clases.
- Explicación de las clases y sus relaciones.
- Algoritmo ó diagrama de flujo de los métodos principales.
- Aspectos importantes en el diseño de la solución.
- Pruebas y análisis de resultados.
- Conclusiones.
- Referencias bibliográficas
Evidencias a las que contribuye el desarrollo de la práctica: EP1. Reporte de práctica en la que se utilizan hilos para realizar varios procesos en paralelo.
9
DESARROLLO DE LA PRÁCTICA DE OPERACIONES DE CONEXIÓN
ASÍNCRONA A DATOS REMOTOS
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: II. Hilos
Nombre de la práctica o
proyecto: Práctica de Acceso Asíncrono usando hilos.
Número: 2/2 Duración (horas) : 3
Resultado de
aprendizaje: Elaborar programas donde se utilicen hilos para realizar operaciones
de conexión asíncronas.
Requerimientos (Material
o equipo): Computadora, material bibliográfico impreso, libreta, lápiz.
Evidencias a las que contribuye el desarrollo de la práctica:
1. Escriba un programa que imlemente el problema de “procesos productores y
consumidores” y que permita generar un archivo reutilizable de seguimiento para efectuar
análisis de la forma en que se ha desarrollado la ejecución de los hilos y la sincronización
de los mismos. El programa debe considerar los siguientes aspectos:
a. Los procesos productores simularán generar, es decir “grabar” información en un
grupo de buffers disponibles.
b. Los procesos consumidores simularán retirar, es decir “leer” información del grupo
de buffers disponibles, que previamente debieron ser “cargados” por los procesos
productores.
c. Si cuando un proceso consumidor intentara leer no hay suficientes buffers
disponibles, deberá esperar a que alguno de los procesos productores grabe los
buffers.
d. Los procesos productores solo actuarán cuando el nivel de buffers grabados este
por debajo de cierto límite, llamado límite de reposición, que será un dato variable
que se ingresa como parámetro de configuración de la simulación, al giual que la
cantidad de buffers grabados en cada reposición.
10
e. Los procesos consumidores podrán retirar (leer) buffers en número variable pero
hasta cierto límite, que también será un dato variable que se ingresa como
parámetro de configuración de la simulación.
f. Debido a que los procesos productores solo actúan cuando el número de buffers
disponibles está por debajo del nivel de reposición y a que la cantidad de
reposición es finita, se asegura que el número de buffers del pool será siempre
finito.
g. El tiempo que durará la simulación también será un parámetro de configuración
que se ingresa como dato expresado en milisegundos.
2. Incluir un comentario al principio del programa con la siguiente información:
- Número de la práctica.
- Fecha de la última modificación del programa.
- Nombre, apellidos y matrícula del autor.
- Grupo al que asiste.
- Nombre de la unidad de aprendizaje.
- Tamaño del archivo fuente y el tamaño del archivo compilado.
3. Elaborar el reporte de práctica correspondiente. El reporte debe incluir:
- Breve descripción del problema, así como descripción de los conceptos de POO utilizados en
el diseño de la solución.
- Diagrama de clases.
- Explicación de las clases y sus relaciones.
- Algoritmo ó diagrama de flujo de los métodos principales.
- Aspectos importantes en el diseño de la solución.
- Pruebas y análisis de resultados.
- Conclusiones.
- Referencias bibliográficas
Evidencias a las que contribuye el desarrollo de la práctica: EP2. Reporte de práctica sobre operaciones de conexión asíncronas a datos remotos.
11
DESARROLLO DE LA PRÁCTICA DE INTERFACES
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: III. Interfaces
Nombre de la práctica o
proyecto: Práctica de interfaces
Número: 1 Duración: 3
Resultado de
aprendizaje: Elaborar programas en que se haga uso de interfaces.
Requerimientos (Material
o equipo):
Computadora, material bibliográfico impreso, compilador y procesador de
textos.
Actividades a desarrollar en la práctica:
1. Diseñe y codifique un diagrama de clases que incluya las interfaces necesarias para representar la
siguiente situación: Asuma que se quiere modelar personas de una universidad para implementar
un sistema de administración de cursos. Hay diferentes personas: miembros del personal,
estudiantes, profesores, personal de mantenimiento, tutores (estudiantes que han sido elegidos
para enseñar algo), personal de soporte técnico y estudiantes técnicos (estudiantes que han sido
seleccionados para colaborar en el soporte técnico). Especifique clases concretas, abstractas e
interfaces.
El código debe probarse instanciando objetos desde el método main.
2. Escriba un programa para una biblioteca que contenga libros y revistas.
a. Las características comunes que se almacenan tanto para las revistas como para los
libros son el código, el título y el año de publicación. Estas tres características se pasan
por parámetro en el momento de crear los objetos.
b. Los libros tienen además un atributo prestado. Los libros cuando se crean no están
prestados.
c. Las revistas tienen un número. En el momento de crear las revistas se pasa el número
por parámetro.
12
d. Las clases Libro y Revista se derivan de una clase Publicación.
e. Se incluyen todos los métodos set/get.
f. Se tiene que implementar la interfaz prestable que contiene los métodos prestar,
devolver y prestado. La clase Libro implementa la interfaz.
g. En la clase principal se debe instanciar un arreglo de publicaciones (Libro y Revista) y
debe permitir al usuario agregar una nueva publicación, prestar y devolver los libros,
así como consultar todas las publicaciones almacenadas en el arreglo.
3. Incluir un comentario al principio de cada uno de los programas con la siguiente información:
a. Número de la práctica.
b. Fecha de la última modificación del programa.
c. Nombre, apellidos y matrícula del autor.
d. Grupo.
e. Nombre de la unidad de aprendizaje.
f. Tamaño del archivo fuente.
g. Tamaño del archivo compilado
4. Elaborar el reporte de práctica correspondiente. El reporte debe incluir:
- Portada
- Índice
- Introducción. Breve descripción del tema (interfaces), así como descripción y objetivo de la
práctica.
- Desarrollo. Esta sección incluye el diseño e implementación. Debe tener el diagrama de clases, la
descripción textual de las clases y el pseudocódigo de los métodos principales.
- Pruebas. Esta sección contiene la descripción de las pruebas del funcionamiento del programa.
- Conclusiones. Además de las conclusiones se pueden incluir limitaciones o dificultades
encontradas
- Bibliografía. Todas las referencias deben estar completas.
Evidencias a las que contribuye el desarrollo de la práctica:
EP1. Reporte de práctica en la que se genere código a partir de la interfaz propuesta como
lineamiento.
13
DESARROLLO DE LA PRÁCTICA DE IMPLEMENTACIÓN DE INTERFAZ
GRÁFICA
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: IV. Interfaz Gráfica
Nombre de la práctica o
proyecto: Práctica de implementación de interfaz gráfica y manejo de eventos.
Número: 1/3 Duración (horas) : 8
Resultado de
aprendizaje: Implementar interfaces gráficas en programas orientados a objetos.
Requerimientos (Material
o equipo): Computadora, material bibliográfico impreso, libreta, lápiz.
Actividades a desarrollar en la práctica:
1. Escriba un programa que implemente una interfaz gráfica para un juego de ajedrez. Se deberá
hacer uso de la biblioteca de funciones swing. En una primera etapa la interfaz gráfica deberá
cumplir con las siguientes especificaciones:
a. En la ventana principal se debe incluir un menú que permita elegir una de las siguientes
opciones:
Ajedrez
- Acerca de …
- Preferencias
- Salir
Partida
- Nueva
- Abrir
- Guardar
Movimientos
- Cancelar movimiento
- Mostrar movimiento
Ventana
- Cerrar
- Maximizar
- Minimizar
- Registro de partidas
Ayuda
14
b. Se deberán considerar áreas para la representación gráfica del tablero de ajedrez, barra
de estado, nombre de los jugadores y color de sus piezas.
c. El tablero y cada una de las piezas de ambos jugadores deberán elementos
independientes de la interfaz.
d. Se deberá permitir visualizar el estado de la partida de tal forma que podrá indicarse cuál
es el jugador que está activo.
e. Se deberá incluir un reloj que permita definir un tiempo máximo para que el jugador pueda
realizar su movimiento.
f. Se deberá diseñar una ventana adicional que se desplegará cuando el usuario haga clic
en la opción “Registro de partidas” del menú ventana. Esta ventana permitirá desplegar
en una tabla todas las jugadas realizadas por ambos jugadores a lo largo de la partida.
2. Se deberá elaborar un reporte de práctica que incluya lo siguiente:
- Portada
- Índice
- Introducción. Breve descripción del tema (librería swing), así como descripción y objetivo de la
práctica.
- Desarrollo. Esta sección incluye el diseño e implementación. Debe tener el diseño de la
interfaz a través de un maquetado, el diagrama de clases y la descripción textual de las
clases.
- Pruebas. Esta sección contiene la descripción de las pruebas del funcionamiento del
programa. Se deberán incluir pantallas de todas las diferentes opciones y ventanas del
programa.
- Conclusiones. Además de las conclusiones se pueden incluir limitaciones o dificultades
encontradas.
- Bibliografía. Todas las referencias deben estar completas.
Evidencias a las que contribuye el desarrollo de la práctica:
EP1. Reporte de práctica para programa que hace uso de interfaz gráfica.
15
DESARROLLO DE LA PRÁCTICA DE IMPLEMENTACIÓN DE INTERFAZ
GRÁFICA Y MANEJO DE EVENTOS
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: IV. Interfaz Gráfica
Nombre de la práctica o
proyecto: Práctica de implementación de interfaz gráfica y manejo de eventos.
Número: 2/3 Duración (horas) : 8
Resultado de
aprendizaje: Implementar manejo de eventos usando interfaces gráficas.
Requerimientos (Material
o equipo): Computadora, material bibliográfico impreso, libreta, lápiz.
Actividades a desarrollar en la práctica:
1. Implemente el manejo de eventos de la interfaz gráfica de ajedrez diseñada en la práctica
anterior. El programa deberá ser capaz de manejar los eventos necesarios para permitir dar
funcionalidad al menú, de la siguiente manera:
- Menú Ajedrez. Tendrá las siguientes opciones:
o Acerca de. Desplegará una ventana de información donde se muestren los datos de
autoría del programa, se debe incluir el botón aceptar para cerra la ventana.
o Preferencias. Desplegará una ventana que permita cambiar entre al menos dos
diferentes tipos de tablero (por ejemplo: madera y metal).
o Salir. Deberá desplegar un cuadro de diálogo donde se le pregunte al usuario si
realmente desea salir del juego, y si está actualmente en una partida, preguntar si desea
guardar la partida actual. Se deberá permitir seleccionar el directorio donde se guardará
la partida.
- Menú Partida. Tendrá las siguientes opciones:
o Nueva. Desplegará un cuadro de diálogo en donde se pregunte al usuario los nombres
de los dos jugadores, además del color de piezas asignado a cada uno de ellos.
o Abrir. Desplegará un cuadro de diálogo en donde se pregunte al usuario el archivo que
contiene una partida previamente guardada.
16
o Guardar. Se permitirá al usuario guardar la partida actual, solicitando el nombre con el
que desea guardar la partida.
- Menú Movimientos. Tendrá las siguientes opciones:
o Cancelar movimiento. Regresará el tablero al estado anterior al del último movimiento
realizado. Solo se permitirá deshacer el último movimiento de cada uno de los jugadores.
o Mostrar movimiento. Mostrará en pantalla el último movimiento realizado en el tablero.
- Menú Ventana. Tendrá las siguientes opciones:
o Cerrar. Funcionará de la misma manera que la opción salir del menú Ajedrez.
o Maximizar. Maximizará la ventana.
o Minimizar. Minimizará la ventana.
o Registro de partidas. Mostrará en pantalla otra ventana donde se presenta la lista de
todos los movimientos efectuados por ambos jugadores durante al partida.
- Menú Ayuda. Desplegará una ventana donde se muestre la ayuda del programa.
2. El programa deberá implementar la funcionalidad de la interfaz, no forma parte de la práctica la
verificación de que los movimientos efectuados por los jugadores cumplan con las reglas del
ajedrez.
3. Se deberá elaborar un reporte de práctica que incluya lo siguiente:
- Portada
- Índice
- Introducción. Breve descripción del tema (librería swing y manejo de eventos), así como
descripción y objetivo de la práctica.
- Desarrollo. Esta sección incluye el diseño e implementación. Debe tener el diagrama de
clases, la descripción textual de las clases y el pseudocódigo de los métodos principales.
- Pruebas. Esta sección contiene la descripción de las pruebas del funcionamiento del
programa.
- Conclusiones. Además de las conclusiones se pueden incluir limitaciones o dificultades
encontradas.
- Bibliografía. Todas las referencias deben estar completas.
Evidencias a las que contribuye el desarrollo de la práctica:
EP2. Reporte de práctica de programa para manejo de eventos en interfaz gráfica.
17
DESARROLLO DEL PROYECTO PROGRAMAS OO QUE SE EJECUTAN EN
AMBIENTE WEB
Nombre de la asignatura: Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje: Programación Orientada a Objetos en la Web
Nombre de la práctica o
proyecto: Proyecto de programas OO que se ejecuten en ambiente Web
Número: 1/1 Duración (horas) : 8
Resultado de
aprendizaje:
Implementar programas bajo el paradigma OO que se ejecuten en
ambiente Web
Requerimientos (Material
o equipo):
Computadora, material bibliográfico impreso, programas realizados en el
paradigma OO.
Actividades a desarrollar en la práctica:
1. Hacer el diseño de una interfaz con base a la definición del problema.
2. Traducir esa interfaz en WSDL a través del lenguaje XML. 3. Crear un proyecto web donde pueda ser implantado un servicio web (WSDL).
4. Crear los servicios que va a ofrecer y qué recibe y qué devuelve cada una de las operaciones
(interfaz independiente del medio de transporte)[portype de WSDL].
5. Definir las operaciones y los parámetros del WSDL.
6. Definir el servicio y el puerto. 7. Generar el esqueleto del WSDL.
8. Compilar la aplicación. Se deberá elaborar un reporte de proyecto que incluya lo siguiente:
- Portada
- Índice
- Introducción. Breve descripción del tema (programas OO que se ejecutan en Web), así como
descripción y objetivo de la práctica.
18
- Desarrollo. Esta sección incluye el diseño e implementación. Debe tener el diagrama de clases, la
descripción textual de las clases y el pseudocódigo de los métodos principales.
- Pruebas. Esta sección contiene la descripción de las pruebas del funcionamiento del programa.
- Conclusiones. Además de las conclusiones se pueden incluir limitaciones o dificultades encontradas.
- Bibliografía. Todas las referencias deben estar completas.
NOTA: Para el desarrollo de esta práctica se deberá contar con un IDE (Integrated Development
Environment) como Eclipse, Netbeans, un servidor como Tomcat. Evaluar WSDL2Java y XML Schema y
Axis.
Evidencias a las que contribuye el desarrollo de la práctica:
EP1. Reporte de proyecto de programas OO que se ejecutan en ambiente Web.
19
20
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
5% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
10% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases
10% Notación. El diagrama de flujo utiliza la notación y símbolos adecuados.
10% Uso adecuado de excepciones. El alumno logra identificar claramente las situacines donde
son necesarias el uso de excepciones.
10% Excepciones. El diagrama incluye las excepciones estándar del lenguaje además de
excepciones definidas por el alumno para el problema particular que se desea resolver.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5%
Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
- Puntualidad
- Responsabilidad
- Ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
40% Eficacia. El diagrama de flujo presenta el diseño de la solución al problema planteado.
100% CALIFICACIÓN:
LISTA DE COTEJO
DIAGRAMA DE FLUJO PARA IDENTIFICAR CUANDO UN PROGRAMA OO
REQUIERE DE EXCEPCIONES
21
Alumno: ___________________________________________________________ Matricula: ____________
(Apellido paterno) (Apellido materno) (Nombre)
Facilitador: ____________________________ Grupo: ____________ CALIFICACIÓN: _______________
Objetivo de Aprendizaje: ____________________________________________________________________
Instrucciones: _______________________________________________________________________________
Criterios de Evaluación: _____________________________________________________________________
Parte I. Relacione correctamente ambas columnas. Cada pregunta tiene sólo una respuesta, por tanto sobran
respuestas, en caso de repetir un número aunque una de las respuestas sea la correcta se considerará
errónea.
1. Objeto que es capaz de comparar dos objetos
diferentes
2. Objeto que es capaz de comparar a si mismo
con otro objeto
3. Este tipo de colección es útil para implementar
pilas y colas
4. Clases que implementan colecciones que sólo
aceptan un objeto de cada tipo
5. Clases que implementan colecciones que
asocian claves con valores y no pueden tener
claves duplicadas
_____ ArrayList, LinkedList
_____ Comparable
_____ TreeSet, HashSet
_____ Map
_____ LinkedList
_____ TreeMap, HashMap
_____ Set
_____ Comparat
Parte II. Indique si es falso o verdadero y justifique su respuesta
1. La clase Set es una colección de propósito general ___________
2. Un objeto Set puede tener valores duplicados ___________
3. Un objeto Map puede contener claves duplicadas ___________
4. Los objetos Iterator pueden eliminar elementos ___________
5. La diferencia entre TreeMap y TreeSet sólo es la
velocidad de acceso a los elementos de la colección ___________
CUESTIONARIO GUÍA COLECCIONES, LISTAS,
VECTORES Y ÁRBOLES BINARIOS
Logotipo de la
Universidad
22
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
10% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
10% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases. Además se
incluye el algoritmo o diagramas de flujo de los métodos principales.
10% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos. El código
está documentado adecuadamente.
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento del programa.
10% Análisis de resultados. Expresa un juicio de valor o validez de los resultados alcanzados
explicando las ventajas de usar hilos.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos:
10% Implementa mediante hilos a los clientes y al barbero.
10% Implementa a la barbería como un monitor que considera el proceso de sincronización
entre clientes y barbero.
10% Implementa un método llamado CortarCabello que permite atender a los clientes de
manera sincronizada.
10% Implementa un método llamado AtenderCliente que notifica el turno a un cliente que se
encuentra sentado en la silla de espera o que indica al barbero que puede dormirse
porque no hay clientes que atender.
100% CALIFICACIÓN:
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA DE HILOS PARA
REALIZAR VARIOS PROCESOS EN PARALELO
23
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
10% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
10% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases. Además se
incluye el algoritmo o diagramas de flujo de los métodos principales.
10% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos. El código
está documentado adecuadamente.
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento del programa.
10% Análisis de resultados. Expresa un juicio de valor o validez de los resultados alcanzados
explicando las ventajas de usar operaciones de conexión asíncrona.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos:
10 Implementa dos tipos de procesos: productores y consumidores.
10
La simulación de los procesos productores y consumidores cumplen con las restricciones
establecidas en la definición de la práctica: si no hay buffers disponibles, un proceso
consumidor debe esperar a que algún proceso productor grabe los buffers y los procesos
productores solo actuarán cuando el nivel de buffers grabados esté por debajo de cierto
límite.
10 Los procesos consumidores leen buffers en un número variable pero hasta cierto límite, el
cual es dado como parámetro de configuración de la simulación.
10 El tiempo de simulación se recibe como parámetro de configuración de la simulación.
100% CALIFICACIÓN:
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA SOBRE OPERACIONES
DE CONEXIÓN ASÍNCRONA A DATOS REMOTOS
24
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
10% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
10% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases. Especificando
clases concretas, abstractas e interfaces.
10% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento del programa.
10% Análisis de resultados. Expresa un juicio de valor o validez de los resultados alcanzados
explicando las ventajas de usar interfaces.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
40% Eficacia. El programa resuelve el problema planteado.
100% CALIFICACIÓN:
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA DE INTERFACES
25
Alumno: ___________________________________________________________ Matricula: ____________
(Apellido paterno) (Apellido materno) (Nombre)
Facilitador: ____________________________ Grupo: ____________ CALIFICACIÓN: _______________
Objetivo de Aprendizaje: ____________________________________________________________________
Instrucciones: _______________________________________________________________________________
Criterios de Evaluación: _____________________________________________________________________
Parte I. Relacione correctamente ambas columnas. Cada pregunta tiene sólo una respuesta, por tanto
sobran respuestas, en caso de repetir un número aunque una de las respuestas sea la correcta se
considerará errónea.
1. Palabra clave para indicar que una clase
desciende de otra
2. Modificador de acceso que restringe el
acceso a los miembros de la clase y a las
subclases
3. Clase en la que al menos uno de sus
métodos está declarado pero no está
definido
4. Palabra clave usada para indicar que una
clase implementa una interfaz
5. Modificador de acceso que restringe el
acceso a los miembros de la clase
_____ implements
_____ super
_____ extends
_____ private
_____ final
_____ abstracta
_____ protected
_____ interface
Parte II. Indique si es falso o verdadero y justifique su respuesta
1. Una interfaz puede implementar otra interfaz ___________
2. Una clase puede implementar varias interfaces ___________
3. Una interfaz puede heredar de otra interfaz ___________
4. Una interfaz puede heredar de una clase ___________
5. Las interfaces tienen constructores ___________
Parte III. Crear dos interfaces, cada una con dos métodos. Crear una tercera interfaz que herede de
las dos anteriores y tenga un método adicional. Crear una clase que implemente la tercera interfaz y
que además extienda de una clase ya definida. Los nombres de las interfaces, clases y de los
métodos son propuestos por ustedes (30pts). Diagrama de clases (10pts).
CUESTIONARIO GUÍA SOBRE INTERFACES
Logotipo de la
Universidad
26
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
10% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
5% Diseño. Incluye un diagrama donde se muestre el diseño de las diferentes ventanas a
emplear en la interfaz de usuario. Se usó un software de maquetado para la elaboración
del diseño.
5% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos. El código
está documentado adecuadamente.
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento de la interfaz de usuario.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos:
15% La interfaz incluye un menú con todas las opciones solicitadas en la práctica.
15% La interfaz considera áreas para la representación gráfica del tablero de ajedrez, barra de
estado, nombre de los jugadores y color de sus piezas. Incluyendo un reloj que mida el
tiempo máximo de cada turno.
15% El tablero y cada una de las piezas de ambos jugadores son elementos independientes de
la interfaz, es decir se utilizar figuras o imágenes independientes para cada elemento.
15%
La interfaz incluye una ventana adicional que se despliega cuando el usuario hace clic en
la opción “Registro de partidas”. Dicha ventana contiene una tabla donde posteriormente
se podrán desplegar todas las jugadas realizadas por ambos jugadores a lo largo de la
partida.
100% CALIFICACIÓN:
LISTA DE COTEJO
REPORTE DE PRÁCTICA DE USO DE INTERFACES GRÁFICAS
27
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
5% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
5% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases. Además se
incluye el algoritmo o diagramas de flujo de los métodos principales.
5% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos. El código
está documentado adecuadamente.
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento del programa.
5% Análisis de resultados. Expresa un juicio de valor o validez de los resultados alcanzados
explicando las ventajas de usar operaciones de conexión asíncrona.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos:
10% Implementa todas las opciones del menú Ajedrez, incluyendo las opciones: acerca de,
preferencias y salir.
15% Implementa todas las opciones del menú Partida, incluyendo las opciones: nueva, abrir y
guardar.
10% Implementa todas las opciones del menú Movimientos, incluyendo las opciones: cancelar
movimiento y mostrar movimiento.
15% Implementa todas las opciones del menú Ventana, incluyendo las opciones: cerrar,
maximizar, minimizar y registro de partidas.
10% Implementa la funcionalidad de la interfaz, permitiendo a dos jugadores humanos jugar al
ajedrez. NOTA: no es necesaria la validación de los movimientos.
100% CALIFICACIÓN:
LISTA DE COTEJO
REPORTE DE PRÁCTICA DE PROGRAMA DONDE SE MANEJAN EVENTOS
EN INTERFAZ GRÁFICA
28
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
Técnica
20% El alumno usa el mínimo de instrucciones necesarias.
40% El alumno logra hacer las modificaciones solicitadas.
10% El alumno conoce el código.
10% El alumno maneja la sintaxis de forma adecuada.
Desempeño
10% El alumno realiza las modificaciones con rapidez suficiente.
Presentación
10% El alumno da un nombre adecuado a las variables usadas. Además comenta
adecuadamente el programa.
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN
PRÁCTICA DONDE SE REALIZAN MODIFICACIONES DE INTERFAZ
GRÁFICA
29
Alumno: ___________________________________________________________ Matricula:_______________
(Apellido paterno) (Apellido materno) (Nombre)
Facilitador: _______________________________ Grupo: ____________CALIFICACIÓN: _________________
Objetivo de Aprendizaje: ______________________________________________________________________
Instrucciones: _________________________________________________________________________________
Criterios de Evaluación: ___________________________________________________________________________
Parte I. Responde correctamente las siguientes preguntas:
1. Define que es un servicio Web.
2. Describe que es un diagrama de clase
3. Explica cómo funciona la interface SOAP (Simple Object Access Protocol)
4. Describe un documento WSDL (Web Service Description Language)
5. Define que es una interfaz abstracta
6. Explica que es SOA (Service Oriented Architecture)
7. Cuáles son las principales características de un servicio Web
8. Define los sistemas de agentes.
9. Explica y dibuja un esquema cliente –servidor
10. Define los lenguajes usados en servicios web de Internet
CUESTIONARIO SOBRE TECNOLOGÍAS WEB QUE HACEN
USO DE POO
Logotipo de la
Universidad
30
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
Nombre(s) del alumno(s): Matrícula: Firma del alumno(s):
Asignatura: Fecha: Periodo cuatrimestral:
Nombre del profesor: Firma del profesor:
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a evaluar se cumple; en caso contrario marque “NO”.
En la columna “OBSERVACIONES” realice comentarios referentes a lo observado.
Valor del
reactivo Característica a cumplir (Reactivo)
CUMPLE OBSERVACIONES
SI NO
5% Introducción. Expresa brevemente el contenido funcional de la práctica, incluyendo el
problema a resolver y los conceptos de POO utilizados en el diseño de la solución.
10% Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
programa solicitado, indicando atributos, métodos y relaciones entre clases. Además se
incluye el algoritmo o diagramas de flujo de los métodos principales.
5% Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
integran la práctica, mismos que cumplen con los requerimientos establecidos. El código
está documentado adecuadamente.
5% Pruebas. Anexa una sección de pruebas donde se presenten diferentes escenarios para
probar el funcionamiento del programa.
10% Análisis de resultados. Expresa un juicio de valor o validez de los resultados alcanzados
explicando las ventajas de usar el paradigma POO en ambiente Web.
5% Conclusiones. Expresa tus opiniones sobre los resultados obtenidos.
5% Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:
Puntualidad, responsabilidad, ortografía y gramática adecuada.
5% Bibliografía. Presenta bibliografía en el formato adecuado.
Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos:
10% El alumno utiliza rpc para implementar la solución.
10% El alumno utiliza WSDL (Web Services Definition Language) en la solución del problema.
15% El alumno utiliza UDDI (Universal Description, Discovery and Integration) en la solución del
problema.
15% El alumno utiliza SOAP (Simple Object Access Protocol) en la solución del problema.
100% CALIFICACIÓN:
LISTA DE COTEJO
REPORTE DE PROYECTO DEL PARADIGMA POO EN AMBIENTE WEB
31
GLOSARIO
Abstracción: Proceso mental mediante el cual se extraen los rasgos esenciales de algo para
representarlos por medio de un lenguaje gráfico o escrito.
Algoritmo: Lista definida para la resolución de un problema o un código. Se suele usar en la
encriptación.
Aplicación: Se denomina a cualquier conjunto de programas que confrontan una unidad y que
realicen una función específica.
Archivo: (Fichero, file). Un archivo es un grupo de datos estructurados que son almacenados en algún
medio y pueden ser usados por las aplicaciones.
Atributo: Componente de los objetos de una clase utilizado para almacenar datos.
Clase: Unidad fundamental de programación que sirve como plantilla para la creación de objetos.
Una clase cuenta con datos y métodos que definen las características de la clase.
Clase Abstracta: Clase de la que no pueden construirse objetos pero que sirve para especificar la
funcionalidad de sus clases derivadas.
Clase Base: Clase sobre la que se basa la herencia.
Clase Derivada: Clase completamente nueva que presenta cierta compatibilidad con la clase de la
que se deriva.
Estructura de selección/decisión: el algoritmo al ser ejecutado toma una decisión, ejecutar o no
ciertas instrucciones si se cumplen o no ciertas condiciones. Las condiciones devuelven un valor,
verdadero o falso, determinado así la secuencia a seguir.
Encapsulamiento: Agrupación de datos y operaciones que se aplican sobre ellos para formar un
agregado, a la vez que se oculta la implementación del agregado.
Excepción: Sirve para detectar situaciones excepcionales tales como errores.
Final: Modificador utilizado para especificar que una variable no puede modificarse y que cualquier
intento de cambio se considerará un error.
For: Es una de las estructuras de repetición empleada en la programación de algoritmos para repetir
un código (una o más sentencias de programación) dependiendo de un contador.
Herencia: Proceso gracias al cual podemos derivar una clase partiendo de otra, llamada base, sin
modificar la implementación de la clase base. También permite el diseño de jerarquías de clases.
If: significa SI (condicional) en español. Su funcionamiento es simple. Se evalúa una condición, si es
verdadera ejecuta un código, si es falsa, ejecuta otro código (o continúa con la ejecución del
programa).
32
Instancia: Objeto de software construido desde una clase. Por ejemplo, puede tener una clase avión,
pero una flota de quince instancias de avión.
Java: Según Sun Microsystemes, es un “Lenguaje simple, orientado a objetos, distribuido,
interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y
dinámico”.
Método: Los objetos realizan una acción mediante la invocación de un método. Es el equivalente a
una función usada en la programación estructurada.
Modificadores de acceso: Componentes utilizados para definir la visibilidad de los elementos de una
clase (atributos y métodos) y de la propia clase.
Objeto: Entidad con estructura y estado, para el que están definidas operaciones que pueden
acceder o manipular el estado. Representan las instancias o ejemplos individuales de una clase.
Operador lógico: Operadores Booleanos. Son aquellos que nos permiten realizar operaciones lógicas.
También es empleado en búsquedas con AND/+ (y) OR/, (o) NOT/- (no).
Polimorfismo: Capacidad que permite utilizar una misma expresión para invocar a diferentes
versiones de un mismo método, determinando en tiempo de ejecución la versión del método que se
debe ejecutar.
Private: Modificador de acceso que define que un componente una clase no es visible para los
métodos que no pertenecen a la clase.
Protected: Modificador de acceso que define un nivel intermedio de acceso entre public y private.
Los componentes son visibles a los métodos definidos para la clase que los contienen, para las
clases derivadas de ésta o a elementos de otras clases que se definan dentro del mismo paquete.
Public: Modificador de acceso que define que un componente una clase es visible para los métodos
que no pertenecen a la clase.
Switch: permite elegir ejecutar diferentes códigos (conjunto de sentencias de programación)
dependiendo de un valor.
While: permite al programador especificar las veces que se repita una acción (una o más sentencias
de programación) mientras una condición se mantenga verdadera.
33
BIBLIOGRAFÍA
Básica:
Título: Java2 lenguaje y aplicaciones
Autor: Francisco Javier Ceballos
Año: 2007 Editorial o referencia: Alfaomega
Lugar y año de la edición: México, 2008 ISBN: 978-970-15-1249-4
Título: Java2: interfaces gráficas y aplicaciones para internet
Autor: Francisco Javier Ceballos
Año: 2006 Editorial o referencia: Alfaomega
Lugar y año de la edición: México, 2008 ISBN: 9701511808
Título: Como programar en java
Autor: Harvey M. Deitel
Año: 2006 Editorial o referencia: Pearson
Lugar y año de la edición: México, 2004 ISBN: 131483986
Complementaria:
Título: Java Pocket Guide
Autor: Robert Liguori, Patricia Liguori
Año: 2008 Editorial o referencia: 0'reilly
Lugar y año de la edición: Canadá, 2008 ISBN: 9780596514198
Título: Introducción a la programación con java: un enfoque orientado a objetos
Autor: Arnow - Weiss
Año: 2008 Editorial o referencia: Addison Wesley
Lugar y año de la edición: Madrid, 2008 ISBN: 788483223505
34
ANEXO A. GUÍA PARA LA ELABORACIÓN DE REPORTE DE PRÁCTICA
Introducción
La redacción de un informe de prácticas es uno de los problemas a los que se enfrentan los alumnos
que deben entregar los resultados de su trabajo para la evaluación por parte del profesor. En esta
sección se describe de manera breve, un formato sencillo para el informe escrito que deben
presentar los alumnos junto a los programas de computadora que se les solicitan.
Todo informe debe llevar en la primera página un encabezado que indique el número de práctica de
la que se trate, así como su título. Por ejemplo: “Práctica 1: Tipos de datos”.
A continuación, deben aparecer los nombres de los alumnos que realizaron la práctica. Otro dato
importante es la fecha de realización o entrega del reporte (informe).
Enseguida deberá aparecer la primera sección del informe. Esta sección será titulada generalmente
Introducción y contendrá una breve descripción de la temática sobre la que se desarrolla la práctica
y algunos aspectos que pudieran ser de interés.
Por ejemplo, si la práctica versara sobre series arreglos, sería conveniente mencionar en la
introducción algunos conceptos teóricos sobre ese tema, así como algunos aspectos relevantes que
tuvieran que ver con lo que luego se hará en la práctica.
Desarrollo
La siguiente sección que debe aparecer en el reporte es la de desarrollo de la práctica.
Generalmente, lo que se solicitará en las prácticas será el diseño, implementación y evaluación de
uno o varios programas. En esta sección se describe de forma textual, esquemática o en
pseudocódigo, la forma en la que se han diseñado, organizado e implementado los programas.
Esta sección debe cumplir con los siguientes dos lineamientos:
Será indispensable que el alumno presente un diagrama de flujo de los programas que ha
diseñado. Existe software gratuito de buena calidad para el diseño de estos diagramas.
35
No se admitirá que el alumno presente directamente código (fragmentos de programa) en el
reporte, a menos que sea absolutamente indispensable.
En general, la sección de desarrollo suele ser la más extensa del informe.
Pruebas
Es aconsejable incluir a continuación una sección de pruebas para presentar ejemplos del
funcionamiento de los programas. Estos ejemplos podrían constar simplemente de algunos casos de
ejecución bajo las circunstancias que los alumnos consideren pertinentes, esto con el fin de mostrar
el funcionamiento del programa, o incluso alguna anomalía o mal funcionamiento del mismo.
Para esta sección se aconseja “copiar y pegar” las pantallas de diálogo entre el programa y el
usuario con el fin de mostrar fidedignamente el funcionamiento de él/los programa(s). Esta sección
rara vez supera en tamaño a la de Desarrollo.
Conclusiones, observaciones y/o comentarios
La siguiente sección que deberá aparecer en el reporte es una dedicada a la exposición de
conclusiones, observaciones y/o comentarios sobre el desarrollo de la práctica o los programas
elaborados. En esta sección se puede exponer, además de las conclusiones, algunas anomalías,
limitaciones o dificultades que el alumno encontró al desarrollar la práctica.
Si se desea, se puede incluir en esta sección algún fragmento de código o algún caso de ejecución
con el fin de ilustrar cierta circunstancia particular del funcionamiento de él/los programa(s). En
general, el tamaño de un reporte (informe) en papel estará por debajo de las diez páginas.
Bibliografía
En esta sección se debe incluir una lista de referencias bibliográficas que han sido consideradas
para realizar la práctica o bien para elaborar el reporte (informe). En el caso de que se quiera lista un
libro, un formato recomendado sería el de autor, año de publicación, título del libro, nombre de la
editorial. Por ejemplo:
36
Louis E. Frenzel Jr. (1987). “A fondo: Sistemas Expertos”. Ediciones Anaya Multimedia.
Si se desea referenciar alguna página web, el formato recomendado es el de autor, cabecera de
página, dirección web, fecha de último acceso. Por ejemplo:
[4] “Repositorio del ERP OpenXpertya”, www.websvn.openxpertya.org, fecha acceso: 10 de mayo de
2010.
Como puede notarse, se ha antepuesto un número a la referencia. Esta numeración suele utilizarse
cuando dentro del cuerpo del reporte se hace referencia a dicho elemento. Por ejemplo:
“... para la instalación de OpenXpertya se utilizaron los fuentes descargados del repositorio oficial del
proyecto [4], primero se procedió a ...”