Your SlideShare is downloading. ×
U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 el concepto de la programación y la metodología
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

U1T2 - El concepto de la programación Vs el concepto de la MetodologíaU1 t2 el concepto de la programación y la metodología

992
views

Published on

La importancia de reflexionar sobre la diferencia entre Programación Orientada a Objetos y Metodología de la Programación Orientada a Objetos. Puede solicitar informacion adicional a …

La importancia de reflexionar sobre la diferencia entre Programación Orientada a Objetos y Metodología de la Programación Orientada a Objetos. Puede solicitar informacion adicional a luiseduardo.pelaez@gmail.com


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
992
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓN UNIDAD I – TEMA II EL CONCEPTO DE LA PROGRAMACIÓN Vs EL CONCEPTO DE METODOLOGÍA: ALGUNOS APORTES QUE PUEDEN INICIAR LA DISCUSIÓN ALREDEDOR DE SU DIFERENCIA.El presente documento pretende entregar algunos aportes que servirán parapromover la diferencia y la reflexión entre los conceptos: programación decomputadoras y la metodología de programación de computadores. Algunosaportes, unos aislados, otros coherentes, tienen fundamento en autores conamplia trayectoria en el campo. Finalmente, lo que se busca es sentar posiciónentre la diferencia que hay alrededor de ambos conceptos y las competencias quecada sujeto debe tener para llevar a cabo cualquiera de ellas: programación ometodología.  LA PROGRAMACIÓN ORIENTADA A OBJETOS: ALGUNOS APUNTES, REFLEXIONES E HISTORIA SOBRE EL PARADIGMA.Después de la programación secuencial, la programación lineal, la programaciónestructurada o enfocada a los datos y otras más fruto de mezclas entre lasanteriores, aparece la ProgramaciónOrientada a Objetos (POO), tal vezreconocida como el paradigma1 deprogramación más utilizado en ladisciplina de la ingeniería delsoftware en los últimos años.La POO configura una serie denuevos enfoque a los retos que se plantean en la programación estructurada1 RAE. paradigma. (Del lat. paradigma, y este del gr. παράδειγμα). 1. m. Ejemplo o ejemplar. 2. m. Ling.Cada uno de los esquemas formales en que se organizan las palabras nominales y verbales para susrespectivas flexiones. 3. m. Ling. Conjunto cuyos elementos pueden aparecer alternativamente en algúncontexto especificado; p. ej., niño, hombre, perro, pueden figurar en El -- se queja. Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 2. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNcuando los problemas a resolver son complejos. Al contrario que la programaciónprocedimental que enfatiza en los algoritmos, la POO enfatiza en los datos y lasacciones que estos requieren para ser manipulados. En lugar de intentar ajustarun problema al enfoque procedimental de un lenguaje, POO intenta ajustar ellenguaje al problema. La idea es diseñar formatos de datos que se correspondancon las características esenciales de un problema. (BROOKSHEAR, 2006)Desde su concepción y a través de su historia, la POO ha tenido como objetivocentral, facilitar la modelación y/o simulación del mundo real en un mundocomputacional. En el mundo real cada elemento se puede reconocer como unOBJETO y un grupo de objetos que comparten características y/o propiedades sepueden identificar como una CLASE. Así, La POO permite fabricar programas de forma más parecida al pensamiento humano. De hecho simplifica el problema dividiéndolo en objetos y permitiendo centrarse en cada objeto, para de esa forma eliminar la complejidad. Cada objeto se programa de forma autónoma yesa es la principal virtud. Al aparecer la programación orientada a objetos (1980’s.Aunque se reconoce la aparición de Simula 67 como sus primeros pasos, es enesta época donde oficialmente se le reconoce como paradigma), aparecieronvarios lenguajes orientados a objetos y también se realizaron versiones orientadasa objetos (o semi—orientadas a objetos) de lenguajes clásicos. (Sánchez, 2004). Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 3. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNResulta adecuado reconocer que la aparición de la programación orientada aobjetos tuvo eco algunos años después de su aparición, porque se empezaron acomprobar las bondades que sus antecesores tenían como problemas:  Un código enmarañado (código spaghetti2) por un código más organizado y comprensible.  La independencia de los conceptos: antes, quien hacía un programa también debía diseñar los datos que soportarían los flujos de ese programa. Ahora hay independencia absoluta entre los procesos, las acciones, los eventos y los almacenes de datos a los que llegará la información resultante (Ullman., 1994).  La reusabilidad: en los paradigmas anteriores a la POO cada necesidad tenía que ser programada, aunque entre requisito y requisito existiera una mínima diferencia. Lo máximo que lograban los programadores para ahorrar tiempo erra copiar el código de una función o un procedimiento en otro nuevo para hacer los cambios del nuevo proceso. Ahora, con la reusabilidad se permite que un componente pueda ser utilizado para varios sistemas sin que requiera modificación. Entre otros.Es importante destacar que cuando hacemos referencia a la POO no estamoshablando de unas cuantas características nuevas añadidas a un lenguaje deprogramación. Estamos hablando de una nueva forma de pensar acerca delproceso de descomposición de problemas y de desarrollo de soluciones deprogramación.La programación orientada a objetos surge en la historia como un intento paradominar la complejidad que, de forma innata, posee el software. Tradicionalmente,2 El código spaghetti es un término peyorativo para los programas de computación que tienen una estructurade control de flujo compleja e incomprensible. Un programa que se escribe a medida que se hace unasolicitud o se detecta un problema; sin control de documentación, sin metodología, sin reglas. Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 4. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNla forma de enfrentarse a esta complejidad era empleando lo que se conoce comoprogramación estructurada, que consiste en descomponer el problema objeto deresolución en subproblemas y más subproblemas hasta llegar a acciones muysimples y fáciles de codificar. Se trata de descomponer el problema en acciones,en verbos. En el ejemplo de un programa que resuelva ecuaciones de segundogrado, descomponíamos el problema en las siguientes acciones: primero, pedir elvalor de los coeficientes a, b y c; después, calcular el valor del discriminante; y porúltimo, en función del signo del discriminante, calcular ninguna, una o dos raíces.Como podemos ver, descomponíamos el problema en acciones, en verbos; porejemplo el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular…(Izquierdo, 2007) La POO es otra forma de descomponer problemas. Este nuevo método de descomposición es la descomposición en objetos; fijarse no en lo que hay que hacer en el problema, sino en cuál es el escenario real del mismo, e intentar simular ese escenario en nuestro programa. (Idem)Los lenguajes de programación tradicionales no orientados a objetos, como C,Pascal, BASIC, o Modula-2, basan su funcionamiento en el concepto deprocedimiento o función. Una función es simplemente un conjunto de instruccionesque operan sobre unos argumentos y producen un resultado. De este modo, unprograma no es más que una sucesión de llamadas a funciones, ya sean éstas delsistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por elmismo usuario (M. Abadi, 1996). Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 5. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNEn el caso de loslenguajes orientados aobjetos, como es el casode C++, PHP y Java, elelemento básico no es lafunción, sino un entedenominado precisamenteobjeto. Un objeto es larepresentación en unprograma de un concepto,y contiene toda lainformación necesariapara abstraerlo: datos quedescriben sus propiedades y operaciones que pueden realizarse sobre losmismos. La programación orientada a objetos es una nueva forma de pensar, unamanera distinta de enfocar los problemas.En resumen, la programación orientada a objetos es la acción de programarcomputadoras que aparece por la trascendencia que debían tener los lenguajessecuenciales, estructurados, imperativos, etc., para resolver los problemas quecada vez se iban presentando con mayor complejidad. De ahí que su nombresiempre especifique que es ORIENTADA; lo que quiere decir que tuvo unaconcepción inicial de paradigmas tradicionales, pero que poco a poco se fueacomodando a los objetos. Así, podemos reconocer entonces que también existeun paradigma de objetos, el que no es orientado porque su filosofía de creaciónsiempre fueron las clases y los objetos. Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 6. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNEn su texto (Aragon M., 2005) aseguraque ―los lenguajes orientados a objetos,en algún momento partieron de unlenguaje base que era de paradigmaslineales y estructurados, y a medida queiban incorporando mejoras quepermitieran aplicar el paradigma orientadoa objetos, se iban convirtiendo enlenguajes orientados a objetos. Con baseen este argumento podemos decir, porejemplo, que Java no es orientado aobjetos sino un lenguaje de objetos; puesdesde su concepción se pensó en esta filosofía como el estándar del mismo. Javaes lenguaje de un solo paradigma: el de clases y objetos.‖  LA METODOLOGÍA DE LA PROGRAMACIÓN: DIFERENCIACIÓN CON LA ACCIÓN DE CODIFICIAR O PROGRAMAR.Hablar de metodología3 resulta confuso, engorroso y un término que es más fácilevadir que enfrentar, sobre todo en programas donde la norma es hablar de TICs(Tecnologías de Información y Comunicación).El concepto hace referencia a los métodos de investigación que permiten lograrciertos objetivos en una ciencia. La metodología también puede ser aplicada alarte, a la ingeniería, en fin, a todas las disciplinas que requieran en su quehacer3 RAE metodología. (Del gr. μέθοδος, método, y -logía). 1. f. Ciencia del método. 2. f. Conjunto de métodosque se siguen en una investigación científica o en una exposición doctrinal. Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 7. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNuna observación rigurosa. Por lo tanto, la metodología es el conjunto de métodosque rigen una investigación científica o en una exposición doctrinal.En otras palabras la metodología es una etapa o conjunto de etapas específicas ydetalladas que precede a las acciones necesarias para concretar un proceso oproducto, y que procede de una posición teórica, analítica, epistemológica.Así, hablar de PROGRAMACIÓN es comúnmente un llamado a la acción decodificar, de interactuar con la máquina a través de una serie de símbolos oinstrucciones que, al escribirse, permiten que una computadora lleve a cabodeterminadas tareas. Esta acción de codificar no lleva inmerso el concepto delprofundo análisis de la necesidad, ni el estudio de las herramientas adecuadas, nila estimación del esfuerzo para lo que se va a generar, de tal manera que lamayoría de las acciones quedan disponibles a lo que ocurra con la aplicación delensayo y error. No hay planeación previa de las acciones, por lo tanto, no sepuede medir si los resultados son o eran los esperados. Visto de esta forma,puede ser una competencia del hacer que se logra desarrollar mediante estudios técnicos y/o tecnológicos, niveles a quienes está encomendado el hacer y el saber hacer. Sin embargo, hablar de METODOLOGÍA lleva a trabajar en una serie de estrategias organizadas que permiten visualizar, desde el todo hasta el detalle, la forma en que la solución a un Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 8. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNproblema tuvo su concepción, su análisis, su modelación, su desarrollo. Esta si esuna competencia que requiere una formación más exigente que el nivel técnico.Por ello es un llamado a que el personal dedicado a la ingeniería, logre desarrollardicha competencia y logre evidenciar diferencias entre la solución que resulta deun problema abordado por profesionales y un problema abordado por personasque no alcanzan dicho nivel de formación.Una metodología de programación es un conjunto o sistema de métodos,principios y reglas que permiten enfrentar de manera sistemática el desarrollo deun programa que resuelve un problema algorítmico. Estas metodologíasgeneralmente se estructuran como una secuencia de pasos que parten de ladefinición del problema y culminan con un programa que lo resuelve (Giraldo &Niño, 2009). A continuación se presenta de manera general, no tan compleja, lospasos de una metodología de programación:  El diálogo, estudio de campo o establecimiento de requisitos: con la cual se busca comprender totalmente el problema a resolver  La especificación, validación o educción: con la cual se establece de manera precisa las entradas, salidas y las condiciones que deben cumplir  El diseño o la modelación: en esta etapa se construyen los elementos o artefactos necesarios para que respondan de manera coherente a la solución (algoritmos, modelos, etc).  La codificación o programación: la acción de traducir el diseño o la modelación a un lenguaje de programación  Prueba y verificación: se realizan pruebas del programa codificado con el objetivo de encontrar errores que no han sido detectados previamente.  Documentos: sistematización de la documentación requerida para su implementación. Metodología de la programación Prof. Luis Eduardo Peláez Valencia
  • 9. FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA Ingeniería de Sistemas y Telecomunicaciones METODOLOGÍA DE LA PROGRAMACIÓNDe esta forma, resulta importante seguir reflexionando y permitiendo el debateentre la Programación Orientada a Objetos y la Metodología de la Programación.BIBLIOGRAFÍAAragon M., F. (2005). Introducción a la Programación Orientada a Objetos. Madrid.BROOKSHEAR, J. G. (2006). Computer Science, Eigth ed. Boston (USA): Pearson/Addison- Wesley.Giraldo, G., & Niño, L. (03 de 09 de 2009). Universidad Nacional de Colombia, Dirección Nacional de Servicios Académicos Virtuales. Recuperado el 26 de 11 de 2010, de http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/index.htmlIzquierdo, L. (2007). Resources for computer modelling. Recuperado el 23 de 01 de 2011, de http://luis.izqui.org/resources.htmlM. Abadi, L. C. (1996). A Theory of Objects (Paradigma Orientado Objeto). Springer.Sánchez, J. (2004). JAVA 2. Madrid: Sánchez, Jorge. Bajo Lic. Creative Commons.Ullman., J. D. (1994). ML Programming. (Paradigma Declarativo Funcional, ML). Prentice Hall. Metodología de la programación Prof. Luis Eduardo Peláez Valencia