Академический Документы
Профессиональный Документы
Культура Документы
que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e
incluso frente a objetos de una misma clase
Primero deberemos crear una clase antes de poder crear objetos o ejemplares de esa
clase.
Qu es un Objeto?
De manera intuitiva, la tendencia general es asociar el trmino objeto con todo aquello a
lo que se puede atribuir la propiedad fsica de masa, como una tostadora de pan, aunque
es posible encontrar objetos de ndole no tangible, como por ejemplo una direccin postal.
En el mbito de la informtica, un objeto define una representacin abstracta de las
entidades del mundo, tangibles o no, con la intencin de emularlas. Existe pues, una
relacin directa entre los objetos del mundo y los objetos informticos, de modo que
puede emplearse el trmino objeto de manera indistinta.
Los objetos tienen dos caractersticas, que son su estado y su comportamiento. El estado
es una situacin en la que se encuentra el objeto, tal que cumple con alguna condicin o
condiciones particulares, realiza alguna actividad o espera que suceda un acontecimiento.
Una tostadora puede estar encendida y cargada de pan y, en cuanto a su
comportamiento, lo normal en este estado es tostar pan.
Los objetos mantienen su estado en uno o ms atributos, que son simplemente datos
identificados por un nombre, y exhiben su comportamiento a travs de mtodos, que son
trozos de funcionalidad asociados al objeto. En este sentido, un objeto es realmente un
conjunto de atributos y mtodos. Pero un objeto slo revela su verdadera utilidad cuando
es integrado en un contexto de comunicacin con otros objetos, a travs del envo de
mensajes, para componer un sistema mucho mayor y demostrar un comportamiento ms
complejo. Una tostadora en un armario resulta de poca utilidad, pero cuando interacta
con otro objeto, como un ser humano, se convierte en una herramienta til para tostar
pan.
El humano intercambiara con la tostadora el mensaje tuesta el pan que tienes en la
bandeja a travs de la pulsacin del botn de tostar.
A partir del ejemplo anterior, es fcil deducir que el envo de mensajes es la forma en que
se invocan los mtodos de un objeto y que la invocacin de mtodos es el mecanismo a
travs del cual un objeto puede cambiar su estado o el de otro objeto. Los atributos y los
mtodos de un objeto pueden tener un menor o mayor grado de visibilidad, desde
privado hasta pblico, lo que hace que aparezca un concepto nuevo, la encapsulacin.
La encapsulacin oculta los detalles del funcionamiento interno del objeto, exponiendo
slo aquello que pueda ser de inters.
Qu es una clase?
Los objetos no son entidades que existan de modo nico. Hay muchos tipos de tostadoras
e, igualmente, muchas tostadoras del mismo tipo. Se puede entender fcilmente el
concepto de clase si nos permitimos emplear el trmino tipo como equivalente. As, todos
los objetos que son del mismo tipo, comparten el mismo juego de atributos y mtodos
(aunque cada objeto pueda tener un valor distinto asociado a cada atributo) y por tanto
pertenecen a una misma clase. Las clases son como patrones que definen qu atributos y
qu mtodos son comunes a todos los objetos de un mismo tipo.
Cada objeto tiene sus atributos y su comportamiento, creados empleando una clase a
modo de patrn. Una vez creado el objeto, pasa a ser una instancia particular de la clase
a la que pertenece y sus atributos tienen unos valores concretos, que podrn variar de un
objeto a otro (dos objetos distintos pertenecientes a la misma clase, pueden tener
exactamente los mismos valores en todos sus atributos). A estos atributos, que pueden
variar de un objeto a otro, se les conoce tambin como variables de instancia.
Hay atributos que, sin embargo, no varan de un objeto a otro, es decir todas las
instancias de la clase a la que pertenecen, tienen el mismo valor para ese atributo. Todas
las tostadoras del mismo tipo consumen la misma cantidad en Watts y sus resistencias
son de los mismos Ohm. A estos atributos se les conoce como variables de clase y son
compartidos por todas y cada una de las instancias de la clase. De manera anloga al
caso de los atributos, encontramos mtodos de instancia y mtodos de clase.
Mtodo
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. Un mtodo puede producir un cambio
en las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para
otro objeto del sistema.
Evento
Un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un
mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente. Tambin se puede definir como evento, a la reaccin que
puede desencadenar un objeto, es decir la accin que genera.
Mensaje
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos
con ciertos parmetros asociados al evento que lo gener.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que
hace los datos visibles desde fuera del objeto y esto se define como sus caractersticas
predeterminadas, y cuyo valor puede ser alterado por la ejecucin de algn mtodo.
Estado interno
Es una variable que se declara privada, que puede ser nicamente accedida y alterada
por un mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para
el objeto (o clase de objetos). No es visible al programador que maneja una instancia de
la clase.
La Herencia.
Los objetos se definen en funcin de clases, es decir, tomando una clase como patrn. Se
puede saber mucho acerca de un objeto sabiendo la clase a la que pertenece. Por
ejemplo, con decir que la Black & Decker T1500 es un tipo de tostadora, inmediatamente
se sabe que se trata de una mquina para tostar pan, probablemente elctrica y con por
lo menos una ranura en la que insertar una rebanada de pan y un botn para activar su
funcionamiento.
Las clases llegan un paso ms lejos, permitiendo su definicin en funcin de otras clases,
de modo que es posible establecer una jerarqua de especializacin. Una clase que se
define en funcin de otra, hereda todos los atributos y mtodos de aquella y permite el
aadido de nuevos o la sobre escritura de los heredados. La clase patrn se conoce con
el nombre de superclase o clase padre, mientas que la que hereda se conoce como clase
hija. La herencia no est limitada simplemente a padre-hija(s), la jerarqua puede ser todo
lo profunda que sea necesario, hablando en trminos de nietas, biznietas, etc. De la
misma manera, una clase puede heredar de varias clases a la vez.
En la siguiente figura se puede ver una jerarqua de especializacin de dos niveles. La
clase Animal es la raz, la clase padre en la jerarqua. Especifica que los animales
comen, como caracterstica ms significativa de stos. En el primer nivel de
especializacin encontramos las clases Carnvoro y Herbvoro, ambas son sendos
tipos de animal y por tanto comen, slo que en el caso de los carnvoros se ha
especializado el tipo de comida que comen para indicar que se trata de carne. Aparece
una nueva caracterstica de este tipo de animal, que es el hecho de que los carnvoros
cazan.
Clase Abstracta
Algunas veces, una clase que se ha definido representa un concepto abstracto y como tal,
no debe ser ejemplarizado.
Es decir cuando se desarrolla un jerarqua de clases en que algn comportamiento est
presente en todas ellas peo se materializa de distintas formas para cada una.
Por ejemplo, la comida en la vida real. Has visto algn ejemplar de comida? No. Lo que
has visto son ejemplares de manzanas, pan, y chocolate. Comida representa un concepto
abstracto de cosas que son comestibles. No tiene sentido que exista un ejemplar de
comida.
Por ejemplo, la clase Number del paquete java.lang representa el concepto abstracto de
nmero. Otros ejemplos Clase ElementForm, Figuras Geomtricas, Personas, Mamferos,
Automvil etc.
La Interfaz.
Una interfaz es un mecanismo que emplean dos objetos para interactuar. En nuestro
ejemplo de la tostadora, el humano emplea el botn de tostar a modo de interfaz para
pasar el mensaje tuesta el pan que tienes en la bandeja. Las interfaces definen un
conjunto de mtodos para establecer el protocolo en base al cual interactan dos objetos.
En este sentido, existe una analoga entre interfaces y protocolos. Para que el humano
pueda tostar, debe seguir el protocolo establecido por la interfaz botn de tostar,
consistente en pulsar dicho botn.
Las interfaces capturan las similitudes entre clases no relacionaras, sin necesidad de
forzar una interrelacin y son a su vez clases.
Caractersticas de la POO
Abstraccin
Denota las caractersticas esenciales de un objeto, donde se capturan sus
comportamientos.
Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar
trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin
revelar cmo se implementan estas caractersticas. Se refiere al nfasis en el "qu
hace?" ms que en el "cmo lo hace?"
Encapsulamiento
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una
misma entidad, al mismo nivel de abstraccin. Cada objeto es nico y diferenciable de los
dems.
Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores
confunden este concepto con el principio de ocultacin, principalmente porque se suelen
emplear conjuntamente.
Principio de ocultacin
Cada objeto est aislado del exterior. Cada tipo de objeto expone una interfaz a otros
objetos que especfica cmo pueden interactuar con los objetos de la clase.
El aislamiento protege a 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 su estado. Esto asegura que otros objetos no pueden cambiar el
estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e
interacciones inesperadas.
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. O dicho de otro modo, las referencias y las colecciones de
objetos pueden contener objetos de diferentes tipos, y la invocacin de un
comportamiento en una referencia producir el comportamiento correcto para el tipo real
del objeto referenciado.
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 facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados de otros objetos. Estos pueden compartir
(y extender) su comportamiento sin tener que volver a implementarlo.
Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple.
La lista anterior debe ser continuada hasta que se hayan considerado todos los nombres
de la descripcin del proceso. Observe que se ha llamado a cada entrada en la lista un
objeto potencial. Se debe considerar cada uno de ellos antes de tomar una decisin final.
Coud y Yourdon sugieren seis caractersticas de seleccin a usar cada vez que un
analista considera si incluye o no un objeto potencial en el modelo de anlisis:
Informacin retenida el objeto potencial ser de utilidad durante el anlisis
solamente si la informacin acerca de l debe recordarse para que el sistema
funciones.
Servicios necesarios el objeto potencial debe poseer un conjunto de operaciones
identificables que pueden cambiar de alguna manera el valor de sus atributos.
Atributos mltiples durante el anlisis de requisitos, se debe centrar la atencin en
la informacin principal (un objeto con un solo atributo puede, en efecto, ser til
Especificacin de atributos.
Los atributos describen un objeto que ha sido seleccionado para ser incluido en el modelo
de anlisis. En esencia, son los atributos los que definen al objeto, los que clarifican lo
que representa el objeto en el contexto del espacio del problema. Por ejemplo, si se
tratara de construir un sistema de estadsticas para jugadores profesionales de bisbol,
los atributos del objeto Jugador seran muy diferentes de los atributos del mismo objeto
cuando se use dentro del contexto de un sistema de pensiones para jugadores
profesionales. En el primero, atributos tales como nombre, posicin, promedio de bateo,
porcentaje de estancia en el campo de juego, aos jugados y partidos jugados pueden ser
relevantes. En el segundo caso, algunos de estos atributos seran relevantes pero otros
seran reemplazados (o potenciados) por atributos como salario medio, crdito total,
opciones elegidas para el plan de pensin, direccin postal, etc.
Para desarrollar un conjunto significativo de atributos para un objeto, el analista puede
estudiar de nuevo la narrativa del proceso (o descripcin del mbito del alcance) para el
problema y seleccionar aquellos elementos que razonablemente pertenecen al objeto.
Adems, para cada objeto debe responderse el siguiente interrogante: Qu elementos
(compuestos y/o simples) definen completamente al objeto en el contexto del problema
actual?
Para ilustrar esto, se considerar el objeto Sistema definido para Hogar Seguro.
Anteriormente se indic que el propietario puede configurar el sistema de seguridad para
reflejar la informacin acerca de los sensores, sobre la respuesta de la alarma, sobre la
activacin / desactivacin, sobre identificacin, etc. Usando la notacin de la descripcin
del contenido se podra representar estos elementos de datos compuestos de la siguiente
manera:
Informacin del sensor: tipo de sensor + nmero de sensor + umbral de alarma.
Informacin de respuesta de la alarma = tiempo de retardo + nmero de telfono +
tipo de alarma.
Informacin de activacin / desactivacin: contrasea maestra + cantidad de
intentos permitidos + contrasea temporal.
Informacin de identificacin: ID del sistema + verificacin de nmero de telfono
+ estado del sistema.
Definicin de operaciones.
Las operaciones definen el comportamiento de un objeto y cambian, de alguna manera,
los atributos de dicho objeto. Ms concretamente, una operacin cambia valores de uno o
ms atributos contenidos en el objeto. Por lo tanto, una operacin debe tener
conocimiento de la naturaleza de los atributos de los objetos y deben ser implementadas
de manera tal que le permita manipular las estructuras de datos derivadas de dichos
atributos.
Aunque existen muchos tipos diferentes de operaciones, stas pueden clasificarse en tres
grandes categoras:
1. Operaciones que manipulan, de alguna manera, datos (por ejemplo: aadiendo,
eliminando, reformateando, seleccionando)
2. Operaciones que realizan algn clculo
3. Operaciones que monitorizan un objeto frente a la ocurrencia de un suceso de
control.
En una primera iteracin para obtener un conjunto de operaciones para los objetos del
modelo de anlisis, el analista puede estudiar de nuevo la narrativa del proceso (o
descripcin del mbito) del problema y seleccionar aquellas operaciones que
razonablemente pertenecen al objeto.
Para realizar esto, se estudia de nuevo el anlisis gramatical y se aslan los verbos.
Algunos de estos verbos sern operaciones legtimas y pueden conectarse fcilmente a
un objeto especfico. Por ejemplo, de la narrativa de proceso de Hogar Seguro, puede
verse que al sensor se le asigna un nmero y un tipo o que se programa una
contrasea maestra para activar y desactivar el sistema. Estas dos frases indican varias
cosas:
Que una operacin de asignacin es relevante para el objeto Sensor.
Que una operacin de programar se le aplicar al objeto Sistema.
Que activar y desactivar son operaciones aplicables al Sistema como: Estado del
sistema = [activado | desactivado]
Tras una investigacin ms detallada, es probable que haya que dividir la operacin
programar en varias sub-operaciones ms especficas requeridas para configurar el
sistema. Por ejemplo, programar implica especificar nmeros de telfonos, configurar
caractersticas del sistema (por ejemplo, crear la tabla de sensores, introducir las
caractersticas de las alarmas) e introducir la(s) contrasea(s), aunque por ahora se
especificar programar como una operacin simple.
Las relaciones son abstracciones que actan como unin entre los distintos
elementos. Hay cuatro tipos, la dependencia, la asociacin, la generalizacin y la
realizacin.
Los diagramas son la disposicin de un conjunto de elementos, que representan el
sistema modelado desde diferentes perspectivas. UML tiene nueve diagramas
fundamentales, agrupados en dos grandes grupos, uno para modelar la estructura
esttica del sistema y otro para modelar el comportamiento dinmico. Los
diagramas estticos son: el de clases, de objetos, de componentes y de
despliegue. Los diagramas de comportamiento son: el de Casos de Uso, de
secuencia, de colaboracin, de estados y de actividades.
Elementos.
Elementos Estructurales.
Elementos de Comportamiento.
Especifica la secuencia de estados por los que pasa un objeto o una interaccin, en
respuesta a eventos.
Elementos de Agrupacin.
Elementos de Notacin.
Partes explicativa de UML, que puede describir textualmente cualquier aspecto del
modelo.
Es una relacin entre dos elementos, tal que un cambio en uno puede afectar al otro.
Es una relacin estructural que resume un conjunto de enlaces que son conexiones entre
objetos.
Es una relacin en la que el elemento generalizado puede ser substituido por cualquiera
de los elementos hijos, ya que comparten su estructura y comportamiento.
Es una relacin que implica que la parte realizante cumple con una serie de
especificaciones propuestas por la clase realizada (interfaces).
Diagramas.
Diagrama de Clases.
Muestran un resumen del sistema en trminos de sus clases y las relaciones entre ellas.
Las clases abstractas tienen su nombre en itlica. Son interfaces.
Las flechas navegables son asociaciones navegables que expresan el sentido en que se
consultan los datos. El resto son asociaciones bidireccionales.
Las relaciones pueden traer asociada una multiplicidad, expresada en el lado opuesto de
la relacin. Resume el nmero de posibles instancias de una clase asociadas a una nica
instancia de la clase en el otro extremo.
Los atributos y mtodos estticos (de clase) se representan mediante un subrayado. Los
mtodos pueden emplear el estereotipo <<static>>.
Para denotar una relacin de auto agregacin, se emplea el siguiente diagrama:
Un departamento puede estar compuesto por varios sub departamentos, o ninguno, con la
restriccin de que el mnimo nmero de personas en los sub departamentos debe ser dos.
En UML las restricciones se expresan mediante llaves "{condicin a cumplir siempre}"
Diagrama de Objetos.
Los diagramas de objetos son anlogos a los de clases, con la particularidad de que en
lugar de encontrar clases, encontramos instancias de stas. Son tiles para explicar
partes pequeas del modelo en las que hay relaciones complejas.
Diagrama de Componentes.
Un componente es un mdulo de cdigo, de modo que los diagramas de componentes
son los anlogos fsicos a los diagramas de clases.
Muestran la organizacin y dependencias de un conjunto de componentes. Cubren la
vista de implementacin esttica de un sistema.
Diagrama de Despliegue.
Los diagramas de despliegue sirven para modelar la configuracin de hardware del
sistema, mostrando qu nodos lo componen.
Este otro diagrama se puede entender como "Carlos calienta la leche, aade caf y
azcar al gusto y se lo bebe".
Los Casos de Uso pueden acompaarse de texto que enriquezca el lenguaje grfico.
Diagrama de Secuencia.
Estos diagramas describen cmo los objetos del sistema colaboran entre s.
Detallan como las operaciones se llevan a cabo en trminos de que mensajes son
enviados y cuando (en torno al tiempo).
Los mensajes pueden dividirse en dos tipos, dependiendo de sus tipos de activacin:
Mensajes Asncronos: El emisor puede enviar otros mientras ste est siendo procesado.
Es independiente a otros mensajes.
Mensajes Sncronos: El emisor debe esperar que termine el tiempo de proceso de ste
para enviar nuevos mensajes.
Diagrama de Colaboracin.
Son otro tipo de diagramas de interaccin. Contienen la misma informacin que los
diagramas de secuencia, pero se centran en la responsabilidad de cada objeto en lugar
de en el tiempo en que los mensajes son enviados.
Diagrama de Estados.
Muestran los posibles estados en que puede encontrarse un objeto y las transiciones que
pueden causar un cambio de estado. El estado de un objeto depende de la actividad que
est llevando a cabo o de alguna condicin.
Comprador.
Comprador.
Diagrama de Actividades.
Son diagramas de flujo adornados, con mucha similitud a los diagramas de estados.
Mientras los diagramas de estados centran su atencin en el proceso que lleva a cabo un
objeto, los diagramas de actividades muestran como las actividades fluyen y las
dependencias entre ellas.