Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1/3
Objetivos
Brindar los conceptos de UML, y poder realizar anlisis y diseo de sistemas de informacin. Entre los objetivos especficos se mencionan
!oder
diferenciar los diferentes dia"ramas y s#s propsitos. $ominar los conceptos de los $ia"ramas de %asos de Uso, $ia"ramas de %lases, $ia"ramas de &ec#encia, $ia"ramas de %olaboracin, $ia"ramas de Estado, $ia"ramas de 'ctividad, $ia"ramas de !a(#etes y $ia"ramas de $istrib#cin.
Conceptos Generales
UML es el Len"#aje Modelado Unificado. Este debe ser visto como #n len"#aje, ya (#e c#enta con re"las. En esta, se )ace #na introd#ccin a los conceptos necesarios para vis#alizar #n sistema de soft*are, #n procesos, #na notacin y #na )erramienta. 'dems de presentar la )istoria del UML. &e indicarn s#s beneficios e inconvenientes de la )erramienta en la aplicacin para el anlisis y diseo de sistemas. &e presentar la similit#d de al"#nos dia"ramas del UML, con dia"ramas de modelado estr#ct#rado. En esta se presentan conceptos a cada #no de los dia"ramas del UML, planteando ejemplos, para s# mejor comprensin. En la act#alidad e+iste #na variedad de soft*are con los (#e se p#ede desarrollar dia"ramas en UML, tales como ,isio, ,is#al Modeler, -ational -ose, &ELE%. Enterprise, ,is#al UML, /$!ro, 0racle, !o*ersoft entre otros. En #n principio el UML estaba destinado para ser #tilizado en len"#ajes no vis#ales, tales como 1ava, %22 y !rocesos Unificados, pero en s#s versiones ms recientes, esta incorporado otros como ,is#al %, ,is#al Basic, !o*erB#ilder y 0racle. .anto la edicin Enterprise como la edicin !rofessional de Microsoft3 ,isio3 4555 incl#yen sol#ciones para la #tilizacin de cdi"o de t6cnicas de in"eniera inversa en dia"ramas de estr#ct#ra esttica de UML. 'mbas sol#ciones admiten tres len"#ajes Microsoft3 ,is#al %223 7.5, Microsoft3 ,is#al Basic3 7.5 y Microsoft3 ,is#al 1223 7.5. La versin del estndar de UML empleada por la sol#cin de dia"ramas de ,isio es la 8.4. %#ando se desee or"anizar #n proceso de diseo con el fin de (#e tantos los analistas, clientes, desarrolladores y #s#arios clientes comprendan los procesos de anlisis, diseo del sistema, se deber contar con UML como sol#cin. !or tradicin, se afirmar (#e #n b#en diseo debe ser el res#ltado de #n c#idadoso anlisis de los re(#erimientos de los clientes.
Notacin %onocimiento estndar para identificar los diferentes elementos de #n dia"rama. Esta p#ede tener variantes 9smbolos: de #na )erramienta en otra, pero se mantienen el concepto y s# accin. !rocesos Es la identificacin de los procesos (#e se invol#cran en #n sistema, es decir conocer la problemtica del sistema. "erra#ientas El conocimiento de la )erramienta de desarrollo del anlisis y diseo.
Una de estas facetas (#e no este presente en la aplicacin del UML, )ara fallar #n dia"rama.
$ases
Notacin
Herramientas
Procesos
"istoria de UML
El UML es #na creacin de los seores /rady Booc), 1ames -#mba#") e ;var 1acobson. Estos tres personajes son llamados <Los tres ami"os=, estos trabajaban en distintas empresas d#rante la d6cada de los oc)enta y principios de los noventa, en s#s inicios, cada #no de ellos creo s# propia metodolo"a para el anlisis y diseo orientado a objetos. &#s metodolo"as predominaron sobre las de s#s competidores. ' mediados de los noventa, iniciaron a intercambiar ideas entre s y decidieron prod#cir #n prod#cto com>n #nificando la notacin. En 8??@ -#mba#") in"res a -ational -ose &oft*are %orporation, donde ya trabajaba Booc). L#e"o 1acobson in"res a -ational #n ao desp#6s. En ese momento se inici el proyecto de desarrollar #n <M6todo Unificado=, con la participacin de /rady Booc) y 1im -#mba#"), el res#ltado f#e presentado en el ao de 8??A. Una vez #nido al d>o, ;var 1acobson, estos se conformaron en socios de la compaa -ational -ose. Berramienta %'&E -ational -ose. Los anteproyectos del UML empezaron a circ#lar en la ind#stria del soft*are y las reacciones res#ltantes trajeron consi"o considerables modificaciones. %onforme diversos corporativos vieron (#e el UML era >til a s#s propsitos, se conform #n consorcio del UML. Entre los miembros se enc#entran $E%, Be*lettC!aDard, ;ntellicorp, Microsoft, 0racle, .e+as ;nstr#ment y -ational. En 8??E el consorcio prod#jo la versin 8.5 del UML y lo p#so a consideracin del 0M/ 9 /r#po de 'dministracin de 0bjetos: como resp#esta a s# prop#esta para #n len"#aje de modelos estndar. 'ct#almente la especificacin oficial del 0M/ es la 8.A liberada a principios del 455F. La especificacin 4.5 se enc#entra bajo desarrollo.
0ational #o%t&are !i ital ./uipment +e&lett)(ackard I)lo ix (!a*id +arel) I'M ICON Computin Intellicorp and James Martin & Co. MCI systemhouse
Microso%t O,-ectTime Oracle Corp. (latinium Technolo y #terlin #o%t&are Taskon Texas Instrument
(!esmond !"#ou$a)
(James Odell)
Unisys
El consorcio a#ment y "ener la versin 8.8, misma (#e se p#so n#evamente a consideracin del 0M/. El "r#po adopt esta versin a finales de 8??E. El 0M/ se encar" de la conservacin del UML y prod#jo otras dos revisiones en 8??G. El UML )a lle"ado a ser el estndar de facto en la ind#stria del soft*are, y s# evol#cin contin>a. En la si"#iente fi"#ra se p#ede observar las diferentes versiones del UML entre los aos 8??A al 4558.
'vol(cin de UML
2001 ? 2000 1999 1998 Nov 97
UML aprobado por el OMG
UML 1.2
1acobson
&)laerCMellor
0bject lif e cy cles
UML
Barel
&tate c)art %)arts
Embly
&in"leton classes
HirfsCBrocD I#sion
-esponsabilities
+nconvenientes en UML
$efinicin del proceso de desarrollo #sando UML. UML no es #na metodolo"a. Ialta inte"racin con respecto a otras t6cnicas tales como patrones de diseo, interfaces de #s#ario, doc#mentacin, otros. Ejemplos aislados. Monopolio en conceptos, t6cnicas y m6todos en torno a UML.
!erspectivas de UML
UML ser el len"#aje de modelado orientado a objetos estndar predominante los pr+imos aos. -azones
!articin de metodol"icos infl#yentes. !articipacin de importantes empresas. 'ceptacin de 0M/ como notacin estndar. Berramientas (#e proveen la notacin UML. Edicin de libros. %on"resos, c#rsos, otros.
Evidencias
En #n ciclo de vida iterativo e incremental, el desarrollo de #n proceso es #na serie de iteraciones (#e se env#elven dentro de #n sistema. %ada iteracin consiste de #no o m#c)os de los componentes de los procesos si"#ientes %apt#ra de -e(#erimientos, 'nlisis, $iseo, ;mplementacin y !r#eba.
,ies-o
'val(acin de iteracin
+teracin N
,evis in
'str(ct(ra de pro.ecto
Actividades
+nception ,e*(isitos Una iteracin en la )ase de elaboracin 0n1lisis 'laboration
Fases
Constr(ction Transition
Dise/o
+#ple#entacin
!r(ebas
! re li# ina r. +te ra tion 2s3 ite r. 41 ite r. 45 ite r. 4n ite r. 4n61 ite r. 4 n65 ite r. 4# ite r. 4 # 61
Diagramas de Diagramas de
(ec$e!cia Casos de Uso
Diagramas de
%b&e#os
Diagramas de
Colaboraci !
Diagramas de Modelo
Com "o!e!#es
Diagramas de
's#ados
Diagramas de
Dis#rib$ci !
Diagramas de
)c#ividad
Dia-ra#a de Casos de Uso 7 Dia-ra#a de Clase 2incl(.endo Dia-ra#a de Objetos3 7 Dia-ra#as de Co#porta#iento
$ia"rama de Estado $ia"rama de 'ctividad
Dia-ra#a de +nteraccin
$ia"rama de &ec#encia J $ia"rama de %olaboracin
Dia-ra#as de +#ple#entacin
$ia"rama de %omponentes $ia"rama de $esplie"#e 9$istrib#cin:
Dia-ra#a de Casos de Uso modela la f#ncionalidad del sistema a"r#pndola en descripciones de acciones ejec#tadas por #n sistema para obtener #n res#ltado. Dia-ra#a de Clases m#estra las clases 9descripciones de objetos (#e comparten caractersticas com#nes: (#e componen el sistema y cmo se relacionan entre s. Dia-ra#a de Objetos m#estra #na serie de objetos 9instancias de las clases: y s#s relaciones. Dia-ra#a de 8ec(encia enfatiza la interaccin entre los objetos y los mensajes (#e intercambian entre s j#nto con el orden temporal de los mismos. Dia-ra#a de Colaboracin i"#almente, m#estra la interaccin entre los objetos resaltando la or"anizacin estr#ct#ral de los objetos en l#"ar del orden de los mensajes intercambiados. Dia-ra#a de 'stados modela el comportamiento de ac#erdo con eventos. Dia-ra#a de 0ctividades simplifica el $ia"rama de Estados modelando el comportamiento mediante fl#jos de actividades. Dia-ra#a de Co#ponentes m#estra la or"anizacin y las dependencias entre #n conj#nto de componentes. Dia-ra#a de Desplie-(e o de Distrib(cin m#estra los dispositivos (#e se enc#entran en #n sistema y s# distrib#cin en el mismo
Dia-ra#as de Clases
Una clase es #na cate"ora o "r#po de cosas (#e tiene atrib#tos 9propiedades: y acciones similares 9f#nciones:. !ara representar a #na clase, es por medio de #n rectn"#lo, este divido de la si"#iente manera En la parte s#perior es para identificar el nombre de la clase. El rea del centro es para definir los atrib#tos o propiedades de la clase. El rea inferior es para definir las acciones (#e tendr la clase.
Kombre de la %lase
'trib#tos
'cciones
Los diferentes accesos 9visibilidad: a los atrib#tos son 263!(blic 2de)a(lt3 Los miembros de la clase tienen acceso a todos los clientes. 243!rotected Los miembros de la clase tienen acceso >nicamente a las s#bclases, ami"os y la misma clase. 293!rivate Los miembros de la clase tienen acceso a la misma clase y ami"os. ;mplemented La clase es accesible >nicamente accesible por el pa(#ete (#e contiene la clase. Los smbolos mostrados a contin#acin son los #tilizados por UML -ational -ose
Dia-ra#a de Objetos
Los objetos son instancias de las clases 9entidad (#e tiene valores especficos de los atrib#tos y acciones:. El nombre de la instancia especfica se enc#entra a la iz(#ierda de los dos p#ntos 9 :, y el nombre de la clase a la derec)a.
Mensaje % 0bjeto F
Mensaje E 0bjeto @
Mensaje $
Un caso de Uso es #na descripcin de las acciones de #n sistema desde el p#nto de vista del #s#ario. !ara los desarrolladores del sistema, 6sta es #na )erramienta valiosa, ya (#e es #na t6cnica de aciertos y errores para obtener los re(#erimientos del sistema desde el p#nto de vista del #s#ario. .ambi6n se dice %asos de Uso es #na t6cnica para capt#rar informacin de cmo #n sistema o ne"ocio trabaja act#almente, o de cmo se desea (#e trabaje. Ko pertenece estrictamente al enfo(#e orientado a objeto, es #na t6cnica para capt#ra de re(#isitos.
%aso de Us o
0cciones de (n siste#a
& ec retaria
.ipos de , enta
&ec#encia de actividades
&e describe con n#merales o tem cada accin a ejec#tar, contenida en el caso de #so. Esto )asta a"otar todas las actividades.
&e describen todas las condiciones (#e (#edaran desp#6s de ejec#tar el caso de #so. !ara (#e e+cepciones el caso de #so no tenia aplicacin. !#ntos pendientes desp#6s de ejec#tar el caso de #so
Dia-ra#as de 'stado
Los $ia"ramas de Estados representan a#tmatas de estados finitos, desde el p#nto de vista de los estados y las transiciones, &on >tiles slo para los objetos con #n comportamiento si"nificativo, El resto de objetos se p#ede considerar (#e tienen #n >nico estado, %ada objeto est en #n estado en cierto instante, El estado est caracterizado parcialmente por los valores de los atrib#tos del objeto, El estado en el (#e se enc#entra #n objeto determina s# comportamiento, %ada objeto si"#e el comportamiento descrito en el $ia"rama de Estados asociado a s# clase, Los $ia"ramas de Estados y escenarios son complementarios, Los $ia"ramas de Estados son a#tmatas jerr(#icos (#e permiten e+presar conc#rrencia, sincronizacin y jerar(#as de objetos, Los $ia"ramas de Estados son "rafos diri"idos, Los $ia"ramas de Estados de UML son deterministas, Los estados inicial y final estn diferenciados del resto, La transicin entre estados es instantnea y se debe a la oc#rrencia de #n evento.
'd ic io n a r e s t# d ia n te 'd ic io n ar Es t# d ia n te
' bierto
%errar
%anc elado
Dia-ra#a de 8ec(encia
Los $ia"ramas de &ec#encia son ms adec#ados para observar la perspectiva cronol"ica de las interacciones, M#estra la sec#encia de mensajes entre objetos d#rante #n escenario concreto, %ada objeto viene dado por #na barra vertical, El tiempo transc#rre de arriba abajo, %#ando e+iste demora entre el envo y la atencin se p#ede indicar, #sando #na lnea oblic#a.
m8
tono
m4
mar c ar
mF
indic ac in de llam ada tim bre
m@
des c #el"a
mA
di"aM
Dia-ra#a de 0ctividad
Este tipo de dia"rama oc#rre dentro de los casos de #so o dentro del comportamiento de #n objetoN y estos se dan en lo "eneral en las sec#encias. Este es #na variante de los dia"ramas de estado, or"anizado respecto a las acciones y principalmente destinado a representar el comportamiento interno de #n m6todo 9la realizacin de #na operacin:, de #n caso de #so o de #n proceso de ne"ocio 9*orDflo*:. %#ando #na actividad termina, se desencadena el paso a la si"#iente actividad. Las actividades no poseen transiciones internas ni transiciones desencadenadas por eventos. Este dia"rama esta relacionado con los fl#jo "ramas #tilizados para la concept#alizacin de en#nciados.
& #m ar )as ta 85 n O 8 s O 5
s O s 2 n
n O n 2 8
-ecibe pa"o
Dia-ra#a de Colaboracin
Los dia"ramas de colaboracin son >tiles en la fase e+ploratoria para identificar objetosN as, la distrib#cin de los objetos en el dia"rama permite observar adec#adamente la interaccin de #n objeto con respecto de los demsN adems la estr#ct#ra esttica viene dada por los enlacesN la dinmica por el envo de mensajes por los enlaces. &e p#ede decir (#e #n mensaje desencadena #na accin en el objeto destinatario.
B 8 ! as o
B
8 M e n s a je
4 !aso
'
'
F ! as o %
Dia-ra#a de Co#ponentes
Un componente de soft*are es #na parte fsica de #n sistema, y se enc#entra en los comp#tadoras, no en la mente del analista. Un componente p#ede lle"ar )acer #na tabla de #na base de datos, #n ejec#table, biblioteca de vnc#los dinmicos, te+tos y cosas. %on este tipo de dia"rama, los clientes p#eden vis#alizar la estr#ct#ra de #n sistema ya finalizado. Un aspecto m#y importante de considerar en los dia"ramas de componentes, es (#e estos tienen #n potencial para s# re#tilizacin. Los dia"ramas de componentes contienen componentes, interfaces y relaciones.
Librera
% o m p # ta d o ra
' pl ic ac in
Dia-ra#a de Distrib(cin
Los $ia"ramas de $istrib#cin m#estran la disposicin fsica de los distintos nodos (#e componen #n sistema y el reparto de los componentes sobre dic)os nodos. Estos m#estran la ar(#itect#ra fsica de #n sistema. Estos p#eden e(#ipos de comp#tadora, dispositivos, se p#eden #tilizar para indicar cone+iones, as como para representar el soft*are dentro de #na comp#tadora.
#tp
#tp
B#b
! %F
- & C4 F 4
;m pres or
!a*(etes
Los pa(#etes son #tilizados para a"r#par # or"anizar elementos de dia"ramas 9clases, casos de #so, componentes: en #n "r#po determinado.
Kom bre ! a ( # e te
,elaciones
.odos los sistemas son elaborados por m#c)as clases y objetos. El comportamiento es arc)ivado a trav6s de la colaboracin de los objetos en el sistema. !ara entender el concepto de relaciones, se p#ede plantear el ejemplo si"#iente Un f#t#ro viajero desea realizar #na reservacin de #n viaje en #na lnea a6rea, para esto se enva #n mensaje de reservacin de vuelo. Esto es a men#do referido como #n objeto enviando #n mensaje a otro objeto. Entonces las relaciones proveen #na forma de interact#ar entre objetos. !ara esto e+isten tipos de relaciones (#e se dan d#rante el anlisis, estas son
,elaciones de asociacin
Una asociacin es #n cone+in bidireccional semntica entre clases. Eso no es #n fl#jo de datos como se define en #n anlisis y diseo de datos estr#ct#rado. El fl#jo de datos p#ede ser en c#al(#ier direccin a trav6s de la asociacin. Kormalmente c#ando las clases se conectan entre s de forma concept#al, a esto se le denomina asociacin. Una asociacin entre clases si"nifica (#e all e+iste #na cone+in entre objetos dentro de las clases asociadas. La relacin de asociaciones es mostrada como #na lnea conectando las clases asociadas.
'je#plos asociaciones
Entre las re"las, e+iste #na en la (#e apr#eba la asociacin de m#c)as clases con #na clase en partic#lar.
0sociacin de Clases
Una relacin p#ede tener #na estr#ct#ra y #n comportamiento. Esto es verdadero c#ando la informacin es distrib#ida con #n vnc#lo entre dos objetos y no con #n objeto a la vez. Una asociacin al i"#al (#e #na clase, p#ede contener atrib#tos y operaciones, c#ando se da esta sit#acin, en este caso se esta tratando con #na asociacin de clases. El #so de asociaciones de clases es para modelar las propiedades de la asociacin. Las propiedades son almacenadas en #na clase y conectadas a la relacin de asociacin. !ara la creacin de #na asociacin de clases, se debe crear primero las asociaciones9lnea contin#as:, l#e"o la asociacin de clases9lnea discontin#a:, l#e"o esta >ltima se conecta a la asociacin. &e p#ede concl#ir (#e #na asociacin de clases es #na clase conectada a #na asociacin por #n lazo.
E m pleado
L a b o ra e n
$epartam ento
/erente/ eneral
N e g o cia d o c o n
%ontrato
En ocasiones, #na asociacin entre dos clases debe se"#ir cierta re"la. Esta se indica al establecer #na restriccin j#nto a la lnea de asociacin. !or ejemplo #n cajero atiende a #n cliente, pero cada cliente es atendido en el orden en (#e se enc#entre en la formacin. !#ede capt#rarse este modelo colocando la palabra ordenado entre llaves, para indicar la restriccin, j#nto a la clase cliente.
% a je ro
R0 rd e n a d o S A ti e nd e
% li e n te
,elacin de 0-re-aciones
Una relacin de '"re"acin 9'c#m#lacin: es #na forma especializada de #na asociacin en (#e #n todo esta relacionado a partes. Las a"re"acin es conocida como <parte-de= o relacin de contencin. Las a"re"aciones p#eden representarse como #na jerar(#a dentro de la clase completa. La notacin de UML para #na relacin de a"re"acin es como #na asociacin con #n diamante mas cercano a la clase del todo )asta la si"#iente clase
%#rso
%#rsos0fertados
'je#plo de a-re-aciones
Un ejemplo tpico para poder interpretar este tipo de relacin es la composicin de #n %!U, como el mostrado en la si"#iente fi"#ra, el (#e p#ede contener %$C-0M, Memoria -'M, Unidad de 'lmacenamiento y .arjetas.
%p#
%dr
M em oria-am
.arjetas
!or valor 2b. val(e3 ;mplica e+cl#sividad en la pertenencia por contener clases, para esto el rombo es relleno.
, entana 8
J M arc o
!or re)erencia 2b. re)erence3 Ko es por mandato e+cl#sivo en s#s propiedades, este debe ser presentado por #n rombo vaco o abierto.
%p#
%dr
M em oria-am
.arjetas
,ol de no#bres
El final de #na asociacin donde es conectado a #na clase es llamado #n rol de asociacin. El nombre de #n rol es #n s#stantivo (#e denota el propsito o capacidad en donde #na clase es asociada con otra. El nombre del rol p#ede ser colocado en #na asociacin cerca de la clase. Un nombre de rol p#ede ser colocado en #no o ambos finales de #na lnea de asociacin. Ko es necesario tener los nombres del rol y de la asociacin.
;n venta rio
2 ' l m a c e n a p r o d # c to s
B ode"as
No#bres de relaciones
Una asociacin p#ede ser nombrada. Us#almente los nombres son #n verbo activo o #na frase verbal (#e com#ni(#e o de #n si"nificado de la relacin. La frase verbal tpicamente implica #na lect#ra en #na direccin de iz(#ierda a derec)a y de arriba )acia abajo. Las palabras p#eden ser cambiadas para leer la asociacin en otra direccin, por ejemplo
!rofesor ensea en #n %#rso CCC P Un c#rso es enseado por #n !rofesor. Es importante notar (#e el nombre de la asociacin es opcional. Los nombres son adicionados si ello es re(#erido para clarificar el modelo. La relacin de a"re"acin tpicamente no es nombrada, ya (#e estas #san palabras como <tiene= o <contiene=.
+ndicadores de #(ltiplicidad
' trav6s de la m#ltiplicidad se especifica #na clase, se definen el n>mero de objetos (#e participan en #na relacin. La m#ltiplicidad define el n>mero de objetos (#e son conectados de #no a otro. &e p#ede indicar dos m#ltiplicidades para cada asociacin o a"re"acin, #no en cada fin de la lnea. 'l"#nos indicadores de m#ltiplicidad ms com#nes se presentan a contin#acin
E+actamente #no. %ero o mas. Uno o mas. %ero o #no. -an"o especificado 9A, 7, E o G:. %ombinaciones 9@, A, 7, E o ?:.
'je#plo de #(ltiplicidad
La m#ltiplicidad mnima PO 8 establece #na restriccin de e+istencia. &e p#ede ver #n ejemplo de la m#ltiplicidad entre clases, a trav6s de asociacin.
;nventario
J
2 'lm a c e n a p r o d # c to s
8 ..A B ode"a s
,elaciones re)le<ivas
En ciertas ocasiones #na clase es #na asociacin consi"o misma. Esto se da c#ando #na clase tiene objetos (#e p#eden j#"ar diversos papelesN tanto para las asociaciones como las a"re"aciones. %omo se p#ede observar la clase Empleado dentro de #n Banco %omercial, p#ede ser empleado relacionado con #na #nidad or"anizativa y a la vez ser #n cliente con #na c#enta bancaria del mismo Banco %omercial
U n id a d 0 r" a n iza tiva
8 . .8 5 la b o ra
8 ..J 2 % l ie n te
Em pleado 5..J
5..J
,elaciones cali)icativas
La finalidad de este tipo de relacin es la eliminacin de relaciones de m#c)os y convertirlo a #no. %#ando #n objeto de #na clase tiene (#e seleccionar #n objeto partic#lar de otro tipo para c#mplir con #n papel en la asociacin, la primera clase deber atenerse a #n atrib#to en partic#lar para localizar al objeto adec#ado. Kormalmente, dic)o atrib#to es #n identificador (#e p#ede ser #n n>mero de identidad, esto es colocar #na llave para realizar #na b>s(#eda rpida.
l o ca l iz a
En esta seccin, se pretende introd#cir n#evos conceptos de relacin entre objetos de los dia"ramas de modelo en UML. Estos son
"erencia . Generali=acin
Las )erencias definen #na relacin entre clases donde, #na clase comparte la estr#ct#ra yTo comportamiento de #na o m#c)as clases. Una jerar(#a de abstraccin es creada en donde #na s#bclase )ereda desde #na o m#c)as s#perclases. La )erencia es como llamar #n es-a o tipo-herencia o es un tipo de. ' contin#acin se detalla al"#nas consideraciones para la aplicacin de )erencias Una s#bclase )ereda todos los atrib#tos, operaciones y relaciones las (#e son definidas en #n nivel s#perior en la jerar(#a en la c#al estos son aplicables en todas las clases de nivel inferior en #na jerar(#a de )erencias. Una s#bclase p#ede incrementarse con atrib#tos adicionales y operaciones (#e aplican >nicamente al nivel de la jerar(#a. Una s#bclase p#ede proveerse en s# implementacin de #na operacin. Esto es llamado polimorfismo. Entonces se dice (#e #na relacin de )erencias no es #na relacin entre diferentes objetos, la relacin n#nca es nombrada, el nombre del rol no son #tilizados y la m#ltiplicidad no es aplicable. El n>mero de clases permitidas en #n jerar(#a de )erencias no tiene lmite. &in embar"o la e+periencia en la prctica se p#ede manejar entre tres y cinco capas. Las )erencias son la clave de la re#tilizacin. Una clase p#ede ser creada para #na aplicacin, l#e"o #na s#bclase p#ede ser creada para adicionar mas informacin necesaria para diferentes aplicaciones.
'je#plo de Generali=acin
En orientacin a objetos se refiere a esto como )erencia, en cambio en UML se le denomina "eneralizacin. $ic)o de otro modo lo descrito anteriormente, #na clase sec#ndaria o s#bclase p#ede )eredar los atrib#tos y operaciones de otra clase principal o s#perclase. La clase principal 9madre: es ms "en6rica (#e la sec#ndaria 9)ija:. La creacin de #na )erencia entre clases, se #tiliza el smbolo de lnea contin#a y en el e+tremo #n trin"#lo vaco, este debe ap#ntar a la clase s#perior 9madre: y decir <es #n tipo de=
& e"#rid ad/e neral
& e"#ridadKivel8
& e"#ridadKivel4
& e " # r id a d K i ve l 4 8
Dependencias
Una dependencia es #na relacin semntica entre dos cosas9objeto, clase # otro: en las c#ales #n cambio en #na cosa9cosa independiente o madre: p#ede afectar la semntica de la otra cosa 9cosa dependiente o )ija:, "rficamente, #na dependencia es #na lnea discontin#a (#e ap#nta )acia la clase de la (#e depende.
H indo*
o p e n 9: c l o s e 9: m o ve 9: d is p la y9: ) a n d le E ve n t9:
E vent
.ambi6n se p#ede decir (#e e+iste #na dependencia, c#ando #na clase #tiliza a otra. El #so mas com>n de las dependencias, es mostrar (#e la firma de la operacin de #na clase #tiliza a otra clase.
Las relaciones de pa(#etes son tambi6n adicionados a los modelos. El tipo de relacin es #na relacin de dependencia, el (#e m#estra como #na p#nta de la flec)a ap#nta al pa(#ete. &i #n pa(#ete ' es dependiente de pa(#ete B, esto implica (#e #na o m#c)as clases en el pa(#ete ' inician la com#nicacin con #n o mas clases p>blicas en el pa(#ete B. !ara #na mejor comprensin de las relaciones, p#ede citarse las clases %liente y !roveedores, entre estos e+iste #na dependencia, es por esta razn (#e el smbolo a #tilizar para relacionar los pa(#etes son las dependencias9lnea discontin#a con #na flec)a en el e+tremo:.
! a (# e t e '
! a ( # e te B
,eali=aciones
Una relacin se cristaliza entre clases e interfaces y entre componentes e interfaces mostrando, (#e las clases c#mplan las operaciones ofertadas por la interface. Una relacin de realizacin se representa por medio de #na lnea discontin#a con #n trin"#lo vaco en #n e+tremo ap#ntando )acia la interface. !or lo "eneral la realizacin, se define entre clases como ori"en y destino las interfaces.
%las e
Q Q ;n te rfa c e P P
Las interfaz son #n conj#nto de operaciones (#e especifica cierto aspecto de la f#ncionalidad de #na clase, y es #n conj#nto de operaciones (#e #na clase presenta a otras. Las interfaces p#eden ser representadas por #n crc#lo pe(#eo (#e se conecta mediante #na lnea a la clase.
%las e
;n te rfa c e
%isibilidad
Este concepto est m#y relacionado con las interfaces y la realizacin. Este se aplica a los atrib#tos # operaciones y se especifica si estos podrn ser #tilizados por otros clasificadores. En UML, en #n modo "eneral se p#eden especificar #no de los tres niveles de visibilidad
!(blic %#al(#ier clasificador e+terno podr #sar las caractersticasN se representa anteponiendo el smbolo 2. !rotected %#al(#ier descendiente del clasificador p#ede #sar las caractersticasN se antepone el smbolo U. !rivate Unicamente el clasificador mismo p#ede #sar s#s caractersticasN se antepone el smbolo C.
.oo lbar
Toolbar Uc#rrent&elecction s)ort Utool%o#nt int 2picD;tem9: int 2add.ool9: lon" 2remove.ool9: int 2"et.ool9: float Uc)ecD0rp)ans9: Ccompact9:
c # rre n t& e le c ti o n . o o l to o l % o # n t ;n te " e r p ic D ;te m 9: a d d . o o l9: re m o ve . o o l9: " e t. o o l9: " e t. o o l9: c ) e c D 0 rp ) a n s 9: c o m p a c t9:
Notas
Una nota (#e se pone como comentario, no posee al"#na semntica, lo (#e si"nifica (#e el contenido no altera el si"nificado de #n modelo al c#al esta ad)erido. Esto es por(#e las notas son #tilizadas para especificar cosas parecidas a los re(#erimientos planteados por los clientes, observaciones, reseas, y e+plicaciones en adicin a p#esto en las restricciones. Una nota p#ede contener #na combinacin de te+to o "rficas. &i la implementacin lo permite, se p#ede poner #n U-L e+istente dentro de la nota, o )asta incl#so vinc#lar a o incr#starlo con otros doc#mentos. El amarre se establece con #na lnea interr#mpida.
E s tr uctu r a d e # n a ve nt an a
H indo*s
o p e n 9: c lo s e 9: m ove 9: d i s p la y9: ) a n d le E v e n t9:
Event
%onsoleH indo*
$ia lo"Bo+
%ontrols
Cl a se s su je ta s a " e n e ra l i za ci o n e s
'stereotipos
Los estereotipos permiten tomar elementos propios del UML y convertirlos en otros. Los estereotipos deben basarse en ciertos tipos o clases e+istentes en el metamodelo. 'l"#nos estereotipos estn predefinidos en el UML, otros definidos por el #s#ario. Los estereotipos son #no de los mecanismos de e+tensin del UML. El len"#aje UML brinda varios elementos de #tilidad, pero no es #n conj#nto detallado de ellos. Los diseadores en al">n momento re(#erirn de elementos )ec)os a la medida. .ambi6n los estereotipos proveen capacidad de e+tender el modelado bsico de los elementos, para crear n#evos elementos. El nombre de #n estereotipo se enmarca entre par6ntesis an"#lares 9QQ estereotipos PP: y es colocado a lo lar"o de #na lnea de relacin o dentro de los atrib#tos # operaciones.
Q Q ;nterfac eP P ;nform ac in%#entas
Significado .speci%ica un con-unto coherente de roles de usuarios aplica,les a los casos de uso cuando interact4an. .speci%ica /ue un contenido p4,lico de un pa/uete es accesi,le por un pa/uete %uente. .speci%ica /ue la operaci3n %uente in*oca la operaci3n o,-eto. .speci%ica /ue un o,-eto es creado por el e*ento o por el mensa-e.
access
dependency
call
dependency
create
e*ent messa e
,estricciones
Es #na condicin # obli"acin semntica. 'l"#nas restricciones estn predefinidas en el UML, otras p#eden ser definidas por el #s#ario. Las restricciones son #no de los tres mecanismos de e+tensin del UML.9valor rot#lado y estereotipo:. !ara clarificar #n modelo considerando condiciones en atrib#tos # operaciones, se p#ede a"re"ar las restricciones o re"las delimitadas por llaves.
< < e x c e p c io n 0 v e r f lo *
Diagramas de Distribucin
Diagramas de
Casos de Uso
Diagramas De Clases
Diagramas de
Colaboracin
Diagramas de
Componentes
Diagramas de !ctividad
Diagramas de !ctividad
D's
Dia-ra# as de Casos de Uso Dia-ra# as de 0ctividad Dia-ra# as de 8e c(e ncia Dia-ra# as de Colaboracin >os*(e jos de +nte r)ace s
M odelo ,e lacional
??
'n)o*(e OO
+n)or#acin
!ara el planteamiento del problema es necesario recopilar informacin de las si"#ientes @ cate"oras
De ne-ocio El tipo de informacin (#e se re(#iere a(# es toda la relacionada a como el ne"ocio f#nciona, incl#yendo informacin acerca de los objetivos, prod#ctos, servicios y definicin de los procesos crticos del ne"ocio. De aplicacin Esta informacin comprende la forma en como f#nciona el ne"ocio a trav6s de toda la or"anizacin, identificando a los tipos de #s#arios, as como las diferentes actividades (#e se realizan para llevar a cabo los procesos del ne"ocio. '(# se identifican todas las tareas man#ales y a#tomticas, adems de las diferentes )erramientas 9pro"ramas, #tileras, etc.: (#e se #san para determina accin. De operacin .oda la informacin referente a los datos (#e necesita la or"anizacin para realizar s#s procesos de ne"ocio, incl#yendo modelo de datos, polticas para el manejo de datos, identificacin de los patrones de cons#mo de informacin. Es importante identificar (#ien ori"ina la informacin, (#ien es el propietario y (#ien la cons#me, adems de la relacin (#e esta tiene con los procesos clave de la or"anizacin. De tecnolo-:a '(# se definen todos los servicios t6cnicos necesarios para soportar la actividad del ne"ocio, desde topolo"as de red, ambientes de desarrollo, interfaces de pro"ramacin, se"#ridad, servicios de redes, servicios de base de datos, )ard*are, sistemas operativos, etc.
Concl(siones
Los est#diantes de El &alvador deben iniciar el #so de esta )erramienta para el anlisis y diseo de sistemas. Estos dia"ramas deben ser #tilizados para la doc#mentacin t6cnica. Ko todos los dia"ramas deben ser #tilizados en todo proyecto.
>iblio-ra):a
T@e Uni)ied Modelin- Lan-(a-e User G(ide Editorial 'ddison C Hesley Booc), 1acobson and -#mba#") %is(al Modelin- Ait@ ,ational ,ose and UML Editorial 'ddison C Hesley .erry L#atrani Object 9 Oriented 8o)tBare 'n-ineerinEditorial 'ddison C Hesley ;var 1acobson +n-enier:a del 8o)tBare. Un 'n)o*(e !r1ctico @ta Edicin. Editorial Mc /ra* Bill -o"er &. !ressman 'l !roceso Uni)icado de Desarrollo de 8o)tBare Editorial 'ddison C Hesley Booc), 1acobson, -#mba#") 'l len-(aje (ni)icado de #odelado, 'ddisonCHesley, 8???. Booc) /. etal. UML -eso#rce %enter. -ational ;nc. )ttp TT***.rational.comT#ml
8itios
$ree UML Modelin- ToolModel, %ode, $eploy, -ose V WM;, -o#ndtrip En"ine V %-% %ards V More ***.vis#alCparadi"m.com Get a )ree UML tool!oseidon for UML is a professional tool *it) a free %omm#nity Edition ***."entle*are.com UML Cava tool ,is#ally $esi"n 'pplication Models V /enerate 1ava %ode *T UModel 455A ***.'ltova.comTUModel Ma-icDraB UML Ma"ic$ra* UML by Ko Ma"ic, ;nc B#y and $o*nload Ma"ic$ra* no*X ***.componentso#rce.com +nversiones en Divisas%ompra y ,enta ;nfo. 4@)s. &im#lador de inversin ***.acCmarDets.com