Está en la página 1de 20

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Universidad Nacional Experimental Politcnica de la Fuerza Armada.

Zaraza, Edo. Gurico

Asesora: Ing. Ftima Daz

Bachilleres: Prez H, Elbana T. Mara J, Soler B Prez M, Jorge L Kelvin V, Solano Sunny, Gayadat

C.I.: V- 20.252.761 V- 21.065.334 V-23.546.410 V- 22.880.185 V- 24.229.115

Ingeniera de Sistemas VI Semestre, Seccin 2T

Zaraza, 2013

PROGRAMACION ORIENTADA A OBJETOS

Actualmente una de las reas ms candentes en la industria y en el mbito acadmico es la orientacin a objetos. La orientacin a objetos promete mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento del software ofreciendo una solucin a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del cdigo y reusabilidad, cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de codificacin no intuitivas. Un lenguaje orientado a objetos ataca estos problemas. Tiene tres caractersticas bsicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera ms difcil de sortear es usualmente la herencia. El concepto de programacin orientada a objetos (OOP) no es nuevo, lenguajes clsicos como SmallTalk se basan en ella. Dado que la OOP. se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolucin del problema se realiza en trminos de objetos, un lenguaje se dice que est basado en objetos si soporta objetos como una caracterstica fundamental del mismo. El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Esta definicin especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto nmero de componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organizacin jerrquica o de otro tipo.

El diseo orientado a Objetos o Programacin Orientada a Objetos. Es una metodologa de programacin que define programas en trminos de " clases de objetos. Entidades que combinan datos, procedimientos y propiedades. El diseo expresa un programa como un conjunto de estos objetos para realizar tareas. 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 Origen de la POO Los conceptos de la programacin orientada a objetos tienen origen en Simula 67, un lenguaje diseado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cmputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosin combinatoria de cmo las diversas cualidades de diferentes naves podan afectar unas a las otras. La idea surgi al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamientos. Fueron refinados ms tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versin fue escrita sobre Basic) pero diseado para ser un sistema completamente dinmico en el cual los objetos se podran crear y modificar "sobre la marcha" (en tiempo de ejecucin) en lugar de tener un sistema basado en programas estticos. La programacin orientada a objetos se fue convirtiendo en el estilo de programacin dominante a mediados de los aos ochenta, en gran parte debido a la influencia deC++, una extensin del lenguaje de programacin C. Su dominacin fue consolidada gracias al auge de las Interfaces grficas de usuario, para las cuales la programacin orientada a objetos est particularmente bien adaptada. En este caso, se habla tambin de programacin dirigida por eventos. Las caractersticas de orientacin a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros. La adicin de estas caractersticas a los lenguajes que no fueron diseados inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento

del cdigo. Los lenguajes orientados a objetos "puros", por su parte, carecan de las caractersticas de las cuales muchos programadores haban venido a depender. Para saltar este obstculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en mtodos orientados a objetos, pero permitiendo algunas caractersticas imperativas de maneras "seguras". El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a la aparicin de Internet y a la implementacin de la mquina virtual de Java en la mayora de navegadores. PHPen su versin 5 se ha modificado; soporta una orientacin completa a objetos, cumpliendo todas las caractersticas propias de la orientacin a objetos.

Conceptos Fundamentales La programacin orientada a objetos es una forma de programar que trata de encontrar una solucin a estos problemas. Introduce nuevos conceptos, que superan y amplan conceptos antiguos ya conocidos. Entre ellos destacan los siguientes: Clase Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ellas. Herencia (Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos mtodos y variables pblicas declaradas en C. Los componentes registrados como "privados" (private) tambin se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y slo pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para mantener hegemnico el ideal de POO. Objeto Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos), los mismos que consecuentemente

reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase. Mtodo Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema. Evento Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. Tambin se puede definir como evento la reaccin que puede desencadenar un objeto; es decir, la accin que genera. Atributos Caractersticas que tiene la clase Mensaje Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con ciertos parmetros asociados al evento que lo gener. Propiedad o atributo Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus caractersticas predeterminadas, y cuyo valor puede ser alterado por la ejecucin de algn mtodo. Estado interno Es una variable que se declara privada, que puede ser nicamente accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase. Caractersticas de la POO Fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros. La adicin de estas caractersticas a los lenguajes que no

fueron diseados inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento del cdigo. Los lenguajes orientados a objetos "puros", por su parte, carecan de las caractersticas de las cuales muchos programadores haban venido a depender. Para saltar este obstculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en mtodos orientados a objetos, pero permitiendo algunas caractersticas imperativas de maneras "seguras". Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a objetos", las caractersticas siguientes son las ms importantes:

Abstraccin: denota las caractersticas esenciales de un objeto, donde se capturan

sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Identidad: Expresa que aunque dos objetos sean exactamente iguales en sus

atributos, son distintos entre s.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse

pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.

Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una

aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos

mdulos se pueden compilar por separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad de diversas formas.

Re usabilidad: Indica que partes pueden ser reutilizados en la confeccin de otros

programas. Los objetos definidos pueden ser extrados e implantados en otro programa sin tener que realizar modificaciones al objeto

Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo

natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cmo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga derecho a acceder a ellas, solamente los propios mtodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden

compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin dinmica.

Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando una

jerarqua de clasificacin. 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. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un

comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple.

Recoleccin de basura: la recoleccin de basura o garbage collector es la tcnica

por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignacin o liberacin de memoria, ya que el entorno la asignar al crear un nuevo objeto y la liberar cuando nadie lo est usando.

LENGUAJE UNIFICADO DE MODELADO O UML Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en ingls, Unified Modeling Language) es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; est respaldado por el OMG (Object Management Group). Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes reutilizables. Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a una metodologa de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en s mismo qu metodologa o proceso usar. UML no puede compararse con la programacin estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una forma de

programar como lo es la orientacin a objetos, sin embargo, la programacin orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a objetos. UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.

El UML est compuesto por diversos elementos grficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las cuales se les conoce como modelo. Recordemos que un modelo es una representacin simplificada de la realidad; el modelo UML describe lo que supuestamente har un sistema, pero no dice cmo implementar dicho sistema. A continuacin se describirn los diagramas ms comunes del UML y los conceptos que representan: Diagrama de Clases Diagrama de Objetos Diagrama de Casos de Uso Diagrama de Estados Diagrama de Secuencias Diagrama de Actividades Diagrama de Colaboraciones Diagrama de Componentes Diagrama de Distribucin

Diagrama de Clases Los diagramas de clases describen la estructura esttica de un sistema. Las cosas que existen y que nos rodean se agrupan naturalmente en categoras. Una clase es una categora o grupo de cosas que tienen atributos (propiedades) y acciones similares. Un ejemplo puede ser la clase Aviones que tiene atributos como el modelo de avin, la cantidad de motores, la velocidad de crucero y la capacidad de carga til. Entre las acciones de las cosas de esta clase se encuentran: acelerar, elevarse, girar, descender, desacelerar. Un rectngulo es el smbolo que representa a la clase, y se divide en tres reas. Un diagrama de clases est formado por varios rectngulos de este tipo conectados por lneas que representan las asociaciones o maneras en que las clases se relacionan entre si. Clase Abstracta Las clases se representan con rectngulos divididos en tres reas: la superior contiene el nombre de la clase, la central contiene los atributos y la inferior las acciones. Clase Aviones En el rea superior figura el nombre de la clase que utilizamos como ejemplo, en la central estn sus atributos y en la inferior las acciones que ella realiza. Note que las acciones llevan parntesis al final del nombre dado que las mismas son funciones y por lo tanto devuelven un valor.

Asociaciones Las asociaciones son las que representan a las relaciones estticas entre las clases. El nombre de la asociacin va por sobre o por debajo de la lnea que la representa. Una flecha rellena indica la direccin de la relacin. Los roles se ubican cerca del final de una asociacin. Los roles presentan la manera en que dos clases se ven entre ellas. No es comn el colocar ambos nombres, el de la asociacin y el de los roles a la vez. Cuando una asociacin es calificada, el smbolo correspondiente se coloca al final de la asociacin, contra la clase que hace de calificador. Multiplicidad Las notaciones utilizadas para sealar la multiplicidad se colocan cerca del final de una asociacin. Estos smbolos indican el nmero de instancias de una clase vinculadas a una de las instancias de la otra clase. Por ejemplo, una empresa puede tener uno o ms empleados, pero cada empleado trabaja para una sola empresa solamente.

Diagrama de Objetos Los Diagramas de Objetos estn vinculados con los Diagramas de Clases. Un objeto es una instancia de una clase, por lo que un diagrama de objetos puede ser visto como una instancia de un diagrama de clases. Los diagramas de objetos describen la estructura esttica de un sistema en un momento particular y son usados para probar la precisin de los diagramas de clases.

Nombre de los objetos Cada objeto es representado como un rectngulo, que contiene el nombre del objeto y su clase subrayadas y separadas por dos puntos. Atributos Como con las clases, los atributos se listan en un rea inferior. Sin embargo, los atributos de los objetos deben tener un valor asignado

Diagrama de Casos de Uso Un caso de uso es una descripcin de las acciones de un sistema desde el punto de vista del usuario. Es una herramienta valiosa dado que es una tcnica de aciertos y errores para obtener los requerimientos del sistema, justamente desde el punto de vista del usuario. Los diagramas de caso de uso modelan la funcionalidad del sistema usando actores y casos de uso. Los casos de uso son servicios o funciones provistas por el sistema para sus usuarios. Sistema El rectngulo representa los lmites del sistema que contiene los casos de uso. Los actores se ubican fuera de los lmites del sistema. Casos de Uso Se representan con valos. La etiqueta en el valo indica la funcin del sistema. Actores Los actores son los usuarios de un sistema.

Relaciones Las relaciones entre un actor y un caso de uso, se dibujan con una lnea simple. Para relaciones entre casos de uso, se utilizan flechas etiquetadas "incluir" o "extender." Una relacin "incluir" indica que un caso de uso es necesitado por otro para poder cumplir una tarea. Una relacin "extender" indica opciones alternativas para un cierto caso de uso.

Diagrama de Estados En cualquier momento, un objeto se encuentra en un estado particular, la luz est encendida o apagada, el auto en movimiento o detenido, la persona leyendo o cantando, etc. El diagrama de estados UML captura esa pequea realidad. Estado El estado representa situaciones durante la vida de un objeto. Se representa con un rectngulo que tiene sus esquinas redondeadas. Transicin Una flecha representa el pasaje entre diferentes estados de un objeto. Se etiqueta con el evento que lo provoca y con la accin resultante. Estado Inicial Estado Final

Ejemplo de Diagrama de Estado

Diagrama de Secuencias Los diagramas de clases y los de objetos representan informacin esttica. No obstante, en un sistema funcional, los objetos interactan entre s, y tales interacciones suceden con el tiempo. El diagrama de secuencias UML muestra la mecnica de la interaccin con base en tiempos. Rol de la Clase El rol de la clase describe la manera en que un objeto se va a comportar en el contexto. No se listan los atributos del objeto. Activacin Los cuadros de activacin representan el tiempo que un objeto necesita para completar una tarea.

Diagrama de Actividades Un diagrama de actividades ilustra la naturaleza dinmica de un sistema mediante el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una operacin en alguna clase del sistema y que resulta en un cambio en el estado del sistema. Tpicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo interno de una operacin. Estados de Accin Los estados de accin representan las acciones no interrumpidas de los objetos.

Flujo de la Accin Los flujos de accin, representados con flechas, ilustran las relaciones entre los estados de accin.

Flujo de Objetos El flujo de objetos se refiere a la creacin y modificacin de objetos por parte de actividades. Una flecha de flujo de objeto, desde una accin a un objeto, significa que la accin est creando o influyendo sobre dicho objeto. Una flecha de flujo de objeto, desde un objeto a una accin, indica que el estado de accin utiliza dicho objeto.

Diagrama de Colaboraciones El diagrama de colaboraciones describe las interacciones entre los objetos en trminos de mensajes secuenciados. Los diagramas de colaboracin representan una combinacin de informacin tomada de los diagramas de clases, de secuencias y de casos de uso, describiendo el comportamiento, tanto de la estructura esttica, como de la estructura dinmica de un sistema. Rol de la Clase El rol de la clase describe cmo se comporta un objeto. Los atributos del objeto no se listan.

Rol de las Asociaciones Los roles de asociacin describen cmo se va a comportar una asociacin en una situacin particular. Se usan lneas simple etiquetadas con un estereotipo*. (ver al final del documento)

Mensajes Contrariamente a los diagramas de secuencias, los diagramas de colaboracin no tienen una manera explcita para denotar el tiempo, por lo que entonces numeran a los mensajes en orden de ejecucin. La numeracin puede anidarse; por ejemplo, para mensajes anidados al mensaje nmero 1: 1.1, 1.2, 1.3, etc. . La condicin para un mensaje se suele colocar entre corchetes. Para indicar un loop se usa * despus de la numeracin.

Diagrama de Componentes Un diagrama de componentes describe la organizacin de los componentes fsicos de un sistema. Componente Un componente es un bloque de construccin fsica del sistema.

Interface Una interface describe a un grupo de

operaciones usada o creada por componentes.

Dependencias Las dependencias entre componentes se grafican usando flechas de puntos.

Diagrama de Distribucin El diagrama de distribucin UML muestra la arquitectura fsica de un sistema informtico. Puede representar a los equipos y a los dispositivos, y tambin mostrar sus interconexiones y el software que se encontrar en cada mquina.

Nodo Un nodo es un recurso fsico capaz de ejecutar componentes de cdigo. . (Procesador)

Asociacin La asociacin se refiere a la conexin fsica entre los nodos, como por ejemplo Ethernet.

Componentes y Nodos

Algoritmo de la Interfaz

Inicio Mostrar Registro de Atletas de Potencia del Estado Guarico Mostrar imagen de ruta (fondo) Mostrar imagen de ruta (esquina) Botones de fondo; Bouttons label {Nombres y Apellidos cuadro de Texto

CI cuadro de texto} Radiobuttons Mostrar Sexo Femenino Masculino ; seleccin;

Buttons label{ Categoria cuadro de texto Edad cuadro de texto Peso cuadro de texto Button Registro Salir} Si (registro==verdadero) {mostrar (informacin guardad) Button Imprimir Si (imprimir==verdadero) { Buscar impresora conectada; } Si salir (salir==verdadero) {

Mostrarsaliendo del sistema; } Sino {Mostrar ingrese informacin completa} Fin

También podría gustarte