Está en la página 1de 6

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin

Universidad Bicentenaria de Aragua Escuela de Ingeniera de Sistemas Ncleo San Antonio de los Altos Edo Miranda

Profesora: Mara Garca. Ctedra: Anlisis y Diseo de Sistema III San Antonio de los Altos, Noviembre de 2012

Alumnos: Escobar Francisco C.I.:13.286.556

Programacin orientada a objetos


La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la orientacin a objetos. Adems es una metodologa que descansa en el concepto de objeto para imponer la estructura modular de los programas. Permite comprender el dominio del problema a resolver, al intentar construir un modelo del mundo real que envuelve nuestro sistema. Es decir, la representacin de este mundo mediante la identificacin de los objetos que constituyen el vocabulario del dominio del problema, su organizacin y la representacin de sus responsabilidades. El paradigma orientado a objetos se basa en los tres mtodos de organizacin que utilizamos desde nuestra infancia y en los que basamos todo nuestro pensamiento: a) La diferencia entre un objeto y sus atributos (por ejemplo, entre una manzana y su sabor o peso), b) La diferencia entre un objeto y sus componentes (por ejemplo, entre una manzana y su piel o semillas) y c) La formacin y distincin entre clases de objetos (por ejemplo, entre manzanas rojas, manzanas verdes, etc.) La idea de manejar objetos reales como contenedores de estados y comportamientos, es mucho ms atractiva desde el punto de vista del usuario. De esta manera no tendr que batallar con construcciones orientadas al computador, sino que podr manejar objetos (y operaciones) que se asemejen ms a sus equivalentes en el mundo real. La elevacin del nivel de abstraccin es sin duda un objetivo deseable. Las tcnicas orientadas a objetos usan un mismo modelo conceptual para el anlisis, el diseo y la programacin. La transicin desde el anlisis al diseo es tan natural que es difcil especificar donde comienza uno y donde acaba el otro.

Ventajas y Desventajas de la orientacin a objetos

VENTAJAS

DESVENTAJAS

Favorece la comunicacin entre analistas, Los estndares en este tipo de tcnicas diseadores, programadores y usuarios estn en continua evolucin, lo que exige finales al utilizar todos los mismos modelos una actualizacin permanente. conceptuales. Hay que ser muy cuidadosos en la creacin de los objetos, ya que de ello Esto se traduce en un aumento de la depender el xito de nuestro proyecto. productividad, ya que la comunicacin es Un error en estas primeras definiciones uno de los puntos crticos en las primeras podra resultar catastrfico. Precisamente fases del proyecto. el secreto de esta tcnica est en la correcta definicin inicial de los objetos. Se facilita la representacin de estructuras Los analistas, diseadores y complejas sin necesidad de adaptarnos a desarrolladores del proyecto deben normas y modelos, ya que lo que manejamos conocer las reglas del juego y poseer son objetos del mundo real, lo que facilita la suficiente experiencia en programacin. tarea del analista. La semntica de estas tcnicas es ms rica (al ser ms natural); al usuario final le es ms fcil comprender lo que el analista representa en sus modelos (ya que representa los objetos que lo rodean habitualmente) Favorece la modularidad, la reusabilidad y el mantenimiento del software. Estas tcnicas son ms resistentes al cambio que las tradicionales tcnicas de anlisis orientadas a flujos de datos.

Base de datos orientada a objetos

En una base de datos orientada a objetos, la informacin se representa mediante objetos como los presentes en la programacin orientada a objetos. Cuando se integra las caractersticas de una base de datos con las de un lenguaje de programacin orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programacin en uno o ms lenguajes de programacin a los que d soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperacin de datos, consultas asociativas y otras capacidades. Las bases de datos orientadas a objetos se disean para trabajar bien en conjuncin con lenguajes de programacin orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programacin. Los ODBMS son una buena eleccin para aquellos sistemas que necesitan un buen rendimiento en la manipulacin de tipos de dato complejos. Los ODBMS proporcionan los costes de desarrollo ms bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integracin transparente con el programa escrito en un lenguaje de programacin orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Polimorfismo
Muchas veces es necesario que un mismo comportamiento o accin se realice de diferentes maneras, por ejemplo, supongamos que deseamos implementar a la clase mamferos, supongamos tambin que uno de los mtodos que deseamos implementar para esta clase, es el que permita a tales mamferos desplazarse de forma natural. Nos encontraremos entonces con que para algunos mamferos el desplazamiento se realizar por medio de caminar, como es en el caso de las personas, para otros el desplazamiento natural ser nadar, como en el caso de los delfines e inclusive para otros, el desplazamiento se lograr por medio de volar, como sucede con los murcilagos. En otras palabras, un mismo comportamiento, en este caso el desplazamiento, puede tomar diferentes formas. Dentro de la programacin orientada a objetos puede modelarse esta situacin del mundo real, en objetos de software, gracias al polimorfismo. El polimorfismo es la propiedad por la cual una entidad puede tomar diferentes formas. Generalmente est

entidad es una clase, y la forma en que se consigue que tome diferentes formas es por medio de nombrar a los mtodos de dicha clase con un mismo nombre pero con diferentes implementaciones.

Diferencias entre Anlisis y Diseo Estructural y Orientado a Objetos


1. El concepto Orientado a Objeto es ms simple y est menos relacionado con la informtica que el concepto de flujo de datos. Esto permite una mejor comunicacin entre el analista y el experto en el dominio del problema (es decir, el cliente). 2. El paradigma Orientado a Objeto utiliza la herencia para expresar explcitamente las caractersticas comunes de una serie de objetos. Estas caractersticas comunes quedan escondidas en el anlisis y diseo estructurado y llevan a duplicar entidades en el anlisis y cdigo en los programas. Sin embargo, el paradigma Orientado a Objeto pone especial nfasis en la reutilizacin, y proporciona mecanismos efectivos que permiten reutilizar aquello que es comn, sin impedir por ello describir las diferencias. 3. La programacin orientada a objetos es mucho ms fiable por diversas razones. En primer lugar por el desarrollo incremental y la programacin por diferencia, al poder ir aadiendo funcionalidad va herencia. El tamao medio de una rutina en entornos orientados a objetos es de 4 o 5 lneas; y se ha de tener en cuenta que slo se tienen rutinas, ya que no existe el concepto de programa principal. La utilizacin masiva de libreras de clases garantiza la fiabilidad, ya que los componentes slo se aaden a la librera cuando se ha verificado la correccin de su funcionamiento. El anlisis estructurado se basa fundamentalmente en la descomposicin funcional del sistema que queremos construir. Esta descomposicin funcional requiere traducir el dominio del problema en una serie de funciones y subfunciones. El analista debe comprender primero el dominio del problema y a continuacin documentar las funciones y subfunciones que debe proporcionar el sistema. El problema es que no existe un mecanismo para comprobar si la especificacin del sistema expresa con exactitud los requisitos del sistema. 4. El paradigma orientado a objetos es una forma de pensar acerca de un problema en trminos del mundo real en vez de en trminos de un ordenador. El Anlisis Orientado a Objetos permite analizar mejor el dominio del problema, sin pensar en trminos de implementar el sistema en un ordenador como el anlisis y diseo estructural. El Anlisis Orientado a Objetos permite pasar directamente el dominio del problema al modelo del sistema.

5. Los cambios en los requisitos afectan notablemente a la funcionalidad de un sistema, por lo que afectan mucho al software desarrollado con mtodos estructurados. Sin embargo, los cambios afectan en mucha menor medida a los objetos que componen o maneja el sistema, que son mucho ms estables. Las modificaciones necesarias para adaptar una aplicacin basada en objetos a un cambio de requisitos suelen estar mucho ms localizadas. 6. La transicin entre las fases de anlisis y diseo en la orientacin al objeto es mucho ms suave que en las metodologas estructuradas, no habiendo tanta diferencia entre las etapa.