4. Especificación de TDA Técnicas de Diseño

8
ANÁLISIS DE ALGORITMOS Curso inter-semestral Presenta: Omar Yeladaqui Círigo

description

Análisis de algoritmos

Transcript of 4. Especificación de TDA Técnicas de Diseño

Page 1: 4. Especificación de TDA Técnicas de Diseño

ANÁLISIS DE ALGORITMOS

Curso inter-semestralPresenta: Omar Yeladaqui Círigo

Page 2: 4. Especificación de TDA Técnicas de Diseño

ESPECIFICACIÓN DE TDA Y TÉCNICAS DE DISEÑO

Las especificaciones de un TDA describen el comportamiento de las operaciones en términos que tienen sentido para los clientes del TDA. Es decir, las especificaciones deben evitar hacer referencia a campos de ejemplar privados, porque los clientes no tienen conocimiento de ellos.Las especificaciones describen las relaciones lógicas entre las partes públicas del TDA, que suelen ser operaciones y constantes.

Page 3: 4. Especificación de TDA Técnicas de Diseño

ESPECIFICACIÓN DE TDA Y TÉCNICAS DE DISEÑO

Las operaciones de TDA (funciones y procedimientos) se denominan “métodos” en la terminología de Java.Una ventaja importante de diseñar con TDA es que el cliente puede desarrollar un algoritmo lógicamente correcto conociendo únicamente las especificaciones del TDA, sin comprometerse con una implementación específica (ni siquiera con un lenguaje específico) para el TDA.

Page 4: 4. Especificación de TDA Técnicas de Diseño

ESPECIFICACIONES DE TDA

• Las especificaciones por lo regular se pueden dividir en condiciones previas y condiciones posteriores.

• Las condiciones previas de una operación dada son afirmaciones que supuestamente se cumplen en el momento en que se invoca la operación.

• Es responsabilidad del cliente satisfacer las condiciones previas antes de invocar cualquier operación (o método estático, o función, o procedimiento) de la clase de TDA.

Page 5: 4. Especificación de TDA Técnicas de Diseño

ESPECIFICACIONES DE TDA

• Las condiciones posteriores de una operación dada son afirmaciones que el cliente puede suponer que se cumplen en el momento en que la operación termina.

• Las condiciones posteriores también se denominan objetivos de la operación.

Page 6: 4. Especificación de TDA Técnicas de Diseño

QUÉ INCLUYE UN TDA

• Un TDA es un conjunto coherente de procedimientos y funciones cuyas especificaciones interactúan para ofrecer cierta capacidad. Se incluyen solo las operaciones necesarias.

• Un TDA no es una biblioteca de procedimientos que podrían ser útiles; semejantes bibliotecas podrían proporcionarse como clases adicionales, si se necesitan.

Page 7: 4. Especificación de TDA Técnicas de Diseño

QUÉ INCLUYE UN TDA

Las operaciones necesarias pertenecen a tres categorías: constructores, funciones de acceso y procedimientos de manipulación. Los destructores, que liberan el espacio que ocupa un objeto para que se le pueda dar otro uso, no son cruciales porque Java efectúa “recolección de basura” automática. La recolección de basura encuentra objetos a los que no se hará ya referencia y recicla su espacio.

Page 8: 4. Especificación de TDA Técnicas de Diseño

QUÉ INCLUYE UN TDA

Éstas son tres categorías de operaciones para los TDA: Constructores crean un objeto nuevo y

devuelven una referencia al mismo. Funciones de acceso devuelven

información acerca de un objeto, pero no lo modifican.

Procedimientos de manipulación modifican un objeto, pero no devuelven información.