Conceptos básicos del paradigma orientado a objetos

Slides:



Advertisements
Presentaciones similares
Ingeniería de Software
Advertisements


PROGRAMACIÓN IV INTRODUCCIÓN.
Unified Modeling Language (UML) Unified Modeling Language (UML) Lenguaje Unificado de Modelado ConceptosBásicos.
Diagrama de Clases SPI 2016.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
¿QUE SIGNIFICA PROGRAMACION? en informática, un método de programación en el que un programa se contempla como un conjunto de objetos limitados que, a.
2012-BM5A. 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.
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Herencia Multiple en Java
Ingreso , proceso y salida de datos
Clases y Objetos.
El Lenguaje de Modelación Unificado
Concepción Orientada Objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
Ingeniero en Computación José Alfredo Cobián Campos
PROGRAMACION ORIENTADA A OBJETOS
Diagramas de Casos de Uso
Ingeniería de Software
Herencia Implementación en Java.
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Fundamentos de la programación orientada a objetos
Introducción a programación web Martin Esses
TIPOS DE DATOS ABSTRACTOS
Introducción a programación web Martin Esses
Ingeniería en Sistemas de Información
UNIVERSIDAD ICEP INTELIGENCIA ARTIFICIAL INGENIERÍA EN SISTEMAS COMPUTACIONALES Martes, 24 de Octubre de 2017 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO.
Programación orientada a objetos
Oscar Martin Tirado Ochoa
Ingeniería de Software Somerville
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
La Programación Orientado a Objetos
DIAGRAMA DE CLASES.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Algoritmo Capitulo Cinco.
Programación Orientada a Objetos
CONCEPTOS PRELIMINARES (Cont)
Clases y objetos.
Base de Datos TECNICATURA SUPERIOR EN INFORMÁTICA PROF.: GUANUCO, JUAN CARLOS.
Universidad Nacional de Colombia - Leguajes de Programación
MTI. Rosa Imelda García Chi Programación Lógica y Funcional PLYF UNIDAD 1. Conceptos Fundamentales 1.1 Estilos de Programación Enero-Junio 2018.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
UNIVERSIDAD SAN FRANCISCO DE ASÍS INGENIERÍA DE SISTEMAS DOCENTE: ING. FRANCISCO SOLORZANO UNIVERSITARIO: ALAN TORREZ LOAYZA AÑO 2018.
Facultad de Ciencias de la Computación MC Beatriz Beltrán Martínez
Diagrama de Clases Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición,
Diagramas de clases Modelan la vista estática del sistema
CAPA FÍSICA DEL MODELO OSI La capa física: Señales de comunicación.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS. INTRODUCCION. ¿ Qué es UML ?. UML, por sus siglas en Ingles, Unified Modeling Languaje.(Lenguaje Unificado.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
1 PROGRAMACION ORIENTADA A OBJETOS MARIA LAURA ESPIN B. INSTITUTO TECNOLÓGICO SUPERIOR ÁNGEL POLIBIO CHÁVEZ TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Conceptos básicos del paradigma orientado a objetos.
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Conceptos básicos del paradigma orientado a objetos MC Beatriz Beltrán Martínez Otoño 2019.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
PROGRAMACIÓN ORIETADA A OBJETOS. 2 Introducción Paradigma: Ejemplo ilustrativo, enunciado modelo  Programación imperativa  Programación funcional 
Transcripción de la presentación:

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

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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 BBM

Conceptos Básicos de la POO Clase Base Clases Bases FCC - BUAP Verano 2018 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 Verano 2018 BBM

Introducción al Lenguaje Unificado de Modelado MC Beatriz Beltrán Martínez Verano 2018

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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 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 Verano 2018 BBM