Anda di halaman 1dari 6

DESARROLLO ORIENTADO A OBJETOS

INTRODUCCIN Constituye una nueva forma de pensar acerca de problemas empleando modelos que se han organizado tomando como base conceptos del mundo real. Los modelos orientados a objetos son tiles para comprender problemas, comunicarse con expertos en esa aplicacin, modelar empresas, preparar documentacin y disear programas y bases de datos.

1. QU ES ORIENTADO A OBJETOS? El trmino orientado a objetos significa que el software se organiza como una coleccin de objetos discretos que contienen tanto estructuras de datos como un comportamiento. Esto se opone a la programacin convencional, en la cual las estructuras de datos y el comportamiento estn relacionadas de forma dbil

Caractersticas de los Objetos Identidad quiere decir que los datos estn cuantificados en entidades discretas y distinguibles denominadas Objetos. Los objetos pueden ser concretos como un archivo en un sistema de archivos, o bien conceptuales como la poltica de planificacin en un sistema operativo con multiproceso. Dos objetos sern distintos aun cuando los valores de todos sus atributos (tales como el nombre y el tamao sean idnticos)

ALGUNOS EJEMPLOS DE ENTIDADES

Una tabla de smbolos.

Un rbol binario

Un telfono azul

Una casa amarilla

La bicicleta de Too

La bicicleta de Pedro

Clasificacin: significa que los objetos con la misma estructura de datos (atributos) y comportamiento (operaciones) se aglutinan para formar una clase, ejemplo: prrafo, ventana, pieza de ajedrez. Se dice que cada objeto es una instancia de su clase. Toda instancia de su clase posee su propio valor para cada uno de los atributos pero comparte los nombres de los atributos y las operaciones con las dems instancias de su clase.

Un ejemplo de clase: la bicicleta, Sus atributos: - Tamao de marco. - Tamao de la rueda. - Tipo de cambios. - Materiales utilizados. Se abstraen para dar origen a las operaciones tales como: cambiar marcha, mover, reparar, etc.

Polimorfismo: significa que una misma operacin puede comportarse de modos distintos en distintas clases. La operacin mover por ejemplo, se puede comportar de modo distinto en las clases Ventana y Pieza de ajedrez.

Una Operacin: es una accin o transformacin que se lleva a cabo o que se aplica sobre un objeto.

Herencia: es compartir atributos y operaciones entre clases tomando como base una relacin jerrquica, se puede definir una clase que despus se ir refinando para producir subclases, todas stas poseen o heredan, todas y cada una de las propiedades de su superclase y aaden, adems sus propiedades exclusivas.

2. QU ES EL DESARROLLO ORIENTADO A OBJETOS? Es una nueva forma de pensar acerca del software basndose en abstracciones que existen en el mundo real. La esencia del desarrollo orientado a objetos es la identificacin y organizacin de conceptos del dominio de la aplicacin, y no de su representacin final en un lenguaje de programacin tanto de si ste es orientado a objetos como si no lo es.

2.1 CONCEPTOS DE MODELADO, NO DE IMPLEMENTACIN La mayor parte del esfuerzo realizado hasta el momento en la comunidad orientada a objetos ha estado centrada en temas de lenguajes de programacin. Los lenguajes de programacin orientados a objetos son tiles para eliminar las restricciones debidas a la inflexibilidad de los lenguajes tradicionales de programacin, sin embargo, en cierto sentido, ste nfasis supone un retroceso para la ingeniera del software al concentrarse excesivamente en mecanismos de implementacin y no en el proceso de pensamiento subyacente al cual sirven de base. Un enfoque de desarrollo orientado a objetos anima a los desarrolladores de software para que trabajen y piensen en trminos del dominio de la aplicacin a lo largo de la mayor parte del ciclo de vida de la ingeniera de software. Slo cuando se han identificado, organizado y comprendido los conceptos inherentes a la aplicacin se pueden tratar de forma efectiva los detalles de las estructuras de datos y de las funciones.

El desarrollo orientado a objetos es, fundamentalmente, una nueva forma de pensar y no una tcnica de programacin. Sus mayores beneficios proceden de la ayuda que ofrecen a quienes construyen las especificaciones, a los desarrolladores y, tambin , a los clientes para que expresen conceptos abstractos de forma clara y para que se los comuniquen unos a otros.

Es posible aplicar conceptos orientados a objetos a lo largo de todo el ciclo de vida de desarrollo del sistema, desde el anlisis hasta la implementacin pasando por el diseo. Algunas clases no forman parte del anlisis sino que se presentan como parte del diseo o de la implementacin.

Por ejemplo, las estructuras de datos tales como rboles, tablas de dispersin y listas enlazadas no suelen estar presentes en el mundo real. Se presentan para que presten su apoyo a algoritmos concretos durante el diseo. Estos objetos de estructuras de datos se utilizan para implementar objetos del mundo real dentro de la computadora y no derivan directamente sus propiedades del mundo real.

2.2 TRES MODELOS

La metodologa OMT emplea tres clases de modelos para describir el sistema.

El Modelo de Objetos: describe la estructura esttica de los objetos del sistema y tambin sus relaciones. El modelo de objetos contiene diagramas de objetos. Un diagrama de objetos es un grafo cuyos nodos son clases de objetos y cuyos arcos son relaciones entre clases. El Modelo dinmico: describe los aspectos del sistema que cambian con el tiempo, ste modelo se utiliza para especificar e implementar los aspectos del control del sistema, los modelos dinmicos contienen diagramas de estados, un diagrama de estado es un grafo cuyos nodos son estados y cuyos arcos son transicciones entre estados causadas por estados. El modelo funcional: describe las transformaciones de valores de datos que ocurren dentro del sistema. El modelo funcional contiene diagramas de flujo de datos. Un diagrama de flujo de datos representa un clculo. Un diagrama de flujo de datos es un grafo cuyos nodos son procesos y cuyos arcos son flujo de datos. Los tres modelos son partes ortogonales de la descripcin del sistema completo y estn enlazados entre s. Sin embargo, el ms importante es el modelo de objetos porque es necesario para describir qu est cambiando o tranformndose antes de describir cuando o cmo cambia.

3. TEMAS ORIENTADOS A OBJETOS

Abstraccin: Consiste en centrarse en los aspectos esenciales inherentes de una entidad, e ignorar sus propiedades accidentales. El uso de la abstraccin mantiene nuestra libertad de tomar decisiones durante el mayor tiempo posible evitando comprometernos de forma prematura con ciertos detalles.

La mayora de los lenguajes modernos proporcionan abstraccin de datos pero la capacidad de utilizar herencia y polimorfismo proporciona una potencia adicional. El uso de la abstraccin durante el anlisis significa tratar solamente conceptos del dominio de la aplicacin y no tomar decisiones de diseo o de implementacin antes de haber comprendido el problema.

Encapsulacin: (ocultamiento de la informacin) consiste en separar los aspectos externos del objeto, a los cuales pueden acceder otros objetos, de los detalles de implementacin del mismo,que quedan ocultos para los dems. La encapsulacin evita que el programa llegue a ser tan interdependiente que un pequeo cambio tenga efectos secundarios masivos, quiz sea necesario modificar la implementacin de un objeto para mejorar el rendimiento, corregir un error, consolidar el cdigo o para hacer el transporte a una plataforma. La capacidad de combinar la estructura de datos y el comportamiento en una nica entidad hace que la encapsulacin sea aqu ms limpia y potente que en los lenguajes convencionales que separan las estructuras de datos y el comportamiento.

Combinacin de datos y comportamientos: El polimorfirmo de operadores translada la carga de decidir que implementacin hay que utilizar llevndola del cdigo que hace la llamada a la jerarqua de clases. Por ejemplo, un cdigo no orientado a objetos para visualizar el contenido de una ventana debe distiguir el tipo de cada figura (un polgono, crculo o texto) y debe invocar el procedimiento adecuado para visualizarlo. Un programa orientado a objetos invocara simplemente la operacin dibujar para cada figura; la decisin del procedimiento que hay que utilizar es realizada implcitamente por cada objeto basndose en su clase. El mantenimiento es ms sencillo porque el cdigo que hace la llamada no necesita ser modificado cuando se aade una clase nueva. En un sistema orientado a objetos la jerarqua de estructuras de datos es idntica a la jerarqua de herencia de operaciones.

Compartir: La herencia tanto de estructuras de datos como de comportamientos, permite compartir una estrcutura comn entre varias subclases similares sin redundancia. Una de las principales ventajas de los lenguajes orientados a objetos es compartir cdigo empleando la herencia. Todava ms importante que el ahorro de cdigo es la claridad conceptual que surge al reconocer que distintas operaciones son todas ellas, realmente la misma cosa.

Enfsis en la estructura de datos, no en la estructura de procedimientos: el desarrollo orientado a objetos pone un mayor enfsis en la estructura de objetos y hace menos hincapi en la estructura de procedimientos que las metodologas tradicionales de descomposicin funcional. En ste aspecto, el desarrollo orientado a objetos es parecido a las tcnicas de modelado de informacin que se utilizan en el diseo de bases de datos, si bien el desarrollo orientado a objetos aade el concepto de comportamiento dependiente de clase.

Sinergia: La identidad, clasificacin, polimorfismo y herencia caracterizan los principales lenguajes orientados a objetos. Cada uno de stos conceptos puede ser aislado pero, en su conjunto, se complementan unos a otros de forma sinrgica.

4. JUSTIFICACIN DE LA UTILIDAD DEL DESARROLLO ORIENTADO A OBJETOS

Se han utilizado tcnicas orientadas a objetos para desarrollar compiladores grficos, interfaces de usuario, bases de datos, sistemas CAD, simulaciones, metamodelos y sistemas de control y otras aplicaciones. El beneficio principal no es un tiempo de desarrollo ms reducido, el desarrollo orientado a objetos puede requerir ms tiempo que el desarrollo convencional porque se pretende que promueva la reutilizacin futura y la reduccin de los posteriores errores y el futuro mantenimiento.

Anda mungkin juga menyukai