Estructuras de Datos y Algoritmos Introducción. Texto Requerido: Carrano & Prichard: Data Abstraction and Problem Solving with Java; Walls and Mirrors,

Slides:



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

CLASIFICACIÓN DE CLASES Orientación a objetos UNIVERSIDAD DEL VALLE DEL FUERTE Análisis y Diseño Orientado a Objetos Cañedo Encinas Fernando Onorat. Ingeniería.
Lenguaje de programación Java
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
Estructuras de datos y algoritmos
Fases del Diseño Instruccional
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Tipo de Dato Abstracto Tipos de datos:
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Programación (Estructura de Datos)
Aplicación del paradigma orientado a objetos
Diseño y programación de
Encapsulamiento y Abstracción
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Introducción a la programación orientada por objeto
El concepto de clase Con frecuencia un término puede definirse de diferentes maneras según el enfoque. Desde el punto de vista del análisis y el diseño.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Contratos Constituyen una descripción del comportamiento de un sistema. Se elaboran durante la fase de análisis. Dependen de: Modelo Conceptual Diagrama.
Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7.
Fundamentos de Programación
Desarrollo de Aplicaciones Basadas en Windows Programación Orientada a Objetos Jimena A. Timaná P. Octubre, 2006.
Introducción a la programación Orientada a objetos
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje
ALGORITMOS Y ESTRUCTURAS DE DATOS
BIENVENIDOS Instituto Tecnológico de Colima Estructuras de Datos
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez
1.1 Concepto y terminología
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
CICLO DE VIDA DEL SOFTWARE
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
CS-432: Ingeniería Moderna de Software Semana 3
Tema 1: Introducción al análisis y diseño de aplicaciones software
Métricas Técnicas para Sistemas Orientados a Objeto
Estructura de Datos Ingeniería en Computación M. en C. J. Jesús Arellano Pimentel.
Tecnólogo en Informática Estructura de Datos y Algoritmos.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Diagrama de Clases ACI 570.
Interfaces ELO329: Diseño y Programación Orientados a Objetos.
ALGORITMOS Y ESTRUCTURAS DE DATOS Ingeniería Técnica en Informática de Sistemas curso Teoría: Domingo Giménez, tutorías: L 9:30-10:30; M 10:00-12:30,
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Programación orientada a objetos
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Actividades en el Proceso de desarrollo de Software
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Introducción a la Programación Orientada a Objetos Sonia Rueda
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
PROGRAMACIÓN ORIENTADA A OBJETOS
TIPOS DE DATOS ABSTRACTOS
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Patrón de Diseño Brigde ( Handle/Body) Calderón Márquez Jorge Alberto Posgrado de Ciencia e Ingeniería en Computación. Tecnología Orientada a Objetos.
ORIENTACIÓN A OBJETOS El paradigma.
La Programación Orientado a Objetos
Paradigma Orientado a Objetos
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

Estructuras de Datos y Algoritmos Introducción

Texto Requerido: Carrano & Prichard: Data Abstraction and Problem Solving with Java; Walls and Mirrors, Ed. Addison Wesley, © 2001, ISBN (precio de lista $106.00) Recomendado: Flanagan: Java in a Nutshell : A Desktop Quick Reference, Fifth Edition, Ed. O'Reilly, © 1999, ISBN: (precio de lista $44.95)

Evaluación Sugerida  Laboratorios 30%  Pruebas cortas y otros trabajos: 10% (todos)  Exámenes parciales: tres a 15% cada uno  Examen final: 15%  Puntuaciones de bono hasta 5% por actividades opcionales.

Descripción General El curso contiene un estudio de diversas estructuras y algoritmos para la representación y procesamiento de datos. Estructuras: colas, matrices, árboles y grafos. Algoritmos: manejo de la memoria de una computadora, ordenación, compresión y búsqueda de datos. Análisis elementales de algoritmos: peor caso y caso promedio. Aplicaciones. Los estudiantes tendrán la experiencia de realizar un proyecto de complejidad moderada (aproximadamente 2000 instrucciones) y de hacerlo como parte de un equipo de programadores.

REPASO

Ingeniería de Software Ciclo de vida del sofware Especificación Diseño Análisis de riesgo Verificación Codificación Prueba Refinamiento Producción Mantenimiento

Diseño Divida su diseño en módulos Especifique el propósito de cada módulo, sus suposiciones, insumo y producto Las especificaciones no deben decir cómo funciona el módulo si no qué hace Uso de precondiciones y poscondiciones

Verificación Note que este paso va antes que la codificación Utiliza métodos teóricos Basado en invariantes, más frecuentemente utilizadas en funciones y ciclos.

Abstracción y Escondido de Información Abstracción procesal: diga qué se hace, no cómo se hace Abstracción de dato: diga qué se hace con los datos, no cómo se hace

Tipo de Dato Abstracto Es dos cosas: –Un conjunto de datos –Las operaciones que se le hacen ESTA ES LA DEFINICIÓN MÁS IMPORTANTE DEL CURSO

Ejemplo de TDA Una cola de enteros es –una colección de enteros –con las operaciones boolean vacía(): devuelve T o F dependiendo si está vacía void añade(x): añade el entero x a la cola int saca(): elimina el entero más antíguo de la cola y regresa con él.

Estructura de Datos Especificación de cómo se organizan los datos NO es lo mismo que un Tipo de Dato Abstracto Ejemplo: –TDA: lista ordenada –ED: arreglo

Programación Orientada a Objetos Principios –abstracción* –encapsulación* –herencia* –polimorfismo ( * ya lo vimos)

Abstracción Mecanismos para su implantación: Interfaz, clases abstractas.

Encapsulación: Clases Mecanismo para definir objetos objetos pertenecen a clases puede haber varias instancias de objetos de una misma clase encapsula las definiciones

Polimorfismo Un mismo método puede comportarse de maneras distintas. Debe poder cambiar su comportamiento dependiendo de: –a qué objeto de le aplica –qué parámetros usa

Diseño Orientado a Objetos Al diseñar la solución a un problema –Se identifica los objetos en el problema. –Se identifica las operaciones que se le hace a los objetos

Diseño top-down Refinamiento de algoritmo cada nivel de definición añade detalle a cada instrucción del nivel superior Lleva naturalmente a un producto modular.

¿Cuando usar DOO o TD? DOO: cuando el énfasis del problema es en la manipulación de datos TD: cuando el énfasis del problema es en el algoritmo.

Herencia Implantado con el mecanismo de sub clases cuando una clase es subclase de otra hereda su comportamiento: datos y métodos, propios y heredados una subclase puede redefinir métodos de alguna superclase