[Link].
Arquitecturadel
[Link].2006/2007.
Seminario de Magic Draw
MiguelngelOrenesFernndez
PedroLuisMateoNavarro
______________________________________________________________________
GuadeMagicDraw
Pgina1
ndice
Objetivos...........................................................................................................................3
Consejosparaelusodeestagua......................................................................................4
Desarrollo..........................................................................................................................5
ElproyectodeMagicDraw..........................................................................................5
Crearunproyectonuevo...............................................................................................5
DiagramasUML................................................................................................................6
DiagramadeCasosdeUso...........................................................................................6
Elementosmsimportantesdeestetipodediagrama..............................................6
Pasosparallevaracabolarealizacindeldiagrama...............................................7
DiagramadeClases....................................................................................................10
Elementosmsimportantesdeestetipodediagrama............................................10
Pasosparallevaracabolarealizacindeldiagrama.............................................11
Modeloconceptual......................................................................................................13
Elementosmsimportantesdeestetipodediagrama............................................13
Pasosparallevaracabolarealizacindeldiagrama.............................................14
DiagramadeSecuencia...............................................................................................17
Elementosmsimportantesdeestetipodediagrama............................................17
Pasosparallevaracabolarealizacindeldiagrama.............................................19
DiagramadeColaboracin.........................................................................................25
Elementosmsimportantesdeestetipodediagrama............................................25
Pasosparallevaracabolarealizacindeldiagrama.............................................26
DiagramadeEstados..................................................................................................29
Elementosmsimportantesdeestetipodediagrama............................................29
Pasosparallevaracabolarealizacindeldiagrama.............................................31
DiagramadeActividades............................................................................................34
Elementosmsimportantesdeestetipodediagrama............................................34
Pasosparallevaracabolarealizacindeldiagrama.............................................35
GenerarCdigo...............................................................................................................36
GenerarInformes.............................................................................................................37
Referencias......................................................................................................................40
______________________________________________________________________
GuadeMagicDraw
Pgina2
Objetivos
AprenderamanejarlosfundamentosdeMagicDraw,laherramientadesoporteal
modeladoconUMLquevamosautilizarenprcticas.
ComprenderlaestructuradeunmodeloUMLenMagicDraw
CrearloselementosdelosmodelosydiagramasdeUML
Estructurarloselementosanterioresatravsdepaquetes
Generarcdigoautomticamenteapartirdelosmodelos
______________________________________________________________________
GuadeMagicDraw
Pgina3
Consejos para el uso de esta gua
EnestaguaseexplicaeldesarrollodelosdiferentesdiagramasUMLutilizandola
herramientademodeladoMagicDraw.
Paracadaunodelosdiferentestiposdediagramas,encontraremoslasiguiente
informacin:
pasosinicialesparalacreacindeldiagrama
elementosmsimportantesqueapareceneneldiagrama(cabesealarqueeneste
apartadosolamentehemosincluidoloselementosmsimportantes,aunquela
herramientaMagicDraw,enlamayoradelasocasiones,proporcionaunabanico
msamplioparalarealizacindelosmismos)
creacindeundiagramadeejemplo,enelqueseexplicanlospasosms
importantes
Alfinaldelagua,encontraremosdosapartadosfinales,correspondientesconla
generacindeinformesylageneracindecdigo.
______________________________________________________________________
GuadeMagicDraw
Pgina4
Desarrollo
ElproyectodeMagicDraw
Todalainformacindelproyectoseguardaenunnicofichero.
Elnuevoproyectocreadoestarformadoporlossiguientespaquetes:
Paquetededatosinicialmentevaco,queguardartodosloselementosdel
modelo.
Paquetedevisualizacindelasvistas(FileView)quecontendrloselementos
[Link]
ficherosfuente.
UMLStandardProfilecontienelosestereotiposquesonnecesariopara
trabajarconMagicDraw,tiposdedatosprimitivos,ysusrestricciones,queson
delestndardeUML,yloselementosdelmetamodelodeUML2.0.
ParautilizarMagicDrawYempezaratrabajarconlaherramienta,esnecesariocrearun
proyectosobreelqueiremostrabajando.
Crearunproyectonuevo
Paracrearlo,seguiremoslossiguientespasos:
1. [Link]
contenedoradenuestroproyecto
2. conlaherramientayaabierta,haremosclicenlaopcinFile>NewProject.
Laaplicacinprocederacrearunnuevoproyecto
3. unavezterminedecrearelproyecto,usaremoslaopcinFile>SaveProject
As...[Link]
enelpaso1,pondremosunnombrealproyectoypulsaremoselbotnde
Save.
Yatendremoscreadounproyectovacosobreelcualpodertrabajar.
______________________________________________________________________
GuadeMagicDraw
Pgina5
DiagramasUML
DiagramadeCasosdeUso
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>UseCaseDiagram.
Elementosmsimportantesdeestetipodediagrama
Actor
Representalosrolesquejueganlosusuariosenelsistema
CasodeUso
Especificauncomportamientoenparticulardelsistema
Asociacin
Participacindeunactorenuncasodeuso
Generalizacin
______________________________________________________________________
GuadeMagicDraw
Pgina6
Pasosparallevaracabolarealizacindeldiagrama
1Aadirelementosaldiagrama
Paraaadirunnuevoelementoaldiagramadebemoshacerclicderechosobrela
carpetaDatadelrboldecontenidos(Containmenttree)yseleccionar"New
Element>X",dondeXserelelementoquequeramoscrear(actor,casode
uso,...).Leasiganaremosunnombrenico.
Deestemodoseaadiralalistadelrboldecontenidoselnuevoelemento
creado.
Elrestodeloselementosquecompondrneldiagramaloscrearemosdela
mismaforma.
Unavezcreadostodosloselementosqueparticiparneneldiagrama,los
aadiremossimplementehaciendoclicconelbotnizquierdosobreellosy
arrastrndoloshaciaelgriddeldiagrama.
Comoyahabrsobservado,enlaparteinferiorizquierdadelavistadel
diagramadecasosdeusoaparecenlossmbolosdelosdiferenteselementosque
[Link],
yaquenosdarlaseguridaddetenersloloselementosnecesariosparanuestro
diagrama.
Alahoradeborrarunelementodeldiagramasedebesercauto,yaquesilo
eliminasdelavistagrafica,nodesaparecedelmodelo,esdecir,loquitamosdel
[Link]
cualquierelementodelproyectohabrquehacerclicderechosobredicho
______________________________________________________________________
GuadeMagicDraw
Pgina7
elementoendelrboldecontenidos(Containmenttree)yselecionarlaopcin
eliminar(delete).
2Establecerrelacionesentreloselementosdeldiagrama
Podemosobservarcomocuandoseleccionamosunelemento(enestecasoun
actor)aparecenasuderechalossmbolosdelasposiblesrelacionesenlasque
puedeparticipar,loquenosdarlafacilidaddenotenerqueirabuscarlasauna
paletadeherramientas,yaqueconslohacerclicsobrelarelacin,podremos
establecerlasimplementearrastrandoelpunterodelratnhaciaelelemento
destino.
EjemplodediagramadeCasosdeUso:
______________________________________________________________________
GuadeMagicDraw
Pgina8
ParaguardareldiagramasimplementetendremosquehacerclicsobreelmenFile>
Saveproject,yelnuevodiagramaquehemoscreadoquedarguardadoennuestro
proyecto.
______________________________________________________________________
GuadeMagicDraw
Pgina9
DiagramadeClases
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>ClassDiagram.
Elementosmsimportantesdeestetipodediagrama
Clase
Enumeracin
Interfaz
Paquete
Generalizacin
Asociacin
Relacindeimplementacinconinterfaz
______________________________________________________________________
GuadeMagicDraw
Pgina10
Pasosparallevaracabolarealizacindeldiagrama
1Aadirelementosaldiagrama
Crearemosloselementosdelamismaformaqueseexplicenelapartado
anterior.
Paraaadirunnuevoelementoaldiagramadebemoshacerclicderechosobrela
carpetaDatadelrboldecontenidos(Containmenttree)yseleccionar"New
Element>X",dondeXserelelementoquequeramoscrear(clase,
interfaz,...).Leasiganaremosunnombrenico.
Unavezcreadostodosloselementosqueparticiparneneldiagrama,los
aadiremoshaciendoclicconelbotnizquierdosobreellosyarrastrndolos
haciaelgriddeldiagrama.
Yatendremoseldiagramapreparadoparaestablecertodaslasrelaciones
necesarias.
2Establecerrelacionesentreloselementosdeldiagrama
Unavezquetengamostodosloselementoscolocadoseneldiagrama,
[Link],seguiremosel
mismomtodoexplicadoantes:hacerclicconelbotnizquierdosobreel
elemento,seleccionarlarelacinquequeramosestableceryarrastrarelpuntero
delratnhastaelelementodestinodelarelacin.
3Insertarmtodosyatributosalasclases
Parainsertarnuevosmtodosaunaclase/interfaz,haremosclicconelbotn
derechosobreelelementoobjetivoyseleccionaremosenelmencontextualla
[Link]
[Link]
paraesaclaseointerfaz.
Parainsertarnuevosatributosprocederemosdelamismaforma,aunquelo
haremosseleccionandolaopcinInsertNewAtribute
______________________________________________________________________
GuadeMagicDraw
Pgina11
Ejemplodediagramadeclases:
______________________________________________________________________
GuadeMagicDraw
Pgina12
Modeloconceptual
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>ClassDiagram(notarqueelmodeladoconceptualtambinconsisteenun
diagramadeclases,perountantoespecial).
Elementosmsimportantesdeestetipodediagrama
Clase
Asociacin
Notas
______________________________________________________________________
GuadeMagicDraw
Pgina13
Pasosparallevaracabolarealizacindeldiagrama
Laformadellevaracabolarealizacindeestadiagramaessimilaraladeldiagramade
clases,perocabeaadirlaformaenqueintroduciremoslascardinalidadesentrelas
clasesquecomponennuestromodeladoconceptual.
Unavezcreadastodaslasclases,comenzaremosacreartodaslasrelaciones.
Paracrearrelaciones,alasqueposteriormenteaadiremoscardinalidades,usaremosel
tipoderelacinsindireccin
Paraaadircardinalidadesalasasociaciones,haremosclicconelbotnderechodel
ratonsobrelalineaquerepresentalaasociacin,aparecindonoselsiguientemen
contextual:
Lasdosopcionesdeabajocorrespondenconlascardinalidadesaambosextremosdela
relacin,[Link]
ahorasituamoselpunterodelratnsobrealgunadelasdosopciones,senosaparecer
otromencontextualenelquepodremoselegirlacardinalidadquedeseemos.
______________________________________________________________________
GuadeMagicDraw
Pgina14
Comopodemosobservar,enelmendelaizquierda,enlapartedeabajo,encontramos
lascardinalidadesdisponibles.
Paraseleccionarunadeellas,simplementeharemosclicconelbotnizquierdosobre
unadelasopcionesdisponiblesyautomticamenteseaadiraldiagramaqueestamos
creando,comosemuestraenlaimagenacontinuacin:
Elrestodelascardinalidadeslasintroduciremossiguiendolosmismospasos.
______________________________________________________________________
GuadeMagicDraw
Pgina15
Porltimo,enestostiposdediagramasesmuycomnaadirnotasparaaclararlos
conceptos.
Paraello,simplementeaadiremosunanuevanotaaldiagramahaciendoclicsobreel
botn
yhaciendoclicdenuevoenlazonadeldiagramadondequeramos
aadirla.
Introduciremoseltextocorrespondienteportecladoyllevaremosacabolaasociacin
[Link]
crear,ysenospresentarlasiguientesituacin:
Haremosclicsobreelbotnquenosaparecesituadoaladerechadelanotay
arrastraremoshastaelelementoconelcualqueramosrelacionarla.
Elresultadoeselsiguiente:
______________________________________________________________________
GuadeMagicDraw
Pgina16
DiagramadeSecuencia
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>SequenceDiagram.
Unavezcreadoaparecercomopartedelcasodeuso,ylonicoquetenemosquehacer
escambiarleelnombre:
Elementosmsimportantesdeestetipodediagrama
Lineadevidadeunobjeto
Mensaje
Automensaje
MensajeRecursivo
______________________________________________________________________
GuadeMagicDraw
Pgina17
MensajeDiagonal
______________________________________________________________________
GuadeMagicDraw
Pgina18
Pasosparallevaracabolarealizacindeldiagrama
UnavezcreadoeldiagramadesecuenciaparaelcasodeusoRealizarVenta,debemos
[Link]
ContainmenttreeyseleccionamosNewElement>Class.
Unavezcreadalaclase,procedemosaintroducirelactorCajeroylaclaseSistemaen
[Link]:
Comosepuedeobservarenlaparteizquierdadelavistadeldiagramadesecuencia,
aparecenloselementosparaestetipodediagrama.
[Link]
Message:
______________________________________________________________________
GuadeMagicDraw
Pgina19
YhacemosclicsobrelalneadetiempodelCajeroyseguidamentesobrelaclase
sistema.
Podemosobservarquehemoscreadounnuevomensajeentrelosdoselementosque
acabbamosdeintroducir.
Unavezechoesto,haremosclicderechosobreelnuevomensajecreadoy
seleccionamosSpecification:
Ynosaparecerlasiguienteventana,dondeaparecentodaslaspropiedades
relacionadasconelmensajequeacabamosdecrear:
______________________________________________________________________
GuadeMagicDraw
Pgina20
Tendremosquerealizarlossiguientepasos:
ElcampoMessageTypecontendreltipo"SendMessage".
EnelcampoName,introduciremoselnombredelmensajecorrespondiente,en
nuestrocasointroducirItem.
PulsarCloseparaconfirmarloscambios.
Comosepuedeobservar,elmensajeaparecerahoraconnombre:
Enelcasodequealmensajecreadoqueramosaadirleparmetros,debemoshacerlo
siguiente:
1 Volvemosaabrirlaespecificacin(clicderechoyseleccionamos
Specification).
2 SeleccionamoslaopcinArgumentsqueapareceenlaparteizquierdadela
ventana.
3 PulsarCreate
______________________________________________________________________
GuadeMagicDraw
Pgina21
4 Enelmenquesedespliega,seleccionamoslaopcinquequeramos.,en
nuestrocasoelegiremosElementValue,yaquequeremospasarledos
[Link]
predefinidosporUML.
5 BuscamoslaclaseintenlaventanaqueapareceyhacemosclicsobreOK:
Repetiremoselprocesoparaaadirotroparmetroentero.
______________________________________________________________________
GuadeMagicDraw
Pgina22
Laventanadeargumentosquedardelasiguientemanera:
SeleccionamosCloseparaconfirmarloscambiosynosquedarelsiguiente
diagramadesecuencias:
______________________________________________________________________
GuadeMagicDraw
Pgina23
Ahorasolamentenosquedarcrearotrosdosmensajes(terminarVenta()y
realizarPago())deigualformaqueacabamosdecrearestemensaje,
quedndonoseldiagramacomosemuestraenlasiguienteimagen:
______________________________________________________________________
GuadeMagicDraw
Pgina24
DiagramadeColaboracin
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>CommunicationDiagram.
Elementosmsimportantesdeestetipodediagrama
Objetoparticipante
Conector
Autoconector
Mensajealaderecha
Mensajealaizquierda
Mensajedellamadaaladerecha
Mensajedellamadaalaizquierda
______________________________________________________________________
GuadeMagicDraw
Pgina25
Pasosparallevaracabolarealizacindeldiagrama
Parailustrarcomosecreanestetipodediagramas,vamosrealizareldiagramade
colaboracindelaoperacindelsistemaIntroducirItem.
Seguiremoslossiguientespasos:
Seaadenlasclasesnecesarias(quefueroncreadasyaconeldiagramadeclases)y
elactor(creadoalhacereldiagramadecasosdeuso)aldiagramaarrastrndolos
[Link],Venta,
LineaVenta,CatalogoProductoyproducto;yelactorcajero.
[Link]
conectorentrelosdoselementosquesecomunican,queloharemoshaciendoclic
sobreelicono
queapareceenlaventanadeldiagramadecolaboracin.
HaremosclicsobreelactorCajeroyarrastraremoshastalaclaseTPV,porloqueya
quedarnconectados,comosemuestraenlaimagen:
Unavezconectados,aadiremosunnuevomensajehaciendoclicsobreelicono
yposteriormentehaciendoclicsobreelconectorqueacabamosdecrear,conelfin
deasociarelmensajequenosdisponemosacrearconelconectorquecreamos
[Link]:
______________________________________________________________________
GuadeMagicDraw
Pgina26
Introducimoselnombrecorrespondientealmensaje,yparaaadirleargumentoslo
haremosdelmismomodoquelohicimosparaeldiagramadesecuencias.
Trasaadirleunnombreyloscorrespondientesargumentosalmensaje,su
especificacinquedaradelasiguientemanera:
______________________________________________________________________
GuadeMagicDraw
Pgina27
AceptaremosloscambioshaciendoclicsobreelbotnClose,siendoelresultadoel
siguiente:
Dondepodemosapreciardoselementos:
elconectorqueasociaaCajeroyaTPV
elmensajequerepresentalacomunicacinentreellos
Ahora,continuaremosintroduciendoelrestodeconectoresymensajesdelmismomodo
queacabamosdeexplicar,siendoelresultadoelsiguiente:
______________________________________________________________________
GuadeMagicDraw
Pgina28
DiagramadeEstados
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>StateDiagram.
Elementosmsimportantesdeestetipodediagrama
Estado
Estadocompuesto
Estadoortogonal
EstadoInicial
Estadofinal
Puntodeentrada
Puntodesalida
Transicindeestado
______________________________________________________________________
GuadeMagicDraw
Pgina29
Autotransicin
Unin/divisindetransiciones
______________________________________________________________________
GuadeMagicDraw
Pgina30
Pasosparallevaracabolarealizacindeldiagrama
Comenzaremosintroduciendolosestadosinicialyfinal,quesiempredebendeestar
presentesenundiagramadeestado(tambinenlosestadoscompuestos).Paraello,
primeroharemosclicenlosiconoscorrespondientesyluegocliceneldiagrama,enla
posicinenlaquequeramosinsertarlos.
Paraaadirlesunnombrequelosidentifique,haremosdobleclicsobreellos,conloque
nosaparecerlasiguienteventana:
Introduciremoselnombrequequeramosenelcamponameyconfirmaremoslos
[Link]
formaautomtica.
______________________________________________________________________
GuadeMagicDraw
Pgina31
Elrestodeloselementoslosintroduciremosdelamismaforma.
Cabedestacaruntipodeelementoespecial,[Link]
estadoscompuestospodramosconsiderarloscomosubdiagramasdeestadoquese
incluyenenunStateChart.
Paracrearunestadocompuesto(enelejemploseincluyeuno),simplementelo
crearemoscomounelementonormaldeldiagrama,sloquedentrodeestepodremos
insertarnuevoselementos,comoporejemploestados,flujos,agregacionesdeflujos,...
Todoestadocompuestoposeeunoomsestadosinicialesyunoomsestadosfinales;y
serelacionarconotroselementosdeldiagramacomosideunelementobsicose
tratara.
Unavezhayamosincluidoynombradotodosloselementosqueformarnpartedel
diagramadeestado,tendremosqueincluirtodaslasrelaciones,querepresentarnel
posiblecambiodeunestadoaotro.
Paraello,seguiremoselmismoprocesoquehemosseguidohastaelmomento:
1. haremosclicizquierdosobreelelementoorigendelflujo
2. cuandoaparezcaeliconodelaasociacinasuderecha,haremosclicsobrely
loarrastraremoshaciaelelementoqueserelextremofinaldelamisma.
______________________________________________________________________
GuadeMagicDraw
Pgina32
Repetiremoselprocesoparacadaunadelasasociacionesquequeramosestablecer,
siendoelresultadoelsiguiente:
______________________________________________________________________
GuadeMagicDraw
Pgina33
DiagramadeActividades
Paracrearunnuevodiagramadeestetipo,haremosclicconelbotnderechosobrela
carpetaDatasituadaenelContainmentTree,yseleccionaremoslaopcinNew
Diagram>ActivityDiagram.
Elementosmsimportantesdeestetipodediagrama
Accin
Llamada
Objeto
Flujodecontrol
Nodoinicial
Nodofinal
Nododecisin
Unin/divisindeflujodecontrol
______________________________________________________________________
GuadeMagicDraw
Pgina34
Pasosparallevaracabolarealizacindeldiagrama
Lacreacindeldiagramadeactividadesesdirectaapartirdelabarradeherramientas,
salvoenundetalle:
Siqueremosqueelflujodecontrolvayadesdeunaaccinhaciaotraaccin,
tendremosquehacerclicenelicono
delabarradeherramientas
Mientrasquesiqueremosqueseaunflujodeobjetos,larelacinseaaccin
objeto,objetoaccinuobjetoobjetotendremosquehacerclicsobre
Noobstanteparamayorfacilidad,sihacemosclicsobreunaaccin,enlapartederecha
delaaccinnosaparecernlosposibleselementosquepuedenhacerreferencia,aligual
quesisehaceclicsobreunobjeto:
Accin:
Objeto:
Realizamosundiagramadeactividadesdeejemplo:
______________________________________________________________________
GuadeMagicDraw
Pgina35
GenerarCdigo
Paragenerarcdigoseguiremoslossiguientespasos:
1. enelmencorrespondientealasopcionesdecdigo,seleccionaremoslaopcin
Generate,ynosaparecereldilogodeOpcionesdegeneracindecdigo,
mostradoenlasiguienteimagen:
2. definiremosenestedilogolasopcionesdelageneracin,seleccionandolas
[Link],
correspondientealdirectoriodondeseguardarnlosficherosgenerados.
3. haremosclicenelbotnOK.
4. siqueremosmodificarelcdigogenerado,podemosutilizarlaopcinEdit
Sourceenelmencorrespondientealasopcionesdecdigo.
______________________________________________________________________
GuadeMagicDraw
Pgina36
GenerarInformes
Paragenerarinformesseguiremoslossiguientespasos:
1. SeleccionaremoslaopcindelmenTools>Report,conloquesenosabrir
eldilogocorrespondienteconlaeleccindeinforme:
2. [Link]
escogeremoslaplantillacorrespondientealtipodeinformequequeramos
[Link]
caractersticasmsimportantesdecadaunadelasplantillasqueaparecen.
3. EnlapestaaSelectPackagespodremosescogerelmbitoqueabarcarel
[Link]
queestimemosconveniente,ylaopcinGenerateRecursivelysiqueremos
activarunageneracinrecursivadelinforme.
______________________________________________________________________
GuadeMagicDraw
Pgina37
4. EnlapestaaSelectDiagramsseleccionaremoslosdiagramasqueabarcarel
informe.
______________________________________________________________________
GuadeMagicDraw
Pgina38
5. Porltimo,enlapestaaOutputsOptionsseleccionaremoslasopciones
finalesdelinforme,comoporejemploeldirectoriodesalida,formatosdesalida,
...
6. seleccionaremoslaopcinGenerate.
______________________________________________________________________
GuadeMagicDraw
Pgina39
Referencias
Paralaelaboracindeestaguahemosutilizadolosrecursosdisponiblesenlapgina
weboficialdelaherramientaMagicDraw([Link]),basndonos
principalmenteen:
DocumentoMagicDrawTutorials
DocumentoMagicDrawUserManual
Ejemplosdediagramas
Paracualquierduda,omisinoerrorsobreestagua,serecomiendalaconsultadeeste
material.
______________________________________________________________________
GuadeMagicDraw
Pgina40