1.1 Concepto y terminología

Slides:



Advertisements
Presentaciones similares
Fundamentos de Diseño de Software INFT.1
Advertisements

También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
TECNICATURA UNIVERSITARIA EN INFORMATICA
PROGRAMACION ORIENTADA A OBJETOS
Abstracción de Datos Funciones.
Servicios Web.
Introducción a los Sistemas de Bases de Datos
Metodología de la Programación
Arquitectura CLARO-TECNOTREE
1.1 Concepto de Tipo de Datos Abstracto.
Estructuras de datos y algoritmos
Tipos de Datos Abstractos Modularidad
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Tipo de Dato Abstracto Tipos de datos:
Programación (Estructura de Datos)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
Teoría de lenguajes y compiladores
Tema 2. Abstracciones y Especificaciones.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
Capítulo 3 Etapas de un Proyecto de simulación
PROGRAMACIÓN LÓGICA.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Fundamentos de Programación
Semana 5 Subprogramas..
Unidad 1 Definiciones Básicas
Métrica v2.1 : Técnica - Diagrama de Flujo de Datos (DFD)
Técnica - Diagrama de Flujo de Datos (DFD)
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez
TIPOS DE DATOS ABSTRACTOS
Inteligencia artificial
Clase 10: Estructuras de datos y arreglos.
Introducción a los tipos de datos abstractos
Programación I Universidad Nacional de Luján
CONFORMACIÓN DEL MANUAL DE PROCESOS Y PROCEDIMIENTOS
Aplicación de estructuras de datos
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Importancia en la efectividad del:
Representación de Algoritmos
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Facultad de Ingeniería
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Programación Orientada a Objeto
Ámbito y Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 7/1.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
PRINCIPIOS DE PROGRAMACIÓN
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
Elaboración de algoritmos usando lógica de programación
M.S.C. Ivette Hernández Dávila
2.1 DEFINICIONES CARACTERÍSTICAS Y SUPOSICIONES.
Metodología de la programación
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Introducción a los TADs
TIPOS DE DATOS ABSTRACTOS
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Proceso de desarrollo de Software
La Programación Orientado a Objetos
Requerimientos del software
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal.
Transcripción de la presentación:

1.1 Concepto y terminología Tipos de Datos  colección de valores + operaciones Enteros, reales, booleanos, caracteres Enumerados, subrango Son opacos Tipos Estructurados  genericidad Riesgo de crear valores sin semántica Tipos de Datos Abstractos (TDA) Tipos de datos creados por el programador, que deben ser opacos

1.1 Concepto y terminología Tipos de Datos Abstractos: Colección de valores + operaciones Se definen mediante una especificación, que es independiente de cualquier representación (abstracción) Acceso a los valores limitado al uso de las operaciones (interfaz con el usuario limitada) Establecida la interfaz, el programador elige la representación adecuada (implementación) Los usuarios del TDA sólo conocen su nombre y la especificación de las operaciones Cambios en la representación no afectarán al resto de programas

1.1 Concepto y terminología Tipos de Datos Abstractos: El lenguaje de programación trata a los TDA’s de igual forma que a sus propios tipos de datos, es decir, como tipos opacos: Privacidad de la representación Protección Para que esto sea posible, la implementación deberá realizarse en un ámbito de declaración inaccesible al resto de los programas

1.1 Concepto y terminología Tipos de Datos Abstractos: El conjunto de operaciones ha de permitir generar cualquier valor del tipo Existen dos piezas de documentación bien diferenciadas: Especificación del TDA. Es lo único que conoce el usuario del TDA. Consiste en el nombre del TDA y la especificación de las operaciones. Tienen parte sintáctica y parte semántica Implementación del TDA. Conocida sólo por el programador del TDA. Se realiza en un lenguaje de programación concreto. Consiste en la representación del tipo y en la realización de las operaciones

1.1 Concepto y terminología Tipos de datos abstractos: Se destacan los detalles (normalmente pocos) del comportamiento observable del tipo, que es estable. Se ocultan los detalles (normalmente numerosos) de la implementación, que es propensa a cambios.

1.2 Clasificación de Tipos de Datos Abstractos Tipos de Datos Abstractos simples: Cambian su valor pero no su estructura  espacio de almacenamiento constante Enteros, reales, booleanos, carácter, enumerado, subrango, etc. Tipos de Datos Abstractos contenedores: Cambian su valor y estructura (colecciones de elementos de número variable)  espacio de almacenamiento variable Listas, colas, pilas, árboles, grafos, conjuntos, etc.

1.2 Clasificación de Tipos de Datos Abstractos Tipos de datos abstractos inmutables: Sus casos no pueden modificarse (se crean y destruyen, pero no existen operaciones de modificación) Representación inmutable o mutable Tipos de datos abstractos mutables: Sus casos pueden modificarse (existen operaciones de modificación) Representación mutable

1.3 Especificación de Tipos de Datos Abstractos TDA  Colección de valores + Operaciones Usuario Especificación Implementador Implementación del TDA Representación elegida Representación de las operaciones  +

1.3 Especificación de Tipos de Datos Abstractos Especificaciones informales: Predomina el lenguaje natural Poco precisas y breves  ambigüedad Sencillas de escribir, leer y entender Especificaciones formales: Lenguaje algebraico  verificación formal de programas Precisas y breves Pueden resultar más complejas de escribir, leer y entender

1.3.1 Especificaciones informales Cabecera: Aparece el nombre de las operaciones. Descripción: Se describe de forma general en qué consiste la abstracción, sin decir nada acerca de la implementación. Los casos del TDA pueden describirse en términos de otros tipos para los cuales se espera que el lector de la especificación esté más familiarizado. Se pueden utilizar gráficos y abstracciones matemáticas. Se puede incluir en la descripción si el TDA es mutable o inmutable Especificación de las operaciones: Para la especificación de una abstracción operacional seguiremos el siguiente modelo: nombre de la operación (entrada) devuelve (salida) requerimientos: Esta cláusula muestra las restricciones de uso modifica: Esta cláusula identifica las entradas que van a ser modificadas efecto: Esta cláusula define el comportamiento

1.3.1 Especificaciones informales Observamos los siguientes componentes: Cabecera: Es la información sintáctica. Se indica el nombre de la operación y el número, orden y tipos de sus entradas y salidas. Deben darse nombres para las entradas y pueden darse para las salidas Cuerpo: Es la información semántica. Consta de las siguientes cláusulas: Requerimientos: Restringen el dominio del procedimiento o función. Cuando introducimos requerimientos, obtenemos una abstracción operacional parcial (en caso contario se dice que la abstracción es total). El que use la abstracción es el responsable de que los requerimientos se cumplan; si estos no se cumplen, los resultados pueden ser impredecibles. Si la abstracción es total, la cláusula de requerimientos puede omitirse. Se supone como requerimiento implícito (y por tanto no tiene que ser explicitado en la cláusula de requerimientos) que las entradas que figuran en la lista de parámetros de la abstracción han sido correctamente construidas mediante algún constructor del tipo Modifica: Indica los argumentos de entrada que cambian de valor tras una llamada a la abstracción operacional Efecto: Se indica el efecto que se produce al ejecutar la operación para las entradas que cumplen los requerimientos. Debe definir qué salidas son producidas y también qué modificaciones son hechas en la lista de entradas de la cláusula modifica. La cláusula efecto se escribe bajo la asumpción de que se satisface la cláusula requerimientos, y no se dice nada sobre el efecto de la abstracción cuando dicha cláusula no se satisface

1.3 Especificación de Tipos de Datos Abstractos El usuario de la abstracción es el responsable de que se cumplan los requerimientos Implementaciones robustas: se autoprotegen frente a valores inconsistentes Mecanismos de protección frente a errores: Manejo de excepciones Parámetros de salida de error en cada operación Puesto que las especificaciones son independientes de las implementaciones, existen requerimientos de uso (información adicional de cara al usuario)