You are on page 1of 14

Paradigma Orientado a Objetos

Prof. Maria Cecilia Ortiz

La Crisis del Software

? La Planificacin y estimacin de costos son frecuentemente muy


imprecisas.
? La productividad de la comunidad del software no se corresponde
con la demanda de sus servicios.
? La calidad del software no llega a ser a veces ni aceptable.
? En algunos casos los responsables del desarrollo de software han
sido ejecutivos de nivel medio y alto sin conocimientos de software,
en la creencia de que un buen gestor puede gestionar cualquier
proyecto.
? Los trabajadores del software no siempre han tenido un
entrenamiento formal en las nuevas tcnicas de desarrollo de
software.
? Todos nos resistimos al cambio.
La Complejidad innata del Software

Esto se debe a:

? La complejidad del dominio del problema.


? La dificultad de gestionar el proceso de desarrollo.
? La flexibilidad que se puede alcanzar a travs del
software.
? Los problemas de caracterizar el comportamiento de
sistemas discretos

Se necesitaba una mejora

? Complejidad
? Capacidad de diseo
? Flexibilidad
? Rapidez de desarrollo
? Relacin
? Facilidad de modificacin
? Confiabilidad
Revolucin
Revolucin en la Industrial del
industria del Software
Software
Tendencia actual en el Software:

? Los computadores son ms potentes cada ao.


? Los usuarios por lo tanto, esperan ms de ellos.
? Queremos software que est ms adaptado a nuestras necesidades.

Construccin de Sistemas

? Ms Complejos
? En menos tiempo
? Ms Grandes

? A menor costo
? Ms Confiables

Revolucin en la industria del Software


Cmo logramos manejar la complejidad del Software, reducir los
costos de su construccin, y aumentar la velocidad del
desarrollo?

Construyendo el Software Creando una enorme


partir de componentes biblioteca de componentes
reusables

Ensamblando el Software a
partir de componentes de
muchos proveedores

Fbrica de Software

11:21
Revolucin en la industria del Software

Fbrica de Software

Componentes Reusables

Paradigma Orientado a
Objetos

11:21

Paradigma Orientado a Objetos

Qu es un Paradigma?

Paradigma es una forma de ver


ver y entender
entender el mundo,
es una forma de abstraerlo dentro de nuestra cabeza.

Thomas Khun defini


defini la palabra paradigma como un
conjunto de teor
teoras, est
estndares y m
mtodos que juntos
representan una forma de organizar el conocimiento,
es decir, una forma de ver el mundo
mundo
Paradigma Orientado a Objetos

Que es POO?
Paradigma de programacin
Es un paradigma de programacin que usa
objetos y sus interacciones para disear Un paradigma de programacin
aplicaciones y programas de computadora. representa un enfoque particular
o filosofa para la construccin
Est basado en varias tcnicas, incluyendo del software.
herencia, modularidad, polimorfismo y Es una forma de ver y entender
las cosas
encapsulamiento.
Considera al mundo como un conjunto de entidades u objetos que estn
relacionados y se comunican entre ellos

POO trata de la construccin de programas basadas en objetos

Paradigmas en el desarrollo de Software

Descomposicin algortmica: Es la forma de descomposicin sustentada


por el anlisis y diseo estructurado. En este caso se divide el sistema en
elementos funcionales relacionados estructuralmente entre s. Esta visin
enfatiza el orden de los eventos.

Descomposicin orientada a objetos: En este caso la descomposicin


consiste en determinar un conjunto de agentes autnomos (objetos) que
colaboran para llevar a cabo algn comportamiento de nivel superior. Esta
visin resalta los agentes que causan acciones o son sujetos de estas
acciones
Paradigma Orientado a Objetos

La programacin orientada a objetos expresa un programa como un conjunto de


estos objetos, que colaboran entre ellos para realizar tareas.

Esto permite hacer los programas y mdulos ms fciles de escribir, mantener y


reutilizar.

Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a


otros objetos pertenecientes a otras clases, al poder tener valores bien
diferenciados en sus atributos.

?En el mundo estamos rodeados de OBJETOS.


?El Software actual simula al mundo (o una parte de l).
?Los Programas, por lo general, imitan a los OBJETOS del mundo.

Paradigma Orientado a Objetos

Que son los objetos?

Los objetos son entidades del mundo real que combinan estado, comportamiento e
identidad

El estado uno o varios atributos a La identidad es una propiedad de


los que se habrn asignado unos un objeto que lo diferencia del
valores concretos (datos). resto, dicho con otras palabras, es
su identificador (concepto anlogo
al de identificador de una variable
o una constante).

El comportamiento est definido


por los mtodos con que puede
operar dicho objeto, es decir, qu
operaciones se pueden realizar
con l.
Paradigma Orientado a Objetos

Conceptos Fundamentales de la POO

Clase: Una clase es una descripcin de un conjunto de objetos casi idnticos.


Una clase consta de mtodos y atributos que resumen las caractersticas
comunes de los objetos.
Objeto: Es la abstraccin de alguna cosa en el dominio del problema que refleja
la capacidad de un sistema de alcanzar informacin alrededor de l.
Son Entidades provistas de un atributos y de mtodos.
Se corresponde con los objetos reales del mundo que nos rodea. Es
una instancia de una clase.
Clase
ELECTRODOMESTICOS

Objeto Objeto
Objeto LICUADORA Heladera Objeto
LAVARROPAS MICROONDAS

Paradigma Orientado a Objetos

Vistas de una clase


Debemos distinguir entre la visin externa (interfaz), y la visin
interna, (implementacin), de una clase.

? La interfaz de una clase proporciona su visin externa y por lo tanto


enfatiza la abstraccin a la vez que oculta su estructura y secretos de
su comportamiento. Esta interfaz se compone principalmente de las
declaraciones de todas las operaciones aplicables a instancias de esta
clase (objetos), pero tambin puede incluir la declaracin de
constantes, variables y excepciones que se necesiten para completar
la abstraccin.

? Por otro lado, la implementacin de una clase es su visin interna,


que engloba los secretos de su comportamiento. La implementacin
de una clase se compone de la implementacin de todas las
operaciones definidas en la interfaz de la misma.
Paradigma Orientado a Objetos

Nombre: Cada clase ha de tener un nombre que la distinga de otras clases


Atributos: Caractersticas propias de un objeto, correspondientes a una clase
Mtodos: Es un algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de
vista del comportamiento, es lo que el objeto puede hacer.

Lavarropas
Marca
Objeto Modelo
LAVARROPAS NumeroSerie
Capacidad
VolumenTambor
CronometroInterno
Motor
VelocidadMotor

AgregarRopa()
AgregarJabonEnPolvo()
SacarRopa()
AgregarBlanqueador()
CronometrarRemojo()
CronometrarLavado()
CronometrarEnjuague()
CronometrarCentrifugado()

Paradigma Orientado a Objetos

? Responsabilidades

? Una responsabilidad es un contrato o una obligacin de una clase.


Al crear una clase, se est expresando que todos los objetos de esa
clase tienen el mismo tipo de estado y el mismo tipo de
comportamiento. A un nivel ms abstracto, estos atributos y
operaciones son simplemente las caractersticas por medio de las
cuales se llevan a cabo las responsabilidades de una clase.
? Al modelar clases, un buen comienzo consiste en especificar las
responsabilidades de los elementos del vocabulario. Una clase puede
tener cualquier nmero de responsabilidades, aunque en la prctica
cada clase bien estructurada tiene al menos una responsabilidad y a
lo sumo unas pocas.
? Las responsabilidades se enuncian como texto libre: una frase, una
sentencia o, como mucho, un prrafo corto.
Paradigma Orientado a Objetos

Mensaje: Los objetos tienen la posibilidad de actuar, la accin sucede cuando un


objeto recibe un mensaje, que es, una solicitud que pide al objeto que se comporte
de alguna forma. Cuando se ejecutan los programas orientados a objetos, los
objetos reciben, interpretan y responden a mensajes procedentes de otros objetos.
Los mensajes que reciben el objeto son los nicos conductos que conectan al objeto
con el mundo exterior.

Objeto Objeto En un programa con orientacin a objetos


Datos Mensaje Datos ocurren tres sucesos:
1) Se crean los objetos cuando se
Mtodos Mtodos necesitan.
2) Los mensajes se mueven de un objeto
a otro a medida que el programa procesa
Mensaje Mensaje
internamente
Objeto informacin o responde a la entrada del
Datos usuarios.
3) Se borran los objetos cuando ya no
Mtodos son necesarios y se recupera memoria.

Paradigma Orientado a Objetos

Ejemplo: Pensemos en un equipo de futbol. Que clases y objetos podemos


identificar?
Clase
Jugador de Ftbol

Barros
Palermo Schelotto
Riquelme
Objetos
Paradigma Orientado a Objetos

Mtodo: Qu puede hacer un Jugador de Ftbol?

Mtodos:
? patear
? descansar
? dar un pase
? entrar a la cancha
Clase: Jugador de Ftbol ? salir al banco
? subir a atacar
? bajar a defender
? mantener la pelota

Paradigma Orientado a Objetos

Clase: Jugador de Ftbol


Atributos: Mtodos:
Nombre Mantener la pelota
Nro Dar un pase
Posicin Atacar
Estado

Objeto:
Mensaje:
Estado:
Elementos del Modelo de Objetos
Caractersticas de la POO

Abstraccin Significa extraer las propiedades esenciales de un objeto que lo


distinguen de los dems tipos de objetos y proporciona fronteras conceptuales
definidas respecto al punto de vista del observador.
Es la capacidad para encapsular y aislar la informacin de diseo y ejecucin.

QUE
ES? ..Y
QUE
HACE?..

Paradigma Orientado a Objetos

Encapsulamiento: Es el proceso de almacenar en un mismo compartimiento (una caja


negra) los elementos de una Abstraccin (toda la informacin relacionada con un objeto) que
constituyen su estructura y su Comportamiento. Esta informacin permanece oculta tanto para
los usuarios como para otros objetos Y puede ser accedida solo mediante la ejecucin de los
mtodos adecuados.
COMO ?
Paradigma Orientado a Objetos

Modularidad: Es la propiedad de un sistema que ha sido descompuesto en un conjunto de


mdulos coherentes e independientes Artculos

Articulo Rubro

Pedidos

DetallePedido
Origen

Artculos
PedidoHist Pedido

Pedidos Clientes

Contabilidad Ventas

Paradigma Orientado a Objetos

Jerarqua: Es el orden de abstraccin organizado por niveles


Paradigma Orientado a Objetos

Herencia: Es un mecanismo para expresar similaridad entre clases, simplificando


definiciones de las clases similares previamente definidas. La herencia permite crear
nuevas clases llamadas subclases agregando solamente las diferencias con la clase. En
otras palabras la herencia es una particin en subclases ms especializadas

La herencia es una herramienta que permite


definir nuevas clases en base a otras clases
existentes.

Paradigma Orientado a Objetos

Tipificacin
Es la definicin precisa de un objeto de tal forma que objetos de diferentes tipos no puedan
ser intercambiados o, cuando mucho, puedan intercambiarse de manera muy restringida.

Concurrencia
Es la propiedad que distingue un objeto que est activo de uno que no lo est. Permite a
dos objetos de la misma clase actuar al mismo tiempo.

Persistencia
Es la propiedad de un objeto, por la cual su existencia trasciende el tiempo y/o el espacio.
Paradigma Orientado a Objetos

Prctico
Identificar / definir Clases, Objetos, Atributos y Mtodos

Piensen que tienen un gran nmero de libros en su casa y que frecuentemente


se los prestan a sus amigos o conocidos y necesitan saber que libros tienen
disponibles para prestar, a que amigos se los han prestado, cuando se los van a
devolver, etc.

You might also like