DiseñO Orientado A Objetos

13
República Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politécnica de la Fuerza Armada UNEFA Integrantes: Mariangelica Escorcha José Sanabria

Transcript of DiseñO Orientado A Objetos

Page 1: DiseñO Orientado A Objetos

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa

Universidad Nacional Experimental Politécnica de la Fuerza Armada

UNEFA

Integrantes :

Mariangelica Escorcha

José Sanabria

Karen Maryszczuk

Gabriela Mendoza

Sección: G-003-D

Guacara, Julio del 2010

Page 2: DiseñO Orientado A Objetos

Introducción

La presente investigación se refiere al tema de Diseño Orientado a Objetos

que se puede definir como un paradigma de programación que usa objetos y sus

interacciones para diseñar aplicaciones y programas de ordenador. Está basado

en varias técnicas, incluyendo herencia, modularidad, polimorfismo y

encapsulamiento. Su uso se popularizo a principios de la década de 1990.

Actualmente son muchos los lenguajes de programación que soportan la

orientación a objetos.

Es una metodología de programación que define programas en términos de

" clases de objetos. Entidades que combinan datos, procedimientos y

propiedades. El diseño expresa un programa como un conjunto de estos objetos

para realizar tareas.

Las principales características del Diseño Orientado a Objetos son: la

identidad que expresa que aunque dos objetos sean iguales en sus atributos son

distintos entre sí, encapsulamiento que es ocultación de la información,

polimorfismo tienen comportamientos diferentes y pueden compartir el mismo

nombre, Herencia las clases no están aisladas sino que se relacionan entre sí,

formando una jerarquía de clasificación, Mantenibilidad debe ser fácilmente

modificable y Reusabilidad Indica que partes pueden ser reutilizados en la

confección de otros programa

Page 3: DiseñO Orientado A Objetos

Diseño Orientado a Objetos.

Origen:

Los conceptos de diseño orientado a objetos tienen origen en Simula

(1967), un lenguaje diseñado para hacer simulaciones de naves, un sistema

completamente dinámico en el cual los objetos se pueden crear y modificar "

en marcha " en lugar de tener un sistema basado en programas estáticos.

Creado en el Centro de Cómputo Noruego en Oslo. La idea ocurrió para agrupar

los diversos tipos de naves en diversas clases de objetos, siendo responsable

cada clase de objetos de definir sus propios datos y comportamiento.

El POO tomó posición como la metodología de programación dominante a

mediados de los años ochenta, en gran parte debido a la influencia de C++. Su

dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario

(GUI), para los cuales el diseño está particularmente bien adaptado.

Las características de orientación a objetos fueron agregadas a muchos

lenguajes existentes durante ese tiempo, entre ellos BASIC y Pascal, con ello

condujo a menudo problemas de compatibilidad. Los lenguajes orientados a

objetos por otra parte, eran difíciles de aprender para los programadores que no

estaban acostumbrados al POO.

Page 4: DiseñO Orientado A Objetos

Para saltar este obstáculo, se crearon nuevos lenguajes orientados a

objetos, pero permitiendo algunas características de los lenguajes tradicionales. El

Eiffel fue un temprano y acertado lenguaje con esos objetivos. En la actualidad

existe Java, y esta implementado en la mayoría de los navegadores web actuales.

Diseño orientado a objetos: Es una fase de la metodología orientada

a objetos para el desarrollo de Software. Su uso induce a los programadores a

pensar en términos de objetos, en vez de procedimientos, cuando planifican su

código. Un objeto agrupa datos encapsulados y procedimientos para representar

una entidad. La 'interfaz del objeto', esto es, las formas de interactuar con el

objeto, también es definida en esta etapa. Un programa orientado a objetos es

descrito por la interacción de esos objetos. El diseño orientado a objetos es la

disciplina que define los objetos y sus interacciones para resolver un problema de

negocio que fue identificado y documentado durante el análisis orientado a

objetos.

El diseño orientado a Objetos (más conocido también como programación

orientada a objetos, POO) es una metodología de programación que define

programas en términos de " clases de objetos. Entidades que combinan

datos, procedimientos y propiedades. El diseño expresa un programa como un

conjunto de estos objetos para realizar tareas.

De esta forma, un objeto contiene toda la información que permite definirlo

e identificarlo, dispone de mecanismos de interacción que favorecen la

comunicación entre objetos y el cambio de datos.

Page 5: DiseñO Orientado A Objetos

Esta característica lleva a tratarlos como unidades indivisibles, en las que

no se separan información y procesamiento.

El diseño orientado a objetos es totalmente distinto a los lenguajes de

programación tradicionales, anima al programador a pensar sobre todo en

términos de procedimientos o funciones, y en segundo lugar en las estructuras de

datos que esos procedimientos manejan. Los programadores de lenguajes

tradicionales escriben funciones y después les pasan datos.

Los programadores POO los definen con datos y métodos, después envían

mensajes a los objetos para que realicen los métodos.

Características de POO

Identidad: Expresa que aunque dos objetos sean exactamente iguales en

sus atributos, son distintos entre sí.

Encapsulamiento: También llamado " ocultación de la información

" Cada objeto está aislado del exterior, y expone una interfaz a otros

objetos que específica cómo pueden interactuar entre ellos. El aislamiento

protege las propiedades de un objeto contra su modificación por quien no

tenga derecho a acceder a ellas, solamente los propios métodos internos

del objeto pueden acceder a éste.

Page 6: DiseñO Orientado A Objetos

Polimorfismo: Pueden compartir el mismo nombre, pero se utilizará el

comportamiento correspondiente al objeto en uso. Algunos lenguajes

proporcionan medios más estáticos de polimorfismo, tales como las

plantillas y la sobrecarga de operadores de C++.

Herencia: Las clases no están aisladas, sino que se relacionan entre sí,

formando una jerarquía de clasificación. Los objetos heredan las

propiedades y el comportamiento de todas las clases a las que pertenecen.

La herencia organiza y facilita el polimorfismo y el encapsulamiento

permitiendo a los objetos ser definidos y creados como tipos especializados

de objetos preexistentes.

Mantenibilidad: debe ser fácilmente modificable. Es decir que los cambios

en las condiciones externas (como la definición de una nueva variable)

implicarán modificaciones pequeñas en el programa y/o sistema. El

concepto de mantenibilidad implica que un programa, al igual que un ser

vivo debe ser capaz de adaptarse a un medio ambiente siempre cambiante.

Reusabilidad: Indica que partes pueden ser reutilizados en la confección de

otros programas. Los objetos definidos pueden ser extraídos e implantados

en otro programa sin tener que realizar modificaciones al objeto. El objetivo

final es construir una librería de objetos que permita realizar programas

basándose en la técnica de cortar y pegar.

Page 7: DiseñO Orientado A Objetos

Ventajas del Diseño Orientado a Objetos:

Fácil de mantener, los objetos representan entidades auto-contenidas

Los objetos son componentes reutilizables.

Para algunos sistemas, puede haber un mapeo obvio entre las entidades

del mundo real y los objetos del sistema.

Métodos de Diseño Orientado a Objetos

Algunos métodos que fueron originalmente basados en funciones (método

de Yourdon) han sido adaptados al diseño orientado a objetos. Otros métodos

como el método de Booch han sido específicamente desarrollados

específicamente para el Diseño Orientado a Objetos.

El Diseño Orientado a Objetos es un método de diseño desarrollado para

soportar la programación en Ada. JSD (Jackson system development) tiene una

cierta orientación a objetos pero no contiene información sobre estados entidad.

Page 8: DiseñO Orientado A Objetos

Componentes del Diseño Orientado a Objetos.

La identificación de objetos, sus atributos y servicios

La organización de objetos dentro de una jerarquía

La construcción de descripciones dinámicas de objetos que muestran como

se usan los servicios

La especificación de interfaces de objetos

Page 9: DiseñO Orientado A Objetos

Conclusión

En este trabajo se ha tratado analizar los aspectos centrales del Diseño

Orientado a Objetos de forma que un objeto contiene toda la información que

permite definirlo e identificarlo, dispone de mecanismos de interacción que

favorecen la comunicación entre objetos y el cambio de datos. Esta característica

lleva a tratarlos como unidades indivisibles, en las que no se separan información

y procesamiento.

Donde también se explicaron los métodos y componentes que lo conforman

algunos de los métodos que fueron originalmente basados en funciones (método

de Yourdon) han sido adaptados al diseño orientado a objetos. Otros métodos

como el método de Booch han sido específicamente desarrollados

específicamente para el Diseño Orientado a Objetos y sus componentes nos dicen

la identificación de objetos, la identificación de objetos dentro de una jerarquía, la

construcción de descripciones dinámicas de objetos que muestran como se usan

los servicios y la especificación de interfaces de objetos.