SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
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 para
promover la diferencia y la reflexión entre los conceptos: programación de
computadoras y la metodología de programación de computadores.                                  Algunos
aportes, unos aislados, otros coherentes, tienen fundamento en autores con
amplia trayectoria en el campo. Finalmente, lo que se busca es sentar posición
entre la diferencia que hay alrededor de ambos conceptos y las competencias que
cada sujeto debe tener para llevar a cabo cualquiera de ellas: programación o
metodologí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ón
estructurada o enfocada a los datos y otras más fruto de mezclas entre las
anteriores, aparece la Programación
Orientada a Objetos (POO), tal vez
reconocida como el paradigma1 de
programación más utilizado en la
disciplina     de     la    ingeniería      del
software en los últimos años.


La POO configura una serie de
nuevos enfoque a los retos que se plantean en la programación estructurada

1
 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 sus
respectivas flexiones. 3. m. Ling. Conjunto cuyos elementos pueden aparecer alternativamente en algún
contexto 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                  Ingeniería de Sistemas y Telecomunicaciones
                     METODOLOGÍA DE LA PROGRAMACIÓN



cuando los problemas a resolver son complejos. Al contrario que la programación
procedimental que enfatiza en los algoritmos, la POO enfatiza en los datos y las
acciones que estos requieren para ser manipulados. En lugar de intentar ajustar
un problema al enfoque procedimental de un lenguaje, POO intenta ajustar el
lenguaje al problema. La idea es diseñar formatos de datos que se correspondan
con 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 objetivo
central, facilitar la modelación y/o simulación del mundo real en un mundo
computacional. En el mundo real cada elemento se puede reconocer como un
OBJETO y un grupo de objetos que comparten características y/o propiedades se
pueden 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 y
esa 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 en
esta época donde oficialmente se le reconoce como paradigma), aparecieron
varios lenguajes orientados a objetos y también se realizaron versiones orientadas
a 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                       Ingeniería de Sistemas y Telecomunicaciones
                          METODOLOGÍA DE LA PROGRAMACIÓN



Resulta adecuado reconocer que la aparición de la programación orientada a
objetos tuvo eco algunos años después de su aparición, porque se empezaron a
comprobar 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 estamos
hablando de unas cuantas características nuevas añadidas a un lenguaje de
programación. Estamos hablando de una nueva forma de pensar acerca del
proceso de descomposición de problemas y de desarrollo de soluciones de
programación.


La programación orientada a objetos surge en la historia como un intento para
dominar 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 estructura
de control de flujo compleja e incomprensible. Un programa que se escribe a medida que se hace una
solicitud 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                    Ingeniería de Sistemas y Telecomunicaciones
                       METODOLOGÍA DE LA PROGRAMACIÓN



la forma de enfrentarse a esta complejidad era empleando lo que se conoce como
programación estructurada, que consiste en descomponer el problema objeto de
resolución en subproblemas y más subproblemas hasta llegar a acciones muy
simples 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 segundo
grado, descomponíamos el problema en las siguientes acciones: primero, pedir el
valor 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; por
ejemplo 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 de
procedimiento o función. Una función es simplemente un conjunto de instrucciones
que operan sobre unos argumentos y producen un resultado. De este modo, un
programa no es más que una sucesión de llamadas a funciones, ya sean éstas del
sistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por el
mismo usuario (M. Abadi, 1996).




                                                               Metodología de la programación
                                                              Prof. Luis Eduardo Peláez Valencia
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                   Ingeniería de Sistemas y Telecomunicaciones
                      METODOLOGÍA DE LA PROGRAMACIÓN



En   el     caso    de     los
lenguajes     orientados    a
objetos, como es el caso
de C++, PHP y Java, el
elemento básico no es la
función,    sino   un     ente
denominado precisamente
objeto. Un objeto es la
representación      en     un
programa de un concepto,
y    contiene      toda     la
información        necesaria
para abstraerlo: datos que
describen sus propiedades y operaciones que pueden realizarse sobre los
mismos. La programación orientada a objetos es una nueva forma de pensar, una
manera distinta de enfocar los problemas.


En resumen, la programación orientada a objetos es la acción de programar
computadoras que aparece por la trascendencia que debían tener los lenguajes
secuenciales, estructurados, imperativos, etc., para resolver los problemas que
cada vez se iban presentando con mayor complejidad. De ahí que su nombre
siempre especifique que es ORIENTADA; lo que quiere decir que tuvo una
concepción inicial de paradigmas tradicionales, pero que poco a poco se fue
acomodando a los objetos. Así, podemos reconocer entonces que también existe
un paradigma de objetos, el que no es orientado porque su filosofía de creación
siempre fueron las clases y los objetos.




                                                           Metodología de la programación
                                                          Prof. Luis Eduardo Peláez Valencia
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                       Ingeniería de Sistemas y Telecomunicaciones
                          METODOLOGÍA DE LA PROGRAMACIÓN



En su texto (Aragon M., 2005) asegura
que ―los lenguajes orientados a objetos,
en       algún   momento       partieron      de    un
lenguaje base que era de paradigmas
lineales y estructurados, y a medida que
iban        incorporando          mejoras          que
permitieran aplicar el paradigma orientado
a    objetos,     se    iban     convirtiendo        en
lenguajes orientados a objetos. Con base
en este argumento podemos decir, por
ejemplo, que Java no es orientado a
objetos sino un lenguaje de objetos; pues
desde su concepción se pensó en esta filosofía como el estándar del mismo. Java
es 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ácil
evadir 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 lograr
ciertos objetivos en una ciencia. La metodología también puede ser aplicada al
arte, a la ingeniería, en fin, a todas las disciplinas que requieran en su quehacer



3
 RAE metodología. (Del gr. μέθοδος, método, y -logía). 1. f. Ciencia del método. 2. f. Conjunto de métodos
que 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                  Ingeniería de Sistemas y Telecomunicaciones
                     METODOLOGÍA DE LA PROGRAMACIÓN



una observación rigurosa. Por lo tanto, la metodología es el conjunto de métodos
que 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 y
detalladas que precede a las acciones necesarias para concretar un proceso o
producto, 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 de
codificar, de interactuar con la máquina a través de una serie de símbolos o
instrucciones que, al escribirse, permiten que una computadora lleve a cabo
determinadas tareas. Esta acción de codificar no lleva inmerso el concepto del
profundo análisis de la necesidad, ni el estudio de las herramientas adecuadas, ni
la estimación del esfuerzo para lo que se va a generar, de tal manera que la
mayoría de las acciones quedan disponibles a lo que ocurra con la aplicación del
ensayo y error. No hay planeación previa de las acciones, por lo tanto, no se
puede 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                  Ingeniería de Sistemas y Telecomunicaciones
                     METODOLOGÍA DE LA PROGRAMACIÓN



problema tuvo su concepción, su análisis, su modelación, su desarrollo. Esta si es
una 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 desarrollar
dicha competencia y logre evidenciar diferencias entre la solución que resulta de
un problema abordado por profesionales y un problema abordado por personas
que 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 de
un programa que resuelve un problema algorítmico. Estas metodologías
generalmente se estructuran como una secuencia de pasos que parten de la
definició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, los
pasos 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
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
                   Ingeniería de Sistemas y Telecomunicaciones
                      METODOLOGÍA DE LA PROGRAMACIÓN



De esta forma, resulta importante seguir reflexionando y permitiendo el debate
entre la Programación Orientada a Objetos y la Metodología de la Programación.


BIBLIOGRAFÍA
Aragon 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.html
Izquierdo, L. (2007). Resources for computer modelling. Recuperado el 23 de 01 de 2011,
       de http://luis.izqui.org/resources.html
M. 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

Más contenido relacionado

La actualidad más candente

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradawinny_arias
 
49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacionIvan Moreno
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Maîck Ddz
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosAlberto Blumberg
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosCarlos Esteves
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...jose francisco arenas jimenez
 
Guia flash
Guia flashGuia flash
Guia flashnatalia
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosMarcelo Brocel
 
Taller campus party
Taller campus partyTaller campus party
Taller campus partycampus party
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Walter Javier Franck
 
Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónFacultad de Ciencias y Sistemas
 
La ingenieria como_profesion_contenido
La ingenieria como_profesion_contenidoLa ingenieria como_profesion_contenido
La ingenieria como_profesion_contenidoERNEYALBERTORAMIREZC
 
Metodologia para la_elaboracion_de_softw
Metodologia para la_elaboracion_de_softwMetodologia para la_elaboracion_de_softw
Metodologia para la_elaboracion_de_softwERNEYALBERTORAMIREZC
 

La actualidad más candente (18)

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion49949045 los-paradigmas-de-la-programacion
49949045 los-paradigmas-de-la-programacion
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo)
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
Tabla comparativa de paradigma de programacion estruturada y pradigma de prog...
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Guia flash
Guia flashGuia flash
Guia flash
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Taller campus party
Taller campus partyTaller campus party
Taller campus party
 
Deber analisis
Deber analisisDeber analisis
Deber analisis
 
Glosario
GlosarioGlosario
Glosario
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)
 
Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la Programación
 
La ingenieria como_profesion_contenido
La ingenieria como_profesion_contenidoLa ingenieria como_profesion_contenido
La ingenieria como_profesion_contenido
 
Metodologia para la_elaboracion_de_softw
Metodologia para la_elaboracion_de_softwMetodologia para la_elaboracion_de_softw
Metodologia para la_elaboracion_de_softw
 

Similar a 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

Qué es programación modular
Qué es programación modularQué es programación modular
Qué es programación modularAnitaBlen
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...Juan Morales
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaKurt_williams
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionSalvadorJimnez10
 
Programación
ProgramaciónProgramación
ProgramaciónTensor
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosWilliam Devia
 
Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Sandy Montoya Reyes
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programaciónMaría Alvarez
 
Introducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfIntroducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfEnrique137614
 

Similar a 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 (20)

POO
POOPOO
POO
 
Qué es programación modular
Qué es programación modularQué es programación modular
Qué es programación modular
 
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
1.1. conceptualizacion de_tecnologia_orientada_a_objetos_y_programacion_tradi...
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
Poovb
PoovbPoovb
Poovb
 
Informe
InformeInforme
Informe
 
Guia Yahveh
Guia YahvehGuia Yahveh
Guia Yahveh
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Programación
ProgramaciónProgramación
Programación
 
Teoría POO JAva.pdf
Teoría POO JAva.pdfTeoría POO JAva.pdf
Teoría POO JAva.pdf
 
Tabla sqa
Tabla sqaTabla sqa
Tabla sqa
 
Tabla sqa
Tabla sqaTabla sqa
Tabla sqa
 
Tabla sqa
Tabla sqaTabla sqa
Tabla sqa
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Introducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdfIntroducción a la Programación Orientada a Objetos.pdf
Introducción a la Programación Orientada a Objetos.pdf
 

Más de Luis Eduardo Pelaez Valencia

El Anteproyecto en el contexto de un Proyecto de Ingeniería
El Anteproyecto en el contexto de un Proyecto de IngenieríaEl Anteproyecto en el contexto de un Proyecto de Ingeniería
El Anteproyecto en el contexto de un Proyecto de IngenieríaLuis Eduardo Pelaez Valencia
 
El proyecto en Tecnología en Desarrollo de Software
El proyecto en Tecnología en Desarrollo de SoftwareEl proyecto en Tecnología en Desarrollo de Software
El proyecto en Tecnología en Desarrollo de SoftwareLuis Eduardo Pelaez Valencia
 
Sesión 01 presentación del curso investigación en tecnología-tds-public
Sesión 01 presentación del curso investigación en tecnología-tds-publicSesión 01 presentación del curso investigación en tecnología-tds-public
Sesión 01 presentación del curso investigación en tecnología-tds-publicLuis Eduardo Pelaez Valencia
 
Sesión 01-Presentación del Curso de Anteproyecto
Sesión 01-Presentación del Curso de AnteproyectoSesión 01-Presentación del Curso de Anteproyecto
Sesión 01-Presentación del Curso de AnteproyectoLuis Eduardo Pelaez Valencia
 
Presentación en Sala de Coordinadores-informe de escuela de pares
Presentación en Sala de Coordinadores-informe de escuela de paresPresentación en Sala de Coordinadores-informe de escuela de pares
Presentación en Sala de Coordinadores-informe de escuela de paresLuis Eduardo Pelaez Valencia
 
SQA versión 2: la calidad en el proceso y el producto
SQA versión 2: la calidad en el proceso y el productoSQA versión 2: la calidad en el proceso y el producto
SQA versión 2: la calidad en el proceso y el productoLuis Eduardo Pelaez Valencia
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9Luis Eduardo Pelaez Valencia
 
Pico y placa para dispositivos móviles en la casa
Pico y placa para dispositivos móviles en la casaPico y placa para dispositivos móviles en la casa
Pico y placa para dispositivos móviles en la casaLuis Eduardo Pelaez Valencia
 

Más de Luis Eduardo Pelaez Valencia (20)

Seguridad social presentacion.pptx
Seguridad social presentacion.pptxSeguridad social presentacion.pptx
Seguridad social presentacion.pptx
 
20180802 inicio-public
20180802 inicio-public20180802 inicio-public
20180802 inicio-public
 
El Anteproyecto en el contexto de un Proyecto de Ingeniería
El Anteproyecto en el contexto de un Proyecto de IngenieríaEl Anteproyecto en el contexto de un Proyecto de Ingeniería
El Anteproyecto en el contexto de un Proyecto de Ingeniería
 
El proyecto en Tecnología en Desarrollo de Software
El proyecto en Tecnología en Desarrollo de SoftwareEl proyecto en Tecnología en Desarrollo de Software
El proyecto en Tecnología en Desarrollo de Software
 
Sesión 01 presentación del curso investigación en tecnología-tds-public
Sesión 01 presentación del curso investigación en tecnología-tds-publicSesión 01 presentación del curso investigación en tecnología-tds-public
Sesión 01 presentación del curso investigación en tecnología-tds-public
 
Sesión 01-Presentación del Curso de Anteproyecto
Sesión 01-Presentación del Curso de AnteproyectoSesión 01-Presentación del Curso de Anteproyecto
Sesión 01-Presentación del Curso de Anteproyecto
 
Presentación en Sala de Coordinadores-informe de escuela de pares
Presentación en Sala de Coordinadores-informe de escuela de paresPresentación en Sala de Coordinadores-informe de escuela de pares
Presentación en Sala de Coordinadores-informe de escuela de pares
 
SQA versión 2: la calidad en el proceso y el producto
SQA versión 2: la calidad en el proceso y el productoSQA versión 2: la calidad en el proceso y el producto
SQA versión 2: la calidad en el proceso y el producto
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
 
SQA-Presentación ejecutiva del seminario-4x3
SQA-Presentación ejecutiva del seminario-4x3SQA-Presentación ejecutiva del seminario-4x3
SQA-Presentación ejecutiva del seminario-4x3
 
SQA-Propuesta de proyecto para el seminario
SQA-Propuesta de proyecto para el seminarioSQA-Propuesta de proyecto para el seminario
SQA-Propuesta de proyecto para el seminario
 
SQA-Presentación detallada del seminario-16x9
SQA-Presentación detallada del seminario-16x9SQA-Presentación detallada del seminario-16x9
SQA-Presentación detallada del seminario-16x9
 
Visibilidad de la producción académica
Visibilidad de la producción académicaVisibilidad de la producción académica
Visibilidad de la producción académica
 
Curso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeICurso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeI
 
Curso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeICurso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeI
 
Curso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeICurso de Estructuradores de Proyectos Red CTeI
Curso de Estructuradores de Proyectos Red CTeI
 
Política y Niveles de Educcación
Política y Niveles de EduccaciónPolítica y Niveles de Educcación
Política y Niveles de Educcación
 
Pico y placa para dispositivos móviles en la casa
Pico y placa para dispositivos móviles en la casaPico y placa para dispositivos móviles en la casa
Pico y placa para dispositivos móviles en la casa
 
Diccionario de Datos
Diccionario de DatosDiccionario de Datos
Diccionario de Datos
 
Taller 080364 sgbd-0102 - java&postgre sql
Taller 080364 sgbd-0102 - java&postgre sqlTaller 080364 sgbd-0102 - java&postgre sql
Taller 080364 sgbd-0102 - java&postgre sql
 

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

  • 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 para promover la diferencia y la reflexión entre los conceptos: programación de computadoras y la metodología de programación de computadores. Algunos aportes, unos aislados, otros coherentes, tienen fundamento en autores con amplia trayectoria en el campo. Finalmente, lo que se busca es sentar posición entre la diferencia que hay alrededor de ambos conceptos y las competencias que cada sujeto debe tener para llevar a cabo cualquiera de ellas: programación o metodologí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ón estructurada o enfocada a los datos y otras más fruto de mezclas entre las anteriores, aparece la Programación Orientada a Objetos (POO), tal vez reconocida como el paradigma1 de programación más utilizado en la disciplina de la ingeniería del software en los últimos años. La POO configura una serie de nuevos enfoque a los retos que se plantean en la programación estructurada 1 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 sus respectivas flexiones. 3. m. Ling. Conjunto cuyos elementos pueden aparecer alternativamente en algún contexto 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ÓN cuando los problemas a resolver son complejos. Al contrario que la programación procedimental que enfatiza en los algoritmos, la POO enfatiza en los datos y las acciones que estos requieren para ser manipulados. En lugar de intentar ajustar un problema al enfoque procedimental de un lenguaje, POO intenta ajustar el lenguaje al problema. La idea es diseñar formatos de datos que se correspondan con 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 objetivo central, facilitar la modelación y/o simulación del mundo real en un mundo computacional. En el mundo real cada elemento se puede reconocer como un OBJETO y un grupo de objetos que comparten características y/o propiedades se pueden 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 y esa 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 en esta época donde oficialmente se le reconoce como paradigma), aparecieron varios lenguajes orientados a objetos y también se realizaron versiones orientadas a 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ÓN Resulta adecuado reconocer que la aparición de la programación orientada a objetos tuvo eco algunos años después de su aparición, porque se empezaron a comprobar 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 estamos hablando de unas cuantas características nuevas añadidas a un lenguaje de programación. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposición de problemas y de desarrollo de soluciones de programación. La programación orientada a objetos surge en la historia como un intento para dominar 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 estructura de control de flujo compleja e incomprensible. Un programa que se escribe a medida que se hace una solicitud 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ÓN la forma de enfrentarse a esta complejidad era empleando lo que se conoce como programación estructurada, que consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples 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 segundo grado, descomponíamos el problema en las siguientes acciones: primero, pedir el valor 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; por ejemplo 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 de procedimiento o función. Una función es simplemente un conjunto de instrucciones que operan sobre unos argumentos y producen un resultado. De este modo, un programa no es más que una sucesión de llamadas a funciones, ya sean éstas del sistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por el mismo 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ÓN En el caso de los lenguajes orientados a objetos, como es el caso de C++, PHP y Java, el elemento básico no es la función, sino un ente denominado precisamente objeto. Un objeto es la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus propiedades y operaciones que pueden realizarse sobre los mismos. La programación orientada a objetos es una nueva forma de pensar, una manera distinta de enfocar los problemas. En resumen, la programación orientada a objetos es la acción de programar computadoras que aparece por la trascendencia que debían tener los lenguajes secuenciales, estructurados, imperativos, etc., para resolver los problemas que cada vez se iban presentando con mayor complejidad. De ahí que su nombre siempre especifique que es ORIENTADA; lo que quiere decir que tuvo una concepción inicial de paradigmas tradicionales, pero que poco a poco se fue acomodando a los objetos. Así, podemos reconocer entonces que también existe un paradigma de objetos, el que no es orientado porque su filosofía de creación siempre 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ÓN En su texto (Aragon M., 2005) asegura que ―los lenguajes orientados a objetos, en algún momento partieron de un lenguaje base que era de paradigmas lineales y estructurados, y a medida que iban incorporando mejoras que permitieran aplicar el paradigma orientado a objetos, se iban convirtiendo en lenguajes orientados a objetos. Con base en este argumento podemos decir, por ejemplo, que Java no es orientado a objetos sino un lenguaje de objetos; pues desde su concepción se pensó en esta filosofía como el estándar del mismo. Java es 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ácil evadir 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 lograr ciertos objetivos en una ciencia. La metodología también puede ser aplicada al arte, a la ingeniería, en fin, a todas las disciplinas que requieran en su quehacer 3 RAE metodología. (Del gr. μέθοδος, método, y -logía). 1. f. Ciencia del método. 2. f. Conjunto de métodos que 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ÓN una observación rigurosa. Por lo tanto, la metodología es el conjunto de métodos que 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 y detalladas que precede a las acciones necesarias para concretar un proceso o producto, 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 de codificar, de interactuar con la máquina a través de una serie de símbolos o instrucciones que, al escribirse, permiten que una computadora lleve a cabo determinadas tareas. Esta acción de codificar no lleva inmerso el concepto del profundo análisis de la necesidad, ni el estudio de las herramientas adecuadas, ni la estimación del esfuerzo para lo que se va a generar, de tal manera que la mayoría de las acciones quedan disponibles a lo que ocurra con la aplicación del ensayo y error. No hay planeación previa de las acciones, por lo tanto, no se puede 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ÓN problema tuvo su concepción, su análisis, su modelación, su desarrollo. Esta si es una 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 desarrollar dicha competencia y logre evidenciar diferencias entre la solución que resulta de un problema abordado por profesionales y un problema abordado por personas que 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 de un programa que resuelve un problema algorítmico. Estas metodologías generalmente se estructuran como una secuencia de pasos que parten de la definició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, los pasos 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ÓN De esta forma, resulta importante seguir reflexionando y permitiendo el debate entre la Programación Orientada a Objetos y la Metodología de la Programación. BIBLIOGRAFÍA Aragon 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.html Izquierdo, L. (2007). Resources for computer modelling. Recuperado el 23 de 01 de 2011, de http://luis.izqui.org/resources.html M. 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