Está en la página 1de 12

Anlisis y Diseo III

METODOLOGIA ORIENTADA A
OBJETO

1.- Qu caracteriza a la metodologa orientada a objetos y sus ventajas en el desarrollo


de sistemas?
La metodologa Orientada a Objetos supone un cambio de enfoque sustancial respecto a
las metodologas tradicionales, principalmente requiere de una forma diferente de
pensar, desarrollar y comunicarse en las diversas fases del proyecto.
Esta intenta modelar el mundo real y los objetos del mundo real; donde primero se
modelan las entidades y luego se asocian las acciones identificadas como las funciones
o responsabilidades de estas entidades en la bsqueda de una solucin al problema
existente.
OMT es una de las metodologas de anlisis y diseo orientada a objetos, ms madura y
eficiente que existe en la actualidad. La gran virtud que aporta esta metodologa es su
carcter de abierta (no propietaria), que le permite ser de dominio pblico y, en
consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolucin para acoplarse
a todas las necesidades actuales y futuras de la ingeniera de software.
Las fases que conforman a la metodologa OMT son:
1. Anlisis. El analista construye un modelo del dominio del problema, mostrando sus
propiedades ms importantes. El modelo de anlisis es una abstraccin resumida y
precisa de lo que debe de hacer el sistema deseado y no de la forma en que se har. Los
elementos del modelo deben ser conceptos del dominio de aplicacin y no conceptos
informticos tales como estructuras de datos. Un buen modelo debe poder ser entendido
y criticado por expertos en el dominio del problema que no tengan conocimientos
informticos.
2. Diseo del sistema. El diseador del sistema toma decisiones de alto nivel sobre la
arquitectura del mismo. Durante esta fase el sistema se organiza en subsistemas
basndose tanto en la estructura del anlisis como en la arquitectura propuesta. Se
selecciona una estrategia para afrontar el problema.
3.

Diseo de objetos. El diseador de objetos construye un modelo de diseo

basndose en el modelo de anlisis, pero incorporando detalles de implementacin. El


diseo de objetos se centra en las estructuras de datos y algoritmos que son necesarios
para implementar cada clase. OMT describe la forma en que el diseo puede ser
implementado en distintos lenguajes (orientados y no orientados a objetos, bases de
datos, etc.).
4. Implementacin. Las clases de objetos y relaciones desarrolladas durante el anlisis
de objetos se traducen finalmente a una implementacin concreta. Durante la fase de

implementacin es importante tener en cuenta los principios de la ingeniera del


software de forma que la correspondencia con el diseo sea directa y el sistema
implementado sea flexible y extensible.
La metodologa OMT emplea tres clases de modelos para describir el sistema:
1.

Modelo de objetos. Describe la estructura esttica de los objetos del sistema

(identidad, relaciones con otros objetos, atributos y operaciones). El modelo de objetos


proporciona el entorno esencial en el cual se pueden situar el modelo dinmico y el
modelo funcional. El objetivo es capturar aquellos conceptos del mundo real que sean
importantes para la aplicacin. Se representa mediante diagramas de objetos.
2.

Modelo dinmico. Describe los aspectos de un sistema que tratan de la

temporizacin y secuencia de operaciones (sucesos que marcan los cambios, secuencias


de sucesos, estados que definen el contexto para los sucesos) y la organizacin de
sucesos y estados. Captura el control, aquel aspecto de un sistema que describe las
secuencias de operaciones que se producen sin tener en cuenta lo que hagan las
operaciones, aquello a lo que afecten o la forma en que estn implementadas. Se
representa grficamente mediante diagramas de estado.
3.

Modelo funcional. Describe las transformaciones de valores de datos (funciones,

correspondencias, restricciones y dependencias funcionales) que ocurren dentro del


sistema. Captura lo que hace el sistema, independientemente de cuando se haga o de la
forma en que se haga. Se representa mediante diagramas de flujo de datos.
Modelo de referencia

Las ventajas de la metodologa orientada a objeto son:


Cdigo Reutilizable.
Mejores mtodos y notacin.
Ciclo ms corto de anlisis diseo y programacin.
Incorpora ideas de IA, modelado de datos, TI, computacin.
Encapsula: datos y procesos.
Datos: atributos
Variables e instancia.
Variable de clase.
Procesos: Mtodos, operaciones o servicios:
Procedimientos.
Funciones.
Clase: coleccin de objetos con atributos y mtodos comunes, de acuerdo a
sus caractersticas y responsabilidades.
Tipo abstracto de Datos: tipo de entidades de modelado de datos que
incluyen mtodos para el tratamiento de los datos.
Clase <> Tipo.
Beneficios de la Metodologa Orientada a Objeto
Permite ensamblar sistemas grandes a partir de mdulos reutilizables.
Reutiliza clases ya probadas y depuradas
Permite extender las capacidades de mdulos y objetos a travs de la herencia,
aportando flexibilidad.
Las interfaces entre mdulos y sistemas externos es ms fcil a travs del paso
de mensajes.
La particin en objetos facilita la escalabilidad de los sistemas.
Se puede partir el desarrollo de un sistema en forma ms fcil.
Mejora la seguridad de los sistemas al ocultar la informacin de los objetos.
El anlisis orientado a objetos abarca los modelos centrados en datos.
Mtodos formales ms claros en MOO
OO es una herramienta para manejar la complejidad

Evolucin y mantenimiento de los sistemas ms fcil.


OO tiene mayor potencial para captar mayor significado en sus aplicaciones
GUI, WFS, DSD
2.- Defina cada uno de los elementos mencionados anteriormente y de ejemplos.
CLASE
Consiste en la descripcin de uno o ms objetos del mundo real en base a una serie de
atributos y servicios. A estos atributos se les llama tambin variables de instancia,
mientras que a los servicios se les llama mtodos. Se puede decir que representa al
conjunto de objetos que comparten una estructura y comportamiento comunes. Una
clase debe tener una parte no visible desde el exterior y una parte visible que es la
encargada de acceder a esta parte no visible. En la parte no visible se suelen situar las
variables de instancia mientras que en la visible se colocan los mtodos de instancia. A
las clases cuyas instancias son a su vez clases se les llama metaclases. No se debe
confundir el concepto de clase con el de Tipo Abstracto de Datos. La diferencia est,
segn autores, en que los TAD no soportan herencia, mientras que el concepto de clase
s.
Ejemplo de clases

Relacin entre clases

OBJETOS
Para las personas, un objeto suele ser algo de lo siguiente: Algo tangible y/o visible.
Algo que puede ser comprendido mentalmente. Algo a lo que va dirigido el pensamiento
o la accin. Podemos utilizar como definicin formal del mismo la siguiente: Un objeto
es una entidad real o abstracta con un papel bien definido en el dominio del problema.
Adems, un objeto se caracteriza porque presenta un estado, un comportamiento y una
identidad propia. El estado de un objeto representa todas las propiedades, normalmente
estticas, del objeto adems de los valores actuales, normalmente dinmicos, de cada
una de estas propiedades. Podemos decir que el comportamiento de un objeto es el
modo en que ste acta y reacciona, hablando en trminos de cambios en su estado y
paso de mensajes.
Ejemplo de objeto:

MENSAJES Y MTODOS
El trmino utilizado para nombrar a la accin que un objeto realiza sobre otro es el de
mensaje y tambin el de operacin. Podemos decir que lo que un objeto le pide que
realice a otro es el mensaje, mientras que cmo hace el segundo objeto eso que le han
pedido sera el mtodo. Segn diversos autores puede haber hasta cinco tipos distintos
de operaciones sobre un objeto:
-

Modificadoras.

Selectoras.

Iteradoras.

Constructoras.

Destructoras.

En cuanto a la identidad, sta se define como la propiedad que distingue a un objeto de


otros, y normalmente viene designada por un nombre nico de variable.
MTODOS
Son las operaciones (acciones o funciones) que se aplican sobre los objetos
y que permiten crearlos, cambiar su estado o consultar el valor de sus
atributos.

Los

mtodos

constituyen

la

secuencia

de

acciones

que

implementan las operaciones sobre los objetos. La implementacin de los


mtodos no es visible fuera de objeto. La sintaxis algortmica de los
mtodos expresados como funciones y acciones es: Para funciones se
pueden usar cualquiera de estas dos sintaxis: Funcin [(Lista Parmetros)]:
Para acciones: Accin [(Lista Parmetros)] donde los parmetros son
opcionales Ejemplo: Un rectngulo es un objeto caracterizado por los
atributos Largo y Ancho, y por varios mtodos, entre otros Calcular su rea y
Calcular su permetro.

EJEMPLOS DE MTODOS:

ENCAPSULACIN
La esencia del encapsulamiento recae en que cuando un objeto trae consigo su
funcionalidad, esta ltima se oculta. La utilidad se ve en la reduccin de complejidad,
esto es debido a que las Clases se comportan como cajas negras donde solo se conoce el
comportamiento pero no los detalles internos, y esto es conveniente porque solo interesa
saber qu hace la Clase pero no como lo hace.
En la orientacin a objetos, el encapsulamiento ayuda a mantener junto los elementos de
datos, as como las funciones y procedimientos que operan sobre ellos. En otros
paradigmas, como el procedimental (programacin orientada a procedimientos, el cual
un programa es estructurado en base a sus funciones) los datos y operaciones se
mantienen separados.
Los mecanismos clsicos de abstraccin utilizados han sido, y por este orden:

Procedimientos.

Mdulos.

TAD's.

Objetos junto con el paso de mensajes, herencia y polimorfismo.

Segn este criterio, al agrupar las funciones que trabajan con una serie de datos en la
misma entidad que estos, se consigue independizar la implementacin interna de la
misma, de manera que posibles cambios en su interior afectan mnimamente a sus
usuarios.
Trabajando de este modo se consigue minimizar el tiempo empleado en desarrollar un
nuevo sistema.

EJEMPLO DE ENCAPSULAMIENTO

HERENCIA
Consiste en un mecanismo para expresar la similitud entre clases.
Se utiliza en la construccin de nuevas clases a partir de otras clases ya existentes, de
manera que las nuevas clases as creadas incorporan la estructura y el comportamiento
de la(s) clase(s) de la(s) que heredan.
Cuando una clase hereda de otra u otras, se dice que es subclase o clase derivada, de
ella(s), que, a su vez, son su(s) superclase(s) o clase(s) base.
Lo que estamos diciendo es que comparte las variables de clase y de instancia, as como
los mtodos de clase y de instancia de su(s) superclase(s).
La herencia reduce el nmero de cosas que hemos de decir sobre una nueva clase que
creamos, para ello debemos tener la precaucin de hacer que herede de una clase
parecida a ella.
No todos los LOO admiten la llamada herencia selectiva, sino que se limitan a heredar
todo lo que les proporciona su(s) superclase(s).
La herencia tiene una serie de beneficios para el programador:
Reusabilidad.
Compartir Cdigo.
Consistencia de interfaz.
Posibilidad de construir Software.
Prototipado rpido.
Polimorfismo.

Ocultacin de informacin.
Pero tambin tiene una serie de pegas:
Velocidad de ejecucin menor.
Tamao de los programas mayor.
Sobrecarga debida al paso de mensajes.
Aumento de la complejidad de los programas.
EJEMPLO DE HERENCIA:

POLIMORFISMO
En un sentido literal, polimorfismo significa la cualidad de tener ms de una forma.
En el contexto de poo, el polimorfismo se refiere al hecho de que una simple
operacin puede tener diferente comportamiento en diferentes objetos. En otras
palabras, diferentes objetos reaccionan al mismo mensaje de modo diferente. Los
primeros lenguajes de poo fueron interpretados, de forma que el polimorfismo se
contemplaba en tiempo de ejecucin. Por ejemplo, en c++, al ser un lenguaje
compilado, el polimorfismo se admite tanto en tiempo de ejecucin como en tiempo
de compilacin.
Ejemplo de polimorfismo:

ATRIBUTOS
Los atributos son las caractersticas individuales que diferencian un objeto de otro y
determinan su apariencia, estado u otras cualidades. Los atributos se guardan en
variables denominadas de instancia, y cada objeto particular puede tener valores
distintos para estas variables. Las variables de instancia tambin denominados
miembros dato, son declaradas en la clase pero sus valores son fijados y cambiados en
el objeto. Adems de las variables de instancia hay variables de clase, las cuales se
aplican a la clase y a todas sus instancias. Por ejemplo, el nmero de ruedas de un
automvil es el mismo cuatro, para todos los automviles.
Un atributo consta de un nombre y un valor. Cada atributo est asociado a un tipo de
dato, que puede ser simple (entero, real, lgico, carcter, string) o estructurado (arreglo,
registro, archivo, lista, etc.) Su sintaxis algortmica es: Los modos de acceso son:
Pblico: Atributos (o Mtodos) que son accesibles fuera de la clase. Pueden ser
llamados por cualquier clase, aun si no est relacionada con ella. Este modo de acceso
tambin se puede representar con el smbolo +.
Privado: Atributos (o Mtodos) que slo son accesibles dentro de la implementacin de
la clase. Tambin se puede representar con el smbolo .

Protegido: Atributos (o Mtodos) que son accesibles para la propia clase y sus clases
hijas (subclases). Tambin se puede representar con el smbolo #

EJEMPLO DE ATRIBUTOS

También podría gustarte