Está en la página 1de 49

Universidad Nacional de La Rioja

Base de Datos y UML


Ao 2002
Universidad Nacional de La
Rioja
Carrera: Lic. en Anlisis de Sistemas
Materia: Base de Datos
Docente: Ing. Emilio Rearte
Curso: 4 Ao
Trabajo Prctico: Base de Datos ! U"L
Integrantes:
Agero Jorge
Cornejo Anabella
Heredia Ana Gabriela
Pascal Alejandro
Noviebre de !""!
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Indice
INTRODUCCIN.......................................................................................................................................................................5
UML (UNIFIED MODELING LANGUAGE)..........................................................................................................................6
DIFERENTES DEFINICIONES DE UML...............................................................................................................................6
BREVE RESEA HISTRICA................................................................................................................................................7
CARACTERSTICAS DE UML................................................................................................................................................8
OBJETIVOS................................................................................................................................................................................8
MODELO: NOCIONES GENERALES ..................................................................................................................................
DIAGRAMAS: VISTA!O GENERAL..................................................................................................................................."#
CLASIFICACIN D! DIA"RAMAS##############################################################################################################################################$$
DIA"RAMAS !S%&%IC'S###########################################################################################################################################################$(
Diagrama de Clases............................................................................................................................................................13
!le)entos######################################################################################################################################################################################### $(
Clase ############################################################################################################################################################################################ $(
Atri*+tos################################################################################################################################################################################## $,
Identi-icadores##################################################################################################################################################################### $.
Atri*+tos Derivados############################################################################################################################################################# $.
Restricciones de Atri*+tos################################################################################################################################################### $/
M0todos#################################################################################################################################################################################### $1
Relaciones entre Clases################################################################################################################################################################ $2
3erencia 4!s5eciali6aci7n8"enerali6aci7n9############################################################################################################################## 20
Asociaci7n################################################################################################################################################################################ 2(
"rado de la Asociaci7n######################################################################################################################################################## 2(
Asociaciones Re-le:ivas###################################################################################################################################################### 2,
Atri*+tos de Li;a 4o Asociaci7n9######################################################################################################################################### 2<
!nsa)*lados: A;re;aci7n y Co)5osici7n############################################################################################################################### 2<
De5endencia o Instanciaci7n 4+so9: ######################################################################################################################################### 21
Diagrama de objetos...........................................................................................................................................................31
Dia;ra)a########################################################################################################################################################################################## ($
Diagrama de Componentes ................................................................................................................................................35
Diagramas de Implementacin ..........................................................................................................................................36
DIA"RAMAS DIN&MIC'S##########################################################################################################################################################(/
Diagrama de Casos de Usos...............................................................................................................................................37
!le)entos######################################################################################################################################################################################### (/
Actor############################################################################################################################################################################################# (/
Caso de Uso################################################################################################################################################################################## (/
Relaciones#################################################################################################################################################################################### (/
##################################################################################################################################################################################################### (/
Asociaci7n################################################################################################################################################################################ (/
De5endencia o Instanciaci7n#################################################################################################################################################### (1
"enerali6aci7n########################################################################################################################################################################## (1
Diagrama de Secuencia.......................................................................................................................................................39
!le)entos######################################################################################################################################################################################### (2
L=nea de vida################################################################################################################################################################################ (2
Activaci7n#################################################################################################################################################################################### (2
Mensajes####################################################################################################################################################################################### (2
Diagrama de Colaboracin.................................................................................................................................................1
!le)entos######################################################################################################################################################################################### ,$
'*jeto########################################################################################################################################################################################### ,$
!nlace########################################################################################################################################################################################### ,$
Fl+jo de )ensajes######################################################################################################################################################################### ,$
Diagrama de acti!idad........................................................................................................................................................"
............................................................................................................................................................................................."
Diagrama de estado............................................................................................................................................................"
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
....................................................................................................................................................................................................$%
################################################################################################################################################################################################,2
HERRAMIENTAS CASE &UE SO'ORTA UML................................................................................................................$(
IM'LEMENTACIN DE SISTEMAS MODELADOS EN UML ......................................................................................$$
CONCLUSIN..........................................................................................................................................................................$7
BIBLIOGRAFA ......................................................................................................................................................................$8
SI%I'S C'NSUL%AD'S #############################################################################################################################################################,1
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Introduccin
#l presente trabajo surge por asignacin del pro$esor de la c%tedra de &ases de Datos' de la carrera
de (ic. en )n%lisis de Sistemas' Ing. #milio *earte. #l tema asignado por el docente $ue+ ,&ases de
Datos - U.(/' adem%s tambi0n se asignaron a otros grupos temas tales como .odelos de &ases de
Datos en red' jer%r1uico' relacional - orientadas o objetos2 Data 3are4ouse2 - &ases de Datos en
Internet.
Dando una bre!e introduccin al tema2 se puede decir 1ue U.( no es una metodolog5a' si no m%s
bien es un lenguaje 6pero no de programacin7' una notacin' 1ue permite !isuali8ar' especi$icar'
construir - documentar el modelado de sistemas2 sea cual $uere el ciclo de !ida elegido para el an%lisis'
dise9o e implementacin del mismo. U.( es de reciente aparicin -' al ser no propietario' es usado -
re$inado por muc4as empresas' grupos de in!estigadores - desarrolladores a ni!el mundial.
(os temas tratados' m%s adelante ser%n+
> Uni$ied .odeling (anguage 6U.(7.
> &re!e rese9a 4istrica.
> Caracter5sticas de U.(.
> :bjeti!os.
> .odelos+ nociones generales.
> Diagramas+ !ista8o general.
> Clasi$icacin de diagramas.
> Diagramas estructurales+
> Diagrama de clases.
> Diagrama de objetos.
> Diagrama de componentes.
> Diagrama de implementacin.
> Diagramas din%micos+
> Diagrama de casos de uso.
> Diagrama de secuencia.
> Diagrama de colaboracin
> Diagrama de acti!idad.
> Diagrama de estado.
> ;erramientas C)S# 1ue soportan U.(.
> Implementacin de Sistemas modelados en U.(.
(o 1ue se pretende con este trabajo es dar a conocer lo 1ue es U.(' las distintas 4erramientas 1ue
proporciona para el modelado de sistemas' - cmo lograr la implementacin de los mismos.
) continuacin' se desarrollar%n los temas 1ue $orman parte del trabajo' los mismos -a $ueron
mencionados.
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
UML (Unified modeling language)
#M$ signi%ica &#ni%ied Modeling $anguage&: $enguaje de Modelado o Modelaiento #ni%icado'
(l $enguaje de Modelado #ni%icado es un lenguaje usado )ara es)eci%icar* visuali+ar , docuentar los
di%erentes as)ectos relativos a un sistea de so%t-are bajo desarrollo* as. coo )ara odelado de
negocios , otros sisteas no so%t-are'
Puede ser utili+ado con cual/uier etodolog.a* a lo largo del )roceso de desarrollo de so%t-are* en
cual/uier )lata%ora tecnol0gica de i)leentaci0n 1#ni2* 3indo-s etc'4'
(s un sistea notacional 1/ue* entre otras cosas* inclu,e el signi%icado de sus notaciones4
destinado a los sisteas de odelado /ue utili+an conce)tos orientados a objetos'
$os )rinci)ales %actores /ue otivaron la de%inici0n de #M$ %ueron: la necesidad de odelar
sisteas* las tendencias en la industria del so%t-are* uni%icar los distintos lenguajes , 5todos
e2istentes e innovar los odelos )ara ada)tarse a la ar/uitectura distribu.da'
(s i)ortante resaltar /ue un odelo #M$ describe lo /ue su)uestaente 6ar un sistea* )ero
no dice coo i)leentar dic6o sistea'
DIFERENTES DEFINICIONES DE UML
(l $enguaje #ni%icado de Modelado )rescribe un conjunto de notaciones , diagraas estndar
)ara odelar sisteas orientados a objetos* , describe la sentica esencial de lo /ue estos
diagraas , s.bolos signi%ican' Mientras /ue 6a 6abido uc6as notaciones , 5todos usados
)ara el dise7o orientado a objetos* a6ora los odeladores s0lo tienen /ue a)render una 8nica
notaci0n'
#M$ se )uede usar )ara odelar distintos ti)os de sisteas: sisteas de so%t-are* sisteas de
6ard-are* , organi+aciones del undo real'
(l #M$ es una t5cnica de odelado de objetos , coo tal su)one una abstracci0n de un sistea
)ara llegar a construirlo en t5rinos concretos' (l odelado no es s /ue la construcci0n de un
odelo a )artir de una es)eci%icaci0n' #n odelo es una abstracci0n de algo* /ue se elabora )ara
co)render ese algo antes de construirlo' (l odelo oite detalles /ue no resultan esenciales
)ara la co)rensi0n del original , )or lo tanto %acilita dic6a co)rensi0n'
#M$ es una consolidaci0n de uc6as de las notaciones , conce)tos s usadas orientados a
objetos' ()e+0 coo una consolidaci0n del trabajo de Grade 9ooc6* Jaes :ubaug6* e Ivar
Jacobson* creadores de tres de las etodolog.as orientadas a objetos s )o)ulares'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
RE!E RESE"# $IST%RIC#
(l desarrollo de #M$ coen+0 en octubre de ;<<= cuando Grad, 9ooc6 , Ji :ubaug6 de
:ational >o%t-are Cor)oration coen+aron a trabajar en la uni%icaci0n de los lenguajes de odelado
9ooc6 , ?MT* desde este oento %ueron reconocidos undialente en el desarrollo de
etodolog.as orientadas a objetos' As.* en octubre de ;<<@* terinaron su trabajo de uni%icaci0n
obteniendo el borrador de la versi0n "'A del denoinado Unified Method' Hacia %ines de este iso
a7o* Ivar Jacobson 1creador de la etodolog.a ??>( B ?bject ?riented >o%t-are (ngineer4 se uni0
con :ational >o%t-are )ara obtener %inalente #M$ "'< , "'<; en junio , octubre de ;<<C*
res)ectivaente'
Igualente* #M$ incor)ora ideas de otros etod0logos entre los /ue )odeos incluir a Peter Coad*
DereD Colean* 3ard Cunning6a* David Harel* :ic6ard Hel* :al)6 Jo6nson* >te)6en Mellor*
9ertrand Me,er* Ji ?dell* Eenn, :ubin* >all, >6laer* Jo6n Flissides* Paul 3ard* :ebecca 3ir%sB
9rocD , (d Gourdon'
$uego* uc6as organi+aciones coo Microso%t* He-lettBPacDard* ?racle* >terling >o%t-are MCI
>,ste6ouse* #nis,s* IC?N Co)uting* IntelliCor)* iB$ogi2* I9M* ?bjectTie* Platinu Tec6nolog,*
Ptec6* TasDon* :eic6 Tec6nologies* >o%tea se asociaron con :ational >o%t-are Cor)oration )ara dar
coo resultado #M$ ;'" , #M$ ;';' Ho, en d.a llegaos 6asta #M$ ;'= , #M$ !'"' (n la siguiente
%igura se uestra de %ora gr%ica , resuida la evoluci0n de #M$'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
C#R#CTER&STIC#S DE UML
#M$ es una es)eci%icaci0n de notaci0n orientada a objetos' >e basa en las anteriores
es)eci%icaciones 9??CH* :#M9A#GH , C?ADBG?#:D?N' Divide cada )ro,ecto en un n8ero
de diagraas /ue re)resentan las di%erentes vistas del )ro,ecto' (stos diagraas juntos son los
/ue re)resenta la ar/uitectura del )ro,ecto'
#M$ )erite describir un sistea en di%erentes niveles de abstracci0n* si)li%icando la co)lejidad
sin )erder in%oraci0n* )ara /ue tanto usuarios* l.deres , desarrolladores )uedan co)render
claraente las caracter.sticas de la a)licaci0n'
#M$ se /uiere convertir en un lenguaje estndar con el /ue sea )osible odelar todos los
co)onentes del )roceso de desarrollo de a)licaciones' >in ebargo* 6a, /ue tener en cuenta un
as)ecto i)ortante del odelo: no )retende de%inir un odelo estndar de desarrollo* sino
8nicaente un lenguaje de odelado' ?tros 5todos de odelaje coo ?MT 1?bject Modeling
Tec6ni/ue4 o 9ooc6 s. de%inen )rocesos concretos' (n #M$ los )rocesos de desarrollo son
di%erentes seg8n los distintos doinios de trabajoH no )uede ser el iso el )roceso )ara crear
una a)licaci0n en tie)o real* /ue el )roceso de desarrollo de una a)licaci0n orientada a gesti0n*
)or )oner un eje)lo'
(l 5todo del #M$ recoienda utili+ar los )rocesos /ue otras etodolog.as tienen de%inidos'
O'ETI!OS
Coo objetivos )rinci)ales de la consecuci0n de un nuevo 5todo /ue aunara los ejores
as)ectos de sus )redecesores* sus )rotagonistas se )ro)usieron lo siguiente:
(l 5todo deb.a ser ca)a+ de odelar no s0lo sisteas de so%t-are sino otro ti)o de
sisteas reales de la e)resa* sie)re utili+ando los conce)tos de la orientaci0n a
objetos 1??4'
Crear un lenguaje )ara odelado utili+able a la ve+ )or /uinas , )or )ersonas'
(stablecer un aco)laiento e2)l.cito de los conce)tos , los arte%actos ejecutables'
Manejar los )robleas t.)icos de los sisteas co)lejos de isi0n cr.tica'
$o /ue se intenta es lograr con esto /ue los lenguajes /ue se a)lican siguiendo los 5todos s
utili+ados sigan evolucionando en conjunto , no )or se)arado' G ades* uni%icar las )ers)ectivas
entre di%erentes ti)os de sisteas 1no s0lo so%t-are* sino tabi5n en el bito de los negocios4* al
aclarar las %ases de desarrollo* los re/ueriientos de anlisis* el dise7o* la i)leentaci0n , los
conce)tos internos de la ??'
(l #M$ es un lenguaje )ara construir odelosH no gu.a al
desarrollador en la %ora de reali+ar el anlisis , dise7o orientados a
objetos ni le indica cul )roceso de desarrollo ado)tar'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
MODELO( Nocione) *enerale)
(l #M$ es una t5cnica de odelado de objetos , coo tal su)one una abstracci0n de un sistea
)ara llegar a construirlo en t5rinos concretos' (l odelado no es s /ue la construcci0n de un
odelo a )artir de una es)eci%icaci0n' #n odelo es una abstracci0n de algo* /ue se elabora )ara
co)render ese algo antes de construirlo' (l odelo oite detalles /ue no resultan esenciales )ara la
co)rensi0n del original , )or lo tanto %acilita dic6a co)rensi0n' $os odelos se utili+an en uc6as
actividades de la vida 6uana: antes de construir una casa el ar/uitecto utili+a un )lano* los 8sicos
re)resentan la 8sica en %ora de notas usicales* los artistas )intan sobre el lien+o con carboncillos
antes de e)e+ar a utili+ar los 0leos* etc' #nos , otros abstraen una realidad co)leja sobre unos
bocetos* odelos al %in , al cabo' La OMT* )or eje)lo* intenta abstraer la realidad utili+ando tres
clases de odelos ??: el modelo de o+,eto)* /ue describe la estructura estticaH el modelo
din-mico* con el /ue describe las relaciones te)orales entre objetosH , el modelo funcional /ue
describe las relaciones %uncionales entre valores' Mediante estas tres %ases de construcci0n de
odelos* se consigue una abstracci0n de la realidad /ue tiene en s. isa in%oraci0n sobre las
)rinci)ales caracter.sticas de 5sta'
$os odelos ades* al no ser una re)resentaci0n /ue inclu,a todos los detalles de los originales*
)eriten )robar s %cilente los sisteas /ue odelan , deterinar los errores' >eg8n se indica en
la Metodolog.a ?MT 1:ubaug64* los odelos )eriten una ejor counicaci0n con el cliente )or
distintas ra+ones:
(s )osible ense7ar al cliente una )osible a)ro2iaci0n de lo /ue ser el )roducto %inal'
Pro)orcionan una )riera a)ro2iaci0n al )roblea /ue )erite visuali+ar c0o /uedar
el resultado'
:educen la co)lejidad del original en subconjuntos /ue son %cilente tratables )or
se)arado'
>e consigue un odelo co)leto de la realidad cuando el odelo ca)tura los as)ectos i)ortantes
del )roblea , oite el resto' $os lenguajes de )rograaci0n /ue estaos acostubrados a utili+ar no
son adecuados )ara reali+ar odelos co)letos de sisteas reales )or/ue necesitan una
es)eci%icaci0n total con detalles /ue no son i)ortantes )ara el algorito /ue estn i)leentando'
Con la creaci0n del #M$ se )ersigue obtener un lenguaje /ue sea ca)a+ de abstraer cual/uier ti)o
de sistea* sea in%ortico o no* ediante los diagraas* es decir* ediante re)resentaciones
gr%icas /ue contienen toda la in%oraci0n relevante del sistea' #n diagraa es una re)resentaci0n
gr%ica de una colecci0n de eleentos del odelo* /ue 6abitualente toa %ora de gra%o donde los
arcos /ue conectan sus v5rtices son las relaciones entre los objetos , los v5rtices se corres)onden con
los eleentos del odelo' $os distintos )untos de vista de un sistea real /ue se /uieren re)resentar
)ara obtener el odelo se dibuja d5 %ora /ue se resaltan los detalles necesarios )ara entender el
sistea'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
DI#*R#M#S( !i)ta.o *eneral
(n todos los bitos de la ingenier.a se constru,en odelos* en realidad* si)li%icaciones de la
realidad* )ara co)render ejor el sistea /ue vaos a desarrollar: los ar/uitectos utili+an ,
constru,en )lanos 1odelos4 de los edi%icios* los grandes dise7adores de coc6es )re)aran odelos en
sisteas CADICAM con todos los detalles , los ingenieros de so%t-are deber.an igualente construir
odelos de los sisteas so%t-are'
Para la construcci0n de odelos* 6a, /ue centrarse en los detalles relevantes ientras se ignoran
los des* )or lo cual con un 8nico odelo no teneos bastante' Farios odelos a)ortan di%erentes
vistas de un sistea los cuales nos a,udan a co)renderlo desde varios %rentes' As.* #M$
recoienda la utili+aci0n de nueve diagraas )ara re)resentar las distintas vistas de un sistea'
Lo) diagrama) de UML )on lo) )iguiente)(
Diagrama de Ca)o) de U)o: odela la %uncionalidad del sistea agru)ndola en descri)ciones de
acciones ejecutadas )or un sistea )ara obtener un resultado'
>e utili+a )ara entender el uso del sistea
Muestra el conjunto de casos de uso , actores1#n actor )uede ser tanto un sistea coo una
)ersona4 , sus relaciones: es decir* uestra /uien )uede 6acer /u5 , las relaciones /ue e2isten entre
acciones 1casos de uso4' >on u, i)ortantes )ara odelar , organi+ar el co)ortaiento del
sistea'
Diagrama de Cla)e): uestra las clases 1descri)ciones de objetos /ue co)arten caracter.sticas
counes4 /ue co)onen el sistea , c0o se relacionan entre s.'
Diagrama de O+,eto): uestra una serie de objetos 1instancias de las clases4 , sus relaciones' A
di%erencia de los diagraas anteriores* estos diagraas se en%ocan en la )ers)ectiva de casos reales
o )rototi)os' (s un diagraa de instancias de las clases ostradas en el diagraa de clases'
Diagrama de Secuencia: en%ati+a la interacci0n entre los objetos , los ensajes /ue intercabian
entre s. junto con el orden te)oral de los isos'
Diagrama de Cola+oracin: igualente* uestra la interacci0n entre los objetos resaltando la
organi+aci0n estructural de los objetos en lugar del orden de los ensajes intercabiados'
(l diagraa de secuencia , el diagraa de colaboraci0n: uestran a los di%erentes objetos , las
relaciones /ue )ueden tener entre ellos* los ensajes /ue se env.an entre ellos' >on dos diagraas
di%erentes* /ue se )uede )asar de uno a otro sin )erdida de in%oraci0n* )ero /ue nos dan )untos de
vista di%erentes del sistea' (n resuen* cual/uiera de los dos es un Diagraa de Interacci0n'
Diagrama de E)tado): >e utili+a )ara anali+ar los cabios de estado de los objetos' Muestra los
estados* eventos* transiciones , actividades de los di%erentes objetos' >on 8tiles en sisteas /ue
reaccionen a eventos'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de #cti/idade): (s un caso es)ecial del diagraa de estados* si)li%ica el diagraa de
estados odelando el co)ortaiento ediante %lujos de actividades' Muestra el %lujo entre los
objetos' >e utili+an )ara odelar el %uncionaiento del sistea , el %lujo de control entre objetos'
Diagrama de Com0onente): uestra la organi+aci0n , las de)endencias entre un conjunto de
co)onentes' >e usan )ara agru)ar clases en co)onentes o 0dulos'
Diagrama de De)0liegue (o im0lementacin): uestra los dis)ositivos /ue se encuentran en un
sistea , su distribuci0n en el iso' >e utili+a )ara identi%icar >isteas de Coo)eraci0n: Durante el
)roceso de desarrollo el e/ui)o averiguar de /u5 sisteas de)ender el nuevo sistea , /ue otros
sisteas de)endern de 5l'
Cla)ificacin de Diagrama)
>e dis)one de dos ti)os di%erentes de diagraas los /ue dan una vista esttica del sistea , los
/ue dan una visi0n dinica'
$a )ractica de crear diagraas )ara visuali+ar sisteas desde )ers)ectivas o vistas di%erentes no
est liitado a la industria de la construcci0n' (n el conte2to del so%t-are* e2isten cinco vistas
co)leentarias /ue son las s i)ortantes )ara visuali+ar* es)eci%icar* construir , docuentar la
ar/uitectura del so%t-are' (n el #M$ las vistas e2istentes son:
;' Fista casos de uso : se %ora con los diagraas de casos de uso* colaboraci0n* estados ,
actividades'
!' Fista de dise7o : se %ora con los diagraas de clases* objetos* colaboraci0n* estados ,
actividades'
J' Fista de )rocesos : se %ora con los diagraas de la vista de dise7o' :ecalcando las clases ,
objetos re%erentes a )rocesos'
=' Fista de i)leentaci0n : se %ora con los diagraas de co)onentes* colaboraci0n* estados ,
actividades'
@' Fista de des)liegue : se %ora con los diagraas de des)liegue* interacci0n* estados ,
actividades'
Coo )odeos ver el n8ero de diagraas es u, alto* en la a,or.a de los casos e2cesivos* ,
#M$ )erite de%inir solo los necesarios* ,a /ue no todos son necesarios en todos los )ro,ectos
$# Dia;ra)as de clase
2# Dia;ra)as de o*jeto
(# Dia;ra)as de co)5onentes
,# Dia;ra)as de i)5le)entaci7n
D)*+,*-*. /.010)23.
3 E.0,4204,*5/.
D)*+,*-*. 6)71-)23.
3 6/ C3-83,0*-)/703
$# Dia;ra)a de sec+encia
2# Dia;ra)a de cola*oraci7n
(# Dia;ra)a de estado
,# Dia;ra)a de actividad
<# Dia;ra)a de casos de +so
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
#M$ esta )ensado )ara el odelado tanto de )e/ue7os sisteas coo de sisteas co)lejos* ,
debeos tener en cuenta /ue los sisteas co)lejos )ueden estar co)uestos )or illones de l.neas
de c0digo , ser reali+ados )or e/ui)os de centenares de )rograadores'
(n la )rctica todos los diagraas son bidiensionales* )ero el #M$ )erite crear diagraas en
tres diensiones coo en odelos donde se )uede &entrar& al odelo )ara )oderlo visuali+ar )or
dentro'
Con #M$ nos debeos olvidar del )rotagoniso e2cesivo /ue se le da al diagraa de clases* este
re)resenta una )arte i)ortante del sistea* )ero solo re)resenta una vista esttica* es decir uestra
al sistea )arado' >abeos su estructura )ero no sabeos /ue le sucede a sus di%erentes )artes
cuando el sistea e)ie+a a %uncionar'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama) E)t-tico)
Diagrama de Cla)e)
(n el diagraa de clases coo ,a 6eos coentado ser donde de%inireos las caracter.sticas de
cada una de las clases , relaciones de de)endencia , generali+aci0n' (s decir* es donde dareos
rienda suelta a nuestros conociientos de dise7o orientado a objetos* de%iniendo las clases e
i)leentando las ,a t.)icas relaciones de 6erencia , agregaci0n'
(ste diagraa sirve )ara visuali+ar las relaciones entre las clases /ue involucran el sistea* las
cuales )ueden ser asociativas* de 6erencia* de uso , de contenido'
>e utili+a cuando necesitaos reali+ar un Anlisis de Doinio: (l analista se entrevista con el
cliente con el objetivo de conocer las entidades )rinci)ales en el doinio del cliente' Durante la
conversaci0n entre el cliente , el analista se deben toar a)untes' Desde estos a)untes* se buscarn
las clases )ara los objetos del odelo buscando los sustantivos 1ej: )roveedor* )edido* %actura* etc'4 ,
convirti5ndolos en clases' Des)u5s se ver /ue algunos de estos sustantivos )ueden ser atributos de
otros en ve+ de entidades )or si isas' Tabi5n se buscarn los 5todos )ara estas clases
buscando los verbos 1ej: Calcular* i)riir* Agregar*''4
Elemento)
#n diagraa de clases esta co)uesto )or los siguientes eleentos:
Clase: atributos* 5todos , visibilidad'
:elaciones: Herencia* Asociaci0n* (nsablado , #so'
Cla)e
(s la unidad bsica /ue enca)sula toda la in%oraci0n de un ?bjeto 1un objeto es una instancia de
una clase4' A trav5s de ella )odeos odelar el entorno en estudio 1una Casa* un Auto* una Cuenta
Corriente* etc'4'
(n #M$* una clase es re)resentada )or un rectngulo /ue )osee tres divisiones:
(n donde:
Su0erior: Contiene el nobre de la Clase
Intermedio: Contiene los atributos 1o variables de instancia4 /ue caracteri+an a la Clase
1)ueden ser )rivate* )rotected o )ublic4'
Inferior: Contiene los 5todos u o)eraciones* los cuales son la %ora coo interact8a el objeto
con su entorno 1de)endiendo de la visibilidad: )rivate* )rotected o )ublic4'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(je)lo:
#na Cuenta Corriente /ue )osee coo caracter.stica:
9alance
Puede reali+ar las o)eraciones de:
De)ositar
Girar
, 9alance
(l dise7o asociado es:
#tri+uto)
#n atributo re)resenta alguna )ro)iedad de la clase /ue se encuentra en todas las instancias de la
clase' $os atributos )ueden re)resentarse solo ostrando su nobre* ostrando su nobre , su ti)o*
e incluso su valor )or de%ecto'
$os atributos o caracter.sticas de una Clase )ueden ser de tres ti)os* los /ue de%inen el grado de
counicaci0n , visibilidad de ellos con el entorno* estos son:
0u+lic : Indica /ue el atributo ser visible tanto dentro coo %uera de
la clase* es decir* es accesible desde todos lados'
0ri/ate : Indica /ue el atributo s0lo ser accesible desde dentro de la
clase 1s0lo sus 5todos lo )ueden accesar4'
0rotected : Indica /ue el atributo no ser accesible desde %uera de la
clase* )ero si )odr ser accesado )or 5todos de la clase ades de las subclases /ue se
deriven 1ver 6erencia4'
$os atributos de%inen la estructura de una clase , de sus corres)ondientes objetos' (l atributo
de%ine el valor de un dato )ara todos los objetos )ertenecientes a una clase'
(je)lo: Nobre* edad* )eso* son atributos de la clase )ersona' Color* )recio* odelo* son
atributos de la clase auto0vil'
$os atributos corres)onden a sustantivos , sus valores )ueden ser sustantivos o adjetivos'
(je)lo: Nobre* edad* color* son sustantivos' Juan* !=* son sustantivos* , verde es un adjetivo'
>e debe de%inir un valor )ara cada atributo de una clase' $os valores )ueden ser iguales o
distintos en los di%erentes objetos' No se )uede dar un valor en un objeto si no e2iste un atributo
corres)ondiente en la clase'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(je)lo: el valor del atributo edad )uede ser &!=& )ara los objetos Juan P5re+ , Mar.a $0)e+* ,
&;@& )ara :a0n Mart.ne+'
Dentro de una clase* los nobre de los atributos deben ser 8nicos 1aun/ue )uede a)arecer el
iso nobre de atributo en di%erentes clases4'
(je)lo: $as clases )ersona , co)a7.a )ueden tener abas un atributo direcci0n* en cabio no
)ueden e2istir dos atributos llaados direcci0n dentro de la clase )ersona'
$os atributos no tienen ninguna identidad* al contrario de los objetos'
(je)lo: $os atributos nobre , edad de la clase )ersona tienen valores si)les' (l valor )ara
nobre )uede ser &Juan& o &Mar.a&* ientras /ue el valor )ara edad )uede ser &;K& o &!@&' 1N0tese
/ue )udieran e2istir dos objetos distintos con e2actaente el iso nobre , edad* donde estos
identi%icar.an dos )ersonas distintas'4
#n atributo coo se 6a de%inido en esta secci0n se conoce tabi5n coo atributo bsico'
Notaci7n e:tendida
Dia;ra)a de clases? 5ara la clase <ersona' conteniendo di-erente nivel de detalle#
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Identificadore)
(n el oento de incluir atributos en la descri)ci0n de una clase se debe distinguir entre los
atributos los cuales re%lejan las caracter.sticas de los objetos en el undo real* , los identi%icadores los
cuales son utili+ados e2clusivaente )or ra+ones de i)leentaci0n' (stos identi%icadores internos del
sistea no deben ser incluidos coo atributos'
(je)lo: N8ero del >eguro >ocial* o n8ero de la licencia de conducir* son identi%icadores
vlidos del undo real* en cabio un identi%icador )ara distinguir entre objetos de ti)o )ersona no se
debe incluir en el diagraa' (n la siguiente %igura se uestra la %ora incorrecta de incluir un
identi%icador 1Lidenti%icador : IDM4 en la clase del objeto* seguido )or la %ora correcta 1oitido4'
#tri+uto) Deri/ado)
$os atributos bsicos son atributos inde)endientes dentro del objeto' (n contraste* los atributos
derivados son atributos /ue de)enden de otros atributos' $os atributos derivados de)enden de otros
atributos del objeto* los cuales )ueden ser bsicos o derivados' $a notaci0n es una diagonal coo
)re%ijo del atributo* coo se uestra en la siguiente %igura:
(je)lo: (l Area de un :ectngulo se )uede calcular conociendo su Anc6o , $argo* )or lo cual no
se de%ine coo una atributo bsico de la caja* sino coo un atributo derivado:
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Re)triccione) de #tri+uto)
$os valores de los atributos de una clase )ueden restringirse' $a notaci0n )ara una restricci0n es
incluir* )or debajo de la clase , entre corc6etes* la restricci0n )ara los valores del atributo* coo se
uestra en la siguiente %igura
(je)lo: #n :ectngulo )uede restringir /ue su Anc6o , $argo sean sie)re iguales* lo /ue es
e/uivalente a un Cuadrado' As. iso* el Area del :ectngulo est de%inida coo el Anc6o )or el
$argo' $as dos restricciones se uestran a continuaci0n:
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
M1todo)
#n 5todo u o)eraci0n es la i)leentaci0n de un servicio de la clase* /ue uestra un
co)ortaiento co8n a todos los objetos' (n resuen es una %unci0n /ue le indica a las instancias
de la clase /ue 6agan algo'
$as o)eraciones son %unciones o trans%oraciones /ue se a)lican a todos los objetos de una clase
)articular' $a o)eraci0n )uede ser una acci0n ejecutada )or el objeto o sobre el objeto'
(je)lo: Arrojar* atra)ar* in%lar* , )atear* son o)eraciones )ara la clase )elota' Abrir* cerrar*
ocultar* , dibujar* son o)eraciones )ara la clase ventana'
$as o)eraciones deben ser 8nicas dentro de una isa clases* aun/ue no necesariaente )ara
di%erentes clases'
(je)lo: $as clases )elota , libro )ueden las dos tener o)eraciones de co)rar* )ero no )ueden
tener cada una dos o)eraciones co)rar'
No se debe utili+ar el iso nobre )ara o)eraciones /ue tengan un signi%icado totalente
di%erente'
(je)lo: No se debe utili+ar el iso nobre invertir )ara la o)eraci0n de invertir una %igura ,
)ara la o)eraci0n de invertir una atri+* ,a /ue son o)eraciones totalente di%erentes' Invertir una
%igura es rotarla )or ;A" grados* ientras /ue invertir una atri+ M es encontrar su inverso N* )ara /ue
M2N N ;' >e deben usar nobres di%erentes* coo invertirB%igura e invertirBatri+'
$as o)eraciones )ueden tener arguentos* o sea* una lista de )aretros* cada uno con un ti)o*
, )ueden tabi5n devolver resultados* cada uno con un ti)o'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(je)lo: (n la siguiente %igura se uestra dos clases* Oigura , Arc6ivo* conteniendo atributos ,
o)eraciones' Mover , :otar son o)eraciones de Oigura conteniendo los arguentos F de ti)o vector ,
Angulo* res)ectivaente' Abas o)eraciones devuelven un resultado de ti)o 9ooleano el cual
devuelve un valor de Cierto o Oalso 1True o Oalse4'
I)riir es una o)eraci0n de Arc6ivo conteniendo un arguento D de ti)o dis)ositivo /ue )uede
ser el nobre de una i)resora* , el n8ero N de co)ias a i)riir' (l resultado )uede ser un valor
booleano'
$os 5todos u o)eraciones de una clase son la %ora en coo 5sta interact8a con su entorno*
5stos )ueden tener las caracter.sticas:
0u+lic : Indica /ue el 5todo ser visible tanto dentro coo %uera de la clase*
es decir* es accsesible desde todos lados'
0ri/ate : Indica /ue el 5todo s0lo ser accesible desde dentro de la clase
1s0lo otros 5todos de la clase lo )ueden accesar4'
0rotected : Indica /ue el 5todo no ser accesible desde %uera de la clase*
)ero si )odr ser accesado )or 5todos de la clase ades de 5todos de las
subclases /ue se deriven 1ver 6erencia4'
Relacione) entre Cla)e)
(2isten tres relaciones di%erentes entre clases* De)endencias* Generali+aci0n , Asociaci0n' (n las
relaciones se 6abla de una clase destino , de una clase origen' $a origen es desde la /ue se reali+a la
acci0n de relacionar' (s decir desde la /ue )arte la %lec6a* la destino es la /ue recibe la %lec6a'
A6ora ,a de%inido el conce)to de Clase* es necesario e2)licar coo se )ueden interrelacionar dos
o s clases 1cada uno con caracter.sticas , objetivos di%erentes4'
Antes es necesario e2)licar el conce)to de cardinalidad de relaciones: (n #M$* la cardinalidad de
las relaciones indica el grado , nivel de de)endencia* es decir es)eci%ica cuantas instancias de una
clase se )ueden relacionar a una sola instancia de otra clase'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
>e anotan en cada e2treo de la relaci0n , 5stas )ueden ser:
uno2uno
uno2muc3o)(45556)
muc3o)2muc3o)(6 6)
o0cional (7554 )
n8mero fi,o: 1 denota el n8ero4'
$a notaci0n )ara re)resentar una relaci0n o)cional* donde la ulti)licidad es &uno& o &cero&*
escribiendo una relaci0n o)cional* " o ;' (sto signi%ica /ue dos objetos )ueden o no estar conectados*
, si lo estn corres)onden a una ulti)licidad de ;'
$erencia (E)0eciali.acin9*enerali.acin)
$as clases con atributos , o)eraciones counes se )ueden organi+ar de %ora jerr/uica*
ediante la 6erencia' $a 6erencia es una abstracci0n i)ortante )ara co)artir siilitudes entre
clases* donde todos los atributos , o)eraciones counes a varias clases se )ueden co)artir )or
edio de la su)erclase* una clase s general' $as clases s re%inadas se conocen coo las
subclases'
(je)lo: $as I)resoras $ser* de 9urbuja* , de Matri+* son todas subclases de la su)erclase
I)resora' $os atributos generales de una I)resora son el Modelo* Felocidad* , :esoluci0n* ientras
/ue sus o)eraciones son I)riir , Alientar'
$a Herencia es 8til )ara el odelo conce)tual al igual /ue )ara la i)leentaci0n' Coo odelo
conce)tual da buena estructuraci0n a las clases' Coo odelo de i)leentaci0n es un buen
Dia;ra)a de clases descri*iendo +na )+lti5licidad de @+no>+no@#
Dia;ra)a de clases descri*iendo +na )+lti5licidad de @+no>)+cAos@#
Dia;ra)a de clases descri*iendo +na )+lti5licidad de @)+cAos>)+cAos@#
Dia;ra)a de clases descri*iendo +na )+lti5licidad @o5cional@#
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
ve6.culo )ara no re)licar innecesariaente el c0digo' Generali+aci0n de%ine una relaci0n entre una
clase s generali+ada* , una o s versiones re%inadas de ella'
(je)lo: $a clase I)resora es una generali+aci0n de las clases I)resoras $ser* de 9urbuja* ,
de Matri+'
(s)eciali+aci0n de%ine una relaci0n entre una clase s general* , una o s versiones
es)eciali+adas de ella'
(je)lo: I)resoras $ser* de 9urbuja* , de Matri+* son todas es)eciali+aciones de I)resoras'
$a su)erclase generali+a a sus subclases* , las subclases es)eciali+an a la su)erclase' (l )roceso
de es)eciali+aci0n es el inverso de generali+aci0n' #na instancia de una subclase* o sea un objeto* es
tabi5n una instancia de su su)erclase'
(je)lo: Cuando se crea un objeto de ti)o I)resora $ser* este objeto inclu,e toda la
in%oraci0n descrita en la subclase I)resora $ser* al igual /ue en la su)erclase I)resoraH )or lo
tanto se considera /ue el objeto es una instancia de abas'
$a 6erencia es transitiva a trav5s de un n8ero arbitrario de niveles' $os ancestros de una clase
son las su)erclases de una clase en cual/uier nivel su)erior de la jerar/u.a* , los descendientes de
una clase son las subclases de una clase en cual/uier nivel in%erior de la jerar/u.a'
(je)lo: >i ades de I)resora de 9urbuja* se de%ine una clase s es)eciali+ada coo
I)resora de 9urbuja Porttil* entonces I)resora e I)resora de 9urbuja son ancestros de la clase
I)resora de 9urbuja Porttil* ientras /ue I)resora de 9urbuja e I)resora de 9urbuja Porttil son
descendientes de I)resora'
$a 6erencia indica /ue una subclase 6ereda los 5todos , atributos es)eci%icados )or una >u)er
Clase* )or ende la >ubclase ades de )oseer sus )ro)ios 5todos , atributos* )oseer las
caracter.sticas , atributos visibles de la >u)er Clase 1)ublic , )rotected4* eje)lo:
(n la %igura se es)eci%ica /ue Auto , Caioneta 6eredan de Fe6.culo* es decir* Auto )osee las
Caracter.sticas de Fe6.culo 1Precio* FelMa2* etc4 ades )osee algo )articular /ue es Desca)otable*
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
en cabio Caioneta tabi5n 6ereda las caracter.sticas de Fe6.culo 1Precio* FelMa2* etc4 )ero )osee
coo )articularidad )ro)ia Tara , Carga'
Cabe destacar /ue %uera de este entorno* lo 8nico &visible& es el 5todo Caracter.sticas a)licable
a instancias de Fe6.culo* Auto , Caioneta* )ues tiene de%inici0n )ublica* en cabio atributos coo
Desca)otable no son visibles )or ser )rivados'
1$os nobres de atributos , o)eraciones deben ser 8nicos en la jerar/u.a de 6erencia'4
(je)lo: #na I)resora de 9urbuja Porttil incor)ora todas las caracter.sticas* )riero de una
I)resora* , luego de una I)resora de 9urbuja* conteniendo valores )ara todos los atributos
ancestrales , )udi5ndose a)licar todas las o)eraciones ancestrales'
$a generali+aci0n se )uede e2tender a 8lti)les niveles de jerar/u.as* donde una clase 6ereda de
su su)erclase* /ue a su ve+ 6ereda de otra su)erclase* 6acia arriba en la jerar/u.a' (n otras )alabras*
las relaciones entre subclases , su)erclases son relativas' $a 6erencia de%ine una jerar/u.a de clases
donde e2isten ancestros , descendientes* /ue )ueden ser directos o no'
(je)lo: #n 9arco tiene un Nobre* Oabricante* , Costo' Ti)os es)eciales de 9arco* coo
Felero* tienen ades de estas caracter.sticas bsicas* un N8ero de Felas* ientras /ue otro ti)o
es)ecial de 9arco* coo 9arco a Motor* tiene un Motor' 9arco es la clase bsica 1la su)erclase4
ientras /ue Felero , 9arco a Motor son las clases re%inadas 1las subclases4' >e debe de%inir las
caracter.sticas bsicas de los barcos una sola ve+* , luego a7adir detalles )ara veleros* barcos a
otor* etc'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(je)lo: #na jerar/u.a conteniendo una su)erclase Mueble* , varias subclases Mesa , Asiento*
)uede ser e2tendida con nuevas subclases* coo Mesa Circular* Mesa :ectangular* ientras /ue un
Asiento )uede e2tenderse con las subclases >illa* >ill0n* , Taburete'
Cada clase tiene sus )ro)ios atributos los cuales se van es)eciali+ando a edida /ue las clases
son cada ve+ s es)eciali+adas' N0tese /ue no necesariaente todas las clases tienen /ue incluir
atributos'
#)ociacin
$a relaci0n entre clases conocida coo Asociaci0n* )erite asociar objetos /ue colaboran entre
si'
#na asociaci0n describe la relaci0n entre clases de objetos* , describe )osibles ligas* donde una
liga es una instancia de una asociaci0n* al igual /ue un objeto es una instancia de una clase'
(je)lo:
#n cliente )uede tener asociadas uc6as ?rdenes de Co)ra* en cabio una orden de co)ra
solo )uede tener asociado un cliente'
*rado de la #)ociacin
Dia;ra)a de clases descri*iendo di-erentes ti5os de .ueble' )siento y .esa? con s+s
res5ectivas s+*clases.
Dia;ra)a de clases conteniendo la asociaci7n estudia=en entre #studiante y Uni!ersidad#
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(l grado de una asociaci0n se deterina )or el n8ero de clases conectadas )or la isa
asociaci0n' $as asociaciones )ueden ser binarias* ternarias* o de a,or grado' $as asociaciones se
consideran binarias si relacionan solo dos clases'
(je)lo: $a asociaci0n entre Persona e Instituto es una asociaci0n binaria'
$as asociaciones )ueden ser de a,or grado si relacionan a la isa ve+ s de dos clases'
A)arte de relaciones binarias* lo s co8n son relaciones ternarias 1entre tres clases4* relaciones de
s alto nivel son uc6o enos counes' Mientras el grado de una relaci0n auenta* su
co)rensi0n se di%iculta* , se debe considerar )artir las relaciones en varias relaciones binarias'
(je)lo: Puede e2istir una relaci0n ternaria entre (studiante* Pro%esor* , #niversidad donde &un
estudiante estudia con un )ro%esor en una universidad&'
(l grado de las ligas corres)onden al de las asociaciones'
#)ociacione) Refle:i/a)
$as asociaciones )ueden ser re%le2ivas* relacionando distintos objetos de una isa clase'
(je)lo: Para una clase )ersona )uede e2istir una asociaci0n )ariente /ue describe /ue dos
objetos de ti)o )ersona* coo Juan P5re+ , $aura P5re+ son )arientes'
(l grado de una asociaci0n re%le2iva )uede ser binario* ternario* o de a,or grado* de)endiendo
del n8ero de objetos involucrados'
(je)lo: Para la clase )ersona )uede e2istir una asociaci0n ternaria entre tres )ersonas donde
uno es el abuelo* el otro es el 6ijo del abuelo* , el tercero es el nieto del abuelo'
$as asociaciones re%le2ivas relacionan distintos objetos de una isa clase'
(je)lo: Juan P5re+ es )arienteBde $aura P5re+* donde abos son objetos de ti)o Persona* coo
se uestra en la Oigura
(je)lo: $a asociaci0n re%le2iva )arienteBde )ara la clase Persona se uestra en la siguiente
%igura
Dia;ra)a de clases descri*iendo +na asociaci7n ternaria entre #studiante' <ro$esor y
Uni!ersidad.
Dia;ra)a de instancias descri*iendo +na asociaci7n re-le:iva o*jetos de la clase <ersona.
Dia;ra)a de clases descri*iendo +na asociaci7n re-le:iva 5ara la clase <ersona.
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
#tri+uto) de Liga (o #)ociacin)
Al igual /ue un atributo de clase es )ro)iedad de la clase* un atributo de asociaci0n 1o atributo de
liga4 es )ro)iedad de una asociaci0n' $a notaci0n es siilar a la usada )ara los atributos de clases*
e2ce)to /ue se a7ade a la asociaci0n* , no se incor)ora un nobre de clase* coo se uestra en la
siguiente %igura:
(je)lo: Para una asociaci0n entre Persona , Co)a7.a* se )uede de%inir los atributos salario ,
)uesto coo atributos de la asociaci0n trabajaB)ara* coo se uestra en la Oigura de abajo:
En)am+lado)( #gregacin ; Com0o)icin
Dia;ra)a de clases 5ara <ersona y Compa95a conteniendo los atri*+tos de asociaci7n salario y puesto#
Dia;ra)a de o*jetos 5ara *a>l ?on8%le8 e I&. conteniendo el valor de B$00?000 5ara el
atri*+to de asociaci7n salario? y gerente 5ara el atri*+to de li;a puesto.
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
$os ensablados* en )articular la agregaci0n , co)osici0n* son %oras es)eciales de asociaci0n
entre un todo , sus )artes* en donde el ensablado est co)uesto )or sus co)onentes' (l
ensablado es el objeto central* , la estructura co)leta se describe coo una jerar/u.a de contenido'
#gregacin(
1el objeto base utili+a al incluido )ara su %uncionaiento4' (s un ti)o de relaci0n dinica* en
donde el tie)o de vida del objeto incluido es inde)endiente del /ue lo inclu,e'
Com0o)icin(
1el ?bjeto base se constru,e a )artir del objeto incluido4' (s un ti)o de relaci0n esttica* en
donde el tie)o de vida del objeto incluido esta condicionado )or el tie)o de vida del /ue lo
inclu,e'
#n ensablado )uede co)onerse de varias )artes* donde cada relaci0n se considera una
relaci0n se)arada' (n el caso de agregaci0n* las )artes del ensablado )ueden a)arecer en 8lti)les
ensablados' (n el caso de co)osici0n* las )artes del ensablado no )ueden ser co)artidas entre
ensablados'
(je)lo: #na :ed de Co)utadoras se )uede considerar un ensablado* donde las
Co)utadoras son sus co)onentes' (ste tabi5n es un eje)lo de agregaci0n* ,a /ue las
Co)utadoras )udieran ser )artes de 8lti)les :edes de Co)utadoras a la ve+' Adicionalente* las
Co)utadoras )ueden e2istir inde)endienteente de la e2istencia de la :ed de Co)utadoras'
(je)lo: #n Auto0vil se )uede tabi5n considerar un ensablado* donde el Motor , la
Carrocer.a son sus co)onentes' (ste tabi5n es un eje)lo de co)osici0n* ,a /ue el Motor , la
Carrocer.a son )artes del Auto0vil* , a di%erencia de la agregaci0n* no )ueden ser co)artidos entre
distintos Auto0viles a la ve+'
Adicionalente* no tiene uc6o sentido /ue el Motor , la Carrocer.a e2istan de anera
inde)endiente al Auto0vil* )or lo cual la co)osici0n re%leja de anera i)ortante* el conce)to de
)ro)iedad'
(l ensablado tiene )ro)iedades de transici0n: >i A es )arte de 9 , 9 es )arte de CH entonces A
es )arte de C'
(je)lo: >i el Motor es )arte del Auto0vil* entonces sus )ro)iedades* coo su )osici0n ,
velocidad* estn dadas )or la )osici0n , velocidad del Auto0vil'
(l ensablado es antisi5trico: >i A es )arte de 9* entonces 9 no es )arte de A' (stas
)ro)iedades se )ro)agan entre el ensablado , sus co)onentes'
(je)lo: >i el Motor es )arte del Auto0vil* entonces el Auto0vil no es )arte del Motor'
>e considera un ensablado , no una asociaci0n regular:
>i se )uede usar la %rase &)arteBde& o &consisteBde& o &tiene&H
>i algunas o)eraciones en el todo se )ueden )ro)agarse a sus )artesH
>i algunos atributos en el todo se )ueden )ro)agar a sus )artesH
(l ensablado es co8n en los objetos inter%a+' (n un sistea de ventanas* )or eje)lo* una
ventana )uede consistir de botones* en8s* , barras 1LscrollbarsM4* cada una odelada )or su )ro)io
objeto inter%a+' (l resultado es una estructura de inter%a+ en %ora de rbol' $a decisi0n de usar
ensablados es un )oco arbitraria* , en la )rctica no causa grandes )robleas la distinci0n i)recisa
entre agregaci0n* co)osici0n , asociaci0n* aun/ue es bueno ser consistente'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
$a notaci0n )ara un ensablado* en )articular )ara un agregado* es un diaante ad6erido al lado
del objeto corres)ondiente al ensablado total* conectado )or una l.nea a sus co)onentes* coo se
uestra en la siguiente %igura
(je)lo: (l Automvil con sus co)onentes* Motor , Carrocera* se uestran en el siguiente
diagraa:
(je)lo: #na co)utadora )ersonal 1PC4 est co)uesta )or uno o varios onitores* un sistea* un
teclado , o)cionalente un rat0n' (l sistea tiene un c6asis* un )rocesador central 1CP#4* varias
tarjetas de eoria 1:AM4* , o)cionalente un ventilador' (l diagraa se uestra en la siguiente
%igura
?tro (je)lo:
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(n donde se destaca /ue:
#n Alacen )osee Clientes , Cuentas 1los robos van en el objeto /ue )osee las
re%erencias4'
Cuando se destru,e el ?bjeto Alac5n tabi5n son destruidos los objetos Cuenta
asociados* en cabio no son a%ectados los objetos Cliente asociados'
$a co)osici0n se destaca )or un robo relleno'
$a agregaci0n se destaca )or un robo trans)arente'
$a %lec6a en este ti)o de relaci0n indica la navegabilidad del objeto re%erenciado' Cuando no
e2iste este ti)o de )articularidad la %lec6a se eliina'
De0endencia o In)tanciacin (u)o)(
:e)resenta un ti)o de relaci0n u, )articular* en la /ue una clase es instanciada 1su instanciaci0n
es de)endiente de otro objetoIclase4'
(s una relaci0n de uso* es decir una clase usa a otra* /ue la necesita )ara su coetido' >e
re)resenta con una %lec6a discontinua va desde la clase utili+adora a la clase utili+ada' Con la
de)endencia ostraos /ue un cabio en la clase utili+ada )uede a%ectar al %uncionaiento de la
clase utili+adora* )ero no al contrario'
(l uso s )articular de este ti)o de relaci0n es )ara denotar la de)endencia /ue tiene una clase
de otra* coo )or eje)lo una a)licaci0n gr%ica /ue instancia una ventana 1la creaci0n del ?bjeto
Fentana esta condicionado a la instanciaci0n )roveniente desde el objeto A)licaci0n4:
Cabe destacar /ue el objeto creado 1en este caso la Fentana gr%ica4 no se alacena dentro del
objeto /ue lo crea 1en este caso la A)licaci0n4'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(je)lo utili+ando relaciones* cardinalidad* etc'
E,em0lo( $a clase Persona tiene un Nobre* Direcci0n* , N8ero del >eguro >ocial' #na )ersona
)uede trabajar en alg8n )ro,ecto , ganar un salario' #na Co)a7.a tiene un Nobre* Direcci0n*
N8ero de Tel5%ono* , Producto Priario' #na Co)a7.a contrata , des)ide Personas' Persona ,
Co)a7.a tienen una relaci0n &uc6osBuc6os&'
(l t.tulo del trabajo de)ende de la )ersona , de la co)a7.a' Ha, dos ti)os de Personas: Trabajadores
, Adinistradores' Cada Trabajador est involucrado en varios Pro,ectosH cada Adinistrador es
res)onsable de varios )ro,ectos' (n un )ro,ecto )ueden trabajar varios trabajadores , un solo
adinistrador' Cada )ro,ecto tiene un Nobre* Presu)uesto* , una Prioridad Interna )ara asegurar
recursos' Ades una Co)a7.a est co)uesta de 8lti)les De)artaentosH cada de)artaento
dentro de una co)a7.a se identi%ica de %ora 8nica )or su Nobre'
#n de)artaento usualente tiene un adinistrador' $a a,or.a de los adinistradores anejan un
de)artaentoH , algunos adinistradores no estn asignados a ning8n de)artaento' Cada
de)artaento anu%actura varios )roductosH ientras /ue cada )roducto est 6ec6o )or un solo
de)artaento' #n )roducto tiene Nobre* Costo* , Peso'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(l diagraa es el siguiente:
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de o+,eto)
Pertenece a la clasi%icaci0n de los diagraas /ue dan una vista esttica del sistea'
Contiene un conjunto de instancias de los eleentos encontrados en un Diagraa de Clases' Por
lo tanto* e2)resa la )arte esttica de una interacci0n* consistiendo en los objetos /ue colaboran* )ero
son ninguno de los ensajes enviados entre ellos'
Para reali+arlo )riero se debe decidir /ue situaci0n /uereos re)resentar del sistea* en un
oento concreto del iso* )eritiendo as. ostrar los objetos , sus relaciones
(n los diagraas de objetos tabi5n se )ueden incor)orar clases* )ara ostrar la clase de la /ue
es un objeto re)resentado'
Con los Diagraa de ?bjetos no se )uede es)eci%icar co)letaente la estructura de objetos del
sistea' Puede e2istir una ultitud de )osibles instancias de una clase )articular* , )ara un conjunto
de clases con relaciones entre ellas* )ueden e2istir uc6as s con%iguraciones )osibles de esos
objetos'
Diagrama
Al oento de construir el Diagraa de ?bjetos 6a, /ue tener bien en claro dos conce)to u,
i)ortantes'
(n )rier lugar saber a /ue nos re%erios cuando 6ablaos de objeto'
$os objetos son las entidades bsicas del odelo de objeto' $a )alabra objeto )roviene del lat.n
objectus* donde ob signi%ica 6acia* , jacere signi%ica arrojarH o sea* /ue te0ricaente un objeto es
cual/uier cosa /ue se )ueda arrojar'
E,em0lo ( #na )elota o un libro se )ueden arrojar* )or lo tanto estos son objetos' Por otro lado* un
avi0n o un ele%ante tabi5n se consideran objetos* aun/ue sean bastante )esados )ara ser arrojados'
$os objetos son s /ue si)les cosas /ue se )uedan arrojar* son conce)tos* )udiendo ser
abstractos o concretos'
E,em0lo: #na esa es un objeto concreto* ientras /ue un viaje es un objeto abstracto'
$os objetos corres)onden )or lo general a sustantivos* )ero no a gerundios'
E,em0lo: Mesa , viaje son abos sustantivos , )or lo tanto objetos' Trabajando , estudiando son
gerundios )or lo cual no se consideran objetos'
Cual/uier cosa /ue incor)ore una estructura , un co)ortaiento se le )uede considerar coo un
objeto'
E,em0lo: #na )elota es s0lida , redonda , se le )uede arrojar o atra)ar' #n libro es rectangular ,
s0lido , se le )uede abrir* cerrar* , leer'
#n objeto debe tener una identidad co6erente* al /ue se le )uede asignar un nobre ra+onable ,
conciso'
E,em0lo( >e consideran an+anas todas las %rutas con un sabor* te2tura* , %ora siilar'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
$a e2istencia de un objeto de)ende del conte2to del )roblea' $o /ue )uede ser un objeto
a)ro)iado en una a)licaci0n )uede no ser a)ro)iado en otra* , al rev5s' Por lo general* e2isten uc6os
objetos en una a)licaci0n* , )arte del desa%.o es encontrarlos'
E,em0lo: $a te)eratura se )uede considerar un objeto abstracto* teniendo )ro)iedades tales
coo el valor de la te)eratura , el ti)o de la escala en /ue se ide 1Celsius o Oa6ren6eit4' Por otro
lado* si 6ablaos de un ter0etro* la te)eratura )asa a ser una )ro)iedad del ter0etro'
$os objetos se de%inen seg8n el conte2to de la a)licaci0n'
E,em0lo: #na )ersona llaada Juan P5re+ se considera un objeto )ara una co)a7.a* ientras
/ue )ara un laboratorio el 6.gado de Juan P5re+ es un objeto' #na universidad coo la #N$a: se
considera un objeto* ientras /ue dentro de la #N$a: los objetos ser.an las aulas* los estudiantes ,
los )ro%esores'
$os objetos deben ser entidades /ue e2isten de %ora inde)endiente' >e debe distinguir entre los
objetos* los cuales contienen caracter.sticas o )ro)iedades* , las )ro)ias caracter.sticas'
E,em0lo: (l color , la %ora de una an+ana no se consideran )ro)iaente objetos* sino
)ro)iedades del objeto an+ana' (l nobre de una )ersona se considera una )ro)iedad de la
)ersona'
#n gru)o de cosas )uede ser un objeto si e2iste coo una entidad inde)endiente'
E,em0lo: #n auto0vil se considera un objeto el cual consiste de varias )artes* coo el otor , la
carrocer.a'
$os objetos deben tener nobres en singular* , no en )lural'
E,em0lo: #n auto0vil es un objeto* auto0viles son si)leente uc6os objetos , no un solo
objeto'
Parte de una cosa )uede considerarse un objeto'
E,em0lo: $a rueda* la cual es )arte del auto0vil* se )uede considerar un objeto' Por otro lado* el
lado i+/uierdo del auto0vil ser.a un al objeto'
$os objetos deben tener nobren ra+onables , concisos )ara evitar la construcci0n de objetos /ue
no tengan una identidad co6erente'
E,em0lo: Datos o in%oraci0n no son nobres concisos de objetos' Por otro lado* un estudiante
es un objeto* ,a /ue contiene )ro)iedades coo el n8ero de atr.cula , nobre del estudiante*
ades inclu,e un co)ortaiento tal coo ir a clases* )resentar e2enes* , graduarse' Todos los
estudiantes cu,os a)ellidos coiencen con &A& ser.a un al objeto ,a /ue el nobre del objeto no es
conciso'
(l objeto integra una estructura de datos 1atributos4 , un co)ortaiento 1o)eraciones4'
G segundo lugar* el terino identidadH aclarado a continuaci0n'
$os objetos se distinguen )or su )ro)ia e2istencia* su identidad* aun/ue internaente los valores
)ara todos sus datos sean iguales' Todos los objetos se consideran di%erentes'
E,em0lo: >i teneos una biblioteca llena de libros* cada uno de esos libros* coo $a Il.ada*
Halet* $a Casa de los (s).ritus* etc'* se consideran e identi%ican coo objetos di%erentes' Dos
an+anas aun/ue sean e2actaente del iso color , %ora* son di%erentes objetos'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
$os objetos tienen un nobre /ue )uede no ser 8nico'
E,em0lo: Pueden e2istir 8lti)les co)ias de un solo libro* lo cual re/uiere identi%icadores
es)eciales )ara distinguir entre di%erentes objetos con )ro)iedades siilares* coo el c0digo del libro
en la biblioteca'
$os objetos necesitan un identi%icador interno 8nico cuando son i)leentados en un sistea de
co)utaci0n )ara accesar , distinguir entre los objetos' (stos identi%icadores no deben incluirse coo
una )ro)iedad del objeto* ,a /ue solo son i)ortantes en el oento de la i)leentaci0n'
E,em0lo: $os di%erentes )ersonas se distinguir.an internaente dentro de una co)utadora )or
los identi%icadores Persona;* Persona!* PersonaJ* etc' Por otro lado* el n8ero del seguro social de la
)ersona es un identi%icador e2terno vlido* ,a /ue e2iste %uera de la i)leentaci0n en una
co)utadora'
$a notaci0n general )ara una objeto es una caja rectangular conteniendo el nobre del objeto
subra,ado* el cual sirve )ara identi%icar al objeto* coo se uestra:
E,em0lo: $os objetos Juan P5re+ , #N$a: se re)resentan coo se uestra'
Coo se enciono al )rinci)io de esta secci0n el Diagraa de ?bjetos re)resenta a los objetos ,
sus relaciones' $a )regunta a6ora seria Pde /u5 aneraQ' A continuaci0n se detalla los )asos a seguir
)ara construir un Diagraa de ?bjetos
Ha, /ue identi%icar el ecaniso /ue se desea odelar' #n ecaniso re)resenta alguna
%unci0n o co)ortaiento de la )arte del sistea /ue se est odelando* /ue resulta de la interacci0n
de una sociedad de clases* inter%aces , otros eleentos'
Para cada ecaniso 6a, /ue identi%icar las clases* inter%aces , otros eleentos /ue )artici)an
en esta colaboraci0nH identi%icar tabi5n las relaciones entre estos eleentos'
Ha, /ue considerar un escenario en el /ue intervenga este ecaniso' Tabi5n 6a, /ue
congelar este escenario en un oento concreto* , re)resentar cada objeto /ue )artici)o en el
ecaniso'
Ha, /ue ostrar el estado , valores de los atributos de cada uno de esos objetos si son
necesarios )ara co)render el escenario'
Anlogaente 6a, /ue ostrar los enlaces entre esos objetos* /ue re)resentan instancias de
asociaciones entre ellos'
Por eje)lo* en la siguiente %igura se re)resenta un conjunto de objetos e2tra.dos de la
i)leentaci0n de un robot aut0noo' (sta %igura se centra en algunos de los objetos i)licados en el
ecaniso utili+ado )or el robot )ara calcular un odelo del undo en el /ue se ueve' Ha, uc6os
s objetos i)licados en un sistea en ejecuci0n* )ero este diagraa se centra s0lo en a/uellas
abstracciones i)licadas directaente en la creaci0n de esta vista del undo'
No)*re del
o*jeto
Notaci7n 5ara +n o*jeto
o*jeto#
Juan P5re+ #N$a:
Notaci7n 5ara los o*jetos @uan <0re8 y UA(a*#
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Coo indica la %igura* un objeto re)resenta al )ro)io robot 1r* una instancia de :obot4* , r se
encuentra actualente en el estado oviiento' (ste objeto tiene un enlace con * una instancia de
Mundo* /ue re)resenta una abstracci0n del odelo del undo del robot' (ste objeto tiene un enlace
con un ultiobjeto /ue consiste en instancias de (leento* /ue re)resenta entidades /ue el robot 6a
identi%icado* )ero a8n no 6a asignado en su vista del undo' (stos eleentos se arcan coo )arte
del estado global del robot'
(n ese instante* est enla+ado a dos instancias de Area' #na de ellas 1a!4 se uestra con sus
)ro)ios enlaces a tres objetos Pared , un objeto Puerta' Cada una de estas )aredes est eti/uetada
con su anc6ura actual* , cada una se uestra enla+ada a sus )aredes vecinas' Coo sugiere este
diagraa de objetos* el robot 6a reconocido el rea /ue lo contiene* /ue tiene )aredes en tres lados ,
una )uerta en el cuarto'
r::obot
RoviientoS
:Mundo :(leento
a;:Area a!:Area
);:ParedAnc6
ura N JC
);:ParedAnc6
ura N <C
dA:PuertaAnc
6ura N JC
);:ParedAnc6
ura N <C
TTglobalUU
sinAsignar
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de Com0onente)

#n diagraa de co)onentes uestra las organi+aciones , de)endencias l0gicas entre
co)onentes software* sean 5stos co)onentes de c0digo %uente* binarios o ejecutables' $os
eleentos de odelado dentro de un diagraa de co)onentes sern co)onentes , )a/uetes' (n
cuanto a los co)onentes* s0lo a)arecen ti)os de co)onentes* ,a /ue las instancias es)ec.%icas de
cada ti)o se encuentran en el diagraa de des)liegue'
Cada co)onente en el diagraa debe ser docuentado con un diagraa de co)onentes s
detallado* un diagraa de clases* o un diagraa de casos de uso'
#n )a/uete en un diagraa de co)onentes re)resenta una divisi0n %.sica del sistea' $os
)a/uetes se organi+an en una jerar/u.a de ca)as donde cada ca)a tiene una inter%a+ bien de%inida' #n
diagraa de co)onentes se re)resenta coo un gra%o de co)onentes software unidos )or edio
de relaciones de de)endencia 1generalente de co)ilaci0n4'

Noralente los diagraas de co)onentes se utili+an )ara odelar c0digo %uente* versiones
ejecutables* bases de datos %.sicas* entre otros'
Cdigo fuente: (n el odelado de c0digo %uentes se suelen utili+ar )ara re)resentar las
de)endencias entre los %ic6eros de c0digo %uente* o )ara odelar las di%erentes versiones de estos
%ic6ero' Para ello se deben identi%icar el conjunto de arc6ivos de c0digo %uente de inter5s ,
estereoti)arlos coo arc6ivos %ile* agru)arlos en )a/uetes* utili+ar valores eti/uetados )ara la
in%oraci0n de versiones , odelar las de)endencias de co)ilaci0n'
Cdigo e,ecuta+le: >e utili+a )ara odelar la distribuci0n de una nueva versi0n a los usuarios'
Para tal )ro)0sito se identi%ican el conjunto de co)onentes ejecutables /ue intervienen* se utili+an
estereoti)os )ara los di%erentes ti)os de co)onentes 1ejecutables* bibliotecas* tablas* arc6ivos*
docuentos* etc'4* se consideran las relaciones entre dic6os co)onentes /ue la a,or.a de las veces
incluirn inter%aces /ue son e2)ortadas 1reali+adas4 )or ciertos co)onentes e i)ortadas 1utili+adas4
)or otros'
a)e) de dato) f<)ica: #M$ )erite el odelado de bases de datos %.sicas as. coo de los
es/ueas l0gicos de bases de datos'
As. si teneos en cuenta las de)endencias asociadas al )roceso de co)ilaci0n un co)onente
)odr.a ser:
C0digo %uente: /ue de)ende de otros co)onentes 1no necesariaente c0digo %uente4 /ue
deben estar dis)onibles durante la co)ilaci0n del co)onente'
C0digo objeto binario: coo )or eje)lo una librer.a* /ue )uede de)ender de alg8n c0digo
objeto con el /ue se linDea'
C0digo ejecutable: /ue )uede de)ender de otros )rograas ejecutables con los /ue
interaccionan en tie)o de ejecuci0n'
El Diagrama de Componentes se usa para modelar la estructura del software, incluendo las
dependencias entre los componentes de software, los componentes de cdigo binario, los
componentes e!ecutables" En el Diagrama de Componentes se modela componentes del sistema, a
veces agrupados por pa#uetes, las dependencias #ue e$isten entre componentes % pa#uetes de
componentes&"'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama) de Im0lementacin
$os Diagraas de I)leentaci0n se usan )ara odelar la con%iguraci0n de los eleentos de
)rocesado en tie)o de ejecuci0n 1runBtie )rocessing eleents4 , de los co)onentes* )rocesos ,
objetos de so%t-are /ue viven en ellos'
$os Diagraas de I)leentaci0n se usan )ara odelar s0lo co)onentes /ue e2isten coo
entidades en tie)o de ejecuci0nH no se usan )ara odelar co)onentes solo de tie)o de
co)ilaci0n o de tie)o de enla+ado' Puedes tabi5n odelar co)onentes /ue igran de nodo a
nodo u objetos /ue igran de co)onente a co)onente usando una relaci0n de de)endencia con el
estereoti)o VbecoesV 1se trans%ora4
Oigura: Modelando la Distribuci0n del >istea con el Diagraa de I)leentaci0n
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama) din-mico)
Diagrama de Ca)o) de U)o)
>e e)lea )ara visuali+ar el co)ortaiento del sistea* una )arte de 5l o de una sola claseH ,
coo se relaciona con su entorno' De 5sta %ora se )uede conocer coo res)onde 5sa )arte del
sistea ante un est.ulo del abiente' (l diagraa de uso es u, 8til )ara de%inir coo deber.a ser el
co)ortaiento de una )arte del sistea* ,a /ue solo es)eci%ica coo deben co)ortarse , no coo
estn i)leentadas las )artes /ue de%ine'
#n caso de uso es)eci%ica un re/ueriiento %uncional'
Elemento)
#n diagraa de casos de uso consta de los siguientes eleentos:
#ctor
#n actor es un rol /ue tiene un usuario con res)ecto al sistea' (s decir* ser.a un usuario del
sistea' (s i)ortante destacar el uso de la )alabra LrolM* ,a /ue esto es)eci%ica /ue un actor no
necesariaente re)resenta a una )ersona en )articular* si no la labor /ue reali+a %rente al sistea'
Por eje)lo* en un sistea de ventas* el rol de Fendedor con res)ecto al sistea )uede ser
reali+ado )or un Fendedor o bien )or el Je%e de $ocal'
Debe tener un nobre signi%icativo , se re)resenta ediante el siguiente gr%ico:
Ca)o de U)o
(s una o)eraci0n o tarea es)ec.%ica /ue se reali+a tras una orden o est.ulo de un agente
e2terno* )uede ser un actor o desde la invocaci0n desde otro caso de uso'
>e re)resenta ediante el siguiente gr%ico:
Relacione)

#)ociacin
(s el ti)o de relaci0n s bsica* indica la invocaci0n desde un actor o caso de uso a otra
o)eraci0n 1caso de uso4' Dic6a relaci0n se denota con una %lec6a si)le:

Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
De0endencia o In)tanciacin
(s una %ora u, )articular de relaci0n entre clases* en la cual una clase de)ende de otra* es
decir* se instancia 1se crea4' Dic6a relaci0n se denota con una %lec6a )unteada:
*enerali.acin
(ste ti)o de relaci0n es una de las s utili+adas* cu)le una doble %unci0n de)endiendo de
su estereoti)o* /ue )uede ser de U)o 1TTusesUU4 o de $erencia 1TTe2tendsUU4'
(ste ti)o de relaci0n esta orientado e2clusivaente )ara casos de uso'
e:tend): se recoienda utili+ar cuando un caso de uso es siilar a otro 1en caracter.sticas4'
u)e): se recoienda utili+ar cuando se tiene un conjunto de caracter.sticas /ue son siilares
en s de un caso de uso , no se desea antener co)iada la descri)ci0n de la caracter.stica#
Se re5resenta con la si;+iente -lecAa:
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de Secuencia
(ste diagraa 1tabi5n llaado diagraa de interacci0n4 uestra las interacciones entre un
conjunto de objetos 1clases* actores4* ordenadas seg8n el tie)o en /ue tienen lugar' (s decir*
uestra el orden de las llaadas en el sistea' >e utili+a un diagraa )ara cada llaada a
re)resentar' (s i)osible re)resentar en un solo diagraa la secuencia de todas las llaadas )osibles
del sistea* es )or ello /ue se escoge un )unto de )artida' (l diagraa se co)one con los objetos
/ue %oran )arte de la secuencia* estos se sit8an en la )arte su)erior de la )antalla* noralente a la
i+/uierda se sit8a el /ue inicia la acci0n' De estos objetos sale una l.nea /ue indica su vida en el
sistea' (sta l.nea si)le se convierte en una l.nea gruesa cuando re)resenta /ue el objeto tiene el
%oco del sistea* es decir cuando 5l esta activo'
(l objeto )uede e2istir s0lo durante la ejecuci0n de la interacci0n* se )uede crear o )uede ser
destruido durante la ejecuci0n de la interacci0n'
(n este ti)o de diagraas tabi5n intervienen los ensajes* /ue son la %ora en /ue se
counican los objetos: el objeto origen solicita 1llaa a4 una o)eraci0n del objeto destino' (l diagraa
de secuencia )uede ser obtenido de dos )artes* desde el Diagraa (sttico de Clases o desde el de
Casos de #sos'
Elemento)
$os co)onentes de un diagraa de interacci0n son:
L<nea de /ida
#n objeto 1o actor4 se re)resenta coo una l.nea vertical )unteada con un rectngulo de
encabe+ado , con rectngulos a trav5s de la l.nea )rinci)al /ue denotan la ejecuci0n de 5todos
1activaci0n4' (l rectngulo de encabe+ado contiene el nobre del objeto , el de su clase'
#cti/acin
Muestra el )eriodo de tie)o en el cual el objeto se encuentra desarrollando alguna o)eraci0n*
bien sea )or s. iso o )or edio de delegaci0n a alguno de sus atributos' >e denota coo un
rectngulo delgado sobre la l.nea de vida del objeto'
Men)a,e)
(l env.o de ensajes entre objetos se denota ediante una l.nea s0lida dirigida* desde el objeto
/ue eite el ensaje 6acia el objeto /ue lo ejecuta' :e)resenta la llaada de un 5todo
1o)eraci0n4 de un objeto en )articular'
Tabi5n es )osible visuali+ar llaadas a 5todos desde el iso objeto en estudio'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
(l )resente diagraa es 8til )ara observar la vida de los objetos en el sistea* identi%icar llaadas
a reali+ar o )osibles errores del odelo esttico* /ue i)osibiliten el %lujo de in%oraci0n o de llaadas
entre los co)onentes del sistea'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de Cola+oracin
(ste diagraa uestra la interacci0n entre varios objetos , los enlaces /ue e2isten entre ellos'
:e)resenta las interacciones entre objetos organi+adas alrededor de los objetos , sus vinculaciones' A
di%erencia de un diagraa de secuencias* un diagraa de colaboraciones uestra las relaciones entre
los objetos* no la secuencia en el tie)o en /ue se )roducen los ensajes' $os diagraas de
secuencias , los diagraas de colaboraciones e2)resan in%oraci0n siilar* )ero en una %ora
di%erente'
Elemento)
$os eleentos /ue intervienen en 5stos diagraas son: objetos* enlaces , %lujos de ensajes'
O+,eto
#n objeto se re)resenta con un rectngulo* /ue contiene el nobre , la clase del objeto' #n objeto
es una instancia de una clase /ue )artici)a coo una interacci0n* e2isten objetos si)les , co)lejos'
#n objeto es activo si )osee un t6read o 6ilo de control , es ca)a+ de iniciar la actividad de control*
ientras /ue un objeto es )asivo si antiene datos )ero no inicia la actividad'
Enlace
#n enlace es una instancia de una asociaci0n en un diagraa de clases' >e re)resenta coo una
l.nea continua /ue une a dos objetos en este diagraa' (sta aco)a7ada )or un n8ero /ue indica el
orden dentro de la interacci0n , )or un estereoti)o /ue indica /ue ti)o de objeto recibe el ensaje' (l
enlace )uede ser re%le2ivo si conecta a un eleento consigo iso' $a e2istencia de un enlace entre
dos objetos indica /ue )uede e2istir un intercabio de ensajes entre los objetos conectados'
Flu,o de men)a,e)
(2)resa el env.o de un ensaje' >e re)resenta ediante una %lec6a dirigida cercana a un enlace'
$os ensajes /ue se env.an entre objetos )ueden ser de distintos ti)os* tabi5n seg8n coo se
)roducen en el tie)oH e2isten ensajes si)les* sincr0nicos* balDing* tieout , as.ncronos'
Durante la ejecuci0n de un diagraa de colaboraci0n se crean , destru,en objetos , enlaces'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Diagrama de acti/idad
>on siilares a los diagraas de %lujos de otras etodolog.as ??' (n realidad se corres)onden
con un caso es)ecial de los diagraas de estado donde los estados son estados de acci0n 1estados
con una acci0n interna , una o s transiciones /ue suceden al %inali+ar esta acci0n* o lo /ue es lo
iso* un )aso en la ejecuci0n de lo /ue ser un )rocediiento4 , las transiciones vienen )rovocadas
)or la %inali+aci0n de las acciones /ue tienen lugar en los estados de origen' >ie)re van unidos a una
clase o a la i)leentaci0n de un caso de uso o de un 5todo 1/ue tiene el iso signi%icado /ue en
cual/uier otra etodolog.a ??4' $os diagraas de actividad se utili+an )ara ostrar el %lujo de
o)eraciones /ue se desencadenan en un )rocediiento interno del sistea'
Diagrama de e)tado
:e)resentan la secuencia de estados )or los /ue un objeto o una interacci0n entre objetos )asa
durante su tie)o de vida en res)uesta a est.ulos recibidos' :e)resenta lo /ue )odeos denoinar
en conjunto una /uina de estados' #n estado en #M$ es cuando un objeto o una interacci0n
satis%ace una condici0n* desarrolla alguna acci0n o se encuentra es)erando un evento'
Cuando un objeto o una interacci0n )asa de un estado a otro )or la ocurrencia de un est.ulo o
evento se dice /ue 6a su%rido una transici0n* e2isten varios ti)os de transiciones entre objetos: si)les
1norales , re%le2ivas4 , co)lejas' Ades una transici0n )uede ser interna si el estado del /ue )arte
el objeto o interacci0n es el iso /ue al /ue llega* no se )rovoca un cabio de estado , se
re)resentan dentro del estado* no de la transici0n'


Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
$erramienta) Ca)e =ue )o0orta UML
(l :ational #ni%ied Process describe c0o odelar visualente a)licaciones )ara ca)turar la
estructura , el co)ortaiento de la ar/uitectura , de los co)onentes' (ational (ose es la ejor
6erraienta )ara llevar a cabo el odelado visual' Perite ocultar , ostrar los detalles seg8n el nivel
de abstracci0n re/uerido , escribir la a)licaci0n ediante blo/ues de construcci0n gr%icos' $as
abstracciones visuales )eriten counicar los di%erentes as)ectos del so%t-areH ostrar c0o los
eleentos del sistea encajan entre s.H asegurar /ue los blo/ues sean consistentes con el c0digoH
antener la consistencia entre el dise7o , la i)leentaci0nH , )roover una counicaci0n clara
entre todos los )artici)antes del )ro,ecto'
Rational Ro)e es la 6erraienta CA>( /ue coerciali+an los desarrolladores de #M$ , /ue
so)orta de %ora co)leta la es)eci%icaci0n del #M$'
(sta 6erraienta )ro)one la utili+aci0n de cuatro ti)os de odelo )ara reali+ar un dise7o del
sistea* utili+ando una vista esttica , otra dinica de los odelos del sistea* uno l0gico , otro
%.sico' Perite crear , re%inar estas vistas creando de esta %ora un odelo co)leto /ue re)resenta
el doinio del )roblea , el sistea de so%t-are'
S;)tem #rc3itect >774
Po)Din so%t-are o%rece so)orte )ara odelar sisteas con #M$ en >,ste Arc6itect !"";' ?%rece
todas las caracter.sticas descri)tas arriba )ara )eritir el odelado e%iciente de sisteas'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Im0lementacin de Si)tema) modelado) en UML
Durante el anlisis se 6a descrito el )roblea ediante tres Diagramas* Diagrama de )b!etos,
Diagrama de Actividades , Diagrama de Estados* se)arados )ero relacionados' (n conjunto describen
/u5 6ace el sistea con las .nias restricciones de c0o debe ser i)leentado'
Cuando un sistea de so%t-are se dise7a ?rientado a ?bjeto* el Diagrama de )b!etos es la base
en torno a la cual se constru,e el dise7o' (s )or esto* /ue el dise7ador debe trans%erir las o)eraciones
de los Diagramas de Actividad , de Estado al Diagrama de )b!etos' De esta %ora* cada )roceso del
Diagrama de Actividad e/uivaldr a una o)eraci0n asignada a una clase en el Diagrama de )b!etosH
asiiso* los eventos del Diagrama de Estado )ueden convertirse en una o)eraci0n sobre un objeto*
de)endiendo de la i)leentaci0n del control' ?bteniendo coo resultado %inal un Diagrama de
)b!etos con las operaciones de cada clase'
Durante el dise7o debeos resolver a/uellos teas /ue 6an /uedado abiertos , e2)andir los
detalle de las o)eraciones /ue no se 6an es)eci%icado co)letaente' Debeos trans%orar ,
o)tii+ar tabi5n el odelo de anlisis de tal %ora /ue sea lo su%icienteente e%iciente )ara la
i)leentaci0n'
G )or 8ltio* durante la i)leentaci0n* debeos )asar el dise7o a un lenguaje de )rograaci0n
es)ec.%ico , satis%acer todas las reglas , convenciones del lenguaje escogido'
!eamo) un e,em0lo
Presentaos a continuaci0n un Diagrama de )b!etos con las operaciones de cada clase*
resultado de la eta)a de dise7o' $o su%icienteente detallado )ara luego* 6aciendo uso* en este caso*
del $enguaje de Prograaci0n Clarion *"* + Enterprise Edition + de ,oft-elocit .nc* lograr construir una
9ase de Datos %.sica'
(n siguiente es/uea se uestran @ clases e2tra.das de un sistea de in%oraci0n de una
universidad'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
#na ve+ obtenido el diagraa )resentado anteriorente , conociendo el /engua!e de
0rogramacin a utili+ar' Podeos )roceder con la i)leentaci0n'
$a siguiente iagen uestra el dise7o de las tablas necesarias )ara lograr obtener una 9ase de
Datos %.sica en el lenguaje ,a encionado'
Coo )odr observarse al co)arar los dos es/ueas anteriores* en el segundo* al estar ,a en la
i)leentaci0n del sistea* a)arecen identi%icadores /ue 6acen 8nico a un objeto en un registro
%.sico* , atributos /ue e )eriten relacionar las tablas'
:ecordeos un caso )restado cuando se 6ablo de la identidad de los ob!etos en la secci0n Diagrama
de )b!etos'
$os objetos se distinguen )or su )ro)ia e2istencia* su identidad* aun/ue internaente los
valores )ara todos sus datos sean iguales' Todos los objetos se consideran di%erentes'
E,em0lo( >i teneos una biblioteca llena de libros* cada uno de esos libros* coo $a
Il.ada* Halet* $a Casa de los (s).ritus* etc'* se consideran e identi%ican coo objetos
di%erentes' Dos an+anas aun/ue sean e2actaente del iso color , %ora* son
di%erentes objetos'
(sto no sucede en una 9ase de Datos %.sica' >i los libros de una biblioteca no tienen un atributo
/ue los identi%i/ue un.vocaente* sern vistos )or la 9ase de Datos coo un iso objeto 1libro4* a
)esar de /ue el resto de sus atributos* conce)tualente* los uestre coo objetos distintos'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
:ecu5rdese /ue las co)utadoras anejan " , ;* , es )or esto* /ue no co)renden la di%erencia
entre las caracter.sticas de los libros de la biblioteca /ue )ara nosotros 16uanos4 es tan si)le
6acerlo* necesitando as. un atributo /ue los identi%i/ue'
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Conclu)in
A nuestro parecer UM/ es la me!or solucin para todos los profesionales relacionados con
el An1lisis de ,istemas, a #ue si nos tocara traba!ar en un proecto de software, en el cual
sabemos #ue el n2mero de integrantes no es para nada reducido %si se traba!ase en
empresas grandes&, sin la aplicacin de UM/, se hace engorroso ponerse de acuerdo en las
metodologas #ue se utili3ar1n, en las notaciones #ue se emplear1n para cada modelo %a
sea de an1lisis o de implementacin&" Es por ello #ue este nuevo paradigma de dise4o nos
posibilita unificar todos nuestros criterios, para un posterior entendimiento, me!or
organi3acin de los proectos"
Como desventa!a podemos destacar %aun#ue para algunos o muchos no lo sera& #ue
UM/ permite especificar, visuali3ar construir software5s, pero orientado a ob!etos" 0ara
a#uellos #ue prefieran las metodologas estructuradas deber1n esperar #ue sur!a un /engua!e
Unificado de Modelado Estructurado"
0ensamos #ue esto no suceder1, a lo sumo aparecer1 alguna e$tensin de UM/ para
considerar alg2n aspecto del modelo estructurado, pero a nuestro parecer no sera mu
!ustificable, por #ue a lo #ue se apunta en la actualidad es a la aplicacin de metodologas
orientadas a ob!etos, pues 6stas brindan muchas venta!as solucionan muchos de los
problemas #ue surgen en las metodologas estructuradas"
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
i+liograf<a
E5 5/7+4*9/ 6/ 47):)2*63 6/ -36/5*63# de "rady BoocA? Ca)es R+)*a+cA e Ivar Caco*son#
!dit:Addison Desley# $E edici7n en es5aol $222
M36/53. ; 6)./<3. 3,)/70*63. * 3=9/03. > M/036353+?* OMT > . De Ca)es R+)*a+;A? MicAael BlaAa?
Dillia) Fre)eralni? FredericG 3ed= y Dillia) Lorensen# !ditorial: FR!N%IC! 3ALL# $22.#
C4,.3 6/ I7+/7)/,?* 6/5 S3:@*,/ > Unidad 5.1 Diseo de Bases de Datos Relacionales y Conceptos de
la Orientacin a Objetos > # De C# Fedro Caraca? Haliente y 3ernInde6# I%BA 4Instit+to %ecnol7;ico de
B+enos Aires > Universidad Frivada >9# $22/#
Sitio) Con)ultado)
Att5:88cavirt+al#in;#+la#ve8CornadasHirt+ales8JIIICornadas8ed+2$,8ed+2$,#At)
Att5:88l+cas#Ais5alin+:#es8%+toriales8doc>)odelado>siste)as>UML8)+lti5le>At)l8inde:#At)l
Att5:88si;)a#5oli;ran#ed+#co85olitecnico8a5oyo8siste)as8inve8docsK0$28+)lK0(8L+ees+)l#At)
Att5:88+s+arios#lycos#es8oo5ere8+)l#At)
Att5:88MMM#crean;el#co)8+)l8intro#At)l
Att5:88MMM#cs#+al*erta#ca8N5-i;+ero8soo8)etod8+)l>)et#At)l
Att5:88MMM#dcc#+cAile#cl8N5salinas8+)l8interaccion#At)l
Att5:88MMM#docirs#cl8+)l#At)
Att5:88MMM#dte#+s#es85ersonal85r+i68investi;acion8tra*ajoKinvesti;acion8At)l8node22#At)l
Att5:88MMM#e)*arcadero#co)8s+55ort8MAatKisK+)l#as5
Att5:88MMM#)cc#+na)#):8Nc+rsos8'*jetos8Ca518ca51#At)l
Att5:88MMM#)ono;ra-ias#co)8tra*ajos<8inso-8inso-#sAt)l
Att5:88MMM#o);#or;8;ettin;started8MAatKisK+)l#At)
Att5:88MMM#rational#co)8+)l8inde:#js5
Att5:88MMM#s5ar:syste)s#co)#a+8UMLK%+torial#At)
Att5:88MMM#to;etAerso-t#co)8services85racticalK;+ides8+)lonlineco+rse8inde:#At)l
Att5:88MMM#vico#or;
Att5:88MMM2<#*rinGster#co)8ed+carodo8artic+los8artic+lo00($#as5
Universidad Nacional de La Rioja
Base de Datos y UML
Ao 2002
Att5:88MMM>;ris#det#+vi;o#es8Navilas8UML8node,2#At)l
y otros mas...
para mayor informacin escribe a +nlarOyaAoo#co)#ar

También podría gustarte