Você está na página 1de 40

POO-ES

REV00

INGENIERÍA EN INFORMÁTICA

PROGRAMACIÓN ORIENTADA
A OBJETOS
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

II
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-----------------

III
Í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

IV
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

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

2
PROGRAMA DE ESTUDIOS
PR OGR A MA DE E ST U DIO

DA T OS GE N E R A L E S

N OMB R E DE L PR OGR A MA E DU CA T IV O: In g en i erí a en In f ormát i ca

OB JE T IV O DE L PR OGR A MA E DU CA T IV O: Formar In g en i eros comp et en t es en l a i mp l emen t aci ón y ad mi n i st raci ón d e sol u ci on es d e n eg oci os o p ara l a i n vest i g aci ón b asad a en comp u t ad ora, con u n a amp l i a vi si ón d e l a ci en ci a y l as n u evas t ecn ol og í as d e l a i n f ormaci ón , b aj o el mod el o d e ed u caci ón b asad o en comp et en ci as

N OMB R E DE L A A SIGN A T U R A : Prog ramaci ón Ori en t ad a a Ob j et os

CL A V E DE L A A SIGN A T U R A : POO - E S

OB JE T IV O DE L A A SIGN A T U R A : E l al u mn o será cap az d e cod i f i car l as sol u ci on es p ara p rob l emas real es o si mu l ad os u t i l i z an d o u n l en g u aj e d e p rog ramaci ón ori en t ad a a ob j et os.

T OT A L HR S. DE L CU A T R IME ST R E : 120

FE CHA DE E MISIÓN : 31 d e may o d e 2011

U N IV E R SIDA DE S PA R T ICIPA N T E S: U PE MOR ,U PPu eb l a, U PSIN , U PV M, U PV T

CON T E N IDOS PA R A L A FOR MA CIÓN E ST R A T E GIA DE A PR E N DIZA JE E V A L U A CIÓN

T E CN ICA S SU GE R IDA S E SPA CIO E DU CA T IV O MOV IL IDA D FOR MA T IV A T OT A L DE HOR A S


OB SERVACIÓN
MA T E R IA L E S E QU IPOS T E ÓR ICA PR Á CT ICA
U N IDA DE S DE A PR E N DIZA JE R E SU L T A DOS DE A PR E N DIZA JE E V IDE N CIA S
PA R A L A PA R A E L R E QU E R IDOS R E QU E R IDOS
PR OYE CT O
E N SE Ñ A N ZA A PR E N DIZA JE AULA L A B OR A T OR IO OT R O PR Á CT ICA NO NO T É CN ICA IN ST R U ME N T O
Presen ci al Presen ci al
( PR OFE SOR ) ( A L U MN O) Presen ci al Presen ci al

* Lista de cotejo
para diagrama de
Al completar la unidad de aprendizaje el EP1. Diagrama de flujo Aprendizaje basado en
flujo para identificar
alumno será capaz de: para identificar cuando un problemas, uso de
cuando un
*Identificar cuando un programa OO programa OO requiere el diagramas e
programa OO
requiere el manejo de excepciones para manejo de excepciones Exposición, ilustraciones
requiere el manejo
implementarlas. para implementarlas. discusión dirigida,
de excepciones para
EXCEPCIONES Y ESTRUCTURAS DINÁMICAS uso de diagramas, X X N/A N/A N/A 10 3 10 3 Documental
implementarlas.
ilustraciones y
esquemas

EC1. Resolver
Aprendizaje basado en * Cuestionario guía
cuestionario sobre
problemas, aprendizaje sobre colecciones,
*Describir estructuras dinámicas. colecciones, listas,
cooperativo listas, vectores y
vectores y árboles
árboles binarios
binarios

Aprendizaje basado en
* Lista de cotejo
Al completar la unidad de aprendizaje el EP1.Reporte de práctica problemas, aprendizaje
para reporte de
alumno será capaz de: en la que se utilizan hilos cooperativo, uso de *Práctica de práctica de hilos
* Implementar procesos en paralelo para realizar varios diagramas, hilos. para realizar varios
mediante el uso de hilos. procesos en paralelo. ilustraciones y
procesos en paralelo.
Exposición, esquemas
discusión dirigida,
HILOS uso de diagramas, x x N/A N/A 9 3 9 3 Documental
ilustraciones y *Práctica de
*Lista de cotejo
esquemas operaciones de
EP2. Reporte de práctica para reporte de
* Elaborar programas donde se utilicen Aprendizaje basado en conexión
sobre operaciones de práctica sobre
hilos para realizar operaciones de conexión problemas, uso de asíncronas a
conexión asíncronas a operaciones de
asíncronas. diagramas datos remotos.
datos remotos. conexión asíncronas
a datos remotos.
Material
bibliográfico e
EP1. Reporte de práctica impreso,
en la que se genere Computadora, *Lista de cotejo
marcadores,
Exposición proyector, pizarrón para reporte de
código a partir de la lapiceros, plumas,
Al completar la unidad de aprendizaje el Ejemplos interactivo, pizarrón. práctica de
interfaz propuesta como Aprendizaje basado en borrador, lápices,
alumno será capaz de: ilustrativos * Práctica de interfaces.
INTERFACES lineamiento. problemas, dinámica X X N/A N/A hojas, cuaderno, 8 3 8 3 Documental
* Elaborar programas en que se haga uso Aprendizaje basado interfaces
EC1. Cuestionario sobre de grupos carpetas.
de interfaces. en problemas
interfaces. *Cuestionario guía sobre
interfaces.

Al completar la unidad de aprendizaje el


Aprendizaje basado en *Lista de cotejo
alumno será capaz de: EP1. Reporte de práctica
problemas, dinámica para reporte de
* Implementar interfaces gráficas en para programa que hace
de grupos, uso de práctica de uso de
programas orientados a objetos. uso de interfaz gráfica.
diagramas interfaces gráficas.

Práctica de
Exposición
implementación
Ejemplos *Lista de cotejo para
EP2. Reporte de práctica de interfaz Documental y de
INTERFAZ GRÁFICA ilustrativos X X N/A N/A 9 3 9 3 reporte de práctica
de programa para manejo gráfica y de campo
Aprendizaje basado de programa donde
de eventos en interfaz manejo de
en problemas maneja eventos en
gráfica. eventos
* Implementar manejo de eventos en Aprendizaje basado en interfaz gráfica.
interfaz gráfica. problemas
ED1. Práctica para * Guía de
realizar modificaciones observación para
de interfaz gráfica. práctica donde
realiza
modificaciones de
interfaz gráfica.
EC1. Cuestionario sobre
Al completar la unidad de aprendizaje el Aprendizaje basado en *Cuestionario guía
tecnologías web que
alumno será capaz de: problemas, aprendizaje sobre las
hacen uso de POO.
* Identificar las tecnologías web que hacen cooperativo tecnologías web que
uso de POO. Proyecto de hacen uso de POO.
Aprendizaje basado
programas OO
en problemas
POO EN WEB X X N/A que se ejecuten N/A 9 3 9 3 Documental
Ejemplos
en ambiente
EP1. Reporte de proyecto ilustrativos *Lista de cotejo
* Implementar programas bajo el Aprendizaje basado en Web
de programas OO que se para reporte de
paradigma OO que se ejecuten en ambiente problemas, dinámica
ejecutan en ambiente proyecto de POO en
Web de grupos
Web. Web.

3
FICHA TÉCNICA
PROGRAMACIÓN ORIENTADA A OBJETOS

Nombre: Programación Orientada a Objetos

Clave: POO – ES
Proveer al estudiante del lenguaje de programación orientada a objetos para
que pueda probar la validez de sus implementaciones y las ejecute en
Justificación: tecnologías de software compatibles con las que el sector productivo demanda
en la actualidad.

El alumno será capaz de codificar las soluciones para problemas reales o


Objetivo: simulados utilizando un lenguaje de programación orientada a objetos.

Razonamiento Matemático, comprensión oral y escrita, selección de


Habilidades: 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
Análisis y síntesis para: aprender, resolver problemas, aplicar los conocimientos
genéricas a
en la práctica y trabajar en forma autónoma yen equipo.
desarrollar:

Capacidades a desarrollar en la asignatura Competencias a las que contribuye la asignatura


 Programar sistemas de información  Desarrollar aplicaciones de software mediante
usando lenguajes de programación y lenguajes especializados para eficientar los
considerando las características de diseño procesos de las organizaciones.
para automatizar los procesos.  Desarrollar aplicaciones web mediante lenguajes
 Programar sistemas de información especializados para eficientar los procesos de
usando lenguajes de programación Web y las organizaciones.
considerando las características de diseño
para automatizar los procesos.
HORAS TEORÍA HORAS PRÁCTICA
Unidades de aprendizaje No No
Presencial presencial Presencial presencial
Estimación de
tiempo (horas) Excepciones y estructuras
10 3 10 3
necesario para dinámicas
transmitir el Hilos 9 3 9 3
aprendizaje al
alumno, por Unidad Interfaces 8 3 8 3
de Aprendizaje:
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

4
DESARROLLO DE LA ACTIVIDAD DE APRENDIZAJE DE EXCEPCIONES

Nombre de la asignatura: Programación Orientada a Objetos


Nombre de la Unidad de
I. Excepciones y estructuras dinámicas
Aprendizaje:

Nombre de la práctica o
Práctica de excepciones.
proyecto:

Número: 1/2 Duración (horas) : 3


Resultado de Identificar cuando un programa OO requiere el manejo de excepciones, y
aprendizaje: en su caso, implementarlas.
Requerimientos (Material Computadora, material bibliográfico impreso, compilador y procesador de
o equipo): 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.

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

6
DESARROLLO DE LA PRÁCTICA DE HILOS

Nombre de la asignatura: Programación Orientada a Objetos


Nombre de la Unidad de
Aprendizaje:
II. Hilos

Nombre de la práctica o
Práctica de Procesos en paralelo usando hilos.
proyecto:
Número: 1/2 Duración (horas) : 5
Resultado de
Implementar procesos en paralelo mediante el uso de hilos
aprendizaje:
Requerimientos (Material
Computadora, material bibliográfico impreso, libreta, lápiz.
o equipo):
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.

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

8
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
Práctica de Acceso Asíncrono usando hilos.
proyecto:
Número: 2/2 Duración (horas) : 3
Resultado de Elaborar programas donde se utilicen hilos para realizar operaciones
aprendizaje: de conexión asíncronas.
Requerimientos (Material
Computadora, material bibliográfico impreso, libreta, lápiz.
o equipo):
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.

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

10
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
Práctica de interfaces
proyecto:

Número: 1 Duración: 3
Resultado de
Elaborar programas en que se haga uso de interfaces.
aprendizaje:
Requerimientos (Material Computadora, material bibliográfico impreso, compilador y procesador de
o equipo): 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.

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

12
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
Práctica de implementación de interfaz gráfica y manejo de eventos.
proyecto:
Número: 1/3 Duración (horas) : 8
Resultado de
Implementar interfaces gráficas en programas orientados a objetos.
aprendizaje:
Requerimientos (Material
Computadora, material bibliográfico impreso, libreta, lápiz.
o equipo):

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

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

14
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
IV. Interfaz Gráfica
Aprendizaje:
Nombre de la práctica o
Práctica de implementación de interfaz gráfica y manejo de eventos.
proyecto:
Número: 2/3 Duración (horas) : 8
Resultado de
Implementar manejo de eventos usando interfaces gráficas.
aprendizaje:
Requerimientos (Material
Computadora, material bibliográfico impreso, libreta, lápiz.
o equipo):

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.

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

16
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
Programación Orientada a Objetos en la Web
Aprendizaje:
Nombre de la práctica o
Proyecto de programas OO que se ejecuten en ambiente Web
proyecto:
Número: 1/1 Duración (horas) : 8

Resultado de Implementar programas bajo el paradigma OO que se ejecuten en


aprendizaje: ambiente Web

Requerimientos (Material Computadora, material bibliográfico impreso, programas realizados en el


o equipo): 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.

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

18
19
LISTA DE COTEJO
DIAGRAMA DE FLUJO PARA IDENTIFICAR CUANDO UN PROGRAMA OO
REQUIERE DE EXCEPCIONES

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.

Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:


5% - 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:

20
CUESTIONARIO GUÍA COLECCIONES, LISTAS, Logotipo de la
VECTORES Y ÁRBOLES BINARIOS Universidad

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 _____ ArrayList, LinkedList


diferentes _____ Comparable
2. Objeto que es capaz de comparar a si mismo _____ TreeSet, HashSet
con otro objeto _____ Map
3. Este tipo de colección es útil para implementar _____ LinkedList
pilas y colas _____ TreeMap, HashMap
4. Clases que implementan colecciones que sólo _____ Set
aceptan un objeto de cada tipo _____ Comparat
5. Clases que implementan colecciones que
asocian claves con valores y no pueden tener
claves duplicadas

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 ___________

21
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA DE HILOS PARA
REALIZAR VARIOS PROCESOS EN PARALELO

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.

Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
10% 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.

Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
10% 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.

Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:


5% 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.
Implementa un método llamado AtenderCliente que notifica el turno a un cliente que se
10% encuentra sentado en la silla de espera o que indica al barbero que puede dormirse
porque no hay clientes que atender.
100% CALIFICACIÓN:

22
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA SOBRE OPERACIONES
DE CONEXIÓN ASÍNCRONA A DATOS REMOTOS

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.
Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
10% 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.
Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
10% 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.

Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:


5% 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.


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
10 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:

23
LISTA DE COTEJO PARA REPORTE DE PRÁCTICA DE INTERFACES

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.

Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
10% 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:

24
Logotipo de la
CUESTIONARIO GUÍA SOBRE INTERFACES
Universidad

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 _____ implements
desciende de otra
_____ super
2. Modificador de acceso que restringe el
acceso a los miembros de la clase y a las _____ extends
subclases
_____ private
3. Clase en la que al menos uno de sus
métodos está declarado pero no está _____ final
definido
_____ abstracta
4. Palabra clave usada para indicar que una
clase implementa una interfaz _____ protected
5. Modificador de acceso que restringe el
_____ interface
acceso a los miembros de la clase

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

25
LISTA DE COTEJO
REPORTE DE PRÁCTICA DE USO DE INTERFACES GRÁFICAS

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.
Diseño. Incluye un diagrama donde se muestre el diseño de las diferentes ventanas a
5% emplear en la interfaz de usuario. Se usó un software de maquetado para la elaboración
del diseño.
Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
5% 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.
La interfaz considera áreas para la representación gráfica del tablero de ajedrez, barra de
15% 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.
La interfaz incluye una ventana adicional que se despliega cuando el usuario hace clic en
15% 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:

26
LISTA DE COTEJO
REPORTE DE PRÁCTICA DE PROGRAMA DONDE SE MANEJAN EVENTOS
EN INTERFAZ GRÁFICA

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.
Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
5% 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.
Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
5% 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.

Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:


5%
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:

27
GUÍA DE OBSERVACIÓN
PRÁCTICA DONDE SE REALIZAN MODIFICACIONES DE INTERFAZ
GRÁFICA

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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

El alumno da un nombre adecuado a las variables usadas. Además comenta


10%
adecuadamente el programa.

100% CALIFICACIÓN:

28
CUESTIONARIO SOBRE TECNOLOGÍAS WEB QUE HACEN Logotipo de la
USO DE POO Universidad

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

29
LISTA DE COTEJO
REPORTE DE PROYECTO DEL PARADIGMA POO EN AMBIENTE WEB

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 CUMPLE


Característica a cumplir (Reactivo) OBSERVACIONES
reactivo 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.
Diseño del algoritmo. Incluye un diagrama de clases donde se muestre el diseño del
10% 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.
Código. Anexa un disco y/o acuse de recibo de archivos vía correo con los programas que
5% 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.

Desempeño. Entrega el trabajo en la fecha establecida por el facilitador, observando:


5%
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:

30
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).

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

32
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

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

34
 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:

35
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 ...”

36

Você também pode gostar