Slides:



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

TECNICATURA UNIVERSITARIA EN INFORMATICA
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
PROGRAMACION ORIENTADA A OBJETOS
UML para programadores Java
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
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.
Fundamentos de Ingeniería de Software
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:
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
POO (Programación Orientada a Objetos)
U NIDAD III P ROGRAMACIÓN O RIENTADA A O BJETOS (POO) Facilitadora: Ing. Patricia Gómez.
METODOLOGIA DE LA PROGRAMACION
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
PROGRAMACIÓN ORIENTADA A OBJETOS
Fundamentos de Programación
Introducción a la programación Orientada a objetos
UNIDAD I Conceptos Básicos.


Ingeniería de Software
Diagramas de Clase Angela Carrillo R..
Viviana Poblete López Módulo: Modelo de Datos
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez

Fundamentos de Programación
Fundamentos de programación
Programación Orientada Objetos
Programación Orientada a Objetos (P.O.O.)
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
Introducción a la Programación Orientada a Objetos (POO)
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Programación orientada a objetos
UML.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
PROGRAMACIÓN IV INTRODUCCIÓN.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Introducción a la abstracción de datos MC Beatriz Beltrán Martínez Primavera 2015.
Herencias Conceptos básicos i
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.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar los.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

Conceptos básicos del paradigma orientado a objetos MC Beatriz Beltrán Martínez Primavera 2015

Introducción Crisis del software  programación estructurada Problemas con la programación estructurada Sintácticos: Identificadores duplicados. Incompatibilidad de tipos. Incompatibilidad en el número de argumentos en un llamado a subprograma. FCC - BUAP Primavera 2015 BBM

Introducción Lógicos: Variables “globales” no iniciadas. Variables “globales” modificadas accidentalmente, Argumentos de subprogramas pasados por referencia creyéndose que era por valor. Modificación del código por otro(s) grupo(s) distinto(s) al que lo creó. FCC - BUAP Primavera 2015 BBM

Algoritmos + Estructuras de Datos = Programas Introducción La programación estructurada tradicional se basa fundamentalmente en la ecuación de Wirth: Algoritmos + Estructuras de Datos = Programas Esta ecuación significa que en la programación estructurada u orientada a procedimientos los datos y el código se trata por separado y lo único se realiza son funciones o procedimientos que tratan esos datos y los van pasando de unos a otros hasta que se obtiene el resultado que se desea. FCC - BUAP Primavera 2015 BBM

Solución Programación orientada a objetos En lugar de tratar de modelar un problema en algo familiar a la computadora ahora se trata de acercar la computadora al problema. Es decir, modelar la realidad del problema a través de entidades independientes pero que interactúan entre sí y cuyas fronteras no estén determinadas por su instrumentación computacional sino por la naturaleza del problema. Estas entidades serán denominadas objetos. Resolver problemas consiste en definir objetos y sus acciones y entonces invocar las acciones enviando mensajes a los objetos que ocultan las características internas de cómo llevan a cabo estas acciones FCC - BUAP Primavera 2015 BBM

Solución La Programación Orientada a Objetos, POO (OOP, Object Oriented Programming, en inglés), es una técnica de programación cuyo soporte fundamental es el objeto. Un objeto es una extensión de un Tipo de Dato Abstracto (TDA). Un TDA es un tipo definido por el usuario, que encapsula un conjunto de datos y las operaciones sobre estos datos. A la hora de definir TDA’s (u objetos) se usa un concepto que ayuda a representar la realidad, la abstracción. La diferencia entre el concepto de TDA y el de objeto radica en que existen dos procesos con los que se forma el núcleo principal de la programación orientada a objetos, estos son la herencia y el polimorfismo. FCC - BUAP Primavera 2015 BBM

Principios de la POO Programar en un lenguaje orientado a objetos es definir clases que expresan una determinada funcionalidad la cual es común a todos los individuos de la clase. A través de esta funcionalidad los objetos dan respuesta a las solicitudes (mensajes) que les envían otros objetos. Las clases deben ser lo suficientemente CERRADAS como para que cada objeto pueda ocultar información (datos) que lo caracteriza como individuo. Las clases deben ser lo suficientemente ABIERTAS para permitir la reutilización, adaptación y extensión de las mismas a nuevas funcionalidades sin correr el riesgo de afectar el funcionamiento de lo que ya es correcto. Principio ABIERTO-CERRADO  piedra angular de la POO FCC - BUAP Primavera 2015 BBM

Principios de la POO Principio de Parnas u ocultamiento. No permitir que los usuarios modifiquen ni la representación de la información ni las operaciones sobre esa información. Principio de compartir comportamiento. Reutilizar código, no reinventarlo. Los mensajes entre los objetos son síncronos, al conjunto de mensajes que responde un objeto le llamamos protocolo. Un cálculo en la POO se lleva a cabo mediante el envío de mensajes entre objetos. FCC - BUAP Primavera 2015 BBM

Lenguajes de POO Lenguajes de POO LISP SMALLTALK SIMULA Puros: Smalltalk, Eiffel, Actor Híbridos: C++, Objetive-C, Object-Pascal, Java Smalltalk Java FCC - BUAP Primavera 2015 BBM

Conceptos Básicos de la POO Objeto: Abstracción del mundo real, en términos computacionales, es un ente encapsulado que contiene datos y métodos, y que es capaz de recibir mensajes del exterior. Tiene un estado y una cierta identidad. Es la instancia de una clase. Clase: Conjunto o colección de objetos que tienen en común estructura, comportamiento y características. Es un tipo definido por el usuario. FCC - BUAP Primavera 2015 Datos Métodos (Comportamiento) BBM

Conceptos Básicos de la POO Método: Es la operación que se puede efectuar sobre los campos de un objeto (datos). Cuando el método es invocado se dice que se envía un mensaje al objeto a través del método, es esta la forma como el objeto cambia su estado. Identidad: Propiedad con la cual se puede distinguir un objeto de otros objetos (su nombre). Datos (atributos): Campos del objeto que representan características bien definidas de un objeto. FCC - BUAP Primavera 2015 BBM

Conceptos Básicos de la POO Encapsulamiento u ocultamiento: Es un recurso para poder manejar la abstracción. Nos permite ver a los datos y a las operaciones como una unidad, oculta detalles de implementación. Herencia: Es un mecanismo por el cual, una clase de objetos puede expresarse como un caso especial de una clase más general, con lo cual incluye automáticamente toda la definición de datos y métodos de la clase genera FCC - BUAP Primavera 2015 BBM

Conceptos Básicos de la POO Clase Base Clases Bases FCC - BUAP Primavera 2015 BBM Clases Derivadas Clase Derivada o Subclase Herencia Simple Herencia Múltiple

Ventajas de la POO Las ventajas más importantes de la programación orientada a objetos son las siguientes: Mantenibilidad: Facilidad de mantenimiento. Modificabilidad: Facilidad para modificar los programas. Reusabilidad: Los objetos, si han sido correctamente diseñados, se pueden usar numerosas veces y en distintos proyectos. Fiabilidad: Los programas orientados a objetos suelen ser más fiables ya que se basan en el uso de objetos ya definidos que están ampliamente testados. FCC - BUAP Primavera 2015 BBM

Introducción al Lenguaje Unificado de Modelado MC Beatriz Beltrán Martínez Primavera 2015

Introducción UML es un lenguaje por que proporciona un vocabulario y las reglas para utilizarlo, además es un lenguaje de modelado lo que significa que el vocabulario y las reglas se utilizan para la representación conceptual y física del sistema. UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediante gráficos o mediante texto obteniendo modelos explícitos que ayudan a la comunicación durante el desarrollo ya que al ser estándar, los modelos podrán ser interpretados por personas que no participaron en su diseño sin ninguna ambigüedad. FCC - BUAP Primavera 2015 BBM

Introducción El lenguaje UML se compone de tres elementos básicos, los bloques de construcción, las reglas y algunos mecanismos comunes. Los bloques de construcción se dividen en tres partes: Elementos, que son las abstracciones de primer nivel, Relaciones, que unen a los elementos entre sí, y los Diagramas, que son agrupaciones interesantes de elementos. Existen cuatro tipos de elementos en UML, dependiendo del uso que se haga de ellos: elementos estructurales, elementos de comportamiento, elementos de agrupación y elementos de anotación. FCC - BUAP Primavera 2015 BBM

Introducción El desarrollo de software puede ser visto como una serie de transformaciones del modelo mental inicial al código actual FCC - BUAP Primavera 2015 Stakeholders Mental Model Requirements Model Arquitecture Model Design Model Solution Model Code BBM

Bloques de construcción A continuación se van a describir todos los elementos que componen los bloques estructurales de UML, así como su notación, para que nos sirva de introducción y se vaya generando un esquema conceptual sobre UML. En temas sucesivos se tratará con más profundidad cada uno de los bloques. Elementos Estructurales: Los elementos estructurales en UML, es su mayoría, son las partes estáticas del modelo y representan cosas que son conceptuales o materiales. FCC - BUAP Primavera 2015 BBM

Bloques de construcción Clases: Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Una clase implementa una o más interfaces. Gráficamente se representa como un rectángulo que incluye su nombre, sus atributos y sus operaciones. FCC - BUAP Primavera 2015 Ventana origen tamaño abrir() cerrar() mover() dibujar() BBM

Representación de clases Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Un objeto es una instancia individual de una clase. Una clase se identifica por un nombre que la distingue del resto. Ese nombre sólo se denomina nombre simple; un nombre de camino consta del nombre de la clase precedido del nombre del paquete en el que se encuentra incluida. FCC - BUAP Primavera 2015 BBM Monitor marca modelo encender() Nombre Atributos Operaciones Hay que hacer una especial diferenciación para no confundir el concepto de clase con el de objeto.

Representación de clases Un atributo es una propiedad de una clase identificada con un nombre. Describe un rango de valores que pueden tomar las instancias de la propiedad. Los atributos representan propiedades comunes a todos los objetos de una determinada clase Los atributos son propiedades interesantes de las clases. Una instancia de una determinada clase tendrá valores concretos para sus atributos, mientras que las clases tienen rangos de valores que pueden admitir sus atributos. Una operación es una implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre su comportamiento. Una operación representa algo que el objeto puede hacer. FCC - BUAP Primavera 2015 BBM