Tema 1. Introducción a los TAD

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1. Introducción a los TAD"

Transcripción

1 Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con su especificación e implementación. También serán objeto de atención la forma en que los lenguajes de programación soportan la abstracción de datos y algunas propiedades de los tipos abstractos de datos (TAD). Además, veremos algunos ejemplos de TAD, presentando tanto su especificación como su implementación usando el lenguaje de programación Java. Planificación Se estiman 4 horas. Contenidos 1. Abstracción de datos 1.1. Especificación 1.2. Implementación 1.3. Lenguajes de programación 1.4. Propiedades de los TAD Modificabilidad Clases de operaciones 2. Ejemplo Bibliografía Básica Franch Gutiérrez, X., Estructuras de datos. Especificación, Diseño e implementación. Ediciones UPC, Págs , Liskov, B. y J. Guttag, Program Development in Java: Abstraction, Specification, and Object-Oriented Design, Addison-Wesley, Págs. 1-13, 39-56, Departamento de Informática 1 Reyes Pavón

2 Complementaria Liskov, B. y J. Guttag, Program Development in Java: Abstraction, Specification, and Object-Oriented Design, Addison-Wesley, Págs , , Peña Marí, R., Diseño de Programas: Formalismo y Abstracción, 2ª ed., Prentice Hall, Págs Departamento de Informática 2 Reyes Pavón

3 Tema 1. Introducción a los TAD 1. Abstracción de datos Abstracción de datos o tipo abstracto de datos (TAD): nuevo tipo de dato más un conjunto de operaciones que permiten manipular los objetos de dicho tipo Abstracto los objetos del tipo deben ser manipulados mediante sus operaciones, sin necesidad de ninguna noción adicional sobre el tipo Objeto (no variable) Los TAD permiten: Añadir nuevos tipos de datos: permiten definir y utilizar tipos de datos distintos a los predefinidos en el lenguaje de programación Encapsular información: Es posible localizar la definición del tipo y el código de todas las operaciones sobre ese tipo en una determinada sección del programa Un cambio en el TAD revisar una pequeña sección del programa (no hay detalles en otras partes que puedan ocasionar errores relacionados con ese tipo de datos) Forma de organizar los programas en unidades lógicas que en muchos lenguajes de programación pueden compilarse separadamente Ocultar la representación: Los TAD se estructuran en dos partes: interfaz e implementación Interfaz: lista de operaciones junto con sus argumentos (tipo de los parámetros de entrada y el Departamento de Informática 3 Reyes Pavón

4 tipo del resultado). Es la única parte visible al usuario del TAD Implementación: lugar en donde se define cómo realizar las operaciones del TAD. Esta parte sólo es visible al programador basta con preservar la integridad de la información en esta sección, donde los posibles errores estarán controlados Para poder utilizar un TAD es necesario disponer de su especificación: características del tipo de dato + significado de las operaciones (especificación de función) Interfaz Implementación Programa Solicita operación Resultado operación Características + Operaciones Estructura de datos + algoritmos El código de las unidades de programa que usan el tipo no dependen de su implementación La implementación puede cambiar sin afectar a las unidades de programa que usan el tipo Se garantiza la fiabilidad de las unidades de programa que usan un TAD y la integridad de los objetos de ese tipo Departamento de Informática 4 Reyes Pavón

5 Objetivo: separar el uso del tipo de dato de su implementación dividir el diseño de un TAD en dos partes: especificación e implementación Especificación: define como se puede utilizar el tipo de dato = sintaxis + semántica Implementación: define una posible realización del tipo de dato = representación (o estructura de datos) + algoritmos de las operaciones (en función de dicha estructura de datos) TAD Especificación Implementación Sintaxis Semántica 1.1. Especificación Representación Algoritmos Especificación de un TAD = descripción de los objetos del tipo de dato + operaciones realizables sobre ellos Propiedades de la especificación: Precisa: dice sólo lo imprescindible General: adaptable a diferentes contextos Legible: debe transmitir el comportamiento del tipo No ambigua: debe evitar dobles interpretaciones Departamento de Informática 5 Reyes Pavón

6 Formas de realizar la especificación: Formal: mediante axiomas algebraicos Informal: usando el lenguaje natural. Para conseguir mayor precisión se utilizan un conjunto de cláusulas especificación cuasi-formal Especificación cuasi-formal del TAD Esquema de especificación Nombre del tipo de dato Declaración de tipos: tipos de datos que va a utilizar el TAD (tipos predefinidos de un lenguaje de programación u otros TAD) Características: descripción de los objetos mediante otros previsiblemente comprensibles para el lector de la especificación. Indica si los objetos son o no modificables Operaciones: especificación de cada operación siguiendo una notación cuasi-formal Departamento de Informática 6 Reyes Pavón

7 Especificación de cada operación Permite centrarnos en qué hace una función y no en cómo lo hace. Tipos: Formal: mediante asertos de entrada y salida (precondición y postcondición) Informal usando lenguaje natural ambigüedad. Para conseguir mayor precisión se puede realizar una cierta formalización mediante cláusulas especificación cuasiformal Cláusulas de la especificación cuasi-formal: Necesita: Conjunto de condiciones suficientes para asegurar la ejecución adecuada de la función restricciones bajo las cuales se define la abstracción. Ejs: función raizcuadrada (x: real) devuelve real; Necesita: x 0 Produce: Devuelve la raíz cuadrada de x función buscaenorden (a: vector de entero; x: entero) devuelve entero; Necesita: a está ordenado en orden ascendente Produce: Si x está en a, devuelve el índice del vector donde está almacenada. En caso contrario, devuelve 1. Modifica: Nombres de las entradas (argumentos o variables no locales) que se modifican en la invocación a la función identificación de efectos laterales. Produce: Comportamiento de la función para todas las entradas que cumplen la cláusula necesita: qué salidas produce y qué modificaciones se realizan sobre las variables indicadas en la cláusula modifica. Se asume que la cláusula necesita se satisface y no se dice nada sobre el comportamiento de la función en caso contrario. Abstracción parcial vs. total: Departamento de Informática 7 Reyes Pavón

8 Parcial: presenta una cláusula necesita Desventaja: queda en manos del usuario comprobar si se cumplen las restricciones de la cláusula necesita Ventaja: en ocasiones pueden implementarse más eficientemente que las totales (ej: buscaenorden) o de manera más simple (con menos comprobaciones) Total: caso contrario son más seguras Cláusula necesita vs. excepciones Cláusula necesita: Cuando la función va a utilizarse sólo en un contexto muy limitado, en el que es fácil verificar que se satisfacen las restricciones, y si esto supone una implementación más eficiente o más simple Excepciones: Siempre que sea posible, la implementación debería comprobar las restricciones de la cláusula necesita y lanzar una excepción en caso de que no se satisfagan. Puede no tener sentido como en buscaenorden La cláusula produce debe identificar las condiciones que provocan la excepción Si una excepción se produce para un cierto subconjunto de valores de los argumentos, este subconjunto no debería aparecer en la cláusula necesita Ejemplo de conversión de una abstracción parcial en total: función raizcuadrada (x: real) devuelve real lanza ExcepcionNegativo Produce: Si x < 0 lanza ExcepcionNegativo, sino devuelve la raíz cuadrada de x Departamento de Informática 8 Reyes Pavón

9 Ejemplo: especificación cuasi-formal del tipo racional Tipo Racional Declaración de tipos Racional, Entero Características El valor abstracto de un objeto del tipo será un número racional Los objetos no son modificables Operaciones función ConstruirRacional (n, d: Entero) devuelve Racional lanza ExcepciónDenominadorCero Produce: Si d = 0 lanza ExcepciónDenominadorCero, sino devuelve el número racional n/d función Numerador (r: Racional) devuelve Entero Produce: el numerador de r. función Denominador (r:racional) devuelve Entero Produce: el denominador de r. función Suma (r1, r2:racional) devuelve Racional Produce: el racional r1+ r2. función Simplifica (r: Racional) devuelve Racional Produce: un racional equivalente a r e irreducible. fin Racional Conocida la especificación de un tipo, y sólo ésta, puede realizarse cualquier algoritmo que utilice el TAD Ej: producto de dos números racionales función Multiplica (r1, r2: Racional) devuelve Racional Produce: el racional r1 * r2. inicio retorna Simplifica(ConstruirRacional (Numerador(r1) * Numerador(r2), Denominador(r1) * Denominador(r2))) ffunción; 1.2. Implementación Se elige una representación, o estructura de datos, para los objetos y se realizan los algoritmos correspondientes a las operaciones en función de dicha representación Departamento de Informática 9 Reyes Pavón

10 La representación elegida debe permitirnos implementar las operaciones de forma eficiente, razonablemente simple y hacer posible que algunas de las operaciones más habituales se ejecuten más rápidamente Como unas representaciones hacen más eficientes unas operaciones que otras estudiar las distintas posibilidades Ej: implementación del TAD Racional en Java public class Racional private int num, den; public Racional (int n, int d) throws ExcepcionDenominadorCero if (d == 0) throw new ExcepcionDenominadorCero("Racional: denominador cero"); num = n; den = d; public int numerador() return num; public int denominador() return den; public Racional suma(racional r) return new Racional(num * r.den + den * r.num, den * r.den); public Racional simplifica() int mcd = OpEnteros.mcd(num, den); return new Racional(num / mcd, den / mcd); Normalmente existirán varias implementaciones para una misma especificación Departamento de Informática 10 Reyes Pavón

11 1.3. Lenguajes de programación La abstracción de datos es una técnica de diseño de programas su utilización independiente del lenguaje de programación El uso e implementación de TAD con lenguajes de programación que no los soportan convenientemente deficiencias en: Ocultación de la representación: No ocultan la representación de los objetos no pueden comprobar el buen uso de la abstracción de datos Inicialización de las estructuras de datos: No disponen de un procedimiento automático de inicialización de las estructuras de datos que se utilizan para representar a los objetos del tipo invocar a una acción para inicializar convenientemente dichas estructuras Compilación independiente Abstracciones polimórficas: Un TAD puede ser polimórfico con respecto a los tipos de los elementos que contienen sus objetos. Un procedimiento o iterador puede ser también polimórfico con respecto a los tipos de uno o más de sus argumentos Ej. de LP con deficiencias: Pascal units de Turbo Pascal permiten: Ocultar la representación de un tipo de dato (o al menos se puede dejar inaccesible) Inicializar las estructuras de datos Compilar de forma independiente Abstracción de datos en Java Lenguaje orientado a objetos basado en clases Departamento de Informática 11 Reyes Pavón

12 Facilita la ocultación de la representación mediante la visibilidad de los atributos (private) Permite la inicialización de las estructuras de datos mediante los métodos constructor Cada clase se puede compilar independientemente. Posee mecanismos para realizar abstracciones polimórficas Permite el polimorfismo funcional como de tipos Una superclase común a todas: Object Parámetros de tipo (generics, a partir de Java 1.5) La abstracción de datos es una técnica de diseño de programas el desarrollo de programas en un LP que no soporte convenientemente la abstracción de datos no impide el utilizar ésta en el diseño de los mismos El usuario de la abstracción es el responsable de mantener el paradigma de programación (el compilador no aporta ningún mecanismo de control del buen uso de la misma) 1.4. Propiedades de los TAD Modificabilidad TAD modificable = puede cambiar el estado de los objetos del tipo pueden cambiar los valores de sus atributos Diseñar un TAD modificable o no modificable? No modificable: los objetos deben mantener de forma natural sus valores (ej.: racionales, complejos) Departamento de Informática 12 Reyes Pavón

13 Más fiables, pero Con objetos que se crean y rechazan frecuentemente recuperación de espacios de memoria debe realizarse a menudo (por ej., empleando técnicas de recogida de basura) Modificable (ej.: colas de clientes en sistemas de simulación) TAD Racional no modificable: Todas las operaciones devuelven objetos nuevos consumo de memoria No existen operaciones que puedan modificar los objetos Ej: Heap r2 r r Racional r1 = new Racional(10, 5); Racional r2 = new Racional(2, 3); Racional r3 = r1.suma(r2).simplifica(); En las abstracciones modificables el consumo de memoria no es un factor crítico operaciones que modifican objetos en lugar de crear nuevos Ej.: Si la operación Simplifica fuera una operación modificadora: Racional r3 = r1.suma(r2); r3.simplifica(); Departamento de Informática 13 Reyes Pavón

14 Heap r2 r r3 8 3 Pueden los objetos compartir espacio de memoria? Interés: aprovechar al máximo el espacio de memoria disponible (tanto TAD modificables, como no modificables) Ej.: TAD Lista cuyos elementos son caracteres. A partir de la lista l1=('a' 'b' 'c') se crea la lista l2=('b' 'c'). Posibilidades: El espacio de memoria ocupado por cada uno de los elementos de ambas listas sea distinto objetos no compartidos l1 'a' 'b' 'c' l2 'b' 'c' Espacio de memoria ocupado por los elementos comunes 'b' y 'c' sea el mismo, en cuyo caso los objetos están compartidos y se ahorra el espacio correspondiente a dos caracteres l1 'a' 'b' 'c' l2 Departamento de Informática 14 Reyes Pavón

15 Las modificaciones en una de las listas pueden afectar a la otra. Ej.: insertar un elemento al final de una de ellas (l2.insertafinal('d')) modificaría ambas l1 'a' 'b' 'c' l2 'd' Clases de operaciones Este problema sólo se produce si las abstracciones de datos son modificables Creadores: crean objetos de su tipo de dato sin tomar ningún objeto del mismo tipo como entrada. Todos los creadores son constructores, aunque no ocurre lo contrario Productores: crean objetos del tipo de dato tomando algún objeto del mismo tipo como entrada Modificadores: modifican los objetos del tipo de dato sólo se dan en las abstracciones modificables Observadores: toman como entrada objetos del tipo de dato y devuelven resultados de otros tipos Ej.: TAD Racional Creadores: Racional Productores: suma y simplifica Modificadores: ninguno Observadores: numerador y denominador Departamento de Informática 15 Reyes Pavón

16 2. Ejemplo Especificación public class Conjunto<E> // Declaración de tipos: Conjunto, <E> // Características: // Conjunto ilimitado de elementos de tipo <E>. Un Conjunto<E> típico es // x 1,, x n siendo x i de tipo <E> // Los objetos son modificables // Constructores public Conjunto() // Produce: Inicializa this al vacío // Métodos public void inserta(e x) // Modifica: this // Produce: Añade x a los elementos de this, esto es, // this_post = this x public void elimina(e x) // Modifica: this // Produce: Elimina x de this, esto es, this_post = this x public boolean pertenece(e x) // Produce: Si x está en this devuelve cierto; falso en caso contrario public int cardinal() // Produce: Devuelve el número de elementos de this public E elige() throws ExcepcionConjuntoVacio // Produce: Si this está vacío lanza la excepción // ExcepcionConjuntoVacio. En caso contrario, devuelve un // elemento cualquiera de this. Departamento de Informática 16 Reyes Pavón

17 Implementación public class Conjunto<E> private Vector<E> elementos; // la representación del tipo // Constructores public Conjunto() elementos = new Vector<E>(); // Métodos public void inserta(e x) if (elementos.indexof(x) < 0) elementos.addelement(x); public void elimina(e x) int i = elementos.indexof(x); if (i >= 0) elementos.setelementat(elementos.lastelement(), i); elementos.removeelementat(elementos.size()-1); public boolean pertenece(e x) return elementos.indexof(x) >= 0; public int cardinal() return elementos. size(); public E elige() throws ExcepcionConjuntoVacio if (elementos. size() == 0) throw new ExcepcionConjuntoVacio("Conjunto.elige: Conjunto vacío."); return elementos.lastelement(); Departamento de Informática 17 Reyes Pavón

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

Tema 1. Introducción a las estructuras y tipos de datos

Tema 1. Introducción a las estructuras y tipos de datos Tema 1. Introducción a las estructuras y tipos de datos http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia,bmartine,morales,sanchiz}@icc.uji.es Estructuras

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

M III ABSTRACCIÓN Y CLASIFICACIÓN

M III ABSTRACCIÓN Y CLASIFICACIÓN M III ABSTRACCIÓN Y CLASIFICACIÓN COMPLEJIDAD Y ABSTRACCIÓN La abstracción en el desarrollo del programario En todo el proceso de abstracción siempre hay una parte de la situación o del problema que se

Más detalles

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

Práctica de la Asignatura Programación III Versión 1.0

Práctica de la Asignatura Programación III Versión 1.0 Práctica de la Asignatura Programación III Versión 1.0 Escuela Técnica Superior de Ingeniería Informática UNED Curso 2010-2011 2 1.- ENUNCIADO DE LA PRÁCTICA Un trimino en L es una figura formada por 3

Más detalles

15. Parámetros o argumentos

15. Parámetros o argumentos Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el

Más detalles

POLIMORFISMO "una interfaz, múltiples métodos".

POLIMORFISMO una interfaz, múltiples métodos. "una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Notación UML para modelado Orientado a Objetos

Notación UML para modelado Orientado a Objetos 1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación

Más detalles

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Herencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases

Herencia. 3.- Herencia. Declaración de una clase derivada en Delphi. Jerarquía de clases Herencia 3.- Herencia La herencia nos permite definir datos y métodos que son generales (comunes a distintas clases) por separado de las que son particulares a cada clase. Esto se logra definiendo lo que

Más detalles

Actualización de la Norma ISO 9001:2008

Actualización de la Norma ISO 9001:2008 Actualización de la Norma ISO 9001:2008 Porqué se actualiza la norma? Existe un ciclo para revisar las normas ISO para mantener las normas actualizadas. Se debe mantener la actualización con desarrollos

Más detalles

Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica

Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica Duración: 3 semanas aprox. Índice General: 1. Clases y objetos en Java: el modelo TIENE UN(A) 2. El principio POO

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Ejercicio 1 (3 puntos).-

Ejercicio 1 (3 puntos).- URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Curso de Doctorado: Tecnologías de Objetos

Curso de Doctorado: Tecnologías de Objetos Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación

Más detalles

CDI Exclusión mutua a nivel alto. conceptos

CDI Exclusión mutua a nivel alto. conceptos conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 7

Estructura de datos y de la información Boletín de problemas - Tema 7 Estructura de datos y de la información Boletín de problemas - Tema 7 1. Un concesionario de coches tiene un número limitado de M modelos, todos en un número limitado de C colores distintos. Cuando un

Más detalles

Técnicas Avanzadas de Testing Automático

Técnicas Avanzadas de Testing Automático Técnicas Avanzadas de Testing Automático Marcelo Frias ITBA - Buenos Aires, Argentina CONICET Preliminares: Calidad Validación y Verificación Especificaciones y V&V Análisis estático y dinámico Inspecciones

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Integración de AuraPortal con SAP

Integración de AuraPortal con SAP Integración de AuraPortal con SAP Se puede definir como la estrategia empresarial enfocada a gestionar los procesos de negocio. BPM se soporta sobre tecnología de información para automatizar tareas y

Más detalles

BASE DE DATOS RELACIONALES

BASE DE DATOS RELACIONALES BASE DE DATOS RELACIONALES Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya

Más detalles

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

Más detalles

MODIFICACIONES de ISO 9001:2000 a ISO 9001:2008

MODIFICACIONES de ISO 9001:2000 a ISO 9001:2008 MODIFICACIONES de ISO 9001:2000 a ISO 9001:2008 La nueva norma ISO 9001, en versión 2008, no incorpora nuevos requisitos, sino cambios para aclarar los requisitos ya existentes en la Norma ISO 9001, de

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Árboles AVL. Laboratorio de Programación II

Árboles AVL. Laboratorio de Programación II Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

GESTION OPERATIVA. Niveles de gestión

GESTION OPERATIVA. Niveles de gestión GESTION OPERATIVA La gestión deja de ser una tarea aislada para constituirse en una herramienta que sirve para ejecutar las acciones necesarias que permitan ordenar, disponer y organizar los recursos de

Más detalles

Uso de excepciones en Java

Uso de excepciones en Java Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que

Más detalles

El modelo relacional

El modelo relacional El modelo relacional El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

GESTIÓN DE REDES PARTE III

GESTIÓN DE REDES PARTE III PARTE III Arquitectura de Gestión OSI 3.1 Introducción La gestión de red OSI, pensada inicialmente para la gestión de las propias redes OSI, debe su implantación práctica al ser adoptada por los estándares

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática fcano@uniovi.es Produced with L A T E X seminar style

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

El Concepto De Objeto y Clase

El Concepto De Objeto y Clase TEMA 3 El Concepto De Objeto y Clase V1.2 Manuel Pereira González Agenda Encapsulamiento y Reutilización Introducción a Objetos y Clases Resumen 1 Encapsulamiento y Reutilización Nivel de abstracción ->

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Capitulo 3. Test Driven Development

Capitulo 3. Test Driven Development Capitulo 3. Test Driven Development 3.1 Uso de JUnit como framework para realizar pruebas unitarias Como ya se mencionó en el marco teórico Test Driven Development es una técnica de programación extrema

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Tema 3. Test Driven Development

Tema 3. Test Driven Development Tema 3. Test Driven Development Ejercicios Resueltos Ejercicio 01. Desarrolle mediante TDD una implementación del algoritmo de la Criba de Eratóstenes para calcular la lista de los números primos desde

Más detalles