Está en la página 1de 8

MIGUEL ANGEL AGUILAR ESTANISLAO

ES1511109383

UNIVERSIDAD ABIERTA Y A DISTANCIA DE


MEXICO
DESARROLLO DE SOFTWARE
PROGRAMACIN ORIENTADA A OBJETOS
2DO SEMESTRE

UNIDAD 1
ACTIVIDAD 1
DIFERENCIAS ENTRE PROGRAMACIN
ESTRUCTURADA Y POO

PROGRAMACIN ESTRUCTURADA

La programacin estructurada naci como solucin a los problemas que presentaba la


programacin no estructurada, la cual se emple durante mucho tiempo antes de la invencin
de la programacin estructurada.

Un programa no estructurado es un programa procedimental: las instrucciones se


ejecutan en el mismo orden en que han sido escritas. Sin embargo, este tipo de programacin
emplea la instruccin "goto". Una instruccin "goto" permite pasar el control a cualquier otra
parte del programa. Cuando se ejecuta una instruccin "goto" la secuencia de ejecucin del
programa contina a partir de la instruccin indicada por "goto". De esta forma, para
comprender como funciona un programa es necesario simular su ejecucin. Esto quiere decir
que en la mayora de los casos es muy difcil comprender la lgica de un programa de este tipo.
Algunos compiladores crean referencias cruzadas a las instrucciones apuntadas por los "goto",
posibilitando una navegacin rpida a travs del cdigo fuente. Sin embargo, es algo comn en
muchos lenguajes de programacin el empleo de una variable en asociacin con el destino del
"goto", no permitiendo la creacin automtica de tablas de referencias cruzadas. Existen
problemas similares en algunos lenguajes de programacin estructurada, por ejemplo cmo
implementar las vistas en diferentes idiomas, de forma que varias personas puedan visualizar la
misma informacin, pero cada una en su idioma.

Esto se opone a la idea de utilizar algn tipo de abstraccin que permita comprender
cmo funciona realmente un programa, que es lo que hace la programacin estructurada. Lo
que podamos llamar "programacin tradicional", por ejemplo la que se utilizaba (utiliza) en la
confeccin de programas para los primitivos PCs bajo MS-DOS, o en los actuales Win-32 bajo
una "ventana" DOS, es un concepto un tanto ambiguo, pero podemos intentar una definicin
diciendo que se basa en algunas premisas y caractersticas bastante definidas. Estas
caractersticas pueden coexistir juntas o faltar alguna, pero en general se dan simultneamente.

La programacin estructurada es una tcnica para escribir programas (programacin de


computadora) de manera clara. Para ello se utilizan nicamente tres estructuras: secuencia,

seleccin e iteracin; siendo innecesario el uso de la instruccin o instrucciones de


transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples RETURN).

Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las


necesidades de programacin existentes en los aos 1960, principalmente debido a las
aplicaciones grficas, por lo que las tcnicas de programacin estructurada no son suficientes.
Ello ha llevado al desarrollo de nuevas tcnicas, tales como la programacin orientada a
objetos y el desarrollo de entornos de programacin que facilitan la programacin de grandes
aplicaciones.

PROGRAMACIN ORIENTADA A OBJETOS

La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un


paradigma de programacin que usa objetos y sus interacciones, para disear aplicaciones y
programas informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin,
polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de los aos
1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la
orientacin a objetos.

Los objetos son entidades que tienen un determinado estado, comportamiento


(mtodo) e identidad:

El estado est compuesto de datos, ser uno o varios atributos a los que se habrn
asignado unos valores concretos (datos).

El comportamiento est definido por los mtodos o mensajes a los que sabe responder
dicho objeto, es decir, qu operaciones se pueden realizar con l.

La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras
palabras, es su identificador (concepto anlogo al de identificador de una variable o una
constante).
Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a otros

objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder

tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen de
mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre ellos. Esta
comunicacin favorece a su vez el cambio de estado en los propios objetos. Esta caracterstica
lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el
comportamiento.

Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados


por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para
poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en
ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podra
producir el hbito errneo de crear clases contenedoras de informacin por un lado y clases
con mtodos que manejen a las primeras por el otro. De esta manera se estara realizando una
programacin estructurada camuflada en un lenguaje de programacin orientado a objetos.

La POO difiere de la programacin estructurada tradicional, en la que los datos y los


procedimientos estn separados y sin relacin, ya que lo nico que se busca es el
procesamiento de unos datos de entrada para obtener otros de salida. La programacin
estructurada anima al programador a pensar sobre todo en trminos de procedimientos o
funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan.
En la programacin estructurada slo se escriben funciones que procesan datos. Los
programadores que emplean POO, en cambio, primero definen objetos para luego enviarles
mensajes solicitndoles que realicen sus mtodos por s mismos.

COMPARATIVO

DEFINICION

PROGRAMACION

PROGRAMACIN

ORIENTADA A OBJETOS

ESTRUCTURADA

La programacin orientada a objetos

La programacin estructurada es un

o POO (OOP segn sus siglas en

paradigma

ingls)

orientado

es

un

paradigma

de

de
a

programacin

mejorar

la claridad,

programacin que usa los objetos en

calidad y tiempo de desarrollo de un

sus

programa de computadora, utilizando

interacciones,

aplicaciones

para

disear

programas

nicamente

subrutinas

tres

informticos. Est basado en varias

estructuras: secuencia, seleccin (if y

tcnicas,

switch) e iteracin(bucles for y while),

incluyendo

herencia,

cohesin, abstraccin, polimorfismo,

considerando

acoplamiento y encapsulamiento.

contraproducente

innecesario

instruccin

el
de

uso

y
de

la

transferencia

incondicional (GOTO), que podra


conducir a cdigo espagueti, que es
mucho ms difcil de seguir y de
mantener, y era la causa de muchos
errores de programacin.
Los conceptos de la programacin Surgi
ANTECEDENTES

en

la

dcada

de

1960,

orientada a objetos tienen origen en particularmente del trabajo Bhm y


Simula 67, un lenguaje diseado para Jacopini, y una famosa carta, la
hacer simulaciones, creado por Ole- sentencia

goto

considerada

Johan Dahl y Kristen Nygaard, del perjudicial, de Edsger Dijkstra en


Centro de Cmputo Noruego en Oslo.

1968 y fue reforzado tericamente


por

el

teorema

del

programa

estructurado, y prcticamente por la


aparicin de lenguajes como ALGOL
con adecuadas y ricas estructuras de
control.


VENTAJAS

Reusabilidad. Cuando hemos


diseado

Los programas son ms fciles

las

de entender, pueden ser ledos

en

de forma secuencial y no hay

distintas partes del programa y

necesidad de hacer engorrosos

en numerosos proyectos.

seguimientos en saltos de lneas

clases,

adecuadamente
se

pueden

usar

(GOTO) dentro de los bloques

Mantenibilidad. Debido a la

de cdigo para intentar entender

sencillez

la lgica.

para

problema,

abstraer

los

el

programas

orientados a objetos son ms

La

estructura

de

los

sencillos de leer y comprender,

programas es clara, puesto que

pues

las instrucciones

nos

detalles

permiten

de

ocultar

implementacin

estn

ms

ligadas o relacionadas entre s.

dejando visibles slo aquellos

detalles ms relevantes.

Reduccin del esfuerzo en las


pruebas

depuracin.

El

Modificabilidad. La facilidad de

seguimiento de los fallos o

aadir,

suprimir

errores

nuevos

objetos

nos

modificar

del

programa

permite

(debugging) se facilita debido a

hacer modificaciones de una

su estructura ms sencilla y

forma muy sencilla.

comprensible, por lo que los


errores se pueden detectar y

Fiabilidad. Al dividir el problema


en

partes

ms

corregir ms fcilmente.

pequeas

podemos probarlas de manera

independiente y aislar mucho


ms

fcilmente

los

Reduccin de los costos de


mantenimiento. Anlogamente a

posibles

la depuracin, durante la fase de

errores que puedan surgir.

mantenimiento,

modificar

extender los programas resulta


ms fcil.

Los

programas

sencillos y ms

son

ms

rpidos de

confeccionar.

Se incrementa el rendimiento de
los programadores, comparado
con la forma anterior que utiliza
GOTO.


DESVENTAJAS

Cambio

en

la

forma

de El principal inconveniente de este

pensar de la programacin paradigma de programacin es


tradicional a la orientada a que se obtiene un nico bloque
de programa, que cuando se

objetos.

hace demasiado grande puede

La ejecucin de programas resultar problemtico su manejo;


orientados a objetos es ms esto se resuelve empleando la
programacin modular, definiendo

lenta.

mdulos

La

necesidad

de

interdependientes

utilizar programados y compilados por

bibliotecas de clases obliga separado.


a

su

aprendizaje

entrenamiento.

y
Un

mtodo

un

poco

ms

sofisticado es la programacin
por capas, en la que los mdulos
tienen una estructura jerrquica
en la que se pueden definir
funciones dentro de funciones o
de procedimientos.

CONCLUSIONES

Los programas son ms fciles de entender, ya que pueden ser ledos de forma
secuencial.

La estructura del programa es clara, puesto que las instrucciones estn ms ligadas o
relacionadas entre s.

Reduccin del esfuerzo en las pruebas, por lo que los errores se pueden detectar y
corregir ms fcil.

Reduccin de los costos de Mantenimiento de los programas.

Programas ms sencillos y ms rpidos (ya que es ms fcil su Optimizacin).

Abstraccin: Denota las caractersticas esenciales de un objeto, donde se capturan sus


comportamientos.

Encapsulamiento: Significa reunir todos los elementos que pueden considerarse


pertenecientes a una misa entidad, al mismo nivel de abstraccin.

Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada
tipo de objeto expone una interfaz a otros objetos que especfica cmo pueden interactuar
con los objetos de la clase.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir


el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento
correspondiente al objeto que se est usando.

Herencia: Los objetos heredan las propiedades y el comportamiento de todas las clases a
las que pertenecen.

Recoleccin de basura: la Recoleccin de basura o Garbage Collector es la tcnica por la


cual el ambiente de Objetos se encarga de destruir automticamente, y por tanto
desasignar de la memoria los Objetos que hayan quedado sin ninguna referencia a ello.

También podría gustarte