Modularidad: Tipos abstractos de datos Programación Orientada a Objetos Tema 2: Modularidad
|
|
|
- Óscar Ortiz Agüero
- hace 9 años
- Vistas:
Transcripción
1 TEMA 2 1 Modularidad: Tipos abstractos de datos
2 CONTENIDOS 2 1. Abstracción 2. Tipos de datos 3. Tipos abstractos de datos 4. Modularidad 5. Reutilización 6. Paradigmas y lenguajes 7. Diseño estructurado vs. OO
3 Abstracción 3 Supresión intencionada, u ocultamiento, de algunos detalles de un proceso o artefacto, con el objeto de destacar de manera más clara otros aspectos, detalles o estructuras. Capacidad de centrarse en las características esenciales de las distintas partes de un sistema, ignorando sus propiedades accidentales. Permite dividir la información en componentes aislados que posteriormente se ensamblan para construir el todo. Limitación de la capacidad humana para operar la complejidad: Ordenando el caos: divide et impera. En SW: Abstracción Modularidad
4 Abstracción 4 Castaño Olmo Abedul Pino Chopo Haya Abeto Arbol - altura - tipo de madera - tipo de hoja - tipo de fruto Persona DNI Nombre Edad calcularedad()
5 Abstracción 5 Abstracción aplicada: Diferentes niveles: Nos centramos en los elementos más grandes e importantes. Progresivamente: Tratamos volúmenes de información menores que revelen más detalles. Diferentes tipos: Funcional o procedural, de Datos.
6 Abstracción 6 Encapsulación: Proceso de almacenar en un mismo compartimento los elementos de una abstracción que constituyen su estructura y su comportamiento [Booch 96]
7 Tipos de Datos 7 Un tipo de dato es un conjunto de valores y un conjunto de operaciones definidas por sus valores. Tipo de dato = Representación + Operaciones. Ejemplos: Tipo de datos entero, operaciones de +,-,*,/. Tipo cadena, operaciones de concatenación, subcadena, etc.
8 Tipos Abstractos de Datos 8 Los TADs permiten ampliar los tipos de datos definidos por el lenguaje de programación. Un tipo de dato definido por el programador se denomina TAD. Un TAD es un tipo de datos que consta de datos y operaciones que se pueden realizar sobre esos datos. Los TADs ocultan la implementación de las operaciones definidas por el usuario asociadas con el tipo de datos. La ocultación de información de un TAD significa que poseen interfaces públicos (operaciones que se pueden realizar), sin embargo, las implementaciones de esos interfaces son privados.
9 Tipos Abstractos de Datos 9 Un TAD consta de : TIPO: tipo (=cjto de objetos) que se está especificando FUNCIONES: signatura (tipo de los argumentos y resultado) AXIOMAS: definición implícita del valor de la función INVARIANTES: condición booleana que debe mantenerse con exactitud PRECONDICIONES POSTCONDICIONES
10 Tipos Abstractos de Datos 10 Ejemplo TAD Pila TIPO Pila[X] FUNCIONES poner: Pila[X] x X Pila[X] vacia: Pila[X] Boolean item: Pila[X] X new: Pila[X] AXIOMAS Para x: T, s: Pila[T]; item(poner(s,x)) = x vacia(new) not vacia(poner(s,x)) PRECONDICIONES item (s:pila[t]) requiere not vacia(s)
11 Modularidad 11 Propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados [Booch 96] Alta cohesión: Un módulo con responsabilidades altamente relacionadas y que no hace una gran cantidad de trabajo. Bajo acoplamiento: Un módulo que no depende de demasiados otros módulos. Favorece: Comprensión modular: Es posible entender un módulo sin conocer los otros. Continuidad modular: Un cambio en la especificación afecta sólo a un módulo o a unos pocos. Protección modular: El efecto de una situación anormal producida en un módulo afecta sólo a éste o a unos pocos. Los módulos se comunican mediante interfaces bien definidas.
12 Modularidad 12 Programa modular: formado por un conjunto de módulos. Módulo: unidad básica de descomposición de un sistema software. Los módulos deben ser lo más independientes posibles. Un método de construcción de software es modular si ayuda a producir sistemas software a partir de elementos autónomos interconectados por una estructura simple y coherente. La programación modular trata de descomponer un programa en un pequeño número de abstracciones coherentes que pertenecen al dominio del problema y cuya complejidad interna esta oculta por el interfaz.
13 Modularidad 13 Un módulo se estructura mediante una interfaz y una implementación. Esta compuesto por un conjunto de operaciones y atributos. Interfaz Primitivas de acceso Sección Privada Atributos Operaciones
14 Modularidad 14 Reglas para obtener módulos: Unidades modulares: El lenguaje debe proporcionar estructuras modulares con las cuales se puedan describir las diferentes unidades. POO Clases. Ocultación de información: Todos los módulos deben seguir el principio de ocultación de información. Una abstracción de datos puede verse como que tiene dos caras: Interfaz: operaciones que definen el comportamiento (cliente) Implementación (programador)
15 Modularidad 15 Principio abierto-cerrado: Un módulo se considera a la vez cerrado (terminado, útil o activo) y abierto (cambios y modificaciones). No debe afectar a los demás módulos. Un módulo está abierto si está disponible para ampliarlo. Un módulo está cerrado si está disponible para su uso. Los dos objetivos son incompatibles con las técnicas tradicionales: o está abierto no se puede utilizar todavía. o se cierra cualquier cambio provoca cambios en cadena.
16 Modularidad 16 EJEMPLO: Módulo que define cuentas bancarias Representación NombreCli:String Codigo:String Saldo:Entero Interfaz reintegro() ingreso() versaldo() Un modulo incluye una estructura de datos junto con un conjunto de operaciones para manipularla. Operaciones reintegro() ingreso() versaldo() calculaintereses() NO SI
17 Reutilización 17 Por qué el software no es como el hardware (catálogos de dispositivos que se combinan)? Por qué cada nuevo proyecto software arranca de la nada? Creciente importancia de los componentes en la industria del software: (COM, JavaBeans, ). Internet favorece la reutilización. La tecnología OO hará realidad en un futuro cercano el sueño de una industria basada en componentes.
18 Reutilización 18 Beneficios esperados de la reutilización: CONSUMIR elementos reutilizables: Oportunidad (se reduce el tiempo de desarrollo). => Mejora la productividad. Disminuye el esfuerzo del mantenimiento. Aumenta fiabilidad. Aumenta eficiencia. PRODUCIR elementos reutilizables: Inversión: preservar la experiencia de los mejores desarrolladores. Si un elemento software se utilizará en muchos proyectos es rentable invertir en mejorar su calidad. Consumir antes de producir
19 Reutilización 19 Qué debemos reutilizar? PERSONAL: La experiencia previa ayuda en el nuevo desarrollo. DISEÑO: Difícil garantizar compatibilidad diseño-implementación. Seguir un enfoque donde la diferencia entre módulo diseño y módulo de implementación desaparece. Necesidad de generalidad en los componentes. PATRONES DE DISEÑO: Ideas aplicables a toda una gama de dominios. Un patrón propone una solución para un problema de diseño.
20 Reutilización 20 Por qué no es común la reutilización? Naturaleza repetitiva de la programación (ordenar, buscar, recorrer,...) Cuántas veces en los últimos 6 meses has escrito código para buscar un elemento en una colección? Obstáculos: Síndrome N.I.H. (Not Invented Here): Reacción cautelosa frente a componentes nuevos. Coste adicional de aprendizaje. Económicos: Se centran en los costes a corto plazo. Estrategias de las compañías software: Y si el cliente no vuelve a necesitarnos?. Dificultades técnicas: Diseñar código reutilizable es difícil. Hacemos las mismas cosas pero no de la misma forma. Difícil captura de las similitudes. Permitir adaptación. La noción correcta de módulo debe reconciliar: abierto - cerrado reutilización - extensibilidad
21 Paradigmas - Lenguajes 21 A lo largo del tiempo se han utilizado diferentes maneras de construir sistemas (paradigmas) persiguiendo parecidos objetivos. Paradigma de Construcción de un Sistema: Colección de conceptos que guían el proceso de construcción de un sistema, determinando su estructura. Estos conceptos controlan la forma en que pensamos y formulamos los sistemas. Un lenguaje de programación refleja un paradigma: PARADIGMA Imperativo Funcional Lógico Orientado a Objetos LENGUAJE COBOL, Pascal, C Lisp, Miranda, Haskel Prolog Smalltalk, Eiffel, C++, Java ELEMENTOS Algoritmos Funciones-Reglas If-Then Predicados-Reglas If-Then Clases y Objetos
22 Paradigmas - Lenguajes 22 La abstracción es la clave para diseñar buen software. Los lenguajes de programación de alto nivel permiten al programador abstraerse de la arquitectura de la máquina donde se ejecuta el software (de propósito general). Mecanismos para diseñar programas modulares: Procedimientos o funciones Módulos Tipos abstractos de datos (TADS) Objetos
23 Diseño estructurado vs. OO 23 Qué criterio usamos para encontrar los módulos? Acciones/ Funciones Objetos/ Datos Las tres fuerzas de la computación Procesadores A) Unidades de descomposición funcional Enfoque tradicional B) Basándose en los principales tipos de datos Enfoque OO
24 Diseño estructurado vs. OO 24 Descomposición funcional: Respuesta tradicional a la cuestión de modularización Responde a los requisitos de modularidad? Abstracción funcional de más alto nivel E A Secuencia B C D Bucle F G Condicional H Refinamientos sucesivos
25 EXTENSIBILIDAD Diseño estructurado vs. OO 25 Inconvenientes de la descomposición funcional: Función principal: Cima del sistema El programa principal es una propiedad volátil Sistemas reales no tienen cima Mejor la visión de un conjunto de servicios Centrado en la interfaz Primera pregunta: Que hará el sistema? La arquitectura del software debe basarse en propiedades más profundas. Ordenación temporal prematura
26 REUTILIZACIÓN Diseño estructurado vs. OO 26 Inconvenientes de la descomposición funcional: Se desarrollan elementos software para satisfacer necesidades específicas de otro elemento del nivel superior. Cultura del proyecto actual Las estructuras de datos son descuidadas. Funciones y datos deben jugar un papel complementario. Cuando un sistema evoluciona los datos son más estables que los procesos.
27 Diseño estructurado vs. OO 27 Ventajas de la descomposición funcional: Disciplina de pensamiento lógica y bien organizada. Técnica simple, fácil de aplicar. Útil para pequeños programas y algoritmos individuales. Buena para documentar diseños (describir algoritmos). Promueve el desarrollo ordenado de sistemas Adecuada para dominar la complejidad
28 Diseño estructurado vs. OO 28 En la programación tradicional tenemos por un lado los datos y por otro las operaciones sobre esos datos, pero son entidades independientes. operaciones datos
29 Diseño estructurado vs. OO 29 En la programación OO agrupamos (encapsulamos) conjuntos de datos relacionados entre sí y operaciones sobre esos datos en entidades que llamamos objetos. Ciertas operaciones son accesibles desde el exterior y constituyen servicios que el objeto ofrece a otros objetos Objeto Los datos normalmente están ocultos y únicamente son accesibles dentro del propio objeto Algunas operaciones están también ocultas, y representan servicios de utilidad dentro del propio objeto
30 Diseño estructurado vs. OO 30 Con la orientación a objetos, construimos pequeños modelos software de la realidad y simulamos ésta. Un sistema O.O. es un conjunto de objetos que interactúan entre sí enviándose mensajes mediante los cuáles se solicitan servicios unos a otros.
31 Diseño estructurado vs. OO 31 Las abstracciones funcionales son más volátiles que las de datos. Esa es una de las ventajas de la OO.
32 Orientación a Objetos 32 Desarrollo de software orientado a objetos : Definición Método de desarrollo de software que basa la arquitectura del sistema en módulos deducidos de los tipos de objetos que se manipulan (en lugar de basarse en la función o funciones a las que el sistema está destinado a asegurar). Hay que centrar la atención no sobre lo que HACE el sistema, sino principalmente sobre lo que ES el sistema, en términos de datos, de componentes, en término de manejo de entidades, de reacción a las solicitudes.
Tipos Abstractos de Datos (TAD) Lección 1
Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro
Programación Orientada a Objetos. Conceptos Básicos
Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción
Programación Orientada a Objetos
Programación Orientada a Objetos Teoría: Begoña Moros Valle Prácticas: Marcos Menárguez Tortosa Contenido Presentación contenido teórico Presentación contenido práctico Introducción a la Programación Orientada
Programación Orientada a Objetos
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy
CAPÍTULO 2: CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. ABSTRACCIÓN. ENCAPSULAMIENTO. PRINCIPIO DE OCULTACIÓN. HERENCIA. POLIMORFISMO.
1 UNIDAD 1: ORIENTACIÓN A OBJETOS. CAPÍTULO 1: INTRODUCCIÓN. HISTORIA. ESPÍRITU DEL PARADIGMA ORIENTADO A OBJETOS. CONCEPTOS BÁSICOS: OBJETO, ATRIBUTO, MÉTODO, MIEMBRO, MENSAJE, CLASE, EVENTO. CAPÍTULO
obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo.
(a) definición (b) elementos y notación (c) modelo de computación (d) ejecución de un sistema (e) exportación selectiva Clases Programación Orientada a Objetos DCIC UNS 2002 47 La POO es un nuevo paradigma
Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas
ADyA Hay para todos los gustos Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Híbridos (Lisp, Visual
Introducción a la Programación en C
Christopher Expósito-Izquierdo [email protected] Airam Expósito-Márquez [email protected] Israel López-Plata [email protected] Belén Melián-Batista [email protected] José Marcos Moreno-Vega [email protected]
Evolución de la Programación Orientada a Objetos
Evolución de la Programación Orientada a Objetos Dr. Luis Gerardo de la Fraga Departamento de Computación Cinvestav Correo-e: [email protected] 7 de diciembre de 2006 Dr. Luis Gerardo de la Fraga Cinvestav
Modelo de Casos de Uso
Modelo de Casos de Uso Artefactos UML Josep Vilalta Marzo Rev.- 3.1 2007 VICO OPEN MODELING, S.L. www.vico.org 1 Diagramas UML 2.0 Diagrama estructura comportamiento Paquetes Clases Objetos Casos de Uso
TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS
TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS Cristina Cachero Pedro J. Ponce de León (1 Sesión) Versión 0.6 Depto. Lenguajes y Sistemas Informáticos Indice El progreso de la abstracción Definición
Tema 2. Diseño Modular.
Tema 2. Diseño Modular. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ 3.2.41
PROGRAMACION II. Dr. Mario Rossainz López. Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera de 2017
PROGRAMACION II Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera de 2017 ABSTRACCIÓN: Proceso mental e intelectual que ignora selectivamente partes
Unidad I: Introducción a las estructuras de datos
Unidad I: Introducción a las estructuras de datos 1.1 Tipos de datos abstractos (TDA) Los tipos de datos abstractos (TDA) encapsulan datos y funciones que trabajan con estos datos. Los datos no son visibles
Intuitivamente es el proceso que se trata de formular y evaluar una solución para un problema dado
Unidad I Conceptos y principios del diseño (fcc) 1.1 El diseño del software e Ingeniería del software Concepto de diseño.- Proceso de aplicar distintas técnicas y principios con el propósito de definir
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Programación Orientada a Objetos Profr. Pedro Pablo Mayorga
Actividad 3 Historia de los paradigmas de programación Unidad 1 Paradigma de programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No
Tipo de Datos Abstractos y Programación Orientada a Objetos
Tipo de Datos Abstractos y Programación Orientada a Objetos DISEÑO Y PARADIGMAS DE LENGUAJES ING. EN INFORMÁTICA/ING. EN COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA UNIVERSIDAD NACIONAL DE SAN LUIS ARGENTINA
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo
Diseño Estructurado. Diseños eran los antes. Lic. Ariel Trellini 28/07/2015
Lic. Ariel Trellini Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Diseños eran los antes Arquitectura y Diseño de Sistemas 2 1 Historia Desde fines de los 60s emergieron
Ingeniería del Software 2
Análisis de requisitos es la 1ª fase técnica del proceso de ing. del SW Éxito -> Comprensión total de los requisitos Análisis de requisitos -> Tarea de descubrimiento, refinamiento, modelado y especificación
Introducción a la programación: Contenido. Introducción
Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....
Conceptos de Programación Orientada a Objetos
Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación
Ingeniería del Software Orientada a Objetos. Unidad 5: Conceptos del Paradigma Orientado a Objetos
Ingeniería del Software Orientada a Objetos Unidad 5: Conceptos del Paradigma Orientado a Objetos Por qué la Orientación a Objetos? Proximidad de los conceptos de modelado respecto de las entidades del
Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones
Introducción Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
Introducción y conceptos de POO
Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?
UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES
UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES Carrera: Tecnicatura universitaria en programación de sistemas Materia: Programación III Curso: 2 año Curso lectivo:
Evolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos
Ficha Técnica Titulación: Grado en Ingeniería Informática Plan BOE: BOE número 108 de 6 de mayo de 2015 Asignatura: Módulo: Programación y Estructura de Datos Curso: 1º Créditos ECTS: 6 Tipo de asignatura:
Principios de diseño de lenguajes
Capítulo 1 Principios de diseño de lenguajes Objetivo El alumno describirá los procedimientos y gramáticas empleadas en el diseño de los lenguajes de programación. Figura 1.1: Preguntas incómodas 1.1.
Tema 4 Introducción a la Orientación a Objetos. Ingeniería del Software I
Tema 4 Introducción a la Orientación a Objetos Ingeniería del Software I [email protected] Definición: Orientación a Objetos Paradigma de computación Define y organiza el software basándose en entidades
CONCEPTOS BÁSICOS. Prof. Ing. M.Sc. Fulbia Torres
CONCEPTOS BÁSICOS ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD I CONCEPTOS BÁSICOS Datos. Información. Estructuras de Datos. Operaciones sobre una estructura. Perspectivas o niveles de datos. Implementación
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
Desarrollo Orientado a Objetos
Desarrollo Orientado a Objetos 1 Sesión No. 2 Nombre: Introducción al desarrollo orientado a objetos. Parte II. Contextualización Dentro del desarrollo orientado a objetos se cuenta con varios elementos
Computadora y Sistema Operativo
Computadora y Sistema Operativo Según la RAE (Real Academia de la lengua española), una computadora es una máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
Programación y Algoritmia
Programación y Algoritmia Un enfoque práctico y didáctico para el diseño de algoritmos 3 Acciones y Funciones Lic. Oscar Ricardo Bruno, MDU Contenido Acciones y Funciones 3 Introducción 3 Modularizacion
UNIDAD NO. 01 CONCEPTOS INFORMÁTICOS BÁSICOS
UNIDAD NO. 01 CONCEPTOS INFORMÁTICOS BÁSICOS Objetivo general de la unidad: Explicar conceptos básicos computacionales partiendo del concepto general de sistema. 1.1 CONCEPTO DE DATO E INFORMACIÓN Dato:
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
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.)
INTRODUCCION A LA PROGRAMACION (C.U.) PROGRAMACION (T.I.G.) PRESENTACION: Lic. Jaquelina Jallés Comisión 1: Lunes 8-10 OBJETIVOS: Martes 10-12 Jueves 8-12 A) Desarrollar el pensamiento lógico y estructurado
ARQUITECTURAS DE SOFTWARE
ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades
TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Programación Orientada a Objetos
Programación Orientada a Objetos Instituto de Computación Primavera 2013 Índice I 1 2 Fundamentos de OO Java 3 Introducción Información y significado Tipos de datos abstractos ADT Implementación 4 Índice
PROGRAMACIÓN EN JAVA
1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación
Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO
Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS Cristina Cachero Pedro J. Ponce de León (1 Sesión) Versión 0.7 POO Indice El progreso de la abstracción Definición
Introducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL
MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL Requerimientos del sistema de información son predecibles. Requiere almacenamiento de datos en archivos y BD. Sirve para modelar sistema
Programación de Ordenadores
Programación de Ordenadores Ingeniería Química David Pelta Depto de Ciencias de la Computación e I.A. Universidad de Granada Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación
2.12 Control estadístico vs métricas.
2.12 Control estadístico vs métricas. PRODUCIR UN SISTEMAS, APLICACIÓN O PRODUCTO DE ALTA CALIDAD Para lograr este objetivo se deben emplear métodos efectivos junto con herramientas modernas dentro del
Diseño arquitectónico 1ª edición (2002)
Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
PATRONES DE DISEÑO FRAMEWORKS
PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización
LÓGICA DE PROGRAMACIÓN
LÓGICA DE PROGRAMACIÓN Lógica de la Programación Lenguajes de Programación Ing CIP. Mike Joseph Palacios Juárez Clasificación del Software Sistemas Operativos 1. Multitarea 2. Multiusuario 3. Multiproceso
INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida
Andrea Paola Leal Rivero La Academia al servicio de la Vida INTRODUCCION El diseño de Software juega un papel importante en el desarrollo de software lo cual permite producir varios modelos del sistema
Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez
Programación Orientada a Objetos Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Tabla de Contenido Historia. Filosofía del paradigma. Conceptos claves. Ventajas y desventajas. Lenguajes
METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS
!387" APÉNDICE A, APARTADO 1 METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS DOCUMENTACIÓN 1. La necesidad de los diagramas Los diagramas o representaciones gráficas representan una parte fundamental en el
Algoritmos y Programación I. Curso Prof. Arturo Servetto
75.40 95.14 Algoritmos y Programación I Curso Prof. Arturo Servetto Propósitos del Curso Presentar al alumno un panorama general de la Informática a partir del concepto de algoritmo, que le sirva como
Introducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas [email protected]
Metodologías para Sistemas Multi-agente
Metodologías para Sistemas Multi-agente Curso Doctorado Sistemas Multi-agente Índice Conceptos. Introducción Metodologías BDI GAIA AUML Message Conclusiones 1 Conceptos. Introducción Modelar sistemas reales
ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.
ARQUITECTURAS 1 IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI Carlos Reveco D. [email protected] Arquitectura de una aplicación 2 Arquitectura: desarrolla un plan general del
Estructura de Datos y de la Información. Tema 1: Introducción a los tipos abstractos de datos
Estructura de Datos y de la Información Tema 1: Introducción a los tipos abstractos de datos Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade
Programación Orientada a Objetos
Programación Orientada a Objetos Clases, herencia y contención Programación Avanzada 7 de agosto de 2017 Contenido Introducción Contenido Introducción Introducción al DOO Contenido Introducción Introducción
Concepto. Ventajas. Abstracción, Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs.
Tipos Abstractos de Datos (TAD) Concepto. Ventajas. Abstracción, Encapsulamiento, Interfaz e Implementación. Tipos de unidades. Creación y uso de unidades para implementar TADs. Abstracción: Concepto Simplificación
octubre de 2007 Arquitectura de Software
octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la
PLANIFICACIÓN PROGRAMACION II
PLANIFICACIÓN PROGRAMACION II 1) FUNDAMENTACIÓN DE LA MATERIA DENTRO DEL PLAN DE ESTUDIOS. El fundamento de la cátedra de Programación II I dentro del segundo semestre de la carrera tiene como objeto continuar
Acción que el procesador puede ejecutar sin necesidad de información suplementaria
TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación
Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software
Ingeniería del Software Ingeniería del Software de Gestión Tema 3 Metodologías de Desarrollo de Software Félix Óscar García Rubio Crescencio Bravo Santos Índice 1. Definiciones 2. Objetivos 3. Conceptos
Aplicación de la Inducción Matemática Programación Funcional. Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca
Aplicación de la Inducción Matemática Programación Funcional Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca Motivación Programación Imperativa Declarativa Procedimental Ejemplo:
CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez
CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez UML UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS SEBASTIÁN DAVID MORENO BERNAL CRISTIAN CAMILO ORJUELA VELANDIA LENGUAJES DE PROGRAMACIÓN 24/04/2017 1. Introducción 2. Historia 3. Filosofía del paradigma 4. Conceptos
Fundamentos de programación JAVA
Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:
! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA
Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA Modalidad de realización del curso: Titulación: Online Diploma acreditativo con las horas del curso OBJETIVOS CONTENIDOS UNIDAD DIDÁCTICA 1. INTRODUCCIÓN A
Programación Orientada a Objetos y Patrón MVC en PHP5. Pablo Ramirez A.
Presentación: (Arquitecto de Software) Pregrado: Técnico Superior en Informática (CUAM) 2000 Ingeniero en Sistemas (UBA) 2009 Ingeniería en Informática (IUTOMS) (Cursando) Postgrado: Especialista en Gerencia
Guía para la documentación de proyectos de software
Estructura y contenido Guía para la documentación de proyectos de software Organización de Computadoras Universidad Nacional del Sur 2017 1. Definiciones y especificación de requerimientos Los requerimientos/requisitos
ASIGNATURA: ESTRUCTURA DE DATOS II
ASIGNATURA: ESTRUCTURA DE DATOS II Cód: 31-206 Régimen cuatrimestral Horas reloj semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas 2016 FUNDAMENTOS: Un tipo de dato
La Orientación a Objetos. Diseño de Software Avanzado Departamento de Informática
La Orientación a Objetos Métodos Estructurados y Métodos Orientados a Objetos Métodos estructurados Origen en la programación estructurada (secuencia, ramificación, iteración, función). Pensar en términos
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas
