Está en la página 1de 48

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

Universidad Nacional de La Rioja


Carrera: Lic.

en Anlisis de Sistemas de Datos

Materia: Base Docente:

Ing. Emilio Rearte Ao Base de Datos ! U"L

Curso: 4

Trabajo Prctico:

Integrantes:
Agero Jorge Cornejo Anabella Heredia Ana Gabriela Pascal Alejandro

Novie bre 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..................................................................................................................................."# CLASIFICACI N 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................................................................................................................................................. !
!le)entos######################################################################################################################################################################################### ,0 '*jeto########################################################################################################################################################################################### ,0 !nlace########################################################################################################################################################################################### ,0 Fl+jo de )ensajes######################################################################################################################################################################### ,0

Diagrama de acti"idad........................................................................................................................................................ 1 ............................................................................................................................................................................................. 1 Diagrama de estado............................................................................................................................................................ 1

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002 ....................................................................................................................................................................................................$" ################################################################################################################################################################################################,$ HERRAMIENTAS CASE %UE SO&ORTA UML................................................................................................................$' IM&LEMENTACIN DE SISTEMAS MODELADOS EN UML ......................................................................................$( CONCLUSIN..........................................................................................................................................................................$6 BIBLIOGRAFA ......................................................................................................................................................................$7 SI%I'S C'NSUL%AD'S #############################################################################################################################################################,/

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 Modela iento #ni%icado' (l $enguaje de Modelado #ni%icado es un lenguaje usado )ara es)eci%icar* visuali+ar , docu entar los di%erentes as)ectos relativos a un siste a de so%t-are bajo desarrollo* as. co o )ara odelado de negocios , otros siste as 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%or a tecnol0gica de i )le entaci0n 1#ni2* 3indo-s etc'4' (s un siste a notacional 1/ue* entre otras cosas* inclu,e el signi%icado de sus notaciones4 destinado a los siste as 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 siste as* 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 distribuida' (s i )ortante resaltar /ue un odelo #M$ describe lo /ue su)uesta ente 6ar un siste a* )ero no dice co o i )le entar dic6o siste a'

DIFERENTES DEFINICIONES DE UML


(l $enguaje #ni%icado de Modelado )rescribe un conjunto de notaciones , diagra as estndar )ara odelar siste as orientados a objetos* , describe la se ntica esencial de lo /ue estos diagra as , 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 siste as: siste as de so%t-are* siste as de 6ard-are* , organi+aciones del undo real' (l #M$ es una t5cnica de odelado de objetos , co o tal su)one una abstracci0n de un siste a )ara llegar a construirlo en t5r inos 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 o ite 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 usados orientados a objetos' ( )e+0 co o una consolidaci0n del trabajo de Grade 9ooc6* Ja es :u baug6* 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$ co en+0 en octubre de ;<<= cuando Grad, 9ooc6 , Ji :u baug6 de :ational >o%t-are Cor)oration co en+aron a trabajar en la uni%icaci0n de los lenguajes de odelado 9ooc6 , ?MT* desde este o ento %ueron reconocidos undial ente en el desarrollo de etodolog.as orientadas a objetos' As.* en octubre de ;<<@* ter inaron su trabajo de uni%icaci0n obteniendo el borrador de la versi0n "'A del deno inado Unified Method' Hacia %ines de este is o a7o* Ivar Jacobson 1creador de la etodolog.a ??>( B ?bject ?riented >o%t-are (ngineer4 se uni0 con :ational >o%t-are )ara obtener %inal ente #M$ "'< , "'<; en junio , octubre de ;<<C* res)ectiva ente' Igual ente* #M$ incor)ora ideas de otros etod0logos entre los /ue )ode os incluir a Peter Coad* DereD Cole an* 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 co o Microso%t* He-lettBPacDard* ?racle* >terling >o%t-are MCI >,ste 6ouse* #nis,s* IC?N Co )uting* IntelliCor)* iB$ogi2* I9M* ?bjectTi e* Platinu Tec6nolog,* Ptec6* TasDon* :eic6 Tec6nologies* >o%tea se asociaron con :ational >o%t-are Cor)oration )ara dar co o resultado #M$ ;'" , #M$ ;';' Ho, en d.a llega os 6asta #M$ ;'= , #M$ !'"' (n la siguiente %igura se uestra de %or a gr%ica , resu ida 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 n8 ero de diagra as /ue re)resentan las di%erentes vistas del )ro,ecto' (stos diagra as juntos son los /ue re)resenta la ar/uitectura del )ro,ecto' #M$ )er ite describir un siste a en di%erentes niveles de abstracci0n* si )li%icando la co )lejidad sin )erder in%or aci0n* )ara /ue tanto usuarios* l.deres , desarrolladores )uedan co )render clara ente 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 e bargo* 6a, /ue tener en cuenta un as)ecto i )ortante del odelo: no )retende de%inir un odelo estndar de desarrollo* sino 8nica ente un lenguaje de odelado' ?tros 5todos de odelaje co o ?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 do inios de trabajoH no )uede ser el is o 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$ reco ienda utili+ar los )rocesos /ue otras etodolog.as tienen de%inidos'

O 'ETI!OS
Co o objetivos )rinci)ales de la consecuci0n de un nuevo 5todo /ue aunara los as)ectos de sus )redecesores* sus )rotagonistas se )ro)usieron lo siguiente: ejores

(l 5todo deb.a ser ca)a+ de odelar no s0lo siste as de so%t-are sino otro ti)o de siste as 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)la iento e2)l.cito de los conce)tos , los arte%actos ejecutables' Manejar los )roble as t.)icos de los siste as 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 ade s* uni%icar las )ers)ectivas entre di%erentes ti)os de siste as 1no s0lo so%t-are* sino ta bi5n en el bito de los negocios4* al aclarar las %ases de desarrollo* los re/ueri ientos de anlisis* el dise7o* la i )le entaci0n , los conce)tos internos de la ??'

(l #M$ es un lenguaje )ara construir odelosH no gu.a al desarrollador en la %or a 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 , co o tal su)one una abstracci0n de un siste a )ara llegar a construirlo en t5r inos 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 o ite 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 6u ana: antes de construir una casa el ar/uitecto utili+a un )lano* los 8sicos re)resentan la 8sica en %or a 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. is a in%or aci0n sobre las )rinci)ales caracter.sticas de 5sta' $os odelos ade s* al no ser una re)resentaci0n /ue inclu,a todos los detalles de los originales* )er iten )robar s %cil ente los siste as /ue odelan , deter inar los errores' >eg8n se indica en la Metodolog.a ?MT 1:u baug64* los odelos )er iten una ejor co unicaci0n con el cliente )or distintas ra+ones: (s )osible ense7ar al cliente una )osible a)ro2i aci0n de lo /ue ser el )roducto %inal' Pro)orcionan una )ri era a)ro2i aci0n al )roble a /ue )er ite visuali+ar c0 o /uedar el resultado' :educen la co )lejidad del original en subconjuntos /ue son %cil ente tratables )or se)arado' >e consigue un odelo co )leto de la realidad cuando el odelo ca)tura los as)ectos i )ortantes del )roble a , o ite el resto' $os lenguajes de )rogra aci0n /ue esta os acostu brados a utili+ar no son adecuados )ara reali+ar odelos co )letos de siste as reales )or/ue necesitan una es)eci%icaci0n total con detalles /ue no son i )ortantes )ara el algorit o /ue estn i )le entando' Con la creaci0n del #M$ se )ersigue obtener un lenguaje /ue sea ca)a+ de abstraer cual/uier ti)o de siste a* sea in%or tico o no* ediante los diagra as* es decir* ediante re)resentaciones gr%icas /ue contienen toda la in%or aci0n relevante del siste a' #n diagra a es una re)resentaci0n gr%ica de una colecci0n de ele entos del odelo* /ue 6abitual ente to a %or a de gra%o donde los arcos /ue conectan sus v5rtices son las relaciones entre los objetos , los v5rtices se corres)onden con los ele entos del odelo' $os distintos )untos de vista de un siste a real /ue se /uieren re)resentar )ara obtener el odelo se dibuja d5 %or a /ue se resaltan los detalles necesarios )ara entender el siste a'

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 siste a /ue va os a desarrollar: los ar/uitectos utili+an , constru,en )lanos 1 odelos4 de los edi%icios* los grandes dise7adores de coc6es )re)aran odelos en siste as CADICAM con todos los detalles , los ingenieros de so%t-are deber.an igual ente construir odelos de los siste as so%t-are' Para la construcci0n de odelos* 6a, /ue centrarse en los detalles relevantes ientras se ignoran los de s* )or lo cual con un 8nico odelo no tene os bastante' Farios odelos a)ortan di%erentes vistas de un siste a los cuales nos a,udan a co )renderlo desde varios %rentes' As.* #M$ reco ienda la utili+aci0n de nueve diagra as )ara re)resentar las distintas vistas de un siste a' Lo) diagrama) de UML )on lo) )iguiente)( Diagrama de Ca)o) de U)o: odela la %uncionalidad del siste a agru)ndola en descri)ciones de acciones ejecutadas )or un siste a )ara obtener un resultado' >e utili+a )ara entender el uso del siste a Muestra el conjunto de casos de uso , actores 1#n actor )uede ser tanto un siste a co o 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 )orta iento del siste a' Diagrama de Cla)e): uestra las clases 1descri)ciones de objetos /ue co )arten caracter.sticas co unes4 /ue co )onen el siste a , c0 o se relacionan entre s.' Diagrama de O+,eto): uestra una serie de objetos 1instancias de las clases4 , sus relaciones' A di%erencia de los diagra as anteriores* estos diagra as se en%ocan en la )ers)ectiva de casos reales o )rototi)os' (s un diagra a de instancias de las clases ostradas en el diagra a de clases' Diagrama de Secuencia: en%ati+a la interacci0n entre los objetos , los entre s. junto con el orden te )oral de los is os' ensajes /ue interca bian

Diagrama de Cola+oracin: igual ente* uestra la interacci0n entre los objetos resaltando la organi+aci0n estructural de los objetos en lugar del orden de los ensajes interca biados' El diagrama de secuencia y el diagrama de colaboracin : uestran a los di%erentes objetos , las relaciones /ue )ueden tener entre ellos* los ensajes /ue se env.an entre ellos' >on dos diagra as di%erentes* /ue se )uede )asar de uno a otro sin )erdida de in%or aci0n* )ero /ue nos dan )untos de vista di%erentes del siste a' (n resu en* cual/uiera de los dos es un Diagra a de Interacci0n' Diagrama de E)tado): >e utili+a )ara anali+ar los ca bios de estado de los objetos' Muestra los estados* eventos* transiciones , actividades de los di%erentes objetos' >on 8tiles en siste as /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 diagra a de estados* si )li%ica el diagra a de estados odelando el co )orta iento ediante %lujos de actividades' Muestra el %lujo entre los objetos' >e utili+an )ara odelar el %unciona iento del siste a , 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 siste a , su distribuci0n en el is o' >e utili+a )ara identi%icar >iste as de Coo)eraci0n: Durante el )roceso de desarrollo el e/ui)o averiguar de /u5 siste as de)ender el nuevo siste a , /ue otros siste as de)endern de 5l'

Cla)ificacin de Diagrama)
>e dis)one de dos ti)os di%erentes de diagra as los /ue dan una vista esttica del siste a , los /ue dan una visi0n din ica'

D)*+,*-*. /.010)23. 3 E.0,4204,*5/.

$# 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)*+,*-*. 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

$a )ractica de crear diagra as )ara visuali+ar siste as desde )ers)ectivas o vistas di%erentes no est li itado a la industria de la construcci0n' (n el conte2to del so%t-are* e2isten cinco vistas co )le entarias /ue son las s i )ortantes )ara visuali+ar* es)eci%icar* construir , docu entar la ar/uitectura del so%t-are' (n el #M$ las vistas e2istentes son: ;' Fista casos de uso: se %or a con los diagra as de casos de uso* colaboraci0n* estados actividades' !' Fista de dise7o: se %or a con los diagra as de clases* objetos* colaboraci0n* estados actividades' J' Fista de )rocesos: se %or a con los diagra as de la vista de dise7o' :ecalcando las clases objetos re%erentes a )rocesos' =' Fista de i )le entaci0n: se %or a con los diagra as de co )onentes* colaboraci0n* estados actividades' @' Fista de des)liegue: se %or a con los diagra as de des)liegue* interacci0n* estados actividades' , , , , ,

Co o )ode os ver el n8 ero de diagra as es u, alto* en la a,or.a de los casos e2cesivos* , #M$ )er ite de%inir solo los necesarios* ,a /ue no todos son necesarios en todos los )ro,ectos

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

#M$ esta )ensado )ara el odelado tanto de )e/ue7os siste as co o de siste as co )lejos* , debe os tener en cuenta /ue los siste as co )lejos )ueden estar co )uestos )or illones de l.neas de c0digo , ser reali+ados )or e/ui)os de centenares de )rogra adores' (n la )rctica todos los diagra as son bidi ensionales* )ero el #M$ )er ite crear diagra as en tres di ensiones co o en odelos donde se )uede &entrar& al odelo )ara )oderlo visuali+ar )or dentro' Con #M$ nos debe os olvidar del )rotagonis o e2cesivo /ue se le da al diagra a de clases* este re)resenta una )arte i )ortante del siste a* )ero solo re)resenta una vista esttica* es decir uestra al siste a )arado' >abe os su estructura )ero no sabe os /ue le sucede a sus di%erentes )artes cuando el siste a 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 diagra a de clases co o ,a 6e os co entado ser donde de%inire os las caracter.sticas de cada una de las clases , relaciones de de)endencia , generali+aci0n' (s decir* es donde dare os rienda suelta a nuestros conoci ientos de dise7o orientado a objetos* de%iniendo las clases e i )le entando las ,a t.)icas relaciones de 6erencia , agregaci0n' (ste diagra a sirve )ara visuali+ar las relaciones entre las clases /ue involucran el siste a* las cuales )ueden ser asociativas* de 6erencia* de uso , de contenido' >e utili+a cuando necesita os reali+ar un Anlisis de Do inio: (l analista se entrevista con el cliente con el objetivo de conocer las entidades )rinci)ales en el do inio del cliente' Durante la conversaci0n entre el cliente , el analista se deben to ar 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 is as' Ta bi5n se buscarn los 5todos )ara estas clases buscando los verbos 1ej: Calcular* i )ri ir* Agregar*''4

Elemento)
#n diagra a de clases esta co )uesto )or los siguientes ele entos: Clase: atributos* 5todos , visibilidad' :elaciones: Herencia* Asociaci0n* (nsa blado , #so'

Cla)e
(s la unidad bsica /ue enca)sula toda la in%or aci0n de un ?bjeto 1un objeto es una instancia de una clase4' A trav5s de ella )ode os 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 no bre 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 %or a co o 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 co o 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 no bre* ostrando su no bre , 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 co unicaci0n , visibilidad de ellos con el entorno* estos son:

0u+lic : Indica /ue el atributo ser visible tanto dentro co o %uera de la clase* es decir* es accesible desde todos lados'

clase 1s0lo sus

0ri/ate : Indica /ue el atributo s0lo ser accesible desde dentro de la 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 ade s 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: No bre* edad* )eso* son atributos de la clase )ersona' Color* )recio* odelo* son atributos de la clase auto 0vil' $os atributos corres)onden a sustantivos , sus valores )ueden ser sustantivos o adjetivos' (je )lo: No bre* 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 :a 0n Mart.ne+' Dentro de una clase* los no bre de los atributos deben ser 8nicos 1aun/ue )uede a)arecer el is o no bre de atributo en di%erentes clases4' (je )lo: $as clases )ersona , co )a7.a )ueden tener a bas un atributo direcci0n* en ca bio no )ueden e2istir dos atributos lla ados direcci0n dentro de la clase )ersona' $os atributos no tienen ninguna identidad* al contrario de los objetos' (je )lo: $os atributos no bre , edad de la clase )ersona tienen valores si )les' (l valor )ara no bre )uede ser &Juan& o &Mar.a&* ientras /ue el valor )ara edad )uede ser &;K& o &!@&' 1N0tese /ue )udieran e2istir dos objetos distintos con e2acta ente el is o no bre , edad* donde estos identi%icar.an dos )ersonas distintas'4 #n atributo co o se 6a de%inido en esta secci0n se conoce ta bi5n co o 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 o ento 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 e2clusiva ente )or ra+ones de i )le entaci0n' (stos identi%icadores internos del siste a no deben ser incluidos co o atributos' (je )lo: N8 ero del >eguro >ocial* o n8 ero de la licencia de conducir* son identi%icadores vlidos del undo real* en ca bio un identi%icador )ara distinguir entre objetos de ti)o )ersona no se debe incluir en el diagra a' (n la siguiente %igura se uestra la %or a incorrecta de incluir un identi%icador 1Lidenti%icador : IDM4 en la clase del objeto* seguido )or la %or a correcta 1o itido4'

#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 co o )re%ijo del atributo* co o 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 co o una atributo bsico de la caja* sino co o 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* co o 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. is o* el Area del :ectngulo est de%inida co o 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 )le entaci0n de un servicio de la clase* /ue uestra un co )orta iento co 8n a todos los objetos' (n resu en es una %unci0n /ue le indica a las instancias de la clase /ue 6agan algo' $as o)eraciones son %unciones o trans%or aciones /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 is a clases* aun/ue no necesaria ente )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 is o no bre )ara o)eraciones /ue tengan un signi%icado total ente di%erente' (je )lo: No se debe utili+ar el is o no bre invertir )ara la o)eraci0n de invertir una %igura , )ara la o)eraci0n de invertir una atri+* ,a /ue son o)eraciones total ente 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 no bres di%erentes* co o invertirB%igura e invertirB atri+' $as o)eraciones )ueden tener argu entos* o sea* una lista de )ar etros* cada uno con un ti)o* , )ueden ta bi5n 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 argu entos F de ti)o vector , Angulo* res)ectiva ente' A bas o)eraciones devuelven un resultado de ti)o 9ooleano el cual devuelve un valor de Cierto o Oalso 1True o Oalse4' I )ri ir es una o)eraci0n de Arc6ivo conteniendo un argu ento D de ti)o dis)ositivo /ue )uede ser el no bre de una i )resora* , el n8 ero N de co)ias a i )ri ir' (l resultado )uede ser un valor booleano'

$os 5todos u o)eraciones de una clase son la %or a en co o 5sta interact8a con su entorno* 5stos )ueden tener las caracter.sticas:

0u+lic : Indica /ue el 5todo ser visible tanto dentro co o %uera de la clase* es decir* es accsesible desde todos lados'

0ri/ate 1s0lo otros

: Indica /ue el 5todo s0lo ser accesible desde dentro de la clase 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 ade s 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 co o 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 e2tre o de la relaci0n , 5stas )ueden ser: uno2uno uno2muc3o)(45556) muc3o)2muc3o)(6 6) o0cional (7554 ) n8mero fi,o: 1 denota el n8 ero4'

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@#

$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 ;'

Dia;ra)a de clases descri*iendo +na )+lti5licidad @o5cional@#

$erencia (E)0eciali.acin9*enerali.acin)
$as clases con atributos , o)eraciones co unes se )ueden organi+ar de %or a jerr/uica* ediante la 6erencia' $a 6erencia es una abstracci0n i )ortante )ara co )artir si ilitudes entre clases* donde todos los atributos , o)eraciones co unes a varias clases se )ueden co )artir )or edio de la su)erclase* una clase s general' $as clases s re%inadas se conocen co o 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 )ri ir , Ali entar' $a Herencia es 8til )ara el odelo conce)tual al igual /ue )ara la i )le entaci0n' Co o odelo conce)tual da buena estructuraci0n a las clases' Co o odelo de i )le entaci0n es un buen

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

ve6.culo )ara no re)licar innecesaria ente 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 ta bi5n 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%or aci0n 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 a bas' $a 6erencia es transitiva a trav5s de un n8 ero 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 ade s de I )resora de 9urbuja* se de%ine una clase s es)eciali+ada co o 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 ade s 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 , Ca ioneta 6eredan de Fe6.culo* es decir* Auto )osee las Caracter.sticas de Fe6.culo 1Precio* FelMa2* etc4 ade s )osee algo )articular /ue es Desca)otable*

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

en ca bio Ca ioneta ta bi5n 6ereda las caracter.sticas de Fe6.culo 1Precio* FelMa2* etc4 )ero )osee co o )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 , Ca ioneta* )ues tiene de%inici0n )ublica* en ca bio atributos co o Desca)otable no son visibles )or ser )rivados' 1$os no bres 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* )ri ero 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 No bre* Oabricante* , Costo' Ti)os es)eciales de 9arco* co o Felero* tienen ade s de estas caracter.sticas bsicas* un N8 ero de Felas* ientras /ue otro ti)o es)ecial de 9arco* co o 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

Dia;ra)a de clases descri*iendo di-erentes ti5os de .ueble' )siento y .esa? con s+s res5ectivas s+*clases.

(je )lo: #na jerar/u.a conteniendo una su)erclase Mueble* , varias subclases Mesa , Asiento* )uede ser e2tendida con nuevas subclases* co o 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 necesaria ente todas las clases tienen /ue incluir atributos'

#)ociacin
$a relaci0n entre clases conocida co o Asociaci0n* )er ite 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'

Dia;ra)a de clases conteniendo la asociaci7n estudia=en entre #studiante y Uni"ersidad#

(je )lo:

#n cliente )uede tener asociadas solo )uede tener asociado un cliente'

uc6as ?rdenes de Co )ra* en ca bio una orden de co )ra

*rado de la #)ociacin

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

(l grado de una asociaci0n se deter ina )or el n8 ero de clases conectadas )or la is a 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 is a ve+ s de dos clases' A)arte de relaciones binarias* lo s co 8n son relaciones ternarias 1entre tres clases4* relaciones de s alto nivel son uc6o enos co unes' Mientras el grado de una relaci0n au enta* 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'

Dia;ra)a de clases descri*iendo +na asociaci7n ternaria entre #studiante' <ro$esor y Uni"ersidad.

#)ociacione) Refle:i/a)
$as asociaciones )ueden ser re%le2ivas* relacionando distintos objetos de una is a clase' (je )lo: Para una clase )ersona )uede e2istir una asociaci0n )ariente /ue describe /ue dos objetos de ti)o )ersona* co o 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 n8 ero 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 is a clase' (je )lo: Juan P5re+ es )arienteBde $aura P5re+* donde a bos son objetos de ti)o Persona* co o se uestra en la Oigura

Dia;ra)a de instancias descri*iendo +na asociaci7n re-le:iva o*jetos de la clase <ersona.

(je )lo: $a asociaci0n re%le2iva )arienteBde )ara la clase Persona se %igura

uestra en la siguiente

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 si ilar a la usada )ara los atributos de clases* e2ce)to /ue se a7ade a la asociaci0n* , no se incor)ora un no bre de clase* co o se uestra en la siguiente %igura:

(je )lo: Para una asociaci0n entre Persona , Co )a7.a* se )uede de%inir los atributos salario , )uesto co o atributos de la asociaci0n trabajaB)ara* co o se uestra en la Oigura de abajo:

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.

En)am+lado)( #gregacin ; Com0o)icin

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

$os ensa blados* en )articular la agregaci0n , co )osici0n* son %or as es)eciales de asociaci0n entre un todo , sus )artes* en donde el ensa blado est co )uesto )or sus co )onentes' (l ensa blado es el objeto central* , la estructura co )leta se describe co o una jerar/u.a de contenido' #gregacin(

1el objeto base utili+a al incluido )ara su %unciona iento4' (s un ti)o de relaci0n din ica* 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 ensa blado )uede co )onerse de varias )artes* donde cada relaci0n se considera una relaci0n se)arada' (n el caso de agregaci0n* las )artes del ensa blado )ueden a)arecer en 8lti)les ensa blados' (n el caso de co )osici0n* las )artes del ensa blado no )ueden ser co )artidas entre ensa blados' (je )lo: #na :ed de Co )utadoras se )uede considerar un ensa blado* donde las Co )utadoras son sus co )onentes' (ste ta bi5n es un eje )lo de agregaci0n* ,a /ue las Co )utadoras )udieran ser )artes de 8lti)les :edes de Co )utadoras a la ve+' Adicional ente* las Co )utadoras )ueden e2istir inde)endiente ente de la e2istencia de la :ed de Co )utadoras' (je )lo: #n Auto 0vil se )uede ta bi5n considerar un ensa blado* donde el Motor , la Carrocer.a son sus co )onentes' (ste ta bi5n es un eje )lo de co )osici0n* ,a /ue el Motor , la Carrocer.a son )artes del Auto 0vil* , a di%erencia de la agregaci0n* no )ueden ser co )artidos entre distintos Auto 0viles a la ve+' Adicional ente* no tiene uc6o sentido /ue el Motor , la Carrocer.a e2istan de anera inde)endiente al Auto 0vil* )or lo cual la co )osici0n re%leja de anera i )ortante* el conce)to de )ro)iedad' (l ensa blado 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 Auto 0vil* entonces sus )ro)iedades* co o su )osici0n , velocidad* estn dadas )or la )osici0n , velocidad del Auto 0vil' (l ensa blado es antisi 5trico: >i A es )arte de 9* entonces 9 no es )arte de A' (stas )ro)iedades se )ro)agan entre el ensa blado , sus co )onentes' (je )lo: >i el Motor es )arte del Auto 0vil* entonces el Auto 0vil no es )arte del Motor' >e considera un ensa blado , 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 ensa blado es co 8n en los objetos inter%a+' (n un siste a 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 %or a de rbol' $a decisi0n de usar ensa blados es un )oco arbitraria* , en la )rctica no causa grandes )roble as 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 ensa blado* en )articular )ara un agregado* es un dia ante ad6erido al lado del objeto corres)ondiente al ensa blado total* conectado )or una l.nea a sus co )onentes* co o se uestra en la siguiente %igura

(je )lo: (l Automvil con sus co )onentes* Motor , Carrocera* se diagra a:

uestran en el siguiente

(je )lo: #na co )utadora )ersonal 1PC4 est co )uesta )or uno o varios onitores* un siste a* un teclado , o)cional ente un rat0n' (l siste a tiene un c6asis* un )rocesador central 1CP#4* varias tarjetas de e oria 1:AM4* , o)cional ente un ventilador' (l diagra a 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 Al acen )osee Clientes , Cuentas 1los ro bos van en el objeto /ue )osee las re%erencias4' Cuando se destru,e el ?bjeto Al ac5n ta bi5n son destruidos los objetos Cuenta asociados* en ca bio no son a%ectados los objetos Cliente asociados' $a co )osici0n se destaca )or un ro bo relleno' $a agregaci0n se destaca )or un ro bo 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 eli ina'

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 co etido' >e re)resenta con una %lec6a discontinua va desde la clase utili+adora a la clase utili+ada' Con la de)endencia ostra os /ue un ca bio en la clase utili+ada )uede a%ectar al %unciona iento 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* co o )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 al acena 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 No bre* Direcci0n* , N8 ero del >eguro >ocial' #na )ersona )uede trabajar en alg8n )ro,ecto , ganar un salario' #na Co )a7.a tiene un No bre* Direcci0n* N8 ero de Tel5%ono* , Producto Pri ario' #na Co )a7.a contrata , des)ide Personas' Persona , Co )a7.a tienen una relaci0n & uc6osB uc6os&' (l t.tulo del trabajo de)ende de la )ersona , de la co )a7.a' Ha, dos ti)os de Personas: Trabajadores , Ad inistradores' Cada Trabajador est involucrado en varios Pro,ectosH cada Ad inistrador es res)onsable de varios )ro,ectos' (n un )ro,ecto )ueden trabajar varios trabajadores , un solo ad inistrador' Cada )ro,ecto tiene un No bre* Presu)uesto* , una Prioridad Interna )ara asegurar recursos' Ade s una Co )a7.a est co )uesta de 8lti)les De)arta entosH cada de)arta ento dentro de una co )a7.a se identi%ica de %or a 8nica )or su No bre' #n de)arta ento usual ente tiene un ad inistrador' $a a,or.a de los ad inistradores anejan un de)arta entoH , algunos ad inistradores no estn asignados a ning8n de)arta ento' Cada de)arta ento anu%actura varios )roductosH ientras /ue cada )roducto est 6ec6o )or un solo de)arta ento' #n )roducto tiene No bre* Costo* , Peso'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

(l diagra a 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 diagra as /ue dan una vista esttica del siste a' Contiene un conjunto de instancias de los ele entos encontrados en un Diagra a 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 )ri ero se debe decidir /ue situaci0n /uere os re)resentar del siste a* en un o ento concreto del is o* )er itiendo as. ostrar los objetos , sus relaciones (n los diagra as de objetos ta bi5n se )ueden incor)orar clases* )ara ostrar la clase de la /ue es un objeto re)resentado' Con los Diagra a de ?bjetos no se )uede es)eci%icar co )leta ente la estructura de objetos del siste a' 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 o ento de construir el Diagra a de ?bjetos 6a, /ue tener bien en claro dos conce)to u, i )ortantes' (n )ri er lugar saber a /ue nos re%eri os cuando 6abla os 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 te0rica ente 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 ta bi5n 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 a bos 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 )orta iento se le )uede considerar co o 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 no bre ra+onable , conciso' E,em0lo( >e consideran an+anas todas las %rutas con un sabor* te2tura* , %or a si ilar'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

$a e2istencia de un objeto de)ende del conte2to del )roble a' $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 co o el valor de la te )eratura , el ti)o de la escala en /ue se ide 1Celsius o Oa6ren6eit4' Por otro lado* si 6abla os de un ter 0 etro* la te )eratura )asa a ser una )ro)iedad del ter 0 etro' $os objetos se de%inen seg8n el conte2to de la a)licaci0n' E,em0lo: #na )ersona lla ada 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 co o 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 %or a 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 %or a de una an+ana no se consideran )ro)ia ente objetos* sino )ro)iedades del objeto an+ana' (l no bre de una )ersona se considera una )ro)iedad de la )ersona' #n gru)o de cosas )uede ser un objeto si e2iste co o una entidad inde)endiente' E,em0lo: #n auto 0vil se considera un objeto el cual consiste de varias )artes* co o el carrocer.a' $os objetos deben tener no bres en singular* , no en )lural' E,em0lo: #n auto 0vil es un objeto* auto 0viles son si )le ente objeto'

otor , la

uc6os objetos , no un solo

Parte de una cosa )uede considerarse un objeto' E,em0lo: $a rueda* la cual es )arte del auto 0vil* se )uede considerar un objeto' Por otro lado* el lado i+/uierdo del auto 0vil ser.a un al objeto' $os objetos deben tener no bren ra+onables , concisos )ara evitar la construcci0n de objetos /ue no tengan una identidad co6erente' E,em0lo: Datos o in%or aci0n no son no bres concisos de objetos' Por otro lado* un estudiante es un objeto* ,a /ue contiene )ro)iedades co o el n8 ero de atr.cula , no bre del estudiante* ade s inclu,e un co )orta iento tal co o ir a clases* )resentar e2 enes* , graduarse' Todos los estudiantes cu,os a)ellidos co iencen con &A& ser.a un al objeto ,a /ue el no bre del objeto no es conciso' (l objeto integra una estructura de datos 1atributos4 , un co )orta iento 1o)eraciones4' G segundo lugar* el ter ino identidadH aclarado a continuaci0n' $os objetos se distinguen )or su )ro)ia e2istencia* su identidad* aun/ue interna ente los valores )ara todos sus datos sean iguales' Todos los objetos se consideran di%erentes' E,em0lo: >i tene os una biblioteca llena de libros* cada uno de esos libros* co o $a Il.ada* Ha let* $a Casa de los (s).ritus* etc'* se consideran e identi%ican co o objetos di%erentes' Dos an+anas aun/ue sean e2acta ente del is o color , %or a* son di%erentes objetos'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

$os objetos tienen un no bre /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 si ilares* co o el c0digo del libro en la biblioteca' $os objetos necesitan un identi%icador interno 8nico cuando son i )le entados en un siste a de co )utaci0n )ara accesar , distinguir entre los objetos' (stos identi%icadores no deben incluirse co o una )ro)iedad del objeto* ,a /ue solo son i )ortantes en el o ento de la i )le entaci0n' E,em0lo: $os di%erentes )ersonas se distinguir.an interna ente dentro de una co )utadora )or los identi%icadores Persona;* Persona!* PersonaJ* etc' Por otro lado* el n8 ero del seguro social de la )ersona es un identi%icador e2terno vlido* ,a /ue e2iste %uera de la i )le entaci0n en una co )utadora' $a notaci0n general )ara una objeto es una caja rectangular conteniendo el no bre del objeto subra,ado* el cual sirve )ara identi%icar al objeto* co o se uestra:

No)*re del o*jeto


Notaci7n 5ara +n o*jeto o*jeto#

E,em0lo: $os objetos Juan P5re+ , #N$a: se re)resentan co o se

uestra' #N$a:

Juan P5re+

Notaci7n 5ara los o*jetos @uan <0re8 y UA(a*#

Co o se enciono al )rinci)io de esta secci0n el Diagra a 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 Diagra a de ?bjetos Ha, /ue identi%icar el ecanis o /ue se desea odelar' #n ecanis o re)resenta alguna %unci0n o co )orta iento de la )arte del siste a /ue se est odelando* /ue resulta de la interacci0n de una sociedad de clases* inter%aces , otros ele entos' Para cada ecanis o 6a, /ue identi%icar las clases* inter%aces , otros ele entos /ue )artici)an en esta colaboraci0nH identi%icar ta bi5n las relaciones entre estos ele entos' Ha, /ue considerar un escenario en el /ue intervenga este ecanis o' Ta bi5n 6a, /ue congelar este escenario en un o ento concreto* , re)resentar cada objeto /ue )artici)o en el ecanis o' Ha, /ue ostrar el estado , valores de los atributos de cada uno de esos objetos si son necesarios )ara co )render el escenario' Anloga ente 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 )le entaci0n de un robot aut0no o' (sta %igura se centra en algunos de los objetos i )licados en el ecanis o utili+ado )or el robot )ara calcular un odelo del undo en el /ue se ueve' Ha, uc6os s objetos i )licados en un siste a en ejecuci0n* )ero este diagra a se centra s0lo en a/uellas abstracciones i )licadas directa ente en la creaci0n de esta vista del undo'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002 r::obot R ovi ientoS

:Mundo

TTglobalUU sinAsignar

:(le ento

a;:Area

a!:Area

);:ParedAnc6 ura N JC

);:ParedAnc6 ura N <C

dA:PuertaAnc 6ura N JC

);:ParedAnc6 ura N <C

Co o indica la %igura* un objeto re)resenta al )ro)io robot 1r* una instancia de :obot4* , r se encuentra actual ente en el estado ovi iento' (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 (le ento* /ue re)resenta entidades /ue el robot 6a identi%icado* )ero a8n no 6a asignado en su vista del undo' (stos ele entos se arcan co o )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' Co o sugiere este diagra a de objetos* el robot 6a reconocido el rea /ue lo contiene* /ue tiene )aredes en tres lados , una )uerta en el cuarto'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

Diagrama de Com0onente)
#n diagra a 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 ele entos de odelado dentro de un diagra a 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 diagra a de des)liegue' Cada co )onente en el diagra a debe ser docu entado con un diagra a de co )onentes s detallado* un diagra a de clases* o un diagra a de casos de uso' #n )a/uete en un diagra a de co )onentes re)resenta una divisi0n %.sica del siste a' $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 diagra a de co )onentes se re)resenta co o un gra%o de co )onentes software unidos )or edio de relaciones de de)endencia 1general ente de co )ilaci0n4' Nor al ente los diagra as de co )onentes se utili+an )ara ejecutables* bases de datos %.sicas* entre otros' odelar c0digo %uente* versiones

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 co o arc6ivos %ile* agru)arlos en )a/uetes* utili+ar valores eti/uetados )ara la in%or aci0n 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* docu entos* 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$ )er ite el odelado de bases de datos %.sicas as. co o de los es/ue as l0gicos de bases de datos' As. si tene os 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 necesaria ente c0digo %uente4 /ue deben estar dis)onibles durante la co )ilaci0n del co )onente' C0digo objeto binario: co o )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 )rogra as ejecutables con los /ue interaccionan en tie )o de ejecuci0n' El Diagrama de Componentes se usa para modelar la estructura del software incluyendo las dependencias entre los componentes de software los componentes de cdigo binario y los componentes e!ecutables" En el Diagrama de Componentes se modela componentes del sistema a veces agrupados por pa#uetes y las dependencias #ue e$isten entre componentes %y pa#uetes de componentes&"'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

Diagrama) de Im0lementacin
$os Diagra as de I )le entaci0n se usan )ara odelar la con%iguraci0n de los ele entos de )rocesado en tie )o de ejecuci0n 1runBti e )rocessing ele ents4 , de los co )onentes* )rocesos , objetos de so%t-are /ue viven en ellos' $os Diagra as de I )le entaci0n se usan )ara odelar s0lo co )onentes /ue e2isten co o 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 ta bi5n 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 Vbeco esV 1se trans%or a4

Oigura: Modelando la Distribuci0n del >iste a con el Diagra a de I )le entaci0n

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 )orta iento del siste a* una )arte de 5l o de una sola claseH , co o se relaciona con su entorno' De 5sta %or a se )uede conocer co o res)onde 5sa )arte del siste a ante un est. ulo del a biente' (l diagra a de uso es u, 8til )ara de%inir co o deber.a ser el co )orta iento de una )arte del siste a* ,a /ue solo es)eci%ica co o deben co )ortarse , no co o estn i )le entadas las )artes /ue de%ine' #n caso de uso es)eci%ica un re/ueri iento %uncional'

Elemento)
#n diagra a de casos de uso consta de los siguientes ele entos:

#ctor
#n actor es un rol /ue tiene un usuario con res)ecto al siste a' (s decir* ser.a un usuario del siste a' (s i )ortante destacar el uso de la )alabra LrolM* ,a /ue esto es)eci%ica /ue un actor no necesaria ente re)resenta a una )ersona en )articular* si no la labor /ue reali+a %rente al siste a' Por eje )lo* en un siste a de ventas* el rol de Fendedor con res)ecto al siste a )uede ser reali+ado )or un Fendedor o bien )or el Je%e de $ocal'

Debe tener un no bre 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 %or a 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 e2clusiva ente )ara casos de uso' e:tend): se reco ienda utili+ar cuando un caso de uso es si ilar a otro 1en caracter.sticas4' u)e): se reco ienda utili+ar cuando se tiene un conjunto de caracter.sticas /ue son si ilares 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 diagra a 1ta bi5n lla ado diagra a 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 lla adas en el siste a' >e utili+a un diagra a )ara cada lla ada a re)resentar' (s i )osible re)resentar en un solo diagra a la secuencia de todas las lla adas )osibles del siste a* es )or ello /ue se escoge un )unto de )artida' (l diagra a se co )one con los objetos /ue %or an )arte de la secuencia* estos se sit8an en la )arte su)erior de la )antalla* nor al ente a la i+/uierda se sit8a el /ue inicia la acci0n' De estos objetos sale una l.nea /ue indica su vida en el siste a' (sta l.nea si )le se convierte en una l.nea gruesa cuando re)resenta /ue el objeto tiene el %oco del siste a* 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 diagra as ta bi5n intervienen los ensajes* /ue son la %or a en /ue se co unican los objetos: el objeto origen solicita 1lla a a4 una o)eraci0n del objeto destino' (l diagra a de secuencia )uede ser obtenido de dos )artes* desde el Diagra a (sttico de Clases o desde el de Casos de #sos'

Elemento)
$os co )onentes de un diagra a de interacci0n son:

L<nea de /ida

#n objeto 1o actor4 se re)resenta co o 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 no bre 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. is o o )or edio de delegaci0n a alguno de sus atributos' >e denota co o 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 e ite el ensaje 6acia el objeto /ue lo ejecuta' :e)resenta la lla ada de un 5todo 1o)eraci0n4 de un objeto en )articular'

Ta bi5n es )osible visuali+ar lla adas a

5todos desde el

is o objeto en estudio'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

(l )resente diagra a es 8til )ara observar la vida de los objetos en el siste a* identi%icar lla adas a reali+ar o )osibles errores del odelo esttico* /ue i )osibiliten el %lujo de in%or aci0n o de lla adas entre los co )onentes del siste a'

Diagrama de Cola+oracin
(ste diagra a 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 diagra a de secuencias* un diagra a de colaboraciones uestra las relaciones entre los objetos* no la secuencia en el tie )o en /ue se )roducen los ensajes' $os diagra as de secuencias , los diagra as de colaboraciones e2)resan in%or aci0n si ilar* )ero en una %or a di%erente'

Elemento)
$os ele entos /ue intervienen en 5stos diagra as son: objetos* enlaces , %lujos de ensajes'

O+,eto
#n objeto se re)resenta con un rectngulo* /ue contiene el no bre , la clase del objeto' #n objeto es una instancia de una clase /ue )artici)a co o 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 diagra a de clases' >e re)resenta co o una l.nea continua /ue une a dos objetos en este diagra a' (sta aco )a7ada )or un n8 ero /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 ele ento consigo is o' $a e2istencia de un enlace entre dos objetos indica /ue )uede e2istir un interca bio 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* ta bi5n seg8n co o se )roducen en el tie )oH e2isten ensajes si )les* sincr0nicos* balDing* ti eout , as.ncronos' Durante la ejecuci0n de un diagra a 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 si ilares a los diagra as de %lujos de otras etodolog.as ??' (n realidad se corres)onden con un caso es)ecial de los diagra as 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 is o* un )aso en la ejecuci0n de lo /ue ser un )rocedi iento4 , 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 )le entaci0n de un caso de uso o de un 5todo 1/ue tiene el is o signi%icado /ue en cual/uier otra etodolog.a ??4' $os diagra as de actividad se utili+an )ara ostrar el %lujo de o)eraciones /ue se desencadenan en un )rocedi iento interno del siste a'

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 )ode os deno inar 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 1nor ales , re%le2ivas4 , co )lejas' Ade s una transici0n )uede ser interna si el estado del /ue )arte el objeto o interacci0n es el is o /ue al /ue llega* no se )rovoca un ca bio 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 c0 o odelar visual ente a)licaciones )ara ca)turar la estructura , el co )orta iento de la ar/uitectura , de los co )onentes' (ational (ose es la ejor 6erra ienta )ara llevar a cabo el odelado visual' Per ite 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 )er iten co unicar los di%erentes as)ectos del so%t-areH ostrar c0 o los ele entos del siste a encajan entre s.H asegurar /ue los blo/ues sean consistentes con el c0digoH antener la consistencia entre el dise7o , la i )le entaci0nH , )ro over una co unicaci0n clara entre todos los )artici)antes del )ro,ecto'

Rational Ro)e es la 6erra ienta CA>( /ue co erciali+an los desarrolladores de #M$ , /ue so)orta de %or a co )leta la es)eci%icaci0n del #M$' (sta 6erra ienta )ro)one la utili+aci0n de cuatro ti)os de odelo )ara reali+ar un dise7o del siste a* utili+ando una vista esttica , otra din ica de los odelos del siste a* uno l0gico , otro %.sico' Per ite crear , re%inar estas vistas creando de esta %or a un odelo co )leto /ue re)resenta el do inio del )roble a , el siste a de so%t-are'

S;)tem #rc3itect >774 Po)Din so%t-are o%rece so)orte )ara odelar siste as con #M$ en >,ste Arc6itect !"";' ?%rece todas las caracter.sticas descri)tas arriba )ara )er itir el odelado e%iciente de siste as'

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 )roble a ediante tres Diagramas* Diagrama de )b!etos Diagrama de Actividades , Diagrama de Estados* se)arados )ero relacionados' (n conjunto describen /u5 6ace el siste a con las .ni as restricciones de c0 o debe ser i )le entado' Cuando un siste a 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 %or a* cada )roceso del Diagrama de Actividad e/uivaldr a una o)eraci0n asignada a una clase en el Diagrama de )b!etosH asi is o* los eventos del Diagrama de Estado )ueden convertirse en una o)eraci0n sobre un objeto* de)endiendo de la i )le entaci0n del control' ?bteniendo co o resultado %inal un Diagrama de )b!etos con las operaciones de cada clase' Durante el dise7o debe os resolver a/uellos te as /ue 6an /uedado abiertos , e2)andir los detalle de las o)eraciones /ue no se 6an es)eci%icado co )leta ente' Debe os trans%or ar , o)ti i+ar ta bi5n el odelo de anlisis de tal %or a /ue sea lo su%iciente ente e%iciente )ara la i )le entaci0n' G )or 8lti o* durante la i )le entaci0n* debe os )asar el dise7o a un lenguaje de )rogra aci0n es)ec.%ico , satis%acer todas las reglas , convenciones del lenguaje escogido' !eamo) un e,em0lo Presenta os a continuaci0n un Diagrama de )b!etos con las operaciones de cada clase * resultado de la eta)a de dise7o' $o su%iciente ente detallado )ara luego* 6aciendo uso* en este caso* del $enguaje de Progra aci0n Clarion *"* + Enterprise Edition + de ,oft-elocity .nc* lograr construir una 9ase de Datos %.sica' (n siguiente es/ue a se uestran @ clases e2tra.das de un siste a de in%or aci0n de una universidad'

Universidad Nacional de La Rioja Base de Datos y UML Ao 2002

#na ve+ obtenido el diagra a )resentado anterior ente , conociendo el /engua!e de 0rogramacin a utili+ar' Pode os )roceder con la i )le entaci0n' $a siguiente i agen uestra el dise7o de las tablas necesarias )ara lograr obtener una 9ase de Datos %.sica en el lenguaje ,a encionado'

Co o )odr observarse al co )arar los dos es/ue as anteriores* en el segundo* al estar ,a en la i )le entaci0n del siste a* a)arecen identi%icadores /ue 6acen 8nico a un objeto en un registro %.sico* , atributos /ue e )er iten relacionar las tablas' :ecorde os 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 interna ente los valores )ara todos sus datos sean iguales' Todos los objetos se consideran di%erentes' E,em0lo( >i tene os una biblioteca llena de libros* cada uno de esos libros* co o $a Il.ada* Ha let* $a Casa de los (s).ritus* etc'* se consideran e identi%ican co o objetos di%erentes' Dos an+anas aun/ue sean e2acta ente del is o color , %or a* 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.voca ente* sern vistos )or la 9ase de Datos co o un is o objeto 1libro4* a )esar de /ue el resto de sus atributos* conce)tual ente* los uestre co o 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 16u anos4 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 ya #ue si nos tocara traba!ar en un proyecto 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 %ya sea de an1lisis o de implementacin&" Es por ello #ue este nuevo paradigma de dise4o nos posibilita unificar todos nuestros criterios organi3acin de los proyectos" Como desventa!a podemos destacar %aun#ue para algunos o muchos no lo sera& #ue UM/ permite especificar visuali3ar y 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 muy !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 y solucionan muchos de los problemas #ue surgen en las metodologas estructuradas" para un posterior entendimiento y me!or

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