You are on page 1of 6

El Diseo Orientado a los Objetos (DOO) crea una representacin

del problema del mundo real y la hace corresponder con el mbito de


la solucin, que es el software. A diferencia con otros mtodos de
diseo, el DOO produce un diseo que interconecta objetos de datos y
operaciones de procesamiento para esos objetos, de forma que se
modulariza la informacin y el procesamiento, en lugar de aislar el
procesamiento.
Todos los mtodos de diseo intentan desarrollar software basndose
en:
Abstraccin, Ocultamiento de informacin, Modularidad.
El DOO proporciona un mecanismo que permite al diseador consigue
estas tres caractersticas sin dificultad.

Caractersticas principales del Diseo Orientado a Objetos:


Los objetos son abstracciones del mundo real o entidades del
sistema que se administran entre ellas mismas
Los objetos son independientes y encapsulan el estado y la
representacin de informacin
La funcionalidad del sistema se expresa en trminos de servicios de
los objetos
Las reas de datos compartidas son eliminadas. Los objetos se
comunican mediante paso de parmetros
Los objetos pueden estar distribuidos y pueden ejecutarse en forma
secuencial o en paralelo
Ventajas del Diseo Orientado a Objetos:
Fcil de mantener, los objetos representan entidades auto-contenidas
Los objetos son componentes reutilizables
Para algunos sistemas, puede haber un mapeo obvio entre las
entidades del mundo real y los objetos del sistema.
Reusabilidad del software
Mayor flexibilidad para realizar mantenimiento y modificaciones
del software

Disminuye el gap semntico proveyendo una representacin


consistente en todo el ciclo de vida
Mejor interaccin entre el usuario/analista/diseador.
Ms apropiado para abordar problemas ms complejos.

Modularidad: La idea es resolver un problema complejo


separndolo en partes ms pequeas, que se puedan disear,
desarrollar, probar y modificar de manera sencilla y lo ms
independientemente posible. Al usar nombres genricos estamos en
presencia
de
mdulos.
En el diseo orientado a objetos la modularizacin esencial se da a
nivel de clases, que son entidades del dominio del problema. Por lo
tanto no modularizamos la solucin, sino primero el problema (en el
anlisis) y luego, partiendo de esas clases conceptuales, del dominio
del
problema,
modularizamos
la
solucin
(diseo).
La POO tiene mdulos funcionales, que seran los mtodos u
operaciones de las clases y tambin paquetes que son importantes
para agrupar clases en el diseo de aplicaciones medianas.
Cohesin: Cada mdulo del sistema debe referirse a un nico
proceso o entidad. A mayor cohesin el mdulo en cuestin ser ms
sencillo
de
disear,
programar,
probar
y
mantener.
Con los mtodos se logra alta cohesin cuando cada mdulo realiza
una nica tarea trabajando sobre una sola estructura de datos. Las
clases tendrn alta cohesin cuando se refieran a una nica entidad.
Podemos garantizar una fuerte cohesin disminuyendo al mnimo las
responsabilidades
de
una
clase.
En los paquetes no es usual analizar cohesin, pero podemos
aplicarle los mismos tests que a las clases. Lo crucial en los paquetes
es el acoplamiento.
Acoplamiento: mide el grado de relacionamiento de un mdulo con
los dems. Para tener un mejor acoplamiento debemos lograr una
independencia para que la relacin entre los mtodos, clases y
paquetes sea mnima.

El acoplamiento mide el grado de relacionamiento de un mdulo


con los dems. A menor acoplamiento, mejor: el mdulo en cuestin
ser ms sencillo de disear, programar, probar y mantener.
En el diseo estructurado, se logra bajo acoplamiento reduciendo las
interacciones entre procedimientos y funciones, reduciendo la
cantidad y complejidad de los parmetros y disminuyendo al mnimo
los parmetros por referencia y los efectos colaterales.
De nuevo, el diseo orientado a objetos nos complica las cosas con
sus tres tipos de mdulos. A los mtodos, como pas con la cohesin,
podemos analizarlos con los mismos criterios que a los mdulos del
diseo estructurado.

CAJA NEGRA
En este tipo de mtodo, se considera que el diseador es capaz de
producir resultados en los que confa y que a menudo tienen xito
ms no es capaz de explicar cmo lleg a tal resultado.
Las caractersticas de este mtodo de diseo son:
1. El diseo final est conformado por las entradas (in puts) ms
recientes procedentes del problema, as como por otras entradas que
proceden de experiencias anteriores.
2. Su produccin se ve acelerada mediante el relajamiento durante
cierto periodo de las inhibiciones a la creatividad.
3. La capacidad para poder producir resultados relevantes depende
de la disponibilidad de tiempo suficiente para que el diseador
asimile y manipule imgenes que representen la estructura del
problema.
4. A lo largo de esta manipulacin, repentinamente se percibe una
nueva manera de estructurar el problema de tal manera que se
resuelven los conflictos.
5. El control consciente de las distintas maneras en que se estructura
un

problema,

incrementa

posibilidades

de

obtener

buenos

resultados.
Es un sistema cerrado del que no conocemos su funcionamiento.Una caja negra
ofrece una interfaz con el exterior, que permite usarla. A trves de dicha interfaz los
usuarios pueden operar la caja y recibir los resultados de dicha operacion

Objeto
? Un objeto es una entidad que tiene un estado y un conjunto definido
de operaciones que operan sobre este estado. ?? El estado se
representa mediante un conjunto de atributos del objeto. ?? Las
operaciones asociadas con el objeto proveen servicios a otros objetos
(clientes) que requieren estos servicios cuando necesitan realizar
alguna actividad de cmputo. ?? Los objetos se crean de acuerdo a
una definicin de la clase objeto. ?? La definicin de la clase objeto
sirve como template para los objetos. Esta incluye las declaraciones
de todos los atributos y servicios los cuales deben estar asociados
con un objeto de esta clase.

Mensajes
El nombre del servicio requerido por algn objeto que llama.
Copias de la informacin requerida para ejecutar el servicio y el
nombre de quien tiene esta informacin. uEn la practica, los mensajes
se implementan a menudo mediante llamadas de procedimientos
Nombre = nombre de procedimiento. Informacin = lista de
parmetros.

Identidad del Objeto


La identidad expresa que aunque dos objetos sean exactamente
iguales en sus atributos, son distintos entre s. De esta forma incluso
una serie de Objetos coches, recin fabricados son distintos los unos
de los otros.
La afirmacin anterior, aunque parece obvia, tiene importancia
cuando descendemos al nivel de programacin. En este mbito cada
uno de los objetos tiene un controlador pro el cual se identifica. Este
puede ser una variable, una estructura de datos, una cadena de
caracteres, etc. El controlador ser distinto para cada uno de los
objeto, aunque las referencias a stos sean uniformes e
independientes del contenido, permitiendo crear agrupaciones de
objetos con el mismo tratamiento.

El encapsulamiento de variables y mtodos en un componente de


software ordenado es, todava, una simple idea poderosa que provee
dos principales beneficios a los desarrolladores de software:

Modularidad, esto es, el cdigo fuente de un objeto puede ser


escrito, as como darle mantenimiento, independientemente del
cdigo fuente de otros objetos. As mismo, un objeto puede ser
transferido alrededor del sistema sin alterar su estado y
conducta.

Ocultamiento de la informacin, es decir, un objeto tiene


una "interfaz publica" que otros objetos pueden utilizar para
comunicarse con l. Pero el objeto puede mantener informacin
y mtodos privados que pueden ser cambiados en cualquier
tiempo sin afectar a los otros objetos que dependan de ello.

Encapsulamiento: Tambin llamado "ocultacin de la


informacin". Cada objeto est aislado del exterior, y expone
una interfaz a otros objetos que especifica cmo pueden interactuar
entre ellos. El aislamiento protege las propiedades de un objeto
contra su modificacin por quien no tenga derecho a acceder a ellas,
solamente los propios mtodos internos del objeto pueden acceder a
ste

Polimorfismo: El trmino polimorfismo se refiere a comportamientos


alternos entre clases derivadas relacionadas. Cuando varias clases
heredan atributos y comportamientos, pude haber casos en donde el
comportamiento de una clase derivada debe ser diferente del de su
clase base o de sus clases derivadas parientes.

Polimorfismo:

comportamientos

diferentes,

asociados

objetos distintos, pueden compartir el mismo nombre, pero se


utilizar el comportamiento correspondiente al objeto en uso.
Algunos lenguajes proporcionan medios ms estticos de
polimorfismo, tales como las plantillas y la sobrecarga de
operadores de C++.

Herencia

Punto de vista 1. Identificar la jerarqua de herencias es una parte


fundamental del diseo orientado a objetos. Obviamente esto solo

puede implementarse utilizando lenguajes de programacin


orientados a objetos.

Punto de vista 2. La herencia es un concepto til para


implementacin que permite reusar los atributos y las
operaciones. La identificacin de la jerarqua de herencias en la
fase de diseo pone muchas restricciones en la implementacin.

Herencia: las clases no estn aisladas, sino que se relacionan


entre s, formando una jerarqua de clasificacin. Los objetos
heredan las propiedades y el comportamiento de todas las
clases a las que pertenecen. La herencia organiza y facilita el
polimorfismo y el encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos
preexistentes.

You might also like