Abstraccion

Solo disponible en BuenasTareas
  • Páginas : 32 (7789 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de febrero de 2012
Leer documento completo
Vista previa del texto
Abstracci´n en Programaci´n o o
A. GARRIDO

Departamento de Ciencias de la Computaci´n e I.A. ETS Ingenier´ Inform´tica o ıa a Universidad de Granada. 18071 Granada. Spain. Email: A.Garrido@decsai.ugr.es

Resumen En este documento se pretende presentar brevemente los conceptos fundamentales de la abstracci´n, aplicados al desarrollo de programas. El objetivo es que el lector comprenda suimportancia o capital si se quieren obtener buenos programas. Se muestra como la evoluci´n de las herramientas de o programaci´n ha sido acompa˜ada de un creciente uso de este conjunto de conceptos, lo que confiro n ma como una aproximaci´n efectiva para enfrentarse a problemas de gran complejidad. Adem´s, se o a propondr´n distintas formas de aplicar estas ideas en programaci´n, haciendo especial´nfasis en los a o e tipos de datos abstractos, como un medio eficaz para facilitar esta labor. Se recomienda que el lector est´ introducido en el lenguaje de programaci´n C. A lo largo de la e o lecci´n, justificado por el progresivo aumento de los mecanismos de abstracci´n que se presentan, o o se ir´n presentando caracter´ a ısticas del lenguaje C++, que integra muchos de los conceptos que sediscuten.

1

Introducci´n. o

La abstracci´n es un proceso mental que consiste en realzar los detalles relevantes, es decir, los que nos o interesan en un momento sobre el objeto de estudio, mientras se ignoran los detalles irrelevantes. Esto nos lleva a una simplificaci´n del problema, ya que o • la cantidad de informaci´n que es necesario manejar en un momento dado disminuye y o • podemos tratarcosas diferentes como si fueran la misma Este proceso de la mente humana es fundamental para comprender y manejar complejos sistemas que contienen multiples detalles y relaciones. Por ello, y dada la complejidad de los programas actuales, la evoluci´n de los paradigmas y lenguajes de programaci´n marca un uso creciente de la abstracci´n. o o o Cuando es un programa es peque˜o (por ej. cientos del´ n ıneas de c´digo), se puede obtener una soluci´n o o basada en un unico componente, en el que se pueden encontrar todos los detalles de ´sta. Sin embargo, ´ e cuando el tama˜o del problema aumenta (por ej. miles o cientos de miles de l´ n ıneas de c´digo), el ser o humano es incapaz de manejar tal cantidad de detalles y es necesaria una descomposici´n en peque˜as o n partes independientes, quedenominaremos m´dulos y que unidos constituyen la soluci´n buscada. En o o esta lecci´n, se presenta una metodolog´ para la descomposici´n y construcci´n de m´dulos basada o ıa o o o en la abstracci´n, consiguiendo con ello mejorar la calidad de los resultados y facilitar la construcci´n, o o modificaci´n y mantenimiento del software. o

1.1

Programaci´n modular. o

La programaci´n modularconstituye una metodolog´ eficaz para abordar problemas de cualquier o ıa tama˜o y la abstracci´n es una forma de llevarla a cabo. Sin embargo, es necesario considerar detenidan o mente las propiedades que deben cumplir para que la descomposici´n sea util: o ´ 1. Las conexiones de cada m´dulo con el resto del programa deben ser m´ o ınimas, tanto en n´mero u como en complejidad, para obtener m´dulosm´s independientes. o a 2. Cada m´dulo lleva a cabo una tarea bien definida en el nivel de detalle correspondiente, para o facilitar su soluci´n y la independencia con el resto del programa. o

1

3. La soluci´n de cada subproblema debe ser general, para obtener m´dulos que, siendo igualmente o o utiles para el problema a resolver, puedan adaptarse a futuras modificaciones o incluso para otros´ problemas. 4. La soluci´n de los subproblemas se puede combinar para resolver el problema original. o Una correcta aplicaci´n de esta metodolog´ facilitar´ en gran medida la resoluci´n del problema. o ıa, a o Concretamente podemos destacar varios aspectos que ponen de relieve los beneficios que podemos obtener: • Facilita el desarrollo de programa. La independencia entre las distintas partes...
tracking img