ABSTRACCION
Proceso de eliminar detalles para simplificar
y concentrar la atención con base en
El acto de retirar o remover algo
El acto o proceso de no considerar una o
más propiedades de un objeto complejo a
fin de atender las demás.
Proceso de generalización para identificar el
núcleo común o esencial con base en
El proceso de formulación general de
conceptos para abstraer propiedades
comunes de las instancias
Un concepto general formado por la
extracción de características comunes a
partir de ejemplos específicos.
La abstracción es
ampliamente utilizada
en otras disciplinas
como el arte, la
escritura y la música
La pintura de Henri
Matisse
“Naked blue IV”
Logra representar con claridad la
esencia de su tema, una mujer
desnuda, utilizando sólo líneas
simples o recortes.
Su representación elimina todos los
detalles, pero transmite mucho
Harry Beck
Mapa del metro de Londres (1931)
En 1928 el mapa era esencialmente una En 1931, Beck produjo la primera representación
superposición de la red del metro sobre un mapa abstracta y esquemática: simplificó las curvas a
geográfico convencional de Londres; se mostraban sólo líneas horizontales, verticales y diagonales,
las curvas de las líneas de tren y las del río donde las distancias entre las estaciones ya no
Támesis, y las distancias relativas entre las eran proporcionales a las distancias geográficas.
estaciones.
Harry Beck
Mapa del metro de
Londres (1931)
Esta forma de representación
simplificada, o abstracción, resultó ser
tan adecuada para navegar alrededor
del metro de Londres que todavía se
utiliza, y se ha utilizado para sistemas
de transporte en muchos otros países.
El nivel de abstracción utilizado fue
cuidadosamente seleccionado a fin de
incluir sólo los detalles necesarios,
pero abandonando los innecesarios: si
es demasiado abstracto, el mapa no
proporciona suficiente información
para este propósito; y demasiado
detallado, se vuelve confuso e
incomprensible.
¿Por qué es importante la
abstracción en las Ciencias
Computacionales y en la
Ingeniería de Software?
Un programa no es más que una
descripción abstracta de un
procedimiento o fenómeno que
existe o sucede en el mundo real.
Disposición de las personas para crear ideas
originales o plantear situaciones que nos
ayuden a anteponernos a posibles escenarios.
Pensamiento
Abstracto Desarrollar este tipo de pensamiento requiere
una desconexión parcial con el mundo
material y el hallazgo de relaciones y vínculos
con lo que no vemos, es decir, con las ideas,
las nociones y el mundo inmaterial.
Ventajas del Pensamiento Abstracto
Análisis de probabilidades y escenarios alternativos. En cierta forma, el
pensamiento abstracto consiste en viajar a otros escenarios y mundos, tal
como lo hacemos cuando vamos al cine o leemos un libro. Pero no sólo por el
hecho de viajar; al contrario, la idea es extraer de ello algo útil para nuestro
presente.
Impulsa la creatividad. La búsqueda de nuevas ideas y conexiones con el
mundo inmaterial potencia nuestra capacidad creativa, muchas veces
limitada por los recursos materiales que tenemos a mano.
Ayuda a la formación de criterio personal. Cuando acudimos a este tipo de
pensamiento, estamos fortaleciendo nuestros criterios ante determinadas
situaciones o contextos. Lo contrario sería que otros pensaran en nuestro
lugar.
Favorece la independencia personal. El pensamiento abstracto también nos
hace personas más libres, independientes y autónomas.
Ejemplo de abstracción
¿Qué características podemos abstraer de los automóviles? o ¿Qué
características semejantes tienen todos los automóviles?
Características: Marca, Modelo, Número de chasis, Peso llantas o cauchos,
Puertas, Ventanas... Comportamiento: Acelerar, Frenar, Retroceder...
La gerencia de un taller mecánico necesita un sistema para controlar los
vehículos que ingresan a sus instalaciones.
En este caso, las características esenciales de la clase vehículo son: Marca,
Modelo, Color, Falla detectada, Nombre del Propietario, Dirección del
Propietario, Teléfono del Propietario...
Una abstracción no es única
Un auto puede ser...
Una cosa con ruedas, motor, volante y pedales (conductor)
Algo capaz de transportar personas (taxista)
Una caja que se mueve (simulador de tráfico)
Conjunto de piezas (fabricante)
Un sensor de temperatura
Se define porque...
mide la temperatura
nos muestra su valor
se puede calibrar...
No sabemos... (no nos importa)
cómo mide la temperatura
de qué está hecho
cómo se calibra
Las habilidades de la abstracción son esenciales en la construcción
de modelos, diseños e implementaciones apropiadas
El pensamiento abstracto es fundamental para manipular y razonar
sobre abstracciones, ya sean modelos formales para el análisis o
programas en un lenguaje de programación.
La abstracción es fundamental para las matemáticas y la ingeniería
en general, jugando un papel crítico en la producción de modelos
para el análisis y en la producción de soluciones de ingeniería.
“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”
Keith J. Devlin es un matemático británico y escritor de ciencia popular
Matemáticas como vehículo para
aprender pensamiento abstracto
“El principal beneficio de aprender y utilizar matemáticas no son los
contenidos específicos, sino el hecho de que se desarrolla la capacidad para
razonar precisa y analíticamente acerca de estructuras abstractas definidas
formalmente”.
En informática, no sólo es fundamental que los y las estudiantes
sean capaces de manipular formalismos simbólicos y numéricos,
también es necesario que tengan habilidades para pasar del
mundo real, informal y complicado, a un modelo abstracto
simplificado.
La abstracción es crucial para comprender este complejo mundo.
La abstracción es esencial para el funcionamiento de una mente
humana normal y es una herramienta muy potente para tratar la
complejidad.
La abstracción es clave para diseñar un buen software.
Modelado y análisis
La modelización y el análisis formal son un poderoso medio para la práctica
del pensamiento abstracto y la consolidación de la capacidad para aplicar la
abstracción.
El modelado es la técnica de ingeniería más importante: los modelos nos
ayudan a comprender y analizar los problemas grandes y complejos.
Dado que los modelos son una simplificación de la realidad con el propósito
de promover la comprensión y el razonamiento, se debe ejercitar todas las
capacidades de abstracción para construir modelos que sean idóneos para un
propósito.
También se debe ser capaz de trazar mapas entre la realidad y la abstracción,
a fin de poder apreciar las limitaciones de ésta última, y de interpretar las
implicaciones del análisis del modelo.
Conclusión
La abstracción es una habilidad clave para la informática, para facilitar los
aspectos críticos del entorno que requiere el sistema, mientras descuidamos los
no importantes.
En el diseño, necesitamos articular la arquitectura del software y la
funcionalidad de los componentes, de tal forma que satisfagan los requisitos
funcionales y no funcionales, mientras evitamos innecesarias restricciones de
implementación.
Incluso, en la fase de implementación, utilizamos la abstracción de datos y de
clases con el fin de generalizar las soluciones.
La razón por la que algunos ingenieros de software son capaces de producir
diseños y programas claros y elegantes, mientras que otros no son capaces, se
puede atribuir a sus capacidades de abstracción.
Abstracciones también pueden referirse a características o
reglas de los sistemas o lenguajes de programación que
transportan o utilizan las características de la abstracción o en
sí, tales como:
El proceso o función de la utilización de los tipos de datos para realizar la
abstracción de datos para desacoplar el uso de las representaciones de trabajar
estructuras de datos dentro de los programas
El concepto de procedimientos, funciones, o subrutinas que representan una forma
específica de la abstracción del flujo de control en los programas.
Las reglas se denominan generalmente "abstracción" que generalizan las expresiones
que utilizan las variables libres y ligadas en las diversas versiones del cálculo
lambda.
El uso de S-expresiones como una abstracción de las estructuras y programas en los
datos de lenguaje de programación Lisp.
El proceso de reorganización del comportamiento común no abstractos clases en
"clases abstractas" utilizando la herencia de abstraer sobre subclases como se ve en
el orientado a objetos C ++ y lenguajes de programación Java.