UNIVERSIDAD POLITECNICA SALESIANA INGENIERIA EN SISTEMAS ASIGNATURA: INTRODUCCION A LA INFOMATICA ALUMNO: ELIAS ORTEGA COBEÑA KATERINE TOMALA GRUPO: 5143 PROGRAMACIÓN ORIENTADA A OBJETOS (POO) Planteamiento del Problema. Tradicionalmente la programación fue hecha en una manera secuencial o lineal, es decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones. Los lenguajes basados en esta forma de programación ofrecían ventajas al principio, pero el problema ocurre cuando los sistemas se vuelven complejos. Estos programas escritos no ofrecen flexibilidad y el mantener una gran cantidad de líneas de código en sólo bloque se vuelve una tarea complicada. Frente a esta dificultad aparecieron los lenguajes basados en la programación estructurada. De esta manera tenemos un diseño modular, compuesto por módulos independientes que puedan comunicarse entre sí. Entonces, vemos que la evolución que se fue dando en la programación se orientaba siempre a ir descomponiendo más el programa. Este tipo de descomposición conduce directamente a la programación orientada a objetos. [1]. Pues la creciente tendencia de crear programas cada vez más grandes y complejos llevó a los desarrolladores a crear una nueva forma de programar que les permita crear sistemas de niveles empresariales y con reglas de negocios muy complejas. Para estas necesidades ya no bastaba la programación estructurada ni mucho menos la programación lineal. Es así como aparece la programación orientada a objetos (POO-UML). La POO-UML viene de la evolución de la programación estructurada. La POO-UML se basa en dividir el programa en pequeñas unidades lógicas de código. A estas pequeñas unidades lógicas de código se les llama objetos. [2]. 1. PÉREZ Gustavo Guillermo. Aprendiendo Java y POO. Editorial no mencionado, lunes 11 de febrero de 2008, Numero de paginas 73. 2. ZELAYA Luis. Programación Orientada a Objetos Segunda Edición.Editorial no mencionado, 10/05/2009. Numero de paginas 89. Formulación y Sistematización. ¿Qué tan difícil es programar mediante el paradigma Orientado a Objetos? La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO. El dominio de la programación orientada a objetos es, sin duda, uno de los paradigmas más codiciado por los programadores. La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. ¿Por qué deberíamos programar Orientado a Objetos? Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Que es una serie de normas de realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. Objetivos de la investigación. Objetivo General. Dar una introducción explicita y básica de la Programación Orientada a Objetos, dando a mostrar todas las ventajas y beneficios sobre la utilidad de este paradigma y porque fue creada. Objetivos Específicos Identificar las características que distinguen la POO de otros paradigmas de programación. Aprender a analizar problemas desde el enfoque orientado a objetos. Diferenciar los conceptos básicos de la programación orientada a objetos. Conclusión y recomendaciones. Justificación La Programación Orientada a Objetos cada vez toma mayor fuerza, y es que hay razones muy fuertes para empezar a cambiar los paradigmas de la programación estructurada. Uno de los principales motivos por los cuales nació POO, es evitar construir “dos veces la misma rueda”, es decir, impedir que los programadores redunden o dupliquen líneas de código innecesariamente, tratando de hacer que las aplicaciones sean cada vez más genéricas y reutilizables en futuros proyectos. Consideramos conveniente realizar esta investigación ya que nos permite nutrir un poco más nuestros conocimientos acerca de la Programación Orientada a Objetos (OPP) y ya que hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño. Marco de referencia Hemos considerado importante la Programación Orientada a Objetos (UML) porque en la actualidad en el desarrollo del software tenemos a UML como un estándar para el modelado de sistemas orientados a objetos, además que UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base al paradigma orientado a objetos. La programación orientada a objetos surge con la necesidad de solucionar problemas tales como creación de software ya que esta nos facilita su creación haciendo que sea un software de calidad debido a que fomenta su fácil mantenimiento y reutilización de componentes software, además trata de amoldarse al modo de pensar del hombre y no al de la máquina debido a la forma como se manejan las abstracciones y las propiedades correspondientes, de esta manera nos permite desarrollar sistemas más complejos relacionados al mundo real creando programas visuales y facilitando el trabajo en equipo y recudiendo también el costo tanto en términos de tiempo como de dinero. Referencias bibliográficas PÉREZ Gustavo Guillermo. Aprendiendo Java yProgramación Orientada a Objetos. Editorial no mencionado, lunes 11 de febrero de 2008, Numero de paginas 73. Hipótesis La Programación Orientada a Objetos (POO) surge debido al aumento del desarrollo de código y la complejidad de los sistemas. Métodos El método deductivo nos ayudara a identificar posibles conclusiones finales a partir de los enunciados. El método analítico nos permitirá descomponer todo el contenido en partes para ir analizando cada una de ellas lo cual nos permitirá aceptar o rechazar la hipótesis planteada. El método cuantitativo permite describir temas como objetos, clases y todo lo relacionado al tema tratado. También se va a partir de temas particulares para de esta manera poder concluir porque surgió la necesidad de crear la POO. Temario Introducción La programación Orientada a Objetos es un paradigma de programación que cambia la forma de “ver” las cosas. Todo programador aprende a analizar y solucionar problemas en forma secuencial. Pero, con POO, es mucho más fácil para dar mantenimiento a las aplicaciones. El término de Programación Orientada a Objetos indica más una forma de diseño y una metodología de desarrollo de software que un lenguaje de programación, ya que en realidad se puede aplicar el Diseño Orientado a Objetos (En inglés abreviado OOD, ObjectOrientedDesign), a cualquier tipo de lenguaje de programación. El desarrollo de la OOP empieza a destacar durante la década de lo 80 tomando en cuenta la programación estructurada, a la que engloba y dotando al programador de nuevos elementos para el análisis y desarrollo de software. Capítulo I Identificar las características que distinguen la POO de otros paradigmas de programación. En este capítulo veremos como la programación ha cambiado de estilo y de paradigma al pasar el tiempo para mejorar la calidad de nuestro código. El objetivo de este capítulo es aprender diferenciar la programación estructurada de la POO de manera teórica. 1.1 Primeros pasos en la POO, Una Perspectiva Histórica. 1.2 ¿Cuáles son las ventajas de un lenguaje orientado a objetos? 1.3 Objetivos de la POO 1.4 ¿Qué es UML? Capitulo II Aprender a analizar problemas desde el enfoque orientado a objetos. En este capítulo nos vamos a introducir en el mar de la programación orientada a objetos yolvidarnos para siempre de la repetición de código. Veremos las ventajas de la POO. 2.1 Definición de Objeto, métodos, propiedades y atributos. 2.2 ¿Qué es una clase? 2.3 ¿Qué es herencia? 2.4 ¿Qué es polimorfismo? Capitulo III Diferenciar los conceptos básicos de la programación orientada a objetos. En este capítulo vamos aprender analizar y aplicar lo aprendido en el capítulo II a los diferentes problemas que nos encontramos con la programación estructurada. 3.1 Análisis y diseño Orientado a Objeto. 3.2 Análisis de Aplicación 3.3 Diseño de Aplicación Capitulo IV Conclusiones y recomendaciones Referencias Bibliografías. Conceptos de la Programación Orientada a Objetos MORENO Francisco. Introducción a la OOP. Versión 1.0.0. Grupo EIDOS. 1999-2000. Numero de paginas 48 PÉREZ Gustavo Guillermo. Aprendiendo Java yProgramación Orientada a Objetos. Editorial no mencionado, lunes 11 de febrero de 2008, Numero de paginas 73. ZELAYA Luis. Programación Orientada a Objetos Segunda Edición. Editorial no mencionado, 10/05/2009. Numero de paginas 89. Rubin, K.S.; Goldberg, A. ObjectBehaviourAnalysis. Comm. ofthe ACM, vol. 35 no. 9, pp. 48-62, September 1992. Lenguajes de programación orientada a objetos Alfonseca, M. Multimedia Ediciones S.A. Curso IBM de Programación, Unidades 38 a 41. Alfonseca, M. Frames, Semantic Networks and Object-OrientedProgramming in APL2. IBM J. Res. Dev., 33:5, p. 502-510, Sep. 1989. Cox, Brad. Object-orientedProgramming: anevolutionaryapproach. Addison-Wesley, 1986. Hopkins, T. A firstCourse in Smalltalk 80. Prentice Hall, Inc., EnglewoodCliffs, NJ, 1991. Presupuesto. DETALLE Hojas para borrador Horas de internet Elaboración CANTIDAD 20 18 VALOR UNITARIO 0.02 0.50 0.00 VALOR TOTAL 0.40 9.00 0.00 TOTAL 9.40 Cronograma. Tiempo Actividades Elección del tema Recolección de información Elaboración del proyecto Revisión del primer borrador Corrección del primer borrador Primera presentación MESES 1 2 x x x Junio 3 x x 4 x x x 1 x 2 Julio 3 4