Luokat: Kaikki - módulos - implementación - abstracción - tipos

jonka linsey martinez 3 vuotta sitten

614

MODULARIDAD(TIPOS DE DATOS)

Los lenguajes de programación permiten a los desarrolladores implementar modelos abstractos, facilitando la división modular de sistemas grandes en componentes más manejables. Esta modularidad, sin embargo, no siempre garantiza una organización óptima del sistema.

MODULARIDAD(TIPOS DE DATOS)

Procedimientos que actuan sobre la estructura de datos.

5)PiloVacia

4)Destruir

3)Crear

2)Sacar

1)Meter

OPERACIONES

Almacena una serie de elementos del tipo elemento. La pila esta inicialmente vacia y los elementos se meten o sacan en la pila por el mismo extremo

ESTRUCTURA DE DATOS

TIPOS DE ABSTRACTOS DE DATOS EN TURBO PASCAL

En los lenguajes en el que los modulos(TAD)se pueden implementar como una uniad, estos rec

5)Java(Clase)

4)C++(Clase)

3)Ada (Paquete)

2)Modula-2 (Modulo)

1)Turbo/Borland Pascal (Unidad, objeto)

Los lenguajes convencionales, tales como pascal, permiten la definición de nuevos tipos y la declaración de procedimientos y funciones para realizar operaciones sobre objetos de los tipos.

VENTAJAS DE LOS TIPOS ABSTRACTOS DE DATOS

1)La representacion: Eleccion de las estructuras de datos

2)Las operaciones: eleccion de los algoritmos.

5)permite la extensibilidad del sistema. Los componentes de software reutilizable son mas faciles de crear y mantener.

4)separa la implementación de la especificación. permite la modificación y mejora de la implementación, sin afectar al interfaz publico del tipo abstracto de dato.

2)Mejora la robustez el sistemas. Si hay una característica subyacentes en los lenguajes, permiten la especificación del tipo de cada variable, los tipos abstractos de datos permiten la comprobación de tipos para evitar errores de tipo en tiempo de ejecución

2)Los representación del nuevo tipo de dato esta oculta de las unidades de programa que lo utilizan[Ghezzi 87]

3)Mejora el rendimiento (presentaciones) para sistemas tipeado, el conocimiento de los objetos permite la optimización de tiempo de compilación.

6)Recoge mejor la semántica del tipo. Los tipos abstractos de datos agrupan o localizan las operaciones y la representación de atributos.

1)Permite una mejor conceptualizacion y modelizaciion del mundo real.Mejora la representacion y la comprensibilidad clarifica los obejtos basados en la estructuras y comportamientos comunes.

LOS BENEFICIOS

Un tipo de abstracto de datos es un modelo(estructura) con un numero de operaciones que afectan a ese afectan a ese modelo.

Un tipo de dato definido por el programador se denomina tipo abstracto de datos(TAD)para diferenciarlo del tipo fundamental (predefinido) de datos. TAD se compone de estructuras de datos y los procedimientos o funciones que manipulan esas estructuras de datos.

IMPLEMENTACION DE LOS TAD

Los tipos abstraccion de datos proporcionan el mecanismo adiciional mediante el cual se realiza una separacion clara entre el interfaz y la implementacion de tipo de dato. La implementacion de un tipo abstracto de dato consta de:

1)Existe una construcción del lenguaje que le permite asociar la representación de los datos con las operaciones que lo manipulan.

LOS TIPOS DE DATOS DEFINIBLES DE TIPO ABSTRACTO DE DATO(TAD):

Es la técnica de programación que permite inventar o definir nuevos tipos de datos(tipos de datos definidos por el usuario)adecuados a la aplicación que se desea realizar.

ABSTRACCIONES DE DATOS

ABSTRACCION PROCEDIMENTAL(por procedimientos)

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, correinarías, unidades concurrentes, plantillas(templatees) estas construcciones son soportadas por lo lenguajes de programación basados y orientados a objetos, tales como Modula-2, Ada, C++, Smalltalk o Eiffel.

OTROS MECANIMOS DE ABSTRACCION DE CONTROL

3)Los parámetros de los subprogramas, junto con la ocultación de la información anterior, permite crear subprogramas que constituyen entidades de software propias.

2)Los subprogramas es pascal proporcional ocultacion de la informacion.

1)Con el nombre de los subprogramas, un programador puede asignar una descripción abstracta que captura el significado golbal de subprograma.

La abstracción aparece en los subprogramas debido a las siguientes causas:

Es esencial para diseñar software modular y fiable. La abstracción procedimental se basa en la utilización de procedimientos o funciones, sin preocuparse de como se implementan.

Las abstracciones y estructuras de control se clasifican en estructuras de control de nivel de sentencia y a nivel de unidades. Las abstracciones de control a nivel de unidad se conoce como Abstracción procedimental.

ABSTRACCIONES DE CONTROL

Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos.

ABSTRACCION EN LENGUAJES DE PROGRAMACION

Un tipo de dato es un conjunto de valores, y un conjunto de operaciones definidas por esos valores. un valor depende de su representación y de la interpretación de la representación, por lo que una definición informal de un tipo de dato es representación + operaciones.

TIPOS DE DATOS

Lo modulos deben seguir las siguientes reglas:

4)Ocultación de la información: Todos los módulos deben de seguir el principio de la ocultación de la información cada debe representar al menos un elemento de diseño (por ejemplo, la estructura de un registro, un algoritmo, una abstracción, etc..)

2)Interfaces Adecuados: Es la estructura de un programa en unidades es beneficiosos que existan pocos interfaces y que estos sean pequeños..

3)Interfaces explícitos: el interfaz o parte visible externamente de un modulo que se debe declarar y describir explícitamente; el programa debe especificar cuales son los datos y procedimientos que un modulo trata de exportar y cuales deben permanecer ocultos en su exterior.

La cohesion es una extension del concepto de ocultamiento de la informacion, Dicho de otro modo, la cohesion describe la naturaleza de las interacciones dentro de un modulo

COHESION DE MODULOS

el sistema modular se divide:

2)El seguimiento de un error y el aislamiento del modulo defectuoso que produce ese error.

1)La sustitucion de un modulo por otro, de modo que solo unos pocos modulos seran afectados por el cambio.

El acoplamiento es una medida del grado de interpendencia entre modulos, es decir, el modo en que un modulo esta siendo afectado por la estructura interna de otro modulo.

Aunque el diseño modular persigue la division de un sistema grande en modulo mas pequeños y a la vez manejables, no siempre esta division es garantía de un sistema bien organizado.

1)unidades modulares: la estructura Modulares con las cuales se pueden describir las diferentes unidades. De este modo, el lenguaje(y el compilador)puede reconocer un modulo y debe de ser capaz de manipular y gobernar su uso, además de las ventajas evidentes relativas a la legibilidad del codigo resultante.

Un método de diseño debe ayudar al programador a resolver un problema, dividendo el problema, dividiendo el problema en subproblemas mas pequeños, que se puedan resolver independientemente unos de otros. también debe de ser fácil conectar los diferentes modulos los restantes, dentro del programa que esté escribiendo.

REGLAS DE LA MODULARIZACION

2)Seccion privada

d)Parametros actuales

c)Algoritmos

b)Representancion

a)Atributos

se estructura asi:

1 interfaz

b)Descripcion de propiedades de los datos
a)Primitivas de acceso

Un modulo se caracteriza fundamentalmente por su interfaz y por su implementacion.

En esencia, las abstracciones se implementan en módulos, conocidos en la terminología de Booch como objetos, que agrupan en una sola entidad:

2.Un conjunto de operaciones que actuan sobre los datos

1.Un conjunto de datos

2.Un conjunto de acciones posibles

el objeto abstracto (o tipo abstracto) se caracteriza:

1.Un estado actual, definido por un cierto numero de atributos

MODULARIDAD

La programacion modular trata de descomponer un programa en un pequeño numero de abstracciones coherentes que pertenecen al dominio del problema y cuya complejidad interna es susceptible de ser enmascarada por la descripcion de un interfaz

MODULARIDAD(TIPOS DE DATOS)

DISEÑO DE MODULOS

LA ESTRUCTURA DEL MODULO