Professional Documents
Culture Documents
R
A
W
T
F
O
S
L
S
E
O
D
T
E
A
J
I
B
R
E
O
I
N
A
E
G
O
D
IN
A
T
N
E
I
OR
PROGRAMACION ORIENTADO A
OBJETOS " POO "
Es una forma de pensar, una filosofa, de la cual surge una cultura
nueva que incorpora tcnicas y metodologas diferentes. desde el
punto de vista computacional "es un mtodo de implementacin en
el cul los programas son organizados como grupos cooperativos de
objetos, cada uno de los cuales representa una instancia de alguna
clase, y estas clases, todas son miembros de una jerarqua de clases
unidas va relaciones de herencia".
CONCEPTOS Y PRINCIPIOS
ORIENTADOS A OBJETOS
Vivimos en un mundo de objetos. Estos objetos existen en la
naturaleza, en entidades hechas por el hombre, en los negocios y en
los productos que usamos. Pueden ser clasificados, descritos,
organizados, combinados, manipulados y creados. Por esto no es,
sorprendente que se proponga una visin orientada a objetos para la
creacin de software de computadora, una abstraccin que modela el
mundo de forma tal que nos ayuda a entenderlo y gobernarlo mejor.
La primera vez que se propuso un enfoque orientado a objetos para
el desarrollo de software fue a finales de los aos sesenta. Sin
embargo, las tecnologas de objetos han necesitado casi veinte aos
para llegar a ser ampliamente usadas. Durante los aos 90. la
ingeniera del software orientada a objetos se convirti en el
paradigma de eleccin para muchos productores de software y para
un creciente nmero de sistemas de informacin y profesionales de la
ingeniera. A medida que pasa el tiempo, las tecnologas de objetos
estn sustituyendo a los enfoques clsicos de desarrollo de software.
El proceso
se mueve a travs de una espiral evolutiva que
comienza con la comunicacin con el usuario. Es aqu donde se
define el dominio del problema y se identifican las clases bsicas
del problema. La planificacin y el anlisis de riesgos establecen
una base para el plan del proyecto OO. El trabajo tcnico asociado
con la ingeniera del software sigue el camino iterativo mostrado en
la caja sombreada. La ingeniera del software hace hincapi en la
reutilizacin. Por lo tanto, las clases se buscan en una biblioteca (de
clases existentes) antes de construirse. Cuando una clase no puede
encontrarse en la biblioteca, el desarrollador de software aplica
Anlisis orientado a objetos (AOO), diseo orientado a objetos
(DOO), programacin orientada a objetos (POO) y pruebas
orientadas a objetos (PROO) para crear la clase y los objetos
derivados de la clase. La nueva clase se pone en la biblioteca de tal
manera que pueda ser reutilizada en el futuro.
MODELO DE PROCESO DE
OO
ORIENTADO A OBJETOS
Para entender la visin orientada a objetos, consideremos un
ejemplo de un objeto del mundo real cosa sobre la que usted est
sentado ahora una silla. Silla es un miembro (el trmino instancia
tambin se usa) de una clase mucho ms grande de objetos que
llamaremos Mobiliario. Un conjunto de atributos genricos puede
asociarse con cada objeto, en la clase Mobiliario. Por ejemplo,
todo mueble tiene un costo, dimensiones, peso, localizacin y
color, entre otros muchos posibles atributos. Estos son aplicables a
cualquier elemento sobre el que se hable, una mesa o silla, un sof
o un armario. Como Silla es un miembro de la clase Mobiliario,
hereda todos los atributos definidos para dicha clase.
A
T
N
E
I
R
O
S
O
S
I
T
S
E
I
J
L
B
A
O
N
A
A
O
D
El propsito del AOO es definir todas las clases que son relevantes al
problema que se va a resolver, las operaciones y atributos las
relaciones y comportamientos asociadas con ellas. Para cumplirlo se
deben ejecutar las siguientes tareas:
O
D
A
T
N
E
I
R
O
S
O
O
T
E
E
J
S
B
O
DI
A
1) A
diferencia de los mtodos de diseo de software
convencionales, el DOO proporciona un diseo que alcanza
diferentes niveles de modularidad. La mayora de los
componentes de un sistema, estn organizados en subsistemas,
un mdulo a nivel del sistema. Los datos y las operaciones que
manipulan los datos se encapsulan en objetos , una forma
modular que es el bloque de construccin de un sistema 00.
Adems, el DOO debe describir la organizacin especfica de los
datos de los atributos y el detalle procedural de cada operacin.
Estos representan datos y piezas algortmicas de un sistema OO
y son los que contribuyen a la modularidad global.
2) El diseo de software orientado a objetos es difcil, y el diseo de
software reusable orientado a objetos es aun ms difcil. Se deben
identificar los objetos pertinentes, clasificarlos dentro de las clases
en la granularidad correcta, definir interfaces de clases y jerarquas
de herencia y establecer relaciones clave entre ellos. El diseo debe
ser especfico al problema que se tiene entre manos, pero
suficientemente
general para adaptarse a problemas
y
requerimientos futuros. Adems se deber evitar el rediseo, o por
lo menos Los diseadores experimentados en OO dicen que un
diseo reusable y flexible es difcil, si no imposible de obtener
bien, la primera vez. Antes de que un diseo sea terminado,
usualmente tratan de varias veces, modificndolo cada vez.
ENFOQUE CONVENCIONAL VS OO
Los enfoques convencionales para el diseo de software aplican
distintas notaciones y conjunto de heursticas, para trazar el
modelo de anlisis en un modelo de diseo cada elemento del
modelo convencional de anlisis se corresponde con uno o ms
capas del modelo de diseo. Al igual que el diseo convencional
de software, el aplica el diseo de datos cuando los atributos
son representados, el diseo de interfaz cuando se desarrolla un
modelo de mensajera, y diseo a nivel de componentes
mental), para operaciones de diseo. Es importante notar que la
arquitectura de un diseo tiene ms que ver con la colaboracin
entre objetos que con el control de flujo entre componentes del
sistema.
EL PANORAMA DE DOO
El mtodo de Booch: abarca un proceso demicro desarrollo y un
proceso de macro desarrollo. En el contexto del diseo, el macro
desarrollo engloba una actividad de planificacin arquitectnica,
que agrupa objetos similares en particiones arquitectnicas
separadas, capas de objetos por nivel de abstraccin, identifica
situaciones relevantes, crea un prototipo de diseo y valida el
prototipo aplicndolo a situaciones de uso. El micro desarrollo
define un conjunto de reglas que regulan el uso de operaciones y
atributos y las polticas del dominio especfico para la
administracin de la memoria, manejo de errores y otras funciones;
desarrolla situaciones que describen la semntica de las reglas y
polticas; crea un prototipo para cada poltica; instrumenta y refina
El mtodo de Rumbaugh: engloba una actividad de diseo que
el prototipo; y revisa cada poltica para as transmitir su visin
alienta al diseo a ser conducido a dos diferentes niveles de
arquitectnica.
abstraccin. El
de sistema se centra en el esquema de los
componentes que se necesitan para construir un sistema o producto
completo
EL PROCESO DE DISEO DE
SISTEMA
El proceso de diseo del sistema abarca las siguientes
actividades:
PATRONES DE DISEO
Se encontrarn patrones repetidos de clases y objetos de
comunicacin, en muchos sistemas orientados a objetos. Estos
patrones resuelven problemas especficos de diseo , y vuelven al
diseo orientado a objetos ms flexible, elegante y extremadamente
reutilizable. Ayudan a los diseadores a reutilizar diseos exitosos
basando nuevos diseos en experiencia previa.
En la actualidad, se ha desarrollado y catalogado un nmero
relativamente pequeo de patrones. De cualquier manera, los ltimos
cinco aos han sido testigos de una tremenda explosin, en
trminos
de inters industrial. Los patrones, junto con los
componentes, ofrecen la esperanza de que la ingeniera de software,
eventualmente, se parezca a otras disciplinas de ingeniera, con
clases volvindose el anlogo en software de componentes
electrnicos, y los patrones volvindose el anlogo en software de
pequeos circuitos hechos de componentes.
S
A
R
P
D
A
T
N
S
E
I
O
T
R
O BJE
S
O
A
B
A
E
U
S
A
C
I
N
C
S
S
A
O
T
T
M
E
S
E
J
A
T
B
C
S
I
I
O
S
R
A
T
A
S
R
O
M PA
D
A
T
N
E
I
R
O
! Gracia
s