LOS CONCEPTOS DE ABSTRACCIÓN COMO ESTRATEGIA PARA LA ENSEÑANZA
DE MODELAMIENTO DE DATOS EN INGENIERÍA CIVIL INFORMÁTICA.
Marcela Varas C.
DIICC
Universidad de Concepción.
Octubre 1996
RESUMEN.
En este trabajo se presenta la necesidad de destacar la importancia
del concepto de abstracción como estrategia para fomentar la comprensión
de las técnicas de modelamiento y de diseño de productos
informáticos. Se muestra la presencia del concepto de abstracción
en los modelos usados para representar la realidad, y cómo su consideración
explícita puede facilitar el entendimiento de los estudiantes con
respecto a los nuevos modelos y paradigmas que aparecen en el área
de la computación.
Se propone el uso de las abstracciones de clasificación, agregación y generalización como elemento nucleador de la diversidad de alternativas de modelamiento a las que deben enfrentarse los estudiantes y que deberán usar como ingenieros, tanto para diseñar los sistemas como para entenderlos.
INTRODUCCIÓN.
Dentro de las capacidades de un ingeniero civil informático,
es de especial importancia la abstracción. Ésta le proveerá
la adaptabilidad necesaria para enfrentar los cambios crecientes de nuestra
área y su efectividad para dar solución a problemas informáticos.
Dentro de la formación de los ingenieros civiles informáticos,
los conceptos de abstracción aparecen con mayor fuerza en el diseño
de soluciones informáticas, y en particular, en el diseño
de productos software.
La carrera de Ingeniería Civil Informática cuenta en su
malla curricular con varias asignaturas orientadas al área del diseño
en ingeniería de software. La primera que deben cursar los estudiantes
de la carrera es Modelamiento de Datos (cuarto semestre), luego Estructuras
de Datos (quinto semestre), Bases de Datos (sexto semestre) y Estructuras
de Programas (séptimo semestre), para luego concluir la línea
con Ambientes de Desarrollo y Operación de Sistemas (octavo semestre),
Ingeniería de Software (noveno semestre), Ingeniería de Proyectos
Software (décimo semestre) y Proyecto de Sistema de Información
(décimo semestre).
Modelamiento de Datos es el primer acercamiento de los estudiantes al
área de ingeniería de software, por lo que debe sentar bases
sólidas con respecto a la conceptualización de realidades.
Es aquí donde se deben introducir y aplicar los conceptos de abstracción,
cuyo buen uso será clave en el desempeño del estudiante,
tanto en su rol de alumno en los cursos de la línea, o posteriormente
en su desarrollo profesional como ingeniero.
En lo que sigue de este artículo, se presentarán los aspectos
básicos de la asignatura Modelamiento de Datos, dando una visión
de la situación actual de la asignatura. Luego, la propuesta para
mejorar la conducta de salida del curso de modelamiento, presentando los
conceptos de abstracción a utilizar. Se muestra cómo están
presentes dichos conceptos en los modelos de datos y en los modelos orientados
a objeto. A continuación una discusión sobre la importancia
de la consideración explícita de los conceptos de abstracción,
y finalmente, las conclusiones y bibliografía.
LA ASIGNATURA MODELAMIENTO DE DATOS.
Esta asignatura está orientada a la incorporación de los
elementos principales del modelamiento de datos, fundamental para el área
de bases de datos, estructuras de datos y otros. Contiene las bases de
los formalismos utilizados en el área así como refuerza la
importancia del uso de modelos de datos y de comportamiento de sistemas,
como mecanismo de ayuda en la expresividad del planteamiento y del tratamiento
de problemas de índole informática.
El objetivo de la asignatura es capacitar al alumno para modelar la
realidad de un sistema, como por ejemplo, una empresa, utilizando herramientas
de modelación.
Situación Actual y Diagnóstico.
Dentro de la asignatura se abordan modelos de datos de tipo conceptual,
tales como Modelo Entidad interrelación (MER, [Chen76]), el MER
Extendido ([deMig93], [Ferg84], [Smith77], [Teory86]), el Formalismo Individual
([Tardieu79]), las Redes Semánticas (en [Rich94]) , el Modelo Orientado
a Objetos y algunos modelos de datos de tipo lógico, tales como
Modelo Relacional ([Codd70]), el Modelo Jerárquico y el Modelo de
Red (ambos en [deMig93]). Estos modelos son precedidos por una introducción
que contempla los conceptos de dato, modelamiento de datos, esquema, modelo
de datos, base de datos, operaciones, conjuntos, dominios y atributos,
donde se persigue establecer puntos de partida y definiciones.
Actualmente, en esta asignatura y en las que le siguen del área,
los conceptos de abstracción son adquiridos por los alumnos de manera
implícita, a través del uso de herramientas y métodos
que basan el éxito de su uso en las capacidades del diseñador.
Si el alumno no desarrolla la capacidad de abstracción, es probable
que no alcance buenos resultados en la utilización de los métodos.
El problema es que se demanda tiempo en la explicación de cada
modelo por separado, siendo que la mayoría de ellos sólo
se diferencian en los nombres de los conceptos y en el lenguaje de representación
(comúnmente gráfico). Además, no se está capacitando
adecuadamente a la media de los alumnos para manejar exitosamente nuevos
modelos distintos a los presentados en el curso, pues no se crea explícitamente
el vínculo entre ellos, a pesar de tener una naturaleza común.
PROPUESTA PARA MEJORAR LA SITUACIÓN ACTUAL EN MODELAMIENTO DE
DATOS.
Los modelos presentados en el curso, tienen como característica
común ciertos mecanismos básicos de construcción,
que son los mecanismos de abstracción primitivos: clasificación,
agregación y generalización [Batini94]. Estos mecanismos
no sólo se encuentran presentes en los modelos de datos, si no que
en la mayoría de los modelos utilizados para desarrollar todo tipo
de software, por lo que su comprensión apoyará el manejo
de otros modelos orientados al diseño de distintos productos informáticos.
Se propone el uso explícito de los mecanismos de abstracción
como estrategia para la enseñanza de las técnicas de modelamiento.
Se espera que al introducir explícitamente los conceptos básicos
de abstracción y luego los elementos de cada modelo haciendo referencia
a los primeros, se facilitará la comprensión y buen uso de
los conceptos centrales del curso, alcanzando de mejor manera la conducta
de salida esperada para los estudiantes.
Por otra parte, el uso de los modelos de datos como aplicación
de los conceptos de abstracción, posibilitará que los estudiantes
apliquen estos conceptos y por lo tanto los retengan mejor. Esto es beneficioso,
ya que estos conceptos son básicos como estrategia de resolución
de problemas en muchas áreas de la ingeniería, y en particular
en la computación e informática.
Los Conceptos Básicos de Abstracción.
La abstracción es un proceso mental que se aplica al seleccionar
algunas características y propiedades de un conjunto de objetos
y excluir otras no pertinentes. Se hace una abstracción al fijar
la atención en las propiedades consideradas esenciales de un conjunto
de cosas, y desechar sus diferencias.
La abstracción de clasificación se usa para definir un
concepto como una clase de objetos de la realidad caracterizados por propiedades
comunes. La abstracción de agregación define una nueva clase
a partir de un conjunto de (otras) clases que representan sus partes componentes.
La abstracción de generalización define una relación
de subconjunto entre los elementos de dos o más clases.
LA ABSTRACCION EN LOS MODELOS DE DATOS.
Los modelos de datos permiten generar esquemas de una mayor o menor
cercanía con su implementación en una base de datos (dependiendo
de si son modelos conceptuales, lógicos o físicos), pero
todos los vistos en el curso poseen elementos que implementan al menos
alguna de las abstracciones definidas como primitivas.
En el modelo entidad relación, sus tres conceptos básicos
realizan una abstracción de clasificación, ya que un tipo
de entidad es una clase de objetos con propiedades comunes, un tipo de
interrelación es una clase de hechos atómicos que relacionan
dos o más entidades y un atributo es una clase de valores que representan
propiedades atómicas de las entidades o interrelaciones. Los conceptos
de entidad, interrelación y atributo compuesto (este último
presente en MER extendido), realizan la abstracción de agregación,
ya que un tipo de entidad es una agregación de atributos, un tipo
de interrelación es una agregación de entidades y atributos,
y un atributo compuesto es una agregación de atributos. En el MER
extendido existe la estructura de generalización, la cual no es
más que la expresión de una abstracción de generalización[Mvc21].
En el formalismo individual, los conceptos de individuo, relación
y propiedad son análogos a los conceptos tipo de entidad, tipo de
interrelación y atributo del MER., por lo que realizan las mismas
abstracciones descritas en el párrafo anterior. Este formalismo
no presenta mecanismos para expresar la abstracción de generalización.
En los modelos lógicos sólo están presentes las
abstracciones de agregación y de clasificación.
LA PRESENCIA DE LOS CONCEPTOS DE ABSTRACCIÓN EN ORIENTACIÓN
A OBJETO.
Uno de los paradigmas más exitosos para representar la realidad
es el orientado a objeto. Aunque los modelos orientados a objetos, tales
como los de Coad/Yourdon, Martin/Odell, Grady Booch, ([Coad91],[Martin94],[Booch94]),
no fueron creados para el modelamiento de datos (pues el paradigma es contrario
a ese enfoque) el curso de Modelamiento de Datos es adecuado para su introducción,
ya que más que modelar sólo datos también interesa
comprender que éstos no son entes aislados de su comportamiento
asociado.
Todos estos modelos orientados al objeto, trabajan con tipos de objetos
o clases, objetos, relaciones entre tipos de objetos (y objetos), atributos,
métodos, además de las estructuras de generalización,
composición, diagramas de comunicación entre tipos de objetos
(y objetos) y diagramas de estados de objetos.
Aquí, la abstracción de clasificación aparece claramente
en los conceptos de tipo de objeto o clase, atributo, relaciones entre
objetos, comunicación entre objetos, estado y transición
de estado, ya que un tipo de objeto o clase es un conjunto de objetos con
propiedades comunes, un atributo es una clase de objetos que representan
propiedades la clase a la que pertenece, una relación entre objetos
es una clase de hechos atómicos que relacionan dos tipos de objetos,
una comunicación entre tipos de objetos es un comportamiento común
a todos los objetos de dichos tipos de objeto, un estado es una especificación
de una situación relevante (del valor y asociaciones) de un tipo
de objeto en la cual todos los objetos de ese tipo están posibilitados
de estar, una transición entre los estados es una especificación
de un comportamiento válido común a todos los objetos de
un mismo tipo.[Mvc21]
Además, la abstracción de agregación está
presente en los tipos de objetos, las relaciones de objetos o tipo de objetos
y las jerarquías de composición, ya que un tipo de objeto
es una agregación de otros tipos de objeto, atributos y de sus asociaciones
con otros tipos de objeto, una relación de tipos de objeto (objeto)
es una agregación de tipos de objeto (objeto) y sus componentes,
y una composición es una agregación de tipos de objetos.
[Mvc21]
La generalización se expresa mediante la estructura de generalización,
mediante el uso de la asociación denominada es un (que posee
una representación gráfica particular) [Mvc21].
LA IMPORTANCIA DE LA CONSIDERACIÓN EXPLÍCITA DE LOS CONCEPTOS
DE ABSTRACCIÓN.
Puede afirmarse que la mayor parte de las personas aprenden mediante
el uso de analogías. El poder relacionar conceptos nuevos con otros
ya asimilados permite entenderlos e incorporarlos, dando la posibilidad
de aplicarlos en el entendimiento de nuevos problemas.
Los conceptos de abstracción son básicos, y se van adquiriendo
implícitamente desde los primeros años de enseñanza
escolar, ya sea con la teoría de conjuntos, el álgebra, u
otros, por lo que su presentación y asimilación es natural
para aquellos con una formación escolar completa y de al menos un
año en ciencias básicas en ingeniería, como el caso
de los estudiantes de Modelamiento de Datos (segundo año de Ingeniería
Civil Informática).
Por lo anterior, su inclusión como antecedente previo a los modelos
de datos propiamente tal, facilitará la comprensión y aprehensión
de cada uno de ellos. Por otra parte, la capacidad de cada modelo para
poder expresar dichas abstracciones, conforma un parámetro de evaluación
de los mismos, por lo que el manejo explícito de estas abstracciones
le permitirá a los estudiantes realizar evaluaciones (informales
o no tanto) de los modelos estudiados y proponer mejoras o el uso de otras
alternativas. La posibilidad de establecer analogías en base a los
conceptos de abstracción entre los distintos modelos, también
apoya la idea del aprendizaje por analogía, y facilitará
la labor del docente, dejando más tiempo para la aplicación
de los métodos en problemas reales o ficticios, dando mayor oportunidad
al estudiante de ejercitar los conocimientos adquiridos y aplicarlos con
creatividad.
CONCLUSIONES.
La abstracción es una capacidad básica para resolver problemas
del área de la ingeniería civil, y en particular, la ingeniería
civil informática.
Los conceptos de abstracción han sido delineados en los estudiantes
de ingeniería civil informática por la formación previa
a la asignatura de Modelamiento de Datos, pero es aquí, al menos,
donde se hace conveniente hacerlos explícitos.
La comprensión de los conceptos de abstracción (clasificación,
agregación y generalización) puede facilitar el entendimiento
de métodos y modelos para la representación de realidades,
diseños conceptuales de bases de datos o de productos software en
general.
La presentación de estos conceptos en forma explícita
tanto en cursos preliminares de diseño, como en los más avanzados,
permiten que el alumno desarrolle la capacidad de solucionar problemas
de diseño, más que acumular un sinnúmero de notaciones
y modelos, sin aparente relación entre sí, donde el aprendizaje
de un nuevo modelo demanda tiempo de entrenamiento.
La inclusión de los conceptos de abstracción dentro de
los contenidos del curso Modelamiento de Datos, previo a los modelos, apoyará
el cumplimiento de los objetivos del curso, esto es, desarrollar la capacidad
de modelar realidades seleccionando los modelos más adecuados. Su
inclusión proveerá una base común para los contenidos
de este curso, y otros que le siguen dentro del área de ingeniería
de software. Por otra parte, esto facilitará el desarrollo de la
capacidad de abstracción, la cual apoya la solución de un
sinnúmero de problemas, la que le será de extrema utilidad
tanto en su formación como en su actividad profesional.
BIBLIOGRAFÍA.
[Batini94] Carlo Batini, Stefano Ceri, Shamkant B. Navathe, "Diseño Conceptual de Bases de Datos: Un enfoque de entidades-interrelaciones", Addison-Wesley/Díaz de Santos, 1994.
[Booch94] Booch, Grady, "Object Oriented Analysis and Design", The Benjamin/Cummings Publishing Company Inc, 1994
[Coad91] Coad, P.; Yourdon, E., "Object Oriented Analysis", Englewood Cliffs, NJ: Yourdon Press, 1991.
[Chen76] P.P.Chen, "The Entity-Relationship Model: Toward a Unified View of Data", ACM Transactions on Database Systems, volumen 1, número 1, enero 1976.
[deMig93] Adoración de Miguel, Mario Piattini, "Concepción y Diseño de Bases de Datos: del Modelo E/R al Modelo Relacional", Addison-Wesley Iberoamericana, 1993.
[Ferg84] "Modeling the time dimension in an Entity Relationship diagram", Proceedings on the 4th International Conference on the Entity/Relationship Approach, Chicago 1984.
[Gray92] Gray, Peter; Kulkarmi, Krishnarao; Paton, Norman, " Databases. A Semantic Data Model Approach", Prentice Hall International Series in Computer Science,1992.
[Mvc21] Varas, Marcela, "Reporte Capacidades Expresivas Formalismos Seleccionados", reporte técnico 2.1, tesis: "Formalismo de Representación de Restricciones de Integridad en Esquemas Conceptuales de Bases de Datos", Magister en Ciencias de la Computación, Departamento Ingeniería Informática y Ciencias de la Computación, Universidad de Concepción.
[Martin94] James Martin, James J.Odell, "Análisis y Diseño Orientado a Objetos", Prentice Hall Hispanoamericana, 1994.
[Rich94] Rich, Elaine; Knight, Kevin, "Inteligencia Artificial", McGraw-Hill, 1994.
[Smith77] J. M. Smith y D. C. P. Smith, "Database Abstractions: Aggregation and Generalization", ACM TODS, vol. 2, No 2, marzo 1977.
[Tardieu79] Tardieu et al., "Conception d'un systeme d'information", Les Editions d'Organisation, París, 1979.
[Teory86] T. J. Teory, D. Yang y J. P. Fry, "A Logical Design Methodology for Relational Databases Using The Extended Entity-Relationship Model", ACM Computing Surveys, vol. 18, No 2, junio 1986.
[Tsichri82] Tsichritzis, Dionysios; Lochovsky, Frederick, "Data
Models", Prentice Hall, 1982.