guÍa del profesorcursos1.us.tempcloudsite.com/datafiles_plate/poo/docs/ma... · 2015. 5. 9. ·...

40
INGENIERÍA EN INFORMÁTICA PROGRAMACIÓN ORIENTADA A OBJETOS POO-ES REV00

Upload: others

Post on 20-Aug-2021

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

INGENIERÍA EN INFORMÁTICA

PROGRAMACIÓN ORIENTADA

A OBJETOS

POO-ES

REV00

Page 2: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 3: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 4: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 5: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 6: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 7: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 8: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 9: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 10: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 11: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 12: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 13: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 14: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresió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.

Page 15: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 16: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 17: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 18: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 19: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 20: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 21: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 22: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 23: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

19

Page 24: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 25: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 26: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 27: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 28: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 29: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 30: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 31: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 32: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 33: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 34: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 35: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 36: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 37: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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

Page 38: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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.

Page 39: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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:

Page 40: GUÍA DEL PROFESORcursos1.us.tempcloudsite.com/datafiles_plate/POO/docs/MA... · 2015. 5. 9. · operandos). Esto es, si la expresión en infijo es 5+3*8/2, la salida sería: Expresión

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