Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion Orientada A Objetos PDF
Programacion Orientada A Objetos PDF
Orientada a Objetos
Departamento de Computacion
Cinvestav
Correo-e: fraga@cs.cinvestav.mx
7 de diciembre de 2006
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 1/32
Motivacion
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 2/32
Contenido
I Introduccion
I Antecedentes de la programacion OO
I Caractersticas del modelo OO
I Comparacion entre lenguajes OO
I Clasificacion de los metodologas OO
I Los lenguajes de muy alto nivel
I Cual es el mejor paradigma?
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 3/32
Introduccion (1/3)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 4/32
Introduccion (2/3)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 5/32
Introduccion (3/3)
Las razones del rapido desarrollo en los ultimos 15 anos han sido:
I Una mejor modelacion de aplicaciones del mundo real
I La posibilidad del reuso del software durante el desarrollo de
un sistema de software
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 6/32
Antecedentes (1/2)
Paradigma
Orientado a Objetos
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 7/32
Antecedentes (2/2)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 8/32
Caractersticas
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 9/32
Comparacion entre lenguajes OO (1/4)
Ensamblador
50s
Fortran
Simula Pascal
70s
Smalltalk C Ada CLU
Beta Modula2
C++
80s
Flavors Actor
Loops POOLT CObjetivo Pascal Objetivo
CLOS ABCL Eiffel Modula3
Orient84
90s
Java
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 10/32
Comparacion entre lenguajes OO (2/4)
Lenguaje ensamblador:
I Intrucciones de maquina (operadores) que manipulan en
contenido de localidades de memoria (operandos)
Lenguaje de alto nivel:
I Operadores se vuelven declaraciones y los operandos en
variables y estructuras de datos.
Los programas estan compuestos de de una coleccion de variables
que representan algun dato y un conjunto de procedimientos que
manipulan esas variables.
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 11/32
Comparacion entre lenguajes OO (3/4)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 12/32
Clasificacion de los metodologas OO (1/6)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 13/32
Clasificacion de los metodologas OO (2/6)
I Descomposicion funcional:
Diseno Estructural, Refinamiento por Pasos.
I Enfasis en datos, mas que en funciones:
Programacion Estructurada, Modelo Entidad-Relacion
I Ambos puntos de vista: funcional y datos:
Analisis Estructural, Analisis de Sistemas Estructurados,
Analisis de Sistemas Estructurados y Metodologa de Diseno.
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 14/32
Clasificacion de los metodologas OO (3/6)
Desarrollo estructural:
Analisis estructural, diseno estructural y programacion
estructurada.
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 15/32
Clasificacion de los metodologas OO (4/6)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 16/32
Clasificacion de los metodologas OO (5/6)
Anlisis Anlisis
Estructurado Orientado a
Anlisis
Objetos
Diagramas de
Flujo de datos + Diagramas de
MRE clases
Diseo
Diseo
Orientado a
estructural Diseo
Objetos
Tablas de
estructura Diagramas de
clases + objetos
Programacin Programacin
estructurada Realizacin Orientada a
Objetos
Datos
Estructuras + Tipos de datos
Funciones abstractos +
Herencia
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 17/32
Clasificacion de los metodologas OO (6/6)
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 18/32
Los lenguajes de muy alto nivel
Son lenguajes que trabajan en scripts, son de mas alto nivel con
menos escritura
1000 Scripting
Instrucciones/declaracin Visual Basic
100 Java
Tcl/Perl
C++
C
10
Ensamblador
Programacin de sistemas
1
Grado de escritura
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 19/32
Perl
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 20/32
Cual es el mejor paradigma?
I Procedural
I Orientado a objetos
I Alto nivel
I Deben conocerse y dominarse todos los paradigmas
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 21/32
Realizaciones
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 22/32
Interfaces graficas con Qt
Ventana
principal
Widgets
Ventana de
dibujo
Evento de ratn
Evento de teclado
Evento de reloj
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 23/32
Realizaciones
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 24/32
Aplicacion Comparacion Razon de Razon de
codigo esfuerzo
Aplicacion de base Ver. C++: 2 meses: 60
de datos
Ver. TCL: 1 da
Instalacion y prue- Aplicacion de prueba en C: 47 22
ba de un sistema de 272,000 lineas, 120 meses,
computo Aplicacion C FIS: 90,000
lineas, 60 meses. Version
Tcl/Perl: 7,700 lineas, 8
meses
Biblioteca de base Version en C++: 2-3 meses 8-12
de datos Version Tcl: 1 semana
Escaner de seguri- Version en C: 3,000 lineas, 10
dad: Ver. Tcl: 300 lineas
Simulador e interfaz Version en Java: 3,400 li- 2 3-4
neas, 3-4 semanas, Version
en Tcl: 1,600 lineas, < 1 se-
mana
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 25/32
Modelos del sistema SMC
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 26/32
Diagrama de estados de un artculo
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 27/32
Diseno
Diagrama de subsistemas
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 28/32
Implementacion: Disposicion fsica de los
archivos
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 29/32
Conclusiones
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 30/32
Esta presentacion puede encontrarse en:
http://delta.cs.cinvestav.mx/fraga/Charlas/
Referencias:
I 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
I 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 Evolucion de la Programacion Orientada a Objetos 31/32
El Departamento de Computacion, Cinvestav
Ofrecemos:
1. Maestra en Ciencias en Computacion
2. Doctorado en Ciencias en Computacion
http://www.cs.cinvestav.mx
Dr. Luis Gerardo de la Fraga Cinvestav Evolucion de la Programacion Orientada a Objetos 32/32