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.