Está en la página 1de 15

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION I
Ciclo II-2012
UNIDAD VI: INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBETOS
O!"#$i%o &# l' U(i&'&: Conocer los conceptos bsicos de la Programacin Orientada a Objetos,
estudiar sus tcnicas y aplicarlas en la solucin de problemas.
Co($#(i&o &# l' U(i&'&: 6.1 Programacin Orientada a Objetos
6.2 PE rente a POO
6.! "erminolog#a $sica
6.% "cnicas de la POO
6.& 'enguaje de (odelado )('
I($)o&*cci+(
'os conceptos de la Programacin Orientada a Objetos *POO+ tienen origen en ,imula 6-, un
lenguaje dise.ado para /acer simulaciones con na0es areas. 'a idea surgi al agrupar los di0ersos
tipos de na0es en di0ersas clases de objetos, siendo responsable cada clase de objetos de deinir
sus propios datos y comportamientos. 1ueron reinados ms tarde en ,malltal2, desarrollado en
,imula en 3ero4 P56C *cuya primera 0ersin ue escrita sobre $5,7C+ pero dise.ado para ser un
sistema completamente dinmico en el cual los objetos se podr#an crear y modiicar en tiempo de
ejecucin en lugar de tener un sistema basado en programas estticos.
'a Programacin Orientada a Objetos se ue con0irtiendo en el estilo de programacin dominante a
mediados de los a.os oc/enta, en gran parte debido a la inluencia de C88, una e4tensin del
lenguaje de programacin C. ,u dominacin ue consolidada gracias al auge de las 7nteraces
9ricas de )suario (GUI), para las cuales la programacin orientada a objetos est particularmente
bien adaptada.
,-1 P)o.)'/'ci+( O)i#($'&' ' O!"#$o0
'a Programacin Orientada a Objetos es un eno:ue conceptual espec#ico para dise.ar programas.
Es una orma de programar dierente concentrndose sobre todo en lo :ue se re:uiere obtener y no
en cmo obtenerlo.
Esta tcnica, se basa en la representacin del problema en modelos de objetos #sicos o simulados;
aun:ue la idea es abstracta y parece muy complicada, cuando se aplica a objetos #sicos en trminos
de sus clases, componentes, propiedades y comportamiento se 0uel0e ms clara.
'a idea undamental de la orientacin a objetos y de los lenguajes :ue implementan este paradigma
de programacin es combinar *encapsular+ en una sola unidad tanto los datos como las unciones
:ue operan *manipulan+ sobre los datos. Esta caracter#stica permite representar los objetos del
mundo real, muc/o ms eicientemente :ue con unciones y datos de orma separada o
independiente *como lo /ace la Programacin Estructurada, PE+.
'a POO *Programacin Orientada a Objetos+, es un paradigma :ue utili<a objetos como elementos
undamentales en la construccin de una solucin. )n objeto es una abstraccin de alg=n /ec/o
ente del mundo real :ue tiene atributos :ue representan sus caracter#sticas y propiedades; y
mtodos :ue representan su comportamiento. "odas las propiedades y mtodos comunes entre
objetos se encapsulan o se agrupan en clases.
'as propiedades ms importantes *tcnicas+ de la POO son>
5bstraccin
Encapsulamiento y Ocultacin de datos
Polimorismo
?erencia
6eusabilidad o 6eutili<acin de Cdigo
,-2 P)o.)'/'ci+( E0$)*c$*)'&' F)#($# ' P)o.)'/'ci+( O)i#($'&' ' O!"#$o0
'a POO diiere de la Programacin Estructurada "radicional, en la orma en son manejados los
datos y los procedimientos, en PE *datos y procedimientos+ estn separados y sin ninguna
relacin entre ellos; ya :ue lo =nico :ue se busca es el procesamiento de unos datos de
entrada para obtener otros de salida.
'a Programacin Estructurada anima al programador a pensar sobre todo en trminos de
procedimientos o unciones, y en segundo lugar en las estructuras de datos :ue esos
procedimientos manejan. Con esta tcnica de programacin, se dise.an mdulos *o
unciones+, :ue procesan datos.
'os programadores :ue emplean POO, en cambio, primero deinen objetos para luego en0iarles
mensajes solicitndoles :ue realicen sus mtodos por s# mismos.
Para reali<ar una comparacin, se listarn las 0entajas y des0entajas de estas dos ormas de
programacin>
T1c(ic' &#
2)o.)'/'ci+(
V#($'"'0 D#0%#($'"'0
O)i#($'&' ' O!"#$o0
3POO4
1omenta la reutili<acin del
cdigo
(ayor complejidad para
adaptarse
1acilita la creacin de
programas 0isuales
@epuracin de cdigo ms
compleja
5gili<a el desarrollo de sotAare
Permite crear sistemas ms
complejos
E0$)*c$*)'&' 3PE4
,on ms ciles de entender Cuando crece el cdigo se
diiculta el manejo del
cdigo uente
'a estructura de los programas
es clara
'a reutili<acin de cdigo
no se e4plota tanto como
en la POO
El mantenimiento es cil
'os blo:ues de cdigo son casi
auto e4plicati0os
Programas ms sencillos y
rpidos de coneccionar
Es ms cil reali<ar pruebas y
depuracin de los blo:ues
'a Programacin Estructurada es la primera tcnica ormal de programacin *naci a inicios de los
a.os 6BCs+, sigue estando en 0igencia y es muy utili<ada para iniciar el aprendi<aje de la
programacin.
'a Programacin Orientada a Objetos es una mejora de la Programacin Estructurada; sin embargo,
la mayor dierencia :ue e4iste entre ambas es la orma en :ue se organi<an los programas.
En la actualidad se /a notado :ue muc/as personas desean aprender POO dejando de lado la PE,
esto es un error, ya :ue PE es la base de POO ya :ue esta =ltima utili<a tcnicas como>
modularidad, estructura de datos entre otras. Por lo tanto si se desea aprender POO primero /ay
:ue dominar la PE.
'a Programacin Estructurada es ideal para reali<ar programas sencillos y para iniciar la
programacin. 'a Programacin Orientada a Objetos es recomendada para resol0er problemas ms
complejos y re:uiere un mayor ni0el de abstraccin del problema.
,-5 T#)/i(olo.6' B70ic'
5 continuacin se deinen algunos elementos bsicos de la Programacin Orientada a Objetos con el
objeti0o de amiliari<arse con esta orma de programacin>
'4 O!"#$o: es el centro de la Programacin Orientada a Objetos. )n objeto es algo :ue se 0isuali<a,
se utili<a y :ue juega un papel o un rol. En POO el objeto representa alguna entidad de la 0ida
real. 5 tra0s del estudio de ellos se ad:uiere el conocimiento necesario para *mediante la
abstraccin y la generali<acin+ agruparlos seg=n sus caracter#sticas en conjuntos.
)n objeto es cual:uier elemento del medio ambiente real del problema :ue se 0a a resol0er; posee
caracter#sticas undamentales>
I&#($i&'&: En programacin la identidad de los objetos sir0e para 0eriicar mediante sus
caracter#sticas si dos objetos son iguales o no.
Co/2o)$'/i#($o: El comportamiento de un objeto est directamente relacionado con su
uncionalidad y determina las operaciones :ue este puede reali<ar o a las :ue puede
responder ante mensajes en0iados por otros objetos.
E0$'&o: El estado de un objeto se reiere al conjunto de los 0alores de sus atributos en
un instante de tiempo dado. El comportamiento de un objeto puede modiicar el estado de
ste. Cuando una operacin de un objeto modiica su estado se dice :ue esta tiene
Deecto colateralD.
!4 A$)i!*$o0: son las caracter#sticas indi0iduales :ue dierencian un objeto de otro y determinan su
apariencia, estado u otras cualidades; son propiedades del objeto. Por ejemplo, para el objeto
autom0il, algunos de sus atributos son> propietario, marca, a.o de matr#cula, potencia etc.
5tributos son los datos o 0ariables :ue caracteri<an el objeto y cuyos 0alores indican en un momento
dado su estado. Para el objeto estudiante algunos de sus atributos podr#an ser> carnet, nombre,
carrera, asignaturas aprobadas, etc.
'a identidad y estado de los objetos, tienen :ue 0er con los atributos, y estos pueden ser modiicados
por el comportamiento de los objetos.
c4 Cl'0#: es la representacin de un conjunto de objetos del mismo tipo, es decir :ue los distinguen
los mismos atributos y las mismas unciones *o comportamiento+.
Es la deinicin *o implantacin+ de un tipo abstracto de datos; es decir :ue una clase describe no
slo los atributos de los objetos :ue la orman, sino :ue tambin incluye sus procesos *unciones o
comportamiento+.
,eg=n 'uis Eoyanes 5guilar, Funa clase es una caracteri<acin abstracta de un conjunto de objetosG.
&4 M1$o&o0: son las operaciones *acciones o unciones+ deinidas para los objetos, y permiten
crearlos, cambiar su estado o consultar el 0alor de los atributos. Cuando se llama a una
operacin de un objeto se interpreta como el en0#o de mensaje a dic/o objeto. En otras
palabras, un mtodo es una subrutina asociada a una clase.
5lgunos de los dierentes tipos de mtodo :ue e4isten son los siguientes>
(todo 9et *para 0er o consultar 0alores de atributos+
(todo ,et *para asignar 0alores de atributos+
(todos de actuali<acin *para cambiar 0alores por medio de clculos+
#4 R#l'cio(#0 #($)# Cl'0#0: los objetos del medio ambiente no permanecen aislados y separados
unos de los otros, todo lo contrario se comunican entre s# para poder apoyarse y ayudarse entre s#.
@e la misma orma las clases :ue orman parte del ambiente de un problema se relacionan entre s# y
con ello se permite :ue los objetos colaboren entre s# e intercambien inormacin.
'as relaciones entre clases pueden ser las siguientes>
A0oci'ci+(: Es la relacin ms importante y com=n entre clases. 6eleja una relacin
entre dos cl'0#0 i(&#2#(&i#($#0 :ue se mantiene durante la 0ida de los objetos de
dic/as clases o al menos durante un tiempo prolongado.
A.)#.'ci+(: Es un tipo especial de asociacin en el :ue la clase de donde parte la
relacin representa el FtodoG y las clases relacionadas a sta Flas partesG. Es decir :ue
las partes pueden seguir uncionando a=n sin el todo.
Co/2o0ici+(: Este tipo de relacin entre clases indica dependencia entre ellas, indica
:ue una clase es parte esencial de otra; es una relacin muc/o ms uerte :ue la
agregacin ya :ue de eliminarse una clase, deja de e4istir la otra. @ic/o de otra orma, si
la clase origen Fel todoG se elimina o destruye, las otras clases *o Flas partesG+ tambin se
destruyen.
D#2#(&#(ci': Esta relacin indica la necesidad de una clase /acia otra, es decir :ue la
implantacin de una clase depende de otra; los mtodos u operaciones de una clase
re:uiere de los atributos de los objetos de la otra clase.
8#)#(ci': 7ndica :ue una ,ubclase /ereda los mtodos y atributos especiicados por una
,uperclase, por ende la ,ubclase adems de poseer sus propios mtodos y atributos,
poseer las caracter#sticas y atributos 0isibles de la ,uperclase.
,-9T1c(ic'0 &# l' POO
,-9-1 A!0$)'cci+(
)na orma de reducir la complejidad de un problema o situacin es la abstraccin. 'as caracter#sticas
y procesos de cual:uier sistema se resumen en los aspectos ms esenciales y rele0antes.
En computacin, la abstraccin es el proceso crucial de representar la inormacin en trminos de su
intera< con el usuario.
)n ejemplo de abstraccin e4presada de dierentes ormas seg=n la aplicacin a desarrollar, puede
ser un auto.
)n auto es la composicin de dierentes partes *motor, ruedas, puertas, asientos etc.+
)n auto es un trmino com=n :ue deine a tipos dierentes de autom0iles, es decir es una
categor#a :ue puede ser0ir para agrupar, por ejemplo las dierentes marcas *$(H, ,eat,
"oyota entre otras+ o por su categor#a *deporti0os, clsicos, pic2Iup, etc+.
,i los miembros de autos o las dierencias entre autos indi0iduales no son rele0antes, entonces se
utili<an e4presiones y operaciones tales como> se abrican autos, se usan autos para trasladarse de
un lado a otro, se descompone el auto en sus partes, etc.
,-9-2 E(c'20*l'/i#($o : Oc*l$'ci+( &# D'$o0
'a encapsulacin es la reunin en una cierta estructura, de todos los elementos :ue a un cierto ni0el
de abstraccin se pueden considerar pertenecientes a una misma entidad y tambin es el proceso de
agrupamiento de datos y operaciones relacionadas bajo una misma unidad de programacin, lo :ue
permite aumentar la co/esin de los componentes del sistema.
"odos estos objetos :ue presentan caracter#sticas y comportamientos similares, se agrupan en
clases las cuales son utili<adas para encapsular los datos
,-9-5 Poli/o);i0/o
Es la capacidad del cdigo de un programa para ser utili<ado con dierentes tipos de datos u objetos.
"ambin se puede aplicar a la propiedad :ue poseen algunas operaciones de tener un
comportamiento dierente, dependiendo del objeto *o tipo de dato+ sobre el :ue se aplican. 5s#, en
un lenguaje de programacin el operador F8G representa la suma de dos n=meros * 4 8 y + de
dierentes tipos> enteros, lotantes. Pero tambin, el mismo operador puede deinir la operacin de
sumar dos cadenas> concatenacin. @e modo similar, suponiendo un n=mero de iguras geomtricas
:ue responden todas al mensaje Calcular5rea; cada objeto reacciona a este mensaje /aciendo el
clculo correspondiente de la supericie, el cual diiere de una igura a otra>
,-9-9 8#)#(ci'
Proporciona la acilidad de /eredarle caracter#sticas de una ,uperclase a una ,ubclase y es
com=nmente utili<ada en la POO. 'a idea principal es crear una clase :ue encapsule todos los
elementos o caracter#sticas generales :ue pueda y a partir de sta, /eredarle parcial o totalmente las
caracter#sticas a objetos de una subclase.
,-9-< R#*0'!ili&'& o R#*$ili='ci+( &# C+&i.o
,e reiere al comportamiento y a las tcnicas :ue garanti<an :ue una parte o la totalidad de un
programa inormtico e4istente se pueda emplear en la construccin de otro programa. @e esta
orma se apro0ec/a el trabajo anterior, se economi<a tiempo, y se reduce la redundancia.
'a manera ms cil de reutili<ar cdigo es copiarlo total o parcialmente desde el programa antiguo al
programa en desarrollo. Pero es trabajoso mantener m=ltiples copias del mismo cdigo, por lo :ue
en general se elimina la redundancia dejando el cdigo reusable en un =nico lugar, y llamndolo
desde los dierentes programas. Este proceso se conoce como abstraccin. 'a abstraccin puede
0erse claramente en las bibliotecas de sotAare, en las :ue se agrupan 0arias operaciones comunes
a cierto dominio para acilitar el desarrollo de programas nue0os. ?ay bibliotecas para con0ertir
inormacin entre dierentes ormatos conocidos, acceder a dispositi0os de almacenamiento
e4ternos, proporcionar una intera< con otros programas, manipular inormacin de manera conocida
*como n=meros, ec/as, o cadenas de te4to+.
Para :ue el cdigo e4istente se pueda reutili<ar, debe deinir alguna orma de comunicacin o
intera<. Esto se puede dar por llamadas a una subrutina, a un objeto, o a una clase.
,-<L#(.*'"# &# Mo&#l'&o UML
El lenguaje utili<ado para el modelado de los sistemas utili<ando la Programacin Orientada a
Objetos es el )('. 5 continuacin se encuentran los conceptos bsicos del 'enguaje )('.
En la primera mitad de la dcada de los JBCs, los lenguajes de modelado :ue imperaban eran O("I2
*Object (odeling "ec/ni:ue+, creado por Eames 6umbaug/, OO,E *Object Oriented ,otAare
Engineering+, creado por 70an Eacobson y $ooc/J!, creado por 9rady $ooc/.
9rady $ooc/ llam a Eames 6umbaug/ y ormaron e:uipo en una nue0a 6ational Corporation *cuyo
propietario era 9rady+ con el objeti0o de usionar sus dos mtodos. En octubre de 1JJ%, 9rady y
Eames comen<aron a trabajar en la uniicacin de ambos mtodos produciendo una 0ersin en
borrador llamada B.K y nombre F)niied (et/odG. 5 partir de 1JJ& Eacobson se une. El primer ruto
de su trabajo colecti0o se lan< en enero de 1JJ- y ue presentado como 0ersin 1.B de )('. 'a
gran 0entaja de )(' es :ue ue recogiendo aportaciones de los grandes gur=s de objetos> @a0id
?asel con sus diagramas de estado; partes de la notacin de 1usion, el criterio de responsabilidadI
colaboracin y los diagramas de 6ebeca HirsI$roc2, y el trabajo de patrones y documentacin de
9ammaI?elmIEo/nsonI)lissides.
En 1JJ- O(9 acept )(' como estndar *0ersin 1.1+ y naci el primer lenguaje de modelado
0isual orientado a objetos como estndar abierto de la industria. En 1JJK, O(9 lan< dos re0isiones
ms, 1.2 y 1.!. En el a.o 2BBB se present )(' 1.% con la importante aportacin de la semntica de
accin, :ue describe el comportamiento de un conjunto de acciones permitidas :ue se pueden
implementar mediante lenguajes de accin. 'a 0ersin 1.& sigui a las ya citadas.
En 2BB% inali< la 0ersin 2.B con su especiicacin completa. )(' 2 es ya un lenguaje de
modelado muy maduro. )(' 2 /a incorporado numerosas mejoras a )(' 1.4. 'os cambios ms
importantes se /an reali<ado en el metamodelo *generador de modelos+, conser0ando los principios
undamentales y e0oluti0os de las =ltimas 0ersiones. 'os dise.adores de )(' 2.B /an tenido muc/o
cuidado en asegurar :ue uera totalmente compatible con las 0ersiones anteriores para :ue los
usuarios de stas no tu0ieran problemas de adaptacin. 'a 0ersin )(' 2.B /a e0olucionado para
superar los nue0os retos a los cuales se enrentan el sotAare y los nue0os desarrolladores de
modelos.
)(' signiica 'enguaje )niicado de (odelado *)niied (odel 'anguage+ y es el lenguaje estndar
para el desarrollo de sistemas y de sotAare utili<ando POO. El lenguaje )(' tiene una gran
aplicacin en la representacin y modelado de la inormacin :ue se utili<a en las ases de anlisis y
dise.o del ciclo de 0ida de los sistemas.
)n modelo es una abstraccin de cosas reales, es decir es una simpliicacin del sistema real; en
pocas palabras es la representacin grica de una situacin real, mediante una simbolog#a :ue
es:uemati<a clases, objetos, relaciones, etc. Entonces, si un modelo es la representacin grica de
una situacin real; por lo tanto, modelado implica reali<ar un es:uema *grico o dibujo+.
Con un lenguaje ormal de modelado, el lenguaje es abstracto aun:ue tan preciso como un lenguaje
de programacin. Esta precisin permite :ue un lenguaje sea legible y :ue pueda ser interpretado,
ejecutado y transormado entre sistemas.
'a siguiente igura presenta una orma de clasiicacin de los dierentes diagramas )('>
'os diagramas estructurados se utili<an para capturar la organi<acin #sica de las cosas del sistema.
Por ejemplo, cmo se relacionan unos objetos con otros. (ientras :ue, los diagramas de
comportamiento se centran en el comportamiento de los elementos de un sistema.
El Mo&#lo Co(c#2$*'l se /a dise.ado para proporcionar un marco de reerencia, estructurado y
claramente deinido para relacionar los datos con las necesidades de los usuarios.
'a metodolog#a utili<ada en la construccin de este (odelo tiene como primer paso, la identiicacin
de los principales objetos :ue son de inters para los usuarios de la inormacin en un dominio
particular. Cada uno de estos objetos cla0e, o entidades, sir0e, por tanto, como oco de un grupo de
datos. )n modelo desarrollado usando estas tcnicas tambin representa la relacin entre dierentes
tipos de entidad.
)na 0e< :ue se /a establecido la estructura de alto ni0el para el modelo mediante la identiicacin de
las entidades y las relaciones entre , el siguiente paso es identiicar las principales caracter#sticas o
atributos de cada entidad. 5 un ni0el ms concreto, el modelo tambin puede describir la relacin
:ue pueda e4istir entre instancias.
En el dise.o de cual:uier modelo conceptual, dilucidar si algo es un atributo o una entidad
independiente es una decisin cla0e. El resultado de esta decisin depende del uturo uso del
atributo o entidad. 9eneralmente, las personas y los entes corporati0os son entidades
independientes :ue podr#an relacionarse con las otras entidades establecidas en el citado modelo.
Co(%#(cio(#0 U$ili='&'0 #( lo0 Di'.)'/'0
a+ )n rectngulo de l#nea cont#nua representa una entidad *es decir, un objeto de inters para
los usuarios+.
b+ )n rectngulo de l#nea punteada alrededor de un grupo de dos o ms entidades indica :ue
una relacin representada por una lec/a contigua a la l#nea de puntos puede aplicarse a
todas y cada una de las entidades representadas en el rectngulo.
c+ )na lec/a de una punta sobre una l#nea representa una relacin en la :ue cada instancia de
la entidad del otro e4tremo de la l#nea puede estar asociada con una sola instancia de la
entidad a la :ue apunta la lec/a.
El objeti0o de la Primera Etapa del 5nlisis de ,istemas Orientado a Objetos es desarrollar un
(odelo Conceptual o Cualitati0o, del sistema de inters. )na 0e< :ue se /ayan deinido claramente
los objeti0os del proyecto, se usan como base para abstraer del sistema real a:uellos componentes
:ue son rele0antes para abordar las preguntas generadas.
5 medida :ue se 0an seleccionando ciertos componentes y e4cluyendo otros, se 0an deiniendo los
l#mites del sistema de inters. 'uego, se clasiican los componentes del modelo de acuerdo con el rol
espec#ico :ue tienen en la descripcin de la estructura del sistema y se identiican las relaciones
entre los componentes :ue generan la dinmica del sistema.
Posteriormente, se representa ormalmente el modelo conceptual resultante usando un diagrama de
cajas y lec/as. 'as cajas representan los puntos de acumulacin de material y las lec/as
representan las rutas a tra0s de las cuales el material luye en el sistema.
1inalmente, se describen los patrones esperados del comportamiento del modelo por medio de
gricos :ue representan los cambios a lo largo del tiempo en los 0alores de las 0ariables del sistema
:ue se consideran ms importantes.
En muc/os aspectos el desarrollo del modelo conceptual es la etapa del anlisis de sistemas :ue
presenta el mayor desa#o intelectual. 'a mejor base para tomar decisiones *las :ue a menudo son
subjeti0as+ acerca de cules componentes se deben incluir en el modelo est dada por el
conocimiento acerca del sistema real.
E4isten dos estrategias generales para identiicar los componentes del modelo> una de ellas consiste
en incluir pocos componentes y posteriormente a.adir a:uellos componentes cr#ticos :ue
inicialmente ueron omitidos; la otra consiste en incluir todos los componentes :ue podr#an ser de
importancia en la etapa inicial, para luego descartar a:uellos :ue parecen superluos.
"ericamente el resultado inal de las dos estrategias deber#a ser un modelo conceptual con el grado
m#nimo de complejidad :ue permita abordar el problema. En la prctica es mejor comen<ar con un
modelo :ue sea lo ms simple posible.
E$'2'0 &#l D#0'))ollo &#l Mo&#lo Co(c#2$*'l
1. @einir los Objeti0os del (odelo
2. @einir los '#mites del ,istema de 7nters
!. Clasiicar los Componentes del ,istema de 7nters
%. 7dentiicar las 6elaciones entre los Componentes del ,istema
&. 6epresentacin 1ormal del (odelo Conceptual
6. @escribir los Patrones Esperados del Comportamiento del (odelo
)n Di'.)'/' &# Cl'0#0 es una representacin grica de las clases de un sistema. ,ir0e para
modelar el sistema en trminos de sus clases, atributos y las relaciones entre estos elementos.
En el diagrama se representan los re:uerimientos y la ar:uitectura general del sistema en
estudio. ,e utili<a para capturar las relaciones estticas del sotAare. Este tipo de diagramas
proporcionan un medio de capturar la estructura #sica de un sistema.

Este diagrama se utili<a en la etapa de anlisis del problema y dise.o de la solucin. 'os s#mbolos
ms utili<ados en este diagrama son>
RECTANGULO: representa una clase, di0idido en tres partes, una para el nombre de la clase, otra
para los atributos y la =ltima para los mtodos o unciones.
FLEC8AS: indican la relacin :ue e4iste entre dos clases. 'as lec/as pueden ser continuas o
punteadas, pueden tener punta o no y puede ser sustitu#da por rombos, seg=n sea la relacin :ue
indi:ue, como se 0er ms adelante>

M*l$i2lici&'& o C')&i('li&'& #( l'0 R#l'cio(#0 &# Cl'0#0: indica el grado y ni0el de dependencia,
se anotan en cada e4tremo de la relacin y stas pueden ser>
*(o ' /*c>o0> 1..L *1..n+
0 ' /*c>o0> B..L *B..n+
(?/#)o ;i"o> m *m denota el n=mero+.
R#.l'0 2')' No/!)') Cl'0#0@ A$)i!*$o0 : M1$o&o0-
Para poder distinguir una clase de otra, siempre es importante y necesario identiicarlos con un
nombre :ue las dierencie entre s#, para los atributos y mtodos debe /acerse tambin esta
distincin. E4isten las siguientes reglas bsicas o con0enciones :ue guardar para nombrarlos>
1. ,e usan letras preeriblemente, no se deben utili<ar s#mbolos.
2. 'a primera siempre 0a en may=sculas, las dems en min=sculas.
!. ,i se utili<an dos o ms palabras, se escriben unidas, sin espacio y las iniciales con
may=sculas *EstiloCamel+.
%. 'os nombres siempre 0an en singular.
&. 'os nombres de atributos y mtodos, se escriben con letras min=sculas.
Para poder ejempliicar un diagrama de clases, :ue incluye las clases y sus relaciones, se 0a a
ampliar un poco ms sobre las relaciones de asociacin y agregacin, :ue son las :ue se utili<an
con recuencia>
NombreClase
Atrib
utos
Mto
dos

A0oci'ci+(
Esta relacin se establece cuando dos clases tienen una dependencia de utili<acin, es decir :ue
una clase utili<a atributos yMo mtodos de otra clase para uncionar, ambas clases tienen la misma
jerar:u#a, es decir :ue ninguna es parte de la otra. 'a relacin entre clases conocida como
5sociacin, permite asociar objetos :ue colaboran entre s#. Ejemplo>
)n cliente puede tener asociadas muc/as Ordenes de Compra, en cambio una Orden de Compra
slo puede tener asociado a un cliente.
A.)#.'ci+(
Con este tipo de relacin se indica :ue un objeto orma parte de otro objeto; por ejemplo si se tiene el
objeto> computadora, esta tiene un monitor, :ue es otro objeto; el monitor orma parte de la
computadora; por lo tanto tienen una relacin de agregacin. Esta relacin tambin es conocida
como forma parte de
Ejemplo>
)n 5lmacn posee Clientes y Cuentas *los rombos 0an en el objeto :ue posee las reerencias, es
decir el objeto :ue est ormado por los otros> el todo y las partes+. Cuando se destruye el Objeto
5lmacn tambin son destruidos los objetos Cuenta asociados, en cambio no son aectados los
objetos Cliente asociados.
P'0o0 2')' C)#') #l Di'.)'/' &# Cl'0#0 3Si( M1$o&o04
1. 'istar clases candidatas
2. 6epresentar las clases en un diagrama de clases
!. 5gregar asociaciones
%. 5gregar atributos necesarios
E"#/2lo &# C)#'ci+( &# *( Di'.)'/' &# Cl'0#0:
E(*(ci'&o: En un juego de dados, un jugador toma dos dados y los lan<a. 'uego, se suman los
0alores de las caras superiores de los dados. ,i el 0alor es - gana el juego, de lo contrario pierde.
Notar :ue las dos clases estn unidas por una
l#nea y no por una lec/a, por:ue> C*'(&o l'0
;l#c>'0 %'( &# i=A*i#)&' ' &#)#c>' : &# '))i!'
>'ci' '!'"o@ 0# 2*#&# o/i$i) l' 2*($' &# l'
;l#c>'-
5:u# las lec/as tienen punta ya :ue estn
inclinadas.
El )o/!o %'cio i(&ic' *(' )#l'ci+( &#
'.)#.'ci+( 30i#(&o l' cl'0# Al/'c#( B#l
$o&oC : l' cl'0# cli#($# )#2)#0#($' Bl'
2')$#C4-
El rombo relleno indica una relacin de
composicin, otro tipo de relacin.
1. 'istar clases> Euego de @ados, Eugador, @ado
5tributo de cada @ado> Oalor de la cara
6esultado es la suma de las caras
2. 6epresentar Clases en un @iagrama de Clases
!. 5gregar asociaciones> Eugador lan<a @ados
Eugador juega Euego de @ados
@ados son parte del Euego de @ados
Eugador utili<a @ado

%. 5gregar atributos>
P Eugador> nombre del jugador
P @ado> 0alor de la cara
@e esta manera el @iagrama de clases, =nicamente con atributos y relaciones, :ueda as#>
)n C'0o &# U0o es una descripcin de los pasos o las acti0idades :ue debern reali<arse para
lle0ar a cabo alg=n proceso. 'os personajes o entidades :ue participarn en un caso de uso se
denominan 'c$o)#0.
)n Caso de )so es una secuencia de interacciones :ue se desarrollarn entre un sistema y sus
actores en respuesta a un e0ento :ue inicia un actor principal sobre el propio sistema.
'os @iagramas de Casos de )so *@C)+ sir0en para especiicar la comunicacin y el comportamiento
de un sistema mediante su interaccin con los usuarios yMu otros sistemas. O lo :ue es igual, un
diagrama :ue muestra la relacin entre los actores y los casos de uso en un sistema. )na relacin es
una cone4in entre los elementos del modelo, por ejemplo la especiali<acin y la generali<acin son
relaciones.
'os @C) se utili<an para ilustrar los re:uerimientos del sistema al mostrar cmo reacciona a e0entos
:ue se producen en su mbito o en l mismo.
5 continuacin se presenta la Notacin de los @C)>

En el siguiente cuadro se encuentra la Si/!olo.6' de los elementos bsicos para el dise.o )('.

También podría gustarte