"El Cuento" y su papel en la enseñanza de la orientación por objetos.

Ing. Juan Diego Zapata
Joven Investigador Proyecto CONEXIONES
Profesor de Lenguajes de Programación
Universidad EAFIT, Medellín - Colombia.
e-mail: jzapata@conexred.eafit.edu.co




Quiero en este artículo dar a conocer los interesantes resultados que obtuve al utilizar "El cuento" como elemento dinámizador en la enseñanza de la orientación por objetos, Tema principal del curso de Lenguajes de Programación.

La mayoría de los autores [Rumbaugh, Blaha, Premerlani, Eddy, Lorensen,1991] y otros, hablan de tres etapas importantes en el proceso de desarrollo de un producto de software orientado por objetos, Las cuales son : análisis orientado por objetos (A.O.O.), diseño orientado por objetos (D.O.O.) y programación orientada por objetos (P.O.O.).

Es en la etapa del análisis orientado por objetos (A.O.O.), donde "El cuento" se torna importante y debido a esto se describe a continuación:

En el A.O.O se pretende construir un modelo que represente de la mejor manera posible la situación del mundo real que se quiere sistematizar.

Esta etapa se compone de un modelo estático, llamado diagrama de clases, un modelo dinámico y un modelo funcional.

El modelo estático o diagrama de clases contiene todos los elementos que juegan un papel importante y merecen ser representados como clases en el sistema. Se compone de la definición de las clases, sus atributos, métodos y las relaciones entre ellas. Para ello se utilizan varias notaciones entre las que se encuentran la notación de "Booch", la notación OMT (Object Modeling Technique )., UML, etc.

El modelo dinámico muestra la relación existente entre los eventos (sucesos que son realizados por el usuario o creados por un objeto o por el sistema, ej. eventos de reloj, click, etc). y los estados de los objetos (situación en un instante determinado del objeto, valor de sus atributos y reacción ante un evento). Para esto se realiza un diagrama de estados y eventos donde a través de flechas se representan los eventos y entre óvalos se escribe el estado del objeto. El fin de este es apreciar cuando cambian de estado los objetos, es decir, ante cuales eventos reaccionan; tratando de anticiparse a lo que normalmente sucederá en tiempo de ejecución.

El modelo funcional especifica que acciones (métodos o procesos) realiza el objeto cuando sucede algún evento. Para esto se utiliza un diagrama de flujo de datos, donde se representan las relaciones funcionales, los datos que circulan y la interacción con elementos de almacenamiento de datos en el sistema.

Sucede repetidas veces que al pasar de la situación del mundo real al modelo de clases estático se olvidan características importantes y funcionalidad necesaria, debido principalmente a la falta de práctica y por que se pasa muy rápido del módelo de clases al modelo dinámico y al funcional, sin comprender a fondo como se va a comportar el modelo de clases en ejecución.

Se hace necesario una ayuda que haga más real lo abstracto y además contribuya a disminuir los errores provocados al hacer un mal modelo de clases inicial. Es común observar que hacen falta clases, métodos o atributos, que cumplen un papel crucial en el funcionamiento del sistema. Igualmente la poca comprensión del modelo inicial asegura un módelo dinámico pobre y un módelo funcional incompleto.

Es por esto que "El cuento" , como una narración corta de un hecho, cuya finalidad suele ser, interesar, deleitar y dar una impresión artística, que además posee importantes recursos narrativos como son: los personajes (sujetos activos en la narración), las acciones (hechos que realizan los personajes), el asunto(temática o situación), el tiempo (momentos en los cuales suceden las acciones), el espacio (lugar donde suceden las acciones) y las ideas(que sugieren hechos), es la herramienta que se necesita para darle vida a un mundo estático.

"El cuento", que ha sido catalogado como la forma literaría que más ha contribuido a mantener vivo el ingenio humano, llega a ocupar un lugar privilegiado en el paso de un modelo de clases estático a un modelo dinámico o a un modelo funcional.

En este caso el cuento como herramienta pedagógica permite construir historias donde los personajes son los objetos, las acciones son los métodos, las características son los atributos, y asi cada elemento se complementa para animar el mundo estático del modelo de clases.

Algunos programas realizados haciendo uso de esta herramienta de ayuda en la metodología de orientación por objetos son: "El rescate de la princesa" (Juego que combina imagen, animación y sonido), "La aldea de los conocimientos" (software educativo que enseña las vocales a través de canciones sonidos e imágenes). Estos programas fueron desarrollados por estudiantes del segundo semestre de la carrera Ingenieía de Sistemas de la Universidad EAFIT, su documentación y el software esta disponible como material de consulta (http://conexred.eafit.edu.co/~jzapata).
 
 
 

Metodologia.
 

A continuación se muestran los pasos que se siguen al involucrar "El cuento" en la enseñanza de la orientación por objetos.

Es importante aclarar que esta metodología es de interés a nivel pedagógico y lo que pretende es servir como herramienta que facilite la comprensión al abordar un problema usando la orientación por objetos, mas aún, se hace un empalme con otras metodologías para continuar en ellas con el análisis, diseño y programación orientadas por objetos.
 

Paso 1. Redacción del cuento.

Este es un ejercicio lúdico por naturaleza, es aqui donde el alumno captura en un escrito el mundo real donde el sistema opera, esta construcción puede ser tan global o específica como se quiera pero se recomienda hacer un esfuerzo en adentrarse en la funcionalidad interna del sistema, es decir, describir de manera detallada los sucesos que son motivo de estudio.

Como resultado de este proceso se obtiene un texto que es la base para los pasos siguientes.
 

Paso 2. Tabla de Personajes.
 
 

Tabla 1. Personajes

PERSONAJES CARACTERISTICAS ACCIONES
     
     

 

Se realiza una tabla en la que aparecen los siguientes campos

Los personajes (sujetos en la narración, clases del sistema)

Caracteristicas(Atributos de cada personaje)

Las acciones (hechos que realizan los personajes, métodos de cada clase)
 
 

Aspectos a destacar en este paso :

Se deben extraer todos los personajes agrupados por tipo de personaje , ej:

El cliente Pedro, el cliente Juan y el cliente José se pueden agrupar en un solo tipo de personaje, el personaje cliente.

Seleccionar los personajes o sujetos (animales, personas o cosas) que desempeñan papeles que influyen con fuerza dentro de la narración (cuento del sistema), es posible excluir algunos sujetos que intervienen esporadicamente o están adornando la historia.

Es interesante observar que en esta tabla es posible empezar a identificar las clases que posiblemente pueden ser organizadas utilizando el concepto de herencia y también algunas de las relaciones entre ellas.
 

Paso 3. Tabla de Actividades.
 
 

Tabla 2. Actividades.

CUÁNDO QUIÉN QUÉ
     
     

Cuándo :

Momento en el cual sucede la acción, pueden ser expresiones de tiempo, o eventos ocasionados por alguno de los personajes.

Quién :

Nombre del personaje que realiza la acción.

Qué :

Acción que se realiza.
 
 

Aspectos a destacar en este paso :

Se debe recorrer el cuento y extraer los "Cuándo, Quién y Qué" que ocurren. Es importante apoyarse en la tabla de personajes para conservar los nombres de los personajes, y de las acciones o métodos.

Es esta tabla es son claras las relaciones entre las clases y los eventos que ocasionan los mensajes entre las clases.
 
 

Paso 4. Modelo Estático. Diagrama de Clases.

Con base en la tabla de personajes se construye el modelo de clases estático, las clases sus atributos y métodos ya están definidos y en este momento se comprende más el problema y la forma de abordarlo utilizando la orientación a objetos. Se debe de adicionar la relación entre las clases, cardinalidad y la herencia.
 
 

Notación:

Se puede tomar la notación de de los autores reconocidos teniendo en cuenta que los Personajes corresponden a las Clases, las Características corresponden a los atributos de cada clase y las Acciones corresponden a los métodos.
 

Paso 5. Modelo Dinámico. Diagrama de Eventos.
 

Con base en la tabla de actividades se construye el diagrama de eventos, en este diagrama se aprecia la secuencia de las llamadas a los métodos de las clases (mensajes) y se percibe mucho mejor la dinamicidad del sistema.
 
 

Notación :

Se puede retomar cualquier notación conocida, teniendo encuenta que:

El Cuándo corresponde al Evento, el Quién corresponde a la Clase,y el Qué corresponde al Método o acción que se invoca.
 
 

Los pasos 4 y 5 se acoplan a alguna de las métodologías existentes, de igual manera se podría relacionar con un diagrama de flujo de datos si es el caso.

Lo importante es tomar ventaja de esta herramienta "El cuento" para introducir los conceptos de orientación por objetos en la etapa de análisis.
 
 

Ejemplo

Para ilustrar la manera como funciona este proceso, tomaremos el caso de un pequeño ejemplo de gráficador.
 
 

1. Cuento.

Pedrito Pérez desea realizar su trabajo escolar el cual consiste en hacer un dibujo utilizando la herramienta gráficadora que tiene su computador.

El niño inicia el programa que le presenta un menú con las opciones dibujar recta, dibujar rectángulo, dibujar círculo, guardar, imprimir y terminar.

Pedrito selecciona dibujar recta , luego rectángulo y asi sucesivamente hasta que dibuja una casita, la imprime y la guarda en un disco. Es así como finalmente cumple con su tarea, la presenta a su profesora, la cual lo felicita por su gran trabajo.
 
 

2. Tabla de Personajes.
 

PERSONAJES CARACTERISTICAS ACCIONES
Usuario Nombre Activar el programa

Seleccionar_opción

Menú Lista_opciones

Opción_activa

Número_opciones 

Ingresar_opción

Eliminar_opción

Ir_a_opción

Mostrar_menú

Esconder_menú

Figura Color

Formato

Dibujar_figura

Esconder_figura

Guardar_figura

Imprimir_figura

Recta Punto inicial

Punto final

 
Círculo Punto centro

radio

 
Rectángulo Esquina superior izquierda

Esquina inferior derecha

 

Los personajes recta, círculo y rectángulo heredan de figura.
 

3. Tabla de Actividades.
 

CUÁNDO QUIÉN QUÉ
Dia XX Usuario Activar el programa
Se activa el programa Menú Mostrar_menú
Aparece el menú Usuario Seleccionar_opción "Dibujar Recta"
Seleccionan la opción Menú Ir_a_opción Dibujar_ recta
Termina de dibujar la recta Usuario Seleccionar_opción "Dibujar Rectángulo"
Seleccionan la opción Menú Ir_a_opción Dibujar_ rectángulo
.... y así sucesivamente    

4. Modelo Estático. Diagrama de Clases.
 

5. Modelo Dinámico. Diagrama de Eventos.
 
 
 

Conclusiones

El cuento prepara el camino para asegurar un buen resultado en los modelos siguientes y evita problemas en el diseño y la programación.

Los resultados encontrados luego de hacer el ejercicio con los alumnos demuestra que ellos adquieren una mayor comprensión del funcionamiento de su sistema, advierten cualquier elemento faltante en su modelo como clases, métodos, relaciones, etc.

Los cuentos encierran una dinámica que sirve para identificar eventos, estados de los objetos (personajes), támbien revelan acciones (procesos) importantes en el modelo funcional.

De un buen cuento se puede obtener gran cantidad de información y depende de una buena orientación el aprovecharla al máximo con fines pedagógicos y de eficiencia en el desarrollo de software orientado por objetos.
 

Referencias

Rumbaugh, James et al. Object-Oriented Modeling and Design. New Jersey. Editorial Prentice Hall, 1991.

Booch, Grady. Object-Oriented Analysis and Design with applications. The Benjamin/Cummings Publishing Company, Inc. 1994.

Trujillo, John. Taller para Contar Cuentos. Proyecto Conexiones. Medellín. 1996.

Cabeza, Enrique y Peñaloza, Miguel. El Lenguaje Total . Santafé de Bogotá. Editorial Norma, 1986.