Proceso de abstracción
Abstracción
"Una vez que te das cuenta de que la informática tiene que ver con la construcción, manipulación y razonamiento acerca de abstracciones, se hace evidente que un pre-requisito importante para la buena escritura de programas de computador es la capacidad para manejar abstracciones de manera precisa"(K. Devlin, “Why universities require computer science students to take math”, Communications of ACM, Vol. 46, No. 9, pp. 37-39, Sept. 2003.)
En este blog, hablaremos sobre los procesos de abstracción enfocados en la computación. Primero pasa comenzar debemos saber que es abstracción y así tener una idea clara sobre este concepto en si.
¿Que es abstracción?
Se puede definir como las características de un objeto, mejor dicho serian aquellas que lo distinguen de los demás tipos de objetos.
En el área de la computación, es una herramienta utilizada que nos ayuda a la hora de solucionar un problema, ayuda a la comprensión de problemas que contiene una gran cantidad de detalles.
consiste en ignorar detalles específicos del problema, así busca generalidades que ayuden al programador a resolver el problema.
Se puede decir que la abstracción es fundamental en la ingeniería de de software.
Las abstracción que nos ofrece los lenguajes de programación se dividen en dos categorías
- Abstracción de datos
- Abstracción de control
Abstracción de datos
Permite diseñar estructuras de datos. Consiste en representar las características esenciales de una estructura de bases de datos, evitando en si los detalles específicos de implementación de los datos.
El proceso de abstracción de datos se realiza a través de varios niveles de abstracción:
- Nivel Físico: Describe cómo se almacenan realmente los datos. Se describen en detalle las estructuras de datos complejas de bajo nivel.
- Nivel Lógico: Es el siguiente nivel más alto de abstracción. Describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. Los administradores de bases de datos, que deben decidir la información que se mantiene en la base de datos, usan el nivel lógico de abstracción.
- Nivel de Vistas: El nivel más alto de abstracción describe sólo parte de la base de datos completa. Los usuarios que utilizan este nivel de abstracción tienen una gran simplificación en su interacción con el sistema, ya que ven un conjunto de programas de aplicación (vistas) que esconden los detalles de los tipos de datos. Además de esconder detalles de nivel lógico también proporcionan un mecanismo de seguridad para evitar que los usuarios accedan a ciertas partes, prohibidas para ellos, de la base de datos.
Fuente.
https://uvfdatabases.wordpress.com/2009/02/04/abstraccion-de-datos/
Abstracción de control
Define a un sistema de control de un software sin describir los datos internos que permiten operar al mismo. Por ejemplo una abstracción de control típica es el semáforo ya que podemos ver lo que hace pero no como lo hace.
"La evolución de los lenguajes de programación ha permitido la aparición de otros mecanismos para la abstracción de control, tales como manejo de excepciones, corrutinas, unidades concurrentes, plantillas (<<templates»). Estas construcciones son soportadas porlos lenguajes de programación basados y orientados a objetos, tales como Modula-2,Ada, C++, Smalltalk o Eiffel."(Joyanes, Luis y Zahonero Ignacio. Estructuras de Datos: Algoritmos, abstracción y objetos. Mc Graw Hill. 1998).
Las abstracciones y estructuras de control se clasifican a nivel de secuencia y a nivel de unidades.
Las abstracciones a nivel de unidades se les conoce como abstracción procedimental.
Abstracción procedimental.
Utiliza procedimientos o funciones sin preocuparse de como se implementan. Es posible solo si se conoce que hace cada procedimiento o función.
La mayor parte de las acciones que ejecutamos a la hora de crear un programa o de hacer algún tipo de tarea programada primero tenemos que pasar por el proceso de abstracción, ya que tenemos que saber las funciones principales de dicha tarea o los problemas que se solucionaran con el programa que se creara, como dijo K. Devlin la abstracción es un requisito importante para la buena escritura de programas.
Referencias
K. Devlin, “Why universities require computer science students to take math”, Communications of ACM, Vol. 46, No. 9, pp. 37-39, Sept. 2003.
Joyanes, Luis y Zahonero Ignacio. Estructuras de Datos: Algoritmos, abstracción y objetos. Mc Graw Hill. 1998.


Comentarios
Publicar un comentario