SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
´                  ´
                      Evolucion de la Programacion
                          Orientada a Objetos

                                           Dr. Luis Gerardo de la Fraga

                                            Departamento de Computaci´n  o
                                                        Cinvestav
                                            Correo-e: fraga@cs.cinvestav.mx


                                             7 de diciembre de 2006




Dr. Luis Gerardo de la Fraga   Cinvestav      Evoluci´n de la Programaci´n Orientada a Objetos
                                                     o                  o                        1/32
´
   Motivacion



                               Se presentar´ en esta charla:
                                           a
                                      Una revisi´n hist´rica del
                                                o      o
                                      paradigma OO
                                      Situar OO contra otros
                                      paradigmas, en especial los
                                      lenguajes de muy alto nivel
                                      Una cr´
                                            ıtica personal a la
                                      programaci´n OO
                                                 o




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        2/32
Contenido




                Introducci´n
                          o
                Antecedentes de la programaci´n OO
                                             o
                Caracter´
                        ısticas del modelo OO
                Comparaci´n entre lenguajes OO
                         o
                Clasificaci´n de los metodolog´ OO
                          o                  ıas
                Los lenguajes de muy alto nivel
                ¿Cu´l es el mejor paradigma?
                   a




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        3/32
´
   Introduccion (1/3)




                La programaci´n OO empez´ hace 30 a˜os
                             o          o          n
                En los 1990s se increment´ dram´ticamente la demanda para
                                           o    a
                sistemas de software OO, por la promesa en la revoluci´n en
                                                                      o
                el desarrollo de software.
                Han aparerecido varias metodolog´ para el desarrollo de
                                                   ıas
                software, que tienen que ver con algunas o todas las fases del
                ciclo de vida del software, desde los requerimientos al
                mantenimiento.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        4/32
´
   Introduccion (2/3)


        Algunas caracter´
                        ısticas importantes de los sistemas de software
        actuales son:
                Complejidad: la arquitectura interna de los sistemas actuales
                de software es compleja, incluyen frecuentemente concurrencia
                y paralelismo. La abstracci´n en terminos de conceptos de OO
                                           o
                es una t´cnica que ayuda a tratar con la complejidad.
                        e
                Amigabilidad: Este es un requerimiento de suma importancia
                para los sistemas de software en general.
                Reusabilidad: Tomar componentes creados por otros es mejor
                que crearlos nuevos. La herencia es un mecanismo de OO que
                estimula la reusabilidad del software. Facilita el r´pido
                                                                    a
                desarrollo del software.



Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        5/32
´
   Introduccion (3/3)




        Las razones del r´pido desarrollo en los ultimos 15 a˜os han sido:
                         a                       ´           n
                Una mejor modelaci´n de aplicaciones del mundo real
                                  o
                La posibilidad del reuso del software durante el desarrollo de
                un sistema de software




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        6/32
Antecedentes (1/2)




                       Simulación          Sistemas             Abstracción            Inteligencia
                       de sistemas         operativos            de datos                artificial
                                                                  Tipos de
                                       Monitores                   datos
                   Clases +                                      abstractos +             Marcos
                     objetos                                    encapsulación

                                                Paradigma
                                             Orientado a Objetos




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        7/32
Antecedentes (2/2)




        La caracter´
                   ıstica com´n de estas ideas es que un objeto es una
                               u
        entidad l´gica o f´
                 o        ısica que est´ autocontenida.
                                       a




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        8/32
Caracter´
           ısticas


                OO se define por herencia, encapsulaci´n, m´todos y
                                                     o    e
                mensajes, como en Smalltalk.
                OO se define encapsulaci´n, abstracci´n de datos, m´todos,
                                         o            o           e
                mensajes, herencia y vinculaci´n din´mica.
                                              o     a
                Es un modelo de simula el comportamiento ya sea de una
                parte del mundo real o imaginario.
                Objetos, clases y herencia. Los objetos son entidades
                aut´nomas que tienen un estado y responden a mensajes. Las
                    o
                clases agrupan los objetos por sus atributos y operaciones.
                Todas tienen el com´n de usar objetos como una
                                    u
                encapsulaci´n para proteger los datos con todas las
                           o
                operaciones legales que actuan sobre esa informaci´n oculta.
                                                                  o



Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        9/32
´
   Comparacion entre lenguajes OO (1/4)


                                                 Ensamblador
              50s
                                                      Fortran

              60s               Lisp                  Algol

                                                    Simula                                 Pascal
              70s
                                     Smalltalk                   C     Ada      CLU
                                              Beta                                           Modula−2
                                                      C++
              80s
                      Flavors              Actor
                       Loops               POOL−T            C−Objetivo                      Pascal Objetivo
                       CLOS                ABCL                              Eiffel          Modula−3
                                           Orient84
              90s
                                                      Java




Dr. Luis Gerardo de la Fraga   Cinvestav       Evoluci´n de la Programaci´n Orientada a Objetos
                                                      o                  o                          10/32
´
   Comparacion entre lenguajes OO (2/4)



        Lenguaje ensamblador:
                Intrucciones de m´quina (operadores) que manipulan en
                                 a
                contenido de localidades de memoria (operandos)
        Lenguaje de alto nivel:
                Operadores se vuelven declaraciones y los operandos en
                variables y estructuras de datos.
        Los programas est´n compuestos de de una colecci´n de variables
                          a                              o
        que representan alg´n dato y un conjunto de procedimientos que
                            u
        manipulan esas variables.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        11/32
´
   Comparacion entre lenguajes OO (3/4)

          Caracter´
                  ısticas            Tipos      Apoyo           Vinculaci´n
                                                                         o           Biblioteca
          X                          de         de              din´mica
                                                                   a                 extensa
          Lenguajes                  datos      herencia
          Simula                     Si         Si              Si                   No
          CLU                        Si         No              Si                   No
          Ada                        Si         No              No                   Si
          Smalltalk                  Si         Si              Si                   Si
          C Objetivo                 Si         Si              Si                   Si
          C++                        Si         Si              Si                   Si
          CLOS                       Si         Si              Si                   No
          Pascal Obj.                Si         Si              Si                   No
          Beta                       Si         Si              Si                   No
          Eiffel                      Si         Si              Si                   Si
          Actor                      Si         Si              Si                   No
          Java                       Si         Si              Si                   Si



Dr. Luis Gerardo de la Fraga   Cinvestav     Evoluci´n de la Programaci´n Orientada a Objetos
                                                    o                  o                        12/32
Clasificacion de los metodolog´ OO (1/6)
              ´                  ıas




        Varios m´todos han sido propuestos para sistematizar el proceso de
                 e
        vida del software. Y muchas metodolog´ de desarrollo de software
                                               ıas
        han sido propuestas, y ´stas pueden clasificarse en tres categor´
                               e                                       ıas:
                Descomposici´n funcional.
                            o
                Enf´sis en datos, m´s que en funciones.
                   a               a
                Ambos puntos de vista: funcional y datos.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        13/32
Clasificacion de los metodolog´ OO (2/6)
              ´                  ıas




                Descomposici´n funcional:
                             o
                Dise˜o Estructural, Refinamiento por Pasos.
                    n
                Enf´sis en datos, m´s que en funciones:
                   a               a
                Programaci´n Estructurada, Modelo Entidad-Relaci´n
                           o                                    o
                Ambos puntos de vista: funcional y datos:
                An´lisis Estructural, An´lisis de Sistemas Estructurados,
                  a                     a
                An´lisis de Sistemas Estructurados y Metodolog´ de Dise˜o.
                  a                                              ıa       n




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        14/32
Clasificacion de los metodolog´ OO (3/6)
              ´                  ıas




        Desarrollo estructural:
        An´lisis estructural, dise˜o estructural y programaci´n
           a                      n                          o
        estructurada.

        Aplicar primero el dise˜o estructural y luego la proximaci´n
                               n                                  o
        orientada a objetos resulta en problemas dado que no se puede
        mapear apropiadamente las funciones en objetos.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        15/32
Clasificacion de los metodolog´ OO (4/6)
              ´                  ıas




        Metodolog´ “orientadas a objetos”:
                 ıas
                Adaptaci´n: mezclar una aproximaci´n orientada a objetos
                         o                        o
                con una metodolog´ bien conocida de desarrollo estructural.
                                 ıa
                Asimilaci´n: usar una metodolog´ orientada a objetos para
                          o                         ıa
                desarrollar sistemas de software, pero que siguen el modelo
                tradicional del ciclo de vida del software.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        16/32
Clasificacion de los metodolog´ OO (5/6)
              ´                  ıas

                               Análisis                                           Análisis
                               Estructurado                                       Orientado a
                                                        Análisis
                                                                                  Objetos
                               Diagramas de
                               Flujo de datos +                                   Diagramas de
                               MRE                                                clases


                                                                                  Diseño
                               Diseño
                                                                                  Orientado a
                               estructural                 Diseño
                                                                                  Objetos
                               Tablas de
                                                                                  Diagramas de
                               estructura
                                                                                  clases + objetos


                               Programación                                       Programación
                               estructurada             Realización               Orientada a
                                                                                  Objetos
                               Datos
                               Estructuras +                                      Tipos de datos
                               Funciones                                          abstractos +
                                                                                  Herencia


Dr. Luis Gerardo de la Fraga    Cinvestav      Evoluci´n de la Programaci´n Orientada a Objetos
                                                      o                  o                           17/32
Clasificacion de los metodolog´ OO (6/6)
              ´                  ıas




        La orientaci´n a objetos tiene la necesidad de una vista organizada
                    o
        y manejable del desarrollo del software en todas las fases del
        modelo del ciclo de vida del software.
        Esta demanda ha sido satisfecha por el Lenguaje de Modelado
        Unificado (UML) y por herramientas CASE tales como Rational
        Rose.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        18/32
Los lenguajes de muy alto nivel


        Son lenguajes que trabajan en scripts, son de m´s alto nivel con
                                                       a
        menos escritura
                                                              1000                           Scripting
                                  Instrucciones/declaración                         Visual Basic

                                                               100                                       Java
                                                                         Tcl/Perl
                                                                                                C++
                                                                                            C
                                                                10
                                                                      Ensamblador
                                                                                       Programación de sistemas
                                                                1
                                                                                    Grado de escritura


        Ejemplos: Perl, PHP, Python, Tcl/Tk, Visual Basic



Dr. Luis Gerardo de la Fraga   Cinvestav                             Evoluci´n de la Programaci´n Orientada a Objetos
                                                                            o                  o                        19/32
Perl




                Puede verse como la uni´n de: el shell, awk y sed.
                                       o
                Tambi´n permite el uso de objetos.
                     e
                Tiene una gran cantidad de “m´dulos”: www.cpan.org
                                             o




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        20/32
´
   ¿Cual es el mejor paradigma?




                Procedural
                Orientado a objetos
                Alto nivel
                Deben conocerse y dominarse todos los paradigmas




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        21/32
Realizaciones




                Los lenguajes de alto nivel pueden usar en programas cortos,
                de r´pido desarrollo, que se ejecutar´n unas pocas veces.
                    a                                a
                Tambi´n en programas para tratamientos de textos.
                      e
                Los procedurales en programas peque˜os donde queremos
                                                   n
                muy alta eficiencia.
                OO debe usarse en grandes proyectos de software donde se
                tiene una clara identificaci´n de los objetos. Para realizar
                                           o
                interfaces de usuario.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        22/32
´
   Interfaces graficas con Qt


                                                               Ventana
                                                               principal




                                           Widgets

                                                                       Ventana de
                                                                         dibujo
                               Evento de ratón


                               Evento de teclado
                                                                      Evento de reloj


Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        23/32
Realizaciones




                ¿Qu´ tanto es grande?
                   e
                XMIPP se cambi´ a objetos en tres a˜os.
                              o                    n
                El sistema de administraci´n de conferencias se hizo
                                          o
                procedural.
                ¿Se puede forzar el uso de objetos?




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        24/32
Aplicaci´n
                  o                        Comparaci´n
                                                    o                                  Raz´n de
                                                                                          o           Raz´n de
                                                                                                          o
                                                                                       c´digo
                                                                                        o             esfuerzo
          Aplicaci´n de base
                  o                        Ver. C++: 2 meses:                                         60
          de datos
                                           Ver. TCL: 1 d´ ıa
          Instalaci´n y prue-
                   o                       Aplicaci´n de prueba en C:
                                                   o                                   47             22
          ba de un sistema de              272,000 lineas, 120 meses,
          c´mputo
           o                               Aplicaci´n C FIS: 90,000
                                                   o
                                           lineas, 60 meses. Versi´n o
                                           Tcl/Perl: 7,700 lineas, 8
                                           meses
          Biblioteca de base               Versi´n en C++: 2-3 meses
                                                o                                                     8-12
          de datos                         Versi´n Tcl: 1 semana
                                                o
          Escaner de seguri-               Versi´n en C: 3,000 lineas,
                                                o                                      10
          dad:                             Ver. Tcl: 300 lineas
          Simulador e interfaz             Versi´n en Java: 3,400 li-
                                                o                                      2              3-4
                                           neas, 3-4 semanas, Versi´no
                                           en Tcl: 1,600 lineas, < 1 se-
                                           mana


Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        25/32
Modelos del sistema SMC




                                      Diagrama general de casos de uso



Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        26/32
Diagrama de estados de un art´
                                ıculo




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        27/32
˜
   Diseno




                                           Diagrama de subsistemas



Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        28/32
Implementacion: Disposicion f´
               ´            ´   ısica de los
   archivos




                                       Disposici´n f´
                                                o ısica de los archivos


Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        29/32
Conclusiones




                La programaci´n OO tuvo un crecimiento muy grande en los 1990s
                             o
                Aunque todav´ se debate los beneficios de OO, a treinta a˜os de su
                             ıa                                         n
                invenci´n, OO todav´ seguir´ us´ndose
                       o           ıa      a a
                Para usar OO deben aplicarse las t´cnicas de Ingenier´ de Software.
                                                  e                  ıa
                Deben dominarse los tres paradigmas: alto nivel, OO, procedural.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        30/32
Esta presentaci´n puede encontrarse en:
                       o
                      http://delta.cs.cinvestav.mx/˜fraga/Charlas/
        Referencias:
                L.F. Capretz, A brief history of the Object-Oriented Approach,
                Software Engineering Notes (ACM SIGSOFT), pp 1-10, vol 28, no
                2, March 2003
                J.K. Ousterhout, Scripting: Higher level programming for the 21st
                century, IEEE Computer Magazine, pp 23-30, March 1998.




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        31/32
´
   El Departamento de Computacion, Cinvestav




        Ofrecemos:
           1. Maestr´ en Ciencias en Computaci´n
                    ıa                        o
           2. Doctorado en Ciencias en Computaci´n
                                                o


        http://www.cs.cinvestav.mx




Dr. Luis Gerardo de la Fraga   Cinvestav   Evoluci´n de la Programaci´n Orientada a Objetos
                                                  o                  o                        32/32

Más contenido relacionado

Similar a Evolucion de la programacion

Unidad ii adsi -web -pag
Unidad ii   adsi -web -pagUnidad ii   adsi -web -pag
Unidad ii adsi -web -pagJesús Chaparro
 
Unidad vi adsi - p1- web
Unidad vi   adsi - p1- webUnidad vi   adsi - p1- web
Unidad vi adsi - p1- webJesús Chaparro
 
Unidad vi adsi - p2 - web
Unidad vi   adsi - p2 - webUnidad vi   adsi - p2 - web
Unidad vi adsi - p2 - webJesús Chaparro
 
METODOLOGÍA DE DESARROLLO DE SOFTWARE
METODOLOGÍA DE DESARROLLO DE SOFTWAREMETODOLOGÍA DE DESARROLLO DE SOFTWARE
METODOLOGÍA DE DESARROLLO DE SOFTWAREMariaFlores354
 
Jesus acosta ing.pdf
Jesus acosta ing.pdfJesus acosta ing.pdf
Jesus acosta ing.pdfjesus acosta
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software41b3r
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 
Proyecto socio-tecnológico
Proyecto socio-tecnológicoProyecto socio-tecnológico
Proyecto socio-tecnológicoMahase Benjamin
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaareLuz
 
Productos y resultados [autoguardado]
Productos y resultados [autoguardado]Productos y resultados [autoguardado]
Productos y resultados [autoguardado]paulabarrientosd
 
Presentacion GuíA No.3
Presentacion GuíA No.3Presentacion GuíA No.3
Presentacion GuíA No.3anderwrt
 

Similar a Evolucion de la programacion (20)

Unidad ii adsi -web -pag
Unidad ii   adsi -web -pagUnidad ii   adsi -web -pag
Unidad ii adsi -web -pag
 
Unidad vi adsi - p1- web
Unidad vi   adsi - p1- webUnidad vi   adsi - p1- web
Unidad vi adsi - p1- web
 
Unidad vi adsi - p2 - web
Unidad vi   adsi - p2 - webUnidad vi   adsi - p2 - web
Unidad vi adsi - p2 - web
 
METODOLOGÍA DE DESARROLLO DE SOFTWARE
METODOLOGÍA DE DESARROLLO DE SOFTWAREMETODOLOGÍA DE DESARROLLO DE SOFTWARE
METODOLOGÍA DE DESARROLLO DE SOFTWARE
 
Jesus acosta ing.pdf
Jesus acosta ing.pdfJesus acosta ing.pdf
Jesus acosta ing.pdf
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Comunicacion y colaboracion
Comunicacion y colaboracionComunicacion y colaboracion
Comunicacion y colaboracion
 
Comunicacion y colaboracion
Comunicacion y colaboracionComunicacion y colaboracion
Comunicacion y colaboracion
 
Etica.
Etica.Etica.
Etica.
 
Presentación
Presentación Presentación
Presentación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Proyecto socio-tecnológico
Proyecto socio-tecnológicoProyecto socio-tecnológico
Proyecto socio-tecnológico
 
Comunicación y colaboración
Comunicación y colaboraciónComunicación y colaboración
Comunicación y colaboración
 
fundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaarefundamentos teoricos ingenieria de softwaare
fundamentos teoricos ingenieria de softwaare
 
Estado del arte de la ingsw
Estado del arte de la ingswEstado del arte de la ingsw
Estado del arte de la ingsw
 
Productos y resultados [autoguardado]
Productos y resultados [autoguardado]Productos y resultados [autoguardado]
Productos y resultados [autoguardado]
 
Informe
InformeInforme
Informe
 
Presentacion GuíA No.3
Presentacion GuíA No.3Presentacion GuíA No.3
Presentacion GuíA No.3
 

Último

PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfsolidalilaalvaradoro
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 

Último (20)

Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 

Evolucion de la programacion

  • 1. ´ ´ Evolucion de la Programacion Orientada a Objetos Dr. Luis Gerardo de la Fraga Departamento de Computaci´n o Cinvestav Correo-e: fraga@cs.cinvestav.mx 7 de diciembre de 2006 Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 1/32
  • 2. ´ Motivacion Se presentar´ en esta charla: a Una revisi´n hist´rica del o o paradigma OO Situar OO contra otros paradigmas, en especial los lenguajes de muy alto nivel Una cr´ ıtica personal a la programaci´n OO o Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 2/32
  • 3. Contenido Introducci´n o Antecedentes de la programaci´n OO o Caracter´ ısticas del modelo OO Comparaci´n entre lenguajes OO o Clasificaci´n de los metodolog´ OO o ıas Los lenguajes de muy alto nivel ¿Cu´l es el mejor paradigma? a Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 3/32
  • 4. ´ Introduccion (1/3) La programaci´n OO empez´ hace 30 a˜os o o n En los 1990s se increment´ dram´ticamente la demanda para o a sistemas de software OO, por la promesa en la revoluci´n en o el desarrollo de software. Han aparerecido varias metodolog´ para el desarrollo de ıas software, que tienen que ver con algunas o todas las fases del ciclo de vida del software, desde los requerimientos al mantenimiento. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 4/32
  • 5. ´ Introduccion (2/3) Algunas caracter´ ısticas importantes de los sistemas de software actuales son: Complejidad: la arquitectura interna de los sistemas actuales de software es compleja, incluyen frecuentemente concurrencia y paralelismo. La abstracci´n en terminos de conceptos de OO o es una t´cnica que ayuda a tratar con la complejidad. e Amigabilidad: Este es un requerimiento de suma importancia para los sistemas de software en general. Reusabilidad: Tomar componentes creados por otros es mejor que crearlos nuevos. La herencia es un mecanismo de OO que estimula la reusabilidad del software. Facilita el r´pido a desarrollo del software. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 5/32
  • 6. ´ Introduccion (3/3) Las razones del r´pido desarrollo en los ultimos 15 a˜os han sido: a ´ n Una mejor modelaci´n de aplicaciones del mundo real o La posibilidad del reuso del software durante el desarrollo de un sistema de software Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 6/32
  • 7. Antecedentes (1/2) Simulación Sistemas Abstracción Inteligencia de sistemas operativos de datos artificial Tipos de Monitores datos Clases + abstractos + Marcos objetos encapsulación Paradigma Orientado a Objetos Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 7/32
  • 8. Antecedentes (2/2) La caracter´ ıstica com´n de estas ideas es que un objeto es una u entidad l´gica o f´ o ısica que est´ autocontenida. a Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 8/32
  • 9. Caracter´ ısticas OO se define por herencia, encapsulaci´n, m´todos y o e mensajes, como en Smalltalk. OO se define encapsulaci´n, abstracci´n de datos, m´todos, o o e mensajes, herencia y vinculaci´n din´mica. o a Es un modelo de simula el comportamiento ya sea de una parte del mundo real o imaginario. Objetos, clases y herencia. Los objetos son entidades aut´nomas que tienen un estado y responden a mensajes. Las o clases agrupan los objetos por sus atributos y operaciones. Todas tienen el com´n de usar objetos como una u encapsulaci´n para proteger los datos con todas las o operaciones legales que actuan sobre esa informaci´n oculta. o Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 9/32
  • 10. ´ Comparacion entre lenguajes OO (1/4) Ensamblador 50s Fortran 60s Lisp Algol Simula Pascal 70s Smalltalk C Ada CLU Beta Modula−2 C++ 80s Flavors Actor Loops POOL−T C−Objetivo Pascal Objetivo CLOS ABCL Eiffel Modula−3 Orient84 90s Java Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 10/32
  • 11. ´ Comparacion entre lenguajes OO (2/4) Lenguaje ensamblador: Intrucciones de m´quina (operadores) que manipulan en a contenido de localidades de memoria (operandos) Lenguaje de alto nivel: Operadores se vuelven declaraciones y los operandos en variables y estructuras de datos. Los programas est´n compuestos de de una colecci´n de variables a o que representan alg´n dato y un conjunto de procedimientos que u manipulan esas variables. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 11/32
  • 12. ´ Comparacion entre lenguajes OO (3/4) Caracter´ ısticas Tipos Apoyo Vinculaci´n o Biblioteca X de de din´mica a extensa Lenguajes datos herencia Simula Si Si Si No CLU Si No Si No Ada Si No No Si Smalltalk Si Si Si Si C Objetivo Si Si Si Si C++ Si Si Si Si CLOS Si Si Si No Pascal Obj. Si Si Si No Beta Si Si Si No Eiffel Si Si Si Si Actor Si Si Si No Java Si Si Si Si Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 12/32
  • 13. Clasificacion de los metodolog´ OO (1/6) ´ ıas Varios m´todos han sido propuestos para sistematizar el proceso de e vida del software. Y muchas metodolog´ de desarrollo de software ıas han sido propuestas, y ´stas pueden clasificarse en tres categor´ e ıas: Descomposici´n funcional. o Enf´sis en datos, m´s que en funciones. a a Ambos puntos de vista: funcional y datos. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 13/32
  • 14. Clasificacion de los metodolog´ OO (2/6) ´ ıas Descomposici´n funcional: o Dise˜o Estructural, Refinamiento por Pasos. n Enf´sis en datos, m´s que en funciones: a a Programaci´n Estructurada, Modelo Entidad-Relaci´n o o Ambos puntos de vista: funcional y datos: An´lisis Estructural, An´lisis de Sistemas Estructurados, a a An´lisis de Sistemas Estructurados y Metodolog´ de Dise˜o. a ıa n Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 14/32
  • 15. Clasificacion de los metodolog´ OO (3/6) ´ ıas Desarrollo estructural: An´lisis estructural, dise˜o estructural y programaci´n a n o estructurada. Aplicar primero el dise˜o estructural y luego la proximaci´n n o orientada a objetos resulta en problemas dado que no se puede mapear apropiadamente las funciones en objetos. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 15/32
  • 16. Clasificacion de los metodolog´ OO (4/6) ´ ıas Metodolog´ “orientadas a objetos”: ıas Adaptaci´n: mezclar una aproximaci´n orientada a objetos o o con una metodolog´ bien conocida de desarrollo estructural. ıa Asimilaci´n: usar una metodolog´ orientada a objetos para o ıa desarrollar sistemas de software, pero que siguen el modelo tradicional del ciclo de vida del software. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 16/32
  • 17. Clasificacion de los metodolog´ OO (5/6) ´ ıas Análisis Análisis Estructurado Orientado a Análisis Objetos Diagramas de Flujo de datos + Diagramas de MRE clases Diseño Diseño Orientado a estructural Diseño Objetos Tablas de Diagramas de estructura clases + objetos Programación Programación estructurada Realización Orientada a Objetos Datos Estructuras + Tipos de datos Funciones abstractos + Herencia Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 17/32
  • 18. Clasificacion de los metodolog´ OO (6/6) ´ ıas La orientaci´n a objetos tiene la necesidad de una vista organizada o y manejable del desarrollo del software en todas las fases del modelo del ciclo de vida del software. Esta demanda ha sido satisfecha por el Lenguaje de Modelado Unificado (UML) y por herramientas CASE tales como Rational Rose. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 18/32
  • 19. Los lenguajes de muy alto nivel Son lenguajes que trabajan en scripts, son de m´s alto nivel con a menos escritura 1000 Scripting Instrucciones/declaración Visual Basic 100 Java Tcl/Perl C++ C 10 Ensamblador Programación de sistemas 1 Grado de escritura Ejemplos: Perl, PHP, Python, Tcl/Tk, Visual Basic Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 19/32
  • 20. Perl Puede verse como la uni´n de: el shell, awk y sed. o Tambi´n permite el uso de objetos. e Tiene una gran cantidad de “m´dulos”: www.cpan.org o Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 20/32
  • 21. ´ ¿Cual es el mejor paradigma? Procedural Orientado a objetos Alto nivel Deben conocerse y dominarse todos los paradigmas Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 21/32
  • 22. Realizaciones Los lenguajes de alto nivel pueden usar en programas cortos, de r´pido desarrollo, que se ejecutar´n unas pocas veces. a a Tambi´n en programas para tratamientos de textos. e Los procedurales en programas peque˜os donde queremos n muy alta eficiencia. OO debe usarse en grandes proyectos de software donde se tiene una clara identificaci´n de los objetos. Para realizar o interfaces de usuario. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 22/32
  • 23. ´ Interfaces graficas con Qt Ventana principal Widgets Ventana de dibujo Evento de ratón Evento de teclado Evento de reloj Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 23/32
  • 24. Realizaciones ¿Qu´ tanto es grande? e XMIPP se cambi´ a objetos en tres a˜os. o n El sistema de administraci´n de conferencias se hizo o procedural. ¿Se puede forzar el uso de objetos? Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 24/32
  • 25. Aplicaci´n o Comparaci´n o Raz´n de o Raz´n de o c´digo o esfuerzo Aplicaci´n de base o Ver. C++: 2 meses: 60 de datos Ver. TCL: 1 d´ ıa Instalaci´n y prue- o Aplicaci´n de prueba en C: o 47 22 ba de un sistema de 272,000 lineas, 120 meses, c´mputo o Aplicaci´n C FIS: 90,000 o lineas, 60 meses. Versi´n o Tcl/Perl: 7,700 lineas, 8 meses Biblioteca de base Versi´n en C++: 2-3 meses o 8-12 de datos Versi´n Tcl: 1 semana o Escaner de seguri- Versi´n en C: 3,000 lineas, o 10 dad: Ver. Tcl: 300 lineas Simulador e interfaz Versi´n en Java: 3,400 li- o 2 3-4 neas, 3-4 semanas, Versi´no en Tcl: 1,600 lineas, < 1 se- mana Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 25/32
  • 26. Modelos del sistema SMC Diagrama general de casos de uso Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 26/32
  • 27. Diagrama de estados de un art´ ıculo Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 27/32
  • 28. ˜ Diseno Diagrama de subsistemas Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 28/32
  • 29. Implementacion: Disposicion f´ ´ ´ ısica de los archivos Disposici´n f´ o ısica de los archivos Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 29/32
  • 30. Conclusiones La programaci´n OO tuvo un crecimiento muy grande en los 1990s o Aunque todav´ se debate los beneficios de OO, a treinta a˜os de su ıa n invenci´n, OO todav´ seguir´ us´ndose o ıa a a Para usar OO deben aplicarse las t´cnicas de Ingenier´ de Software. e ıa Deben dominarse los tres paradigmas: alto nivel, OO, procedural. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 30/32
  • 31. Esta presentaci´n puede encontrarse en: o http://delta.cs.cinvestav.mx/˜fraga/Charlas/ Referencias: L.F. Capretz, A brief history of the Object-Oriented Approach, Software Engineering Notes (ACM SIGSOFT), pp 1-10, vol 28, no 2, March 2003 J.K. Ousterhout, Scripting: Higher level programming for the 21st century, IEEE Computer Magazine, pp 23-30, March 1998. Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 31/32
  • 32. ´ El Departamento de Computacion, Cinvestav Ofrecemos: 1. Maestr´ en Ciencias en Computaci´n ıa o 2. Doctorado en Ciencias en Computaci´n o http://www.cs.cinvestav.mx Dr. Luis Gerardo de la Fraga Cinvestav Evoluci´n de la Programaci´n Orientada a Objetos o o 32/32