Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso: 4
Trabajo Prctico:
Integrantes:
Agero Jorge Cornejo Anabella Heredia Ana Gabriela Pascal Alejandro
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
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 #############################################################################################################################################################,/
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.
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'
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'
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'
$# 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
#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'
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'
(je )lo: #na Cuenta Corriente /ue )osee co o caracter.stica: 9alance Puede reali+ar las o)eraciones de: De)ositar Girar , 9alance
#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'
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'
(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
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:
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:
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'
(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'
: 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'
>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'
$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 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
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*
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'
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'
(je )lo:
*rado de la #)ociacin
(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
uestra en la siguiente
(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.
$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'
$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
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
(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'
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'
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'
(l diagra a es el siguiente:
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'
$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
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'
$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:
uestra' #N$a:
Juan P5re+
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
dA:PuertaAnc 6ura N JC
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'
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&"'
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
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'
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
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:
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#
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'
5todos desde el
is o objeto en estudio'
(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'
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'
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'
#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'
: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'
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
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