DiseñO Orientado A Objetos
-
Upload
jose -
Category
Technology
-
view
1.405 -
download
2
Transcript of 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
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
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.
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.
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.
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.
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.
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
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.