Diagramas de en ing. de Software

download Diagramas de en ing. de Software

of 145

Transcript of Diagramas de en ing. de Software

  • 7/25/2019 Diagramas de en ing. de Software

    1/145

    DIAGRAMA DECOLABORACIN

  • 7/25/2019 Diagramas de en ing. de Software

    2/145

    Qu es un diagrama decolaboracin

    !n diagrama de colaboracin esuna "orma de re#resen$arin$eraccin en$re ob%e$os &

  • 7/25/2019 Diagramas de en ing. de Software

    3/145

    En 'ue consis$e un diagrama de

    colaboracin Mues$ra cmo las ins$ancias es#ec("icas de las

    clases $raba%an %un$as #ara conseguir unob%e$i)o com*n&

    Consis$e es#eci"icar un con$ra$o en$re ob%e$os Im#lemen$a las asociaciones del diagrama de

    clases median$e el #aso de mensa%es de unob%e$o a o$ro& Dic+a im#lemen$acin esllamada ,enlace,&

  • 7/25/2019 Diagramas de en ing. de Software

    4/145

    -Que re#resen$a el algori$mode colabora racin

    Re#resen$a la #ar$e esencial#ara la descri#cin de un

    #a$rn de dise.o&

  • 7/25/2019 Diagramas de en ing. de Software

    5/145

    DIAGRAMA DE COLABORACION !n Diagrama de Colaboracin mues$ra unain$eraccin organi/ada bas0ndose en los ob%e$os 'ue

    $oman #ar$e en la in$eraccin 1 los enlaces en$re los mismos2en cuan$o a la in$eraccin se re"iere3&UML InteraccionesLos ob%e$os in$erac$*an en$re s( #as0ndose mensajes.Los ob%e$os se conec$an a $ra)s de enlaces&Mensaje:es#eci"ica $ransmisin de in"ormacin en$reob%e$os&Enlace:es#eci"ica un camino a lo largo del cual un ob%e$o

    #uede en)iar un mensa%e a o$ro ob%e$o&Es una cone4in sem0n$ica en$re ob%e$os&Es una ins$ancia de una relacin&5uede con$ener los adornos de la relacin&

  • 7/25/2019 Diagramas de en ing. de Software

    6/145

    Las Interacciones modelan aspectos dinmicosdel sistema

    Llamada.!In)oca una o#eracin sobre un ob%e$o& 5uede ser a s(mismo&

    Retorno.!El rece#$or de una llamada de)uel)eun )alor alemisor6 si es necesario&

    En"#o.!En)(a una se.al a un ob%e$o&

  • 7/25/2019 Diagramas de en ing. de Software

    7/145

    Creaci$n.! 5ara crear un ob%e$o&

    Destr%cci$n.!5ara des$ruir un ob%e$o& 5uede des$ruirse a s(mismo&

    &ec%enciaci$n El "lu%o de mensa%es "orma una secuencia& La secuencia es indicada #or un n*mero an$es del mensa%e 1

    una "lec+a dirigida& 5ara modelar caminos al$erna$i)os6 se coloca el mismo n*mero

    de secuencia seguido de un n*mero de subsecuencia&

  • 7/25/2019 Diagramas de en ing. de Software

    8/145

    &ec%enciaci$n

    'armetros . Reales7e #ueden modelar los#ar0me$ros reales en)iados 1 $ambinlosre$ornos& E%8 9&:&98 48;o#eracin2

  • 7/25/2019 Diagramas de en ing. de Software

    9/145

    Elementos de %n Dia(rama de

    Cola)oraci$n O)jetos o Roles:nodos del gra"o& Enlaces o com%nicaciones:arcos del gra"o&

    Mensajes:lle)an n*mero de secuencia 1 "lec+a dirigida& Anidamiento:se u$ili/a la numeracin decimal E%8 969&96 9&9&9 &&&&&&&&

    Iteraci$n:colocar un > an$es del n*mero de secuencia 1una cl0usula de condicin6 si es necesario& e%& >?4@&

    Bi*%rcaci$n:los caminos al$erna$i)os $endr0n el mismon*mero de secuencia6 seguido del n*mero desubsecuencia6 1 se deben dis$inguir #or una condicin&

  • 7/25/2019 Diagramas de en ing. de Software

    10/145

    Ejemplo:!n lec$or solici$a un libro al biblio$ecario6 1 lebrinda su $($ulo& El biblio$ecario busca el libro en un (ndice 1solici$a al asis$en$e 'ue le alcance el libro&

    Dia(rama de sec%encia

    7olici$a un libro

    brind0ndole el $i$ulo busca el libro

    de)uel)e in"ormacin

    solici$a 'ue le alcance el libro

    el libro es en$regado

    en$rega el libro

    LECTOR BIBLIOTECARIO ASISTENTEINDICE

  • 7/25/2019 Diagramas de en ing. de Software

    11/145

    Diagrama de colaboracin 8El libro es en$regado23

    87olici$a 'ue le alcance el libro 23

    :8Busca el libro 23

    8de)uel)e in"ormacin 23

    F8En$rega libro 23

    987olici$a libro 23 d0ndole el $i$ulo 23

    LECTOR

    BIBLIOTECARIO

    ASISTENTE

    INDICE

  • 7/25/2019 Diagramas de en ing. de Software

    12/145

    DE5ENDENCIA7

    -De 'u ar$e"ac$os de#ende su cons$ruccin

    R& 7u cons$ruccin de#ende de8

    Los casos de uso 2e4#andidos3&Diagrama de secuencias&Diagrama de Clases&

  • 7/25/2019 Diagramas de en ing. de Software

    13/145

    -Qu o$ros ar$e"ac$os se generan

    a $ra)s de lR& Los ar$e"ac$os 'ue se generan son8

    Diagramas de Es$ado&Diagrama de Com#onen$es&Diagrama de Des#liegue

  • 7/25/2019 Diagramas de en ing. de Software

    14/145

    -En 'u e$a#a se reali/a sucons$ruccin

    Este tipo de dia(ramas se %tili+an ms*rec%entemente en la *ase de dise,o- esdecir- c%ando estamos dise,ando la

    implementaci$n de las relaciones.

  • 7/25/2019 Diagramas de en ing. de Software

    15/145

    EHEM5LO DE

    A5LICACIN

    CONROL DE 7EG!RIDADDEL JOEL 5LAKA

  • 7/25/2019 Diagramas de en ing. de Software

    16/145

    En cuanto a la representacin, un

    Diagrama de Colaboracin muestraa una serie de obetos con losenlacesentre los mismos, ! con losmensaes "ue se intercambian

    dic#os obetos$

    Los mensaes son %ec#as "ue &anunto al enlace por el "ue

    'circulan(, ! con el nombre delmensae ! los par)metros *si lostiene+ entre parntesis$ Cadamensae lle&a un n-mero de

    secuencia "ue denota cu)l es elmensae "ue le precede, e.cepto el

  • 7/25/2019 Diagramas de en ing. de Software

    17/145

    Se pueden indicar alternati&as concondiciones entre corc#etes *poreemplo/ 0condicin1de1test2 /nombre1de1mtodo*+ +, tal ! como

    aparece en el eemplo$Tambin se puede mostrar elanidamiento de mensaes conn-meros de secuencia como 3$4,"ue signi5ca "ue el mensae conn-mero de secuencia 3 no acaba deeecutarse #asta "ue no se #an

    eecutado todos los 3$ . $

  • 7/25/2019 Diagramas de en ing. de Software

    18/145

    Elemen$os b0sicos #ara el

    diagrama de ColaboracinO)jeto!n ob%e$o se re#resen$a con un rec$0ngulo6 'ue con$iene elnombre 1 la clase del ob%e$o en un "orma$o nombreObjeto:nombreClase&

    Enlaces

    !n enlace es una ins$ancia de una asociacin en undiagrama de clases& 7e re#resen$a como una linea con$(nua'ue une a dos ob%e$os& Es$a acom#a.ada #or un n*mero'ue indica el orden den$ro de la in$eraccin 1 #or unes$ereo$i#o 'ue indica 'ue $i#o de ob%e$o recibe el mensa%e&

  • 7/25/2019 Diagramas de en ing. de Software

    19/145

    l%jo de mensajes

    E4#resa el en)(o de un mensa%e& 7e re#resen$amedian$e una "lec+a dirigida cercana a un enlace&

    Marcadores de creaci$n / destr%cci$n de o)jetos

    5uede mos$rarse en la gr0"ica cu0les ob%e$os soncreados 1 des$ruidos6 agregando una res$riccincon la #alabra new o delete6 res#ec$i)amen$e6cercana al rec$0ngulo del ob%e$o

  • 7/25/2019 Diagramas de en ing. de Software

    20/145

    O)jeto comp%esto

    Es una re#resen$acinal$erna$i)a de un ob%e$o1 sus a$ribu$os& En es$are#resen$acin se

    mues$ran los ob%e$oscon$enidos den$ro delrec$0ngulo 'uere#resen$a al ob%e$o 'ue

    los con$iene& !ne%em#lo es el siguien$eob%e$o )e+(culo&

    e+(culo+o$el98e+(culo

    M9: 8 Mo$or

    R9 8 renos

    R 8 ransmisin

  • 7/25/2019 Diagramas de en ing. de Software

    21/145

    E%em#lo8Caso de Uso: 5ago #or ser)icios&

    Actores: Adminis$rador6 Agen$e6 Jus#ed 2inicia3&'rop$sito: Con$rolar 'ue el +us#ed cancele su es$ad(a 1 los ser)icios solici$ados&0ipo: 5rimario 1 esencial&Descripci$n: El agen$e designado en adminis$racin con$rola 'ue el +us#ed cancele sues$ad(a en el +o$el 1 los ser)icios solici$ados&

    CURSO NORMAL DE LOS EVENTOS

    ACCIN DEL ACTOR RESPUESTA DEL SISTEMA

    1.- Se inicia cuando el husped desea retirarse del

    hotel.

    2.- El agente revisa que no exista daos ni perdidas

    durante la estada del husped.3.- El administrador calcula el saldo que debe

    cancelar ! pide la cancelaci"n total al husped

    #.- El husped cancela al administrador ! este le

    proporciona una $actura.

    %.- El administrador recibe las llaves de la

    habitaci"n.

    &.- El husped se retira.

    '.- El sistema actuali(a el pago del husped.

  • 7/25/2019 Diagramas de en ing. de Software

    22/145

    EHEM5LO8 JOEL 5LAKA

  • 7/25/2019 Diagramas de en ing. de Software

    23/145

    CONCLU&I1N

  • 7/25/2019 Diagramas de en ing. de Software

    24/145

    )n diagrama de colaboraci"n esun tipo de diagrama que muestra

    las interacciones entre ob*etosorgani(adas ! enla(ados entre

    ellos.

  • 7/25/2019 Diagramas de en ing. de Software

    25/145

    A continuacin tenemos los titulos fundamentalesde un diagrama de colaboracin:

    1.- Objeto2.- Enlaces

    .- Objeto co!"#esto

    $.- Pat%&n 'e '(se)o*.- Conte+to

    ,.- Objeto act(o+

  • 7/25/2019 Diagramas de en ing. de Software

    26/145

    )n uso de un diagrama de colaboraci"n es

    mostrar la implementaci"n de una operaci"n.,a colaboraci"n muestra los parmetros ! las

    variables locales de la operaci"n as como

    asociaciones ms permanentes. uando seimplementa el comportamiento la secuencia

    de los mensa*es corresponde a la estructura

    de llamadas anidadas ! el paso de sealesdel programa.

  • 7/25/2019 Diagramas de en ing. de Software

    27/145

    )n diagrama de colaboraci"n

    muestra relaciones entre rolesgeomtricamente ! relaciona los

    mensa*es con las relaciones pero

    las secuencias temporales estn

    menos claras

    /re$ieren el diagrama de

    colaboraci"n porque pueden usar ladistribuci"n para indicar c"mo se

    conectan estticamente los ob*etos

  • 7/25/2019 Diagramas de en ing. de Software

    28/145

    GRACIAS

  • 7/25/2019 Diagramas de en ing. de Software

    29/145

    DIAGRAMA DE CLASE

  • 7/25/2019 Diagramas de en ing. de Software

    30/145

    Diagrama de clase Es el ms utilizado y ms conocido

    de los diagramas orientados aobjetos. Es la uente de generaci!n

    de c!digo. El diagrama de clase re"resenta

    clases# sus "artes y la orma en la$ue las clases de los objetos estnrelacionados con otro.

    %na clase es una de&nici!n de unti"o de objeto.

  • 7/25/2019 Diagramas de en ing. de Software

    31/145

    'artes del diagrama de clases Atributos( describe las caracter)sticas de una

    clase de objetos. *"eraciones( de&ne el com"ortamiento de una

    clase de objetos

    Estereoti"os( ayuda a entender este ti"o deobjeto en el conte+to de otras clases de objetoscon roles similares dentro del dise,o del sistema.

    Asociaci!n( es un t-rmino ormal "ara un ti"o derelaci!n.

    erencia( "ermite organizar las de&niciones de laclase "ara sim"li&car y acilitar suim"lementaci!n.

  • 7/25/2019 Diagramas de en ing. de Software

    32/145

    Clases Las clases son descripciones de un juego de

    objetos con caractersticas, comportamiento,relaciones y semnticas comunes. Se usanpara modelar un juego de conceptos oentidades. Se denotan con un rectngulo con compartimentos. En ellos se ponen el nombre, los atributos, lasoperaciones y adems se pueden usar para anotarotras propiedades del modelo como son (reglas delnegocio, responsabilidades, excepciones, etc.)

    Pueden tener interfaces para especificar conjuntosde operaciones proporcionadas a su ambiente. odaslas operaciones deben estar asociadas a m!todos.

    Pueden tener relaciones de generali"aci#n con otrasclases.

  • 7/25/2019 Diagramas de en ing. de Software

    33/145

    Atributos Son descripciones de caractersticas, se

    usan para modelar informacin asociadacon una entidad, sintaxis:Nombre_atributo[multiplicidad]:Tipo =Valor_inicial

    La multiplicidad es opcional e indica elnmero de atributos por instancia de laclase.

  • 7/25/2019 Diagramas de en ing. de Software

    34/145

    *"eraciones Son descri"ciones del

    com"ortamiento# se usan "ara

    modelar los ser/icios uo"eraciones asociados con unaentidad# esto es# lo $ue una

    entidad "uede 0acer# sinta+is(Nombre1operacin0par)metros/tipo2/6alor1retorno/tipo

  • 7/25/2019 Diagramas de en ing. de Software

    35/145

    Interaces Son clases $ue de&nen un juego de

    o"eraciones e+ternas accesibles"ero sin m-todos. Se usan "ara

    modelar una serie de o"eraciones$ue de&nen un ser/icio $ue "uedeser orecido "or dierentes clases.

    Se re"resentan como clases "erocon el estereoti"o 11interace22.

    Solo contienen o"eraciones "3blicas

  • 7/25/2019 Diagramas de en ing. de Software

    36/145

    4odos los diagramas so"ortan elDiagrama de Clase

    D(a%a!a'e Clase

    D(a%a!a'e Esta'os

    D(a%a!a'e Colabo%ac(&n

    D(a%a!a'e Sec#enc(a

    D(a%a!a'e Objetos

    D(a%a!a'e Act(('a'es

    Casos 'eUso

  • 7/25/2019 Diagramas de en ing. de Software

    37/145

    Modelando Clases La re"resentaci!n de una clase es un

    rectngulo con 5 di/isiones( El del nombre de&ne la clase# 6un ti"o de

    objeto7. El de los atributos contiene la de&nici!n de

    los datos. El de las o"eraciones contiene la de&nici!n

    de cada com"ortamiento so"ortado "oreste ti"o de objeto.

  • 7/25/2019 Diagramas de en ing. de Software

    38/145

    Ejem"loLa siguiente &gura muestra un /uelo de una

    aerol)nea modelado como una clase %ML.

    No!b%e

    At%(b#tos

    O"e%ac(ones

    At%(b#to/ t("o 'e 'ato

    O"e%ac(&n0"a%!et%os/T("o 'e 'ato/alo% 'e%eto%no

  • 7/25/2019 Diagramas de en ing. de Software

    39/145

    Modelando un atributo %n atributo describe una "ieza de

    inormaci!n $ue un objeto tiene o conocede s) mismo. 'ara "oder usar esta

    inormaci!n se debe asignar un nombre yes"eci&car el ti"o de dato. El ti"o de dato "uede ser "rimiti/o o ti"o

    de dato abstracto 6de&nido7 Cada atributo "uede tener reglas $ue

    limiten los /alores asignados a -ste. Se"uede usar un /alor de deault "ara"rotegerlo.

  • 7/25/2019 Diagramas de en ing. de Software

    40/145

    8isibilidad de un atributo ,a de$inici"n de un atributo debe especi$icar

    que otros ob*etos los pueden ver. ,a visibilidadpuede ser+ /ublic 0 permite el acceso a ob*etos de las otras

    clases. /rivate 0- limita el acceso a la clase solo

    operaciones de la clase tienen acceso. /rotected 0 permite el acceso a subclases. En el

    caso de generali(aci"n 0herencia las subclases

    deben tener acceso a los atributos ! operaciones dela superclase sino no pueden heredar. /ac4age 05 permite el acceso a los otros ob*etos en

    el mismo paquete.

  • 7/25/2019 Diagramas de en ing. de Software

    41/145

    Eemplo Especi5cacin de un atributoEle!ento Eje!"lo

    6ombre del atributo co!"a)3a7ipo de dato compaa+c4a%acte%

    8alor de de$ault 0si ha! compaa+character5 es"ac(os

    9estricciones compaa+character : espacios61 a 78

    aracteres compaa+character : espacios;1a 3

  • 7/25/2019 Diagramas de en ing. de Software

    42/145

    Modelando una*"eraci!n

    Los objetos tienen com"ortamientos#cosas $ue "uedan 0acer y $ue se les"uedan dar a -stos.

    Las o"eraciones re$uieren unnombre# argumentos y a /eces un/alor de retorno.

    Las reglas de "ri/acidad se a"licanen la misma orma $ue "ara losatributos( 'ri/ate# 'ublic# 'rotected y

    'ac9age.

  • 7/25/2019 Diagramas de en ing. de Software

    43/145

    Eemplo Especi5cacin de una operacin

    Ele!ento Eje!"lo

    6ombre totalO%'e%A!o#nt=e$inir argumentos>

    /armetros correspondena una instancia de ?rder

    total?rder@mount 0o%'e%/(ntee%

    =e$inir el tipo de dato deretorno

    total?rder@mount 0order+integer +Dolla%

    Adenti$icar ! describirrestricciones

    total?rder@mount 0order+integer +6El total es la s#!a

    'e ca'a (te! 0".#. + cant('a'8isibilidad = total?rder@mount 0order+

    integer +;El total es la suma B.

  • 7/25/2019 Diagramas de en ing. de Software

    44/145

    Diagrama de Clases(Asociaciones

    El prop#sito de la asociaci#npuede expresarse en un nombre,$erbo o frase %ue describa como

    los objetos de un tipo (clase)se relacionan con objetos deotro tipo (clase). Por ejemplo&

    'na persona tieneun coce'na persona manejaun coce ultiplicidad& cuantos objetos$an a participar en la relaci#n

  • 7/25/2019 Diagramas de en ing. de Software

    45/145

    Asociaciones

    Se indica el rol ! la multiplicidad.

    )n vuelo est asociado con un avi"n ! un avi"n

    puede tener asociados ninguno " varios nCmeros

    de vuelo.

  • 7/25/2019 Diagramas de en ing. de Software

    46/145

    'asos "ara el diagrama de clases

    Identi&car las clases. Mostrar los atributos y o"eraciones

    6"osteriormente7 Dibujar asociaciones Eti$uetar asociaciones y en caso

    necesario los roles

    Indicar multi"licidad Dibujar ec0as de direcci!n

  • 7/25/2019 Diagramas de en ing. de Software

    47/145

    Asociaci!n Re:e+i/a %na clase "uede asociarse con s)

    misma. %na clase Em"leado "uederelacionarse con s) misma a tra/-s

    del rol gerente;dirige.

  • 7/25/2019 Diagramas de en ing. de Software

    48/145

    %na instancia de Em"loyee "uede ser el gerente de otrasinstancias de Em"loyee. Como el rol manages tiene unamulti"licidad de =>?# signi&ca $ue "uede no tener otrosem"leados a $uien dirigir.

    %na instancia de Em"loyee tiene @ s!lo gerente ! un solodirector.

  • 7/25/2019 Diagramas de en ing. de Software

    49/145

    Asociaci!n Cuali&cada %n cuali&cador es un atributo de la

    clase en el lado o"uesto de laasociaci!n# $ue "ermite 0acer una

    b3s$ueda en unci!n a su /alor. 'orejem"lo El cliente usa el num*rden"ara buscar una ordenB.

    %n ti"o de objeto usa el cuali&cador"ara accesar el otro ti"o de objeto.cl(ente o%'ennumOrden/int

    i d l i!

  • 7/25/2019 Diagramas de en ing. de Software

    50/145

    Diagrama de Clase( Agregaci!n yCom"osici!n

    Cada agregaci!n es un ti"o de asociaci!n. Cada com"osici!n es una orma de agregaci!n.

    Asoc(ac(&n

    A%eac(&n

    Co!"osc(&n

  • 7/25/2019 Diagramas de en ing. de Software

    51/145

    AGREGACI< ASICA Es un ti"o es"ecial de asociaci!n

    utilizado "ara modelar una relaci!n0ole to its "artsB.

    'or ejem"lo# Coc0e es una entidad0oleB y Llanta es una "arte delCoc0e.

    %na asociaci!n con una agregaci!nindica $ue una clase es "arte de otraclase.

    En este ti"o de asociaci!n# la clase

    0ijo "uede sobre/i/ir sin su clase

  • 7/25/2019 Diagramas de en ing. de Software

    52/145

    Para representar una relacin de agregacin, sedibuja una lnea slida de la clase padre (total) a

    la clase ijo (parte), ! con un diamante en ellado de la clase padre."na llanta puede existir sin autom#il

  • 7/25/2019 Diagramas de en ing. de Software

    53/145

    AGREGACI

  • 7/25/2019 Diagramas de en ing. de Software

    54/145

  • 7/25/2019 Diagramas de en ing. de Software

    55/145

    Generalizaci!n Son asociaciones entre elementos ms generales

    y elementos ms es"ec)&cos# en los cuales -stos3ltimos son consistentes totalmente con los"rimeros# "or lo $ue 0eredan las caracter)sticas

    "ro"orcionadas "or lo elementos generales yadems "ueden aumentar inormaci!n. Este ti"o de relaci!n tambi-n se conoce como

    0erencia. En una generalizaci!n no 0ay multi"licidad ni

    roles. %na 6Asociaci!n de&ne las reglas de c!molos objetos se "ueden relacionar entre ellos.7 La /isibilidad "rotectedB "ermite $ue solo

    objetos de la misma clase ! subclase /ean elelemento.

  • 7/25/2019 Diagramas de en ing. de Software

    56/145

    Elementos de la generalizaci!n

    'ara dibujarla# 0ay $ue de&nir( Su"erclase( es una clase $ue contiene alguna

    combinaci!n de atributos# o"eraciones yasociaciones $ue son comunes a dos o msti"os de objetos $ue com"arten el mismo"ro"!sito.

    Subclase( es una clase $ue contiene unacombinaci!n de atributos# o"eraciones y

    asociaciones $ue son 3nicas a un ti"o de objetode&nido "or una su"erclase.

    La su"erclase es reutilizada "or la subclase.

  • 7/25/2019 Diagramas de en ing. de Software

    57/145

    erencia

    Pe%%o

    Coll(e >o+e% Dal!ata

  • 7/25/2019 Diagramas de en ing. de Software

    58/145

    'a$uetes

    Es un elemento organizador $ue"ro"orciona %ML al di/idir el sistemaen "a$uetes lo 0ace ms cil deentender.

  • 7/25/2019 Diagramas de en ing. de Software

    59/145

    Interaces %na clase tiene una instancia de su ti"o#

    mientras $ue una interace debe tener almenos una clase "ara im"lantarla. En%ML# una interace es considerada comouna es"ecializaci!n de una clase.

    %na interace se dibuja como una clase#"ero en el com"artimento su"erior delrectngulo a"arece un te+to ! una inicial

    $ue indica $ue se trata de una interace yno de una clase.

    %na interace no es una clase.

  • 7/25/2019 Diagramas de en ing. de Software

    60/145

  • 7/25/2019 Diagramas de en ing. de Software

    61/145

    Ejem"lo interaceEn el diagrama anterior las clases 'roessor

    y Student im"lementan a la interace'erson y no 0eredan de -sta# "odemos

    deducirlo a "artir de(@7 El objeto 'erson de acuerdo a lasimbolog)a del diagrama est como unainterace y 'roessor y Student estn como

    clases.F7

  • 7/25/2019 Diagramas de en ing. de Software

    62/145

    Instancias Cuando se modela la estructura de un

    sistema# a /eces es 3til mostrar ejem"losde las instancias de las clases.

    %ML "ro"orciona el elemento instancees"eci&cation# $ue muestra inormaci!nim"ortante utilizando un ejem"lo.

    La notaci!n es la misma $ue la de unaclase# solo $ue en el es"acio su"erior el

    nombre se orma con(nombre de la instancia : nombre de la

    clase

  • 7/25/2019 Diagramas de en ing. de Software

    63/145

    Adems de mostrar las instancias es muy3til mostrar sus relaciones# el ejem"lo

    muestra dos instancias de la clase lig0t#ya $ue el diagrama de clase indica $ue larelaci!n entre la clase 'lane y la claseig0t es = a muc0os(

    l

  • 7/25/2019 Diagramas de en ing. de Software

    64/145

    Roles Se "uede incluir el rol de las clases# el

    siguiente ejem"lo de los roles jugados "orla clase Em"loyee 6de la asociaci!nre:e+i/a7# mostramos $ue la relaci!n esentre un Em"loyee jugando el "a"el degerente y un Em"loyee jugando el rol demiembro del e$ui"o.

    Construyendo el diagrama de

  • 7/25/2019 Diagramas de en ing. de Software

    65/145

    Construyendo el diagrama declase

    @. Identi&car las clases# nombrarlas yde&nirlas con lo $ue sabes $ue son "artedel modelo.

    F. Identi&car# nombrar y de&nir lasasociaciones entre "ares de clases.

    4ener cuidado con clases re:e+i/as#asignar multi"licidad.

    5. E/aluar cada asociaci!n "ara determinar

    si debe ser una agregaci!n y cadaagregaci!n "ara /er si debe ser unacom"osici!n

    H. E/aluar las clases "ara "osible

    generalizaci!n 60erencia7.

  • 7/25/2019 Diagramas de en ing. de Software

    66/145

    CREAD* '*R(

    A%R*RA ME

  • 7/25/2019 Diagramas de en ing. de Software

    67/145

  • 7/25/2019 Diagramas de en ing. de Software

    68/145

    DIAGRAMA DE CLASES

    Jos- Carlos Snc0ez Mart)nez

  • 7/25/2019 Diagramas de en ing. de Software

    69/145

    DEI

  • 7/25/2019 Diagramas de en ing. de Software

    70/145

    ELEME

  • 7/25/2019 Diagramas de en ing. de Software

    71/145

    CLASE

    Es la unidad bsica $ue enca"sula todala inormaci!n de un *bjeto 6un objetoes una instancia de una clase7. A tra/-s

    de ella "odemos Modelar el entorno enestudio. %na clase es re"resentada "orun rectngulo $ue "osee tres

    di/isiones(

  • 7/25/2019 Diagramas de en ing. de Software

    72/145

    A4RI%4*

    Los atributos o caracter)sticas de una Clase "uedenser de tres ti"os# los $ue de&nen el grado decomunicaci!n y /isibilidad de ellos con el entorno#estos son(

    public6K#7( Indica $ue el atributo ser /isible tanto dentrocomo uera de la clase# es decir# es accesesible desde todoslados.

    pri&ate6#7( Indica $ue el atributo s!lo ser accesible desde

    dentro de la clase 6s!lo sus m-todos lo "ueden accesar7. protected6#7( Indica $ue el atributo no ser accesible

    desde uera de la clase# "ero si "odr ser accesado "orm-todos de la clase adems de las subclases $ue sederi/en 6/er 0erencia7.

  • 7/25/2019 Diagramas de en ing. de Software

    73/145

    ME4*D*S

    Los m-todos u o"eraciones de una clase son la orma encomo -sta interact3a con su entorno# -stos "ueden tenerlas caracter)sticas(

    public6K#7( Indica $ue el m-todo ser /isible tanto dentro como

    uera de la clase# es decir# es accsesible desde todos lados. pri&ate6#7( Indica $ue el m-todo s!lo ser accesible desde

    dentro de la clase 6s!lo otros m-todos de la clase lo "uedenaccesar7.

    protected6#7( Indica $ue el m-todo no ser accesible desdeuera de la clase# "ero si "odr ser accesado "or m-todos de laclase adems de m-todos de las subclases $ue se deri/en 6/er0erencia7.

  • 7/25/2019 Diagramas de en ing. de Software

    74/145

    RELACI< E

  • 7/25/2019 Diagramas de en ing. de Software

    75/145

    Cabe destacar $ue no es una relaci!nuerte# es decir# el tiem"o de /ida deun objeto no de"ende del otro.

    DE'E

  • 7/25/2019 Diagramas de en ing. de Software

    76/145

    EJEM'L*

    DIA7RA8A DE

  • 7/25/2019 Diagramas de en ing. de Software

    77/145

    DIA7RA8A DE

    CO89ONENTES!n dia(rama de componenteses un diagrama $i#odel Lengua%e !ni"icado de Modelado&

    !n diagrama de com#onen$es re#resen$a cmo unsis$ema de so"$Pare es di)idido en com#onen$es 1mues$ra las de#endenciasen$re es$os com#onen$es&

    http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modeladohttp://es.wikipedia.org/wiki/Softwarehttp://es.wikipedia.org/wiki/Componentes_de_softwarehttp://es.wikipedia.org/w/index.php?title=Dependencia_(UML)&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Dependencia_(UML)&action=edit&redlink=1http://es.wikipedia.org/wiki/Componentes_de_softwarehttp://es.wikipedia.org/wiki/Softwarehttp://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
  • 7/25/2019 Diagramas de en ing. de Software

    78/145

    Los diagramas de Com#onen$es #re)alecen en el cam#ode la ar'ui$ec$ura de so"$Pare#ero #ueden ser usados #aramodelar 1 documen$ar cual'uier ar'ui$ec$ura de sis$ema&

    Los com"onentes )sicos incluyen arc0i/os#

    cabeceras# bibliotecas com"artidas# m!dulos#ejecutables# o "a$uetes.

    L di d t

    http://es.wikipedia.org/wiki/Arquitectura_de_softwarehttp://es.wikipedia.org/wiki/Archivo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/Biblioteca_(programaci%C3%B3n)http://es.wikipedia.org/wiki/M%C3%B3dulo_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Ejecutablehttp://es.wikipedia.org/wiki/Paquete_de_softwarehttp://es.wikipedia.org/wiki/Paquete_de_softwarehttp://es.wikipedia.org/wiki/Ejecutablehttp://es.wikipedia.org/wiki/M%C3%B3dulo_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Biblioteca_(programaci%C3%B3n)http://es.wikipedia.org/wiki/Archivo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/Arquitectura_de_software
  • 7/25/2019 Diagramas de en ing. de Software

    79/145

    Los diagramas de com"onentesse "ueden clasi&car en(Componentes de desplie(%e: necesarios 1

    su"icien$es #ara "ormar un sis$ema e%ecu$a& 5ore%em#lo8 biblio$ecas din0micas 2dll36 e%ecu$ables

    2e4e3&Componentes prod%ctos de tra)ajo: surgenduran$e el #roceso de desarrollo 1 'ueda al "inal delmismo&5or e%em#lo8 buscarClien$e&%ar6 clien$e&db&

    Componentes de ejec%ci$n8 se crean comoconsecuencia de un sis$ema de e%ecucin 5ore%em#lo8 ob%e$os 'ue se ins$ancian a #ar$ir de una dll&

    8entajas(

  • 7/25/2019 Diagramas de en ing. de Software

    80/145

    8entajas( Re#resen$an as#ec$os "(sicos del sis$ema&

    7e #ueden cons$ruir a #ar$ir del modelo de clases 1escribir desde cero #ara el nue)o sis$ema& 7e #uede im#or$ar de o$ros #ro1ec$os o de #roduc$os

    $erceros&

    Des/entajas( No re#resen$an as#ec$os irrem#la/ables del sis$ema

  • 7/25/2019 Diagramas de en ing. de Software

    81/145

    Conclusi!n5odemos concluir 'ue los diagramas de com#onen$es sonuna +erramien$a mu1 *$il #ara conocer la manera 'ue sedesarrolla el sis$ema #ero inclu1endo sus com#onen$es

    "(sicos 1 es$os a la )e/ relacionados con las clases 'ue nosmues$ran #ro#orcionan una #ers#ec$i)a es$0$ica delsis$ema&

  • 7/25/2019 Diagramas de en ing. de Software

    82/145

    DIA7RA8A DE SEC:ENCIA

    C*

  • 7/25/2019 Diagramas de en ing. de Software

    83/145

    C*

  • 7/25/2019 Diagramas de en ing. de Software

    84/145

    %4ILIDAD

  • 7/25/2019 Diagramas de en ing. de Software

    85/145

    %4ILIDAD

    Muestra la interacci!n de unconjunto de objetos en unaa"licaci!n a tra/-s del tiem"o y se

    modela "ara cada caso de uso.

    Contiene detalles de im"lementaci!n

    del escenario# incluyendo los objetosy clases $ue se usan "araim"lementar el escenario# ymensajes intercambiados entre los

  • 7/25/2019 Diagramas de en ing. de Software

    86/145

    Muestra los objetos $ue inter/ienenen el escenario con l)neasdiscontinuas /erticales# y los

    mensajes "asados entre los objetoscomo :ec0as 0orizontales.

    4I'*S DE ME

  • 7/25/2019 Diagramas de en ing. de Software

    87/145

    4I'*S DE ME

  • 7/25/2019 Diagramas de en ing. de Software

    88/145

    Asincrnicos: terminaninmediatamente# y crean un nue/o0ilo de ejecuci!n dentro de lasecuencia. Se re"resentan con:ec0as con la cabeza abierta.

    4ambi-n se re"resenta la res"uesta aun mensaje con una :ec0adiscontinua.

    9 d d d

  • 7/25/2019 Diagramas de en ing. de Software

    89/145

    9ueden ser usados en dos;ormas/

    De instancia( describe un escenarioes"eci&co 6un escenario es una

    instancia de la ejecuci!n de un casode uso7. Gen-rico( describe la interacci!n

    "ara un caso de usoO %tilizarami&caciones 6Nranc0esN7#condiciones y bucles.

    ES4R%C4%RA

  • 7/25/2019 Diagramas de en ing. de Software

    90/145

    ES4R%C4%RA

    Los mensajes se dibujancronol!gicamente desde la "artesu"erior del diagrama a la "arte

    ineriorO la distribuci!n 0orizontal delos objetos es arbitraria. Durante elanlisis inicial# el modelador

    t)"icamente coloca el nombrebusinessB de un mensaje en la l)neadel mensaje.

  • 7/25/2019 Diagramas de en ing. de Software

    91/145

    Ms tarde# durante el dise,o# el

    nombre businessB es reem"lazadocon el nombre del m-todo $ue estsiendo llamado "or un objeto en el

    otro. El m-todo llamado# o in/ocado#"ertenece a la de&nici!n de la claseinstanciada "or el objeto en larece"ci!n &nal del mensaje.

  • 7/25/2019 Diagramas de en ing. de Software

    92/145

    DIAGRAMA DE *JE4*S

    Los diagramas de obetos

    son utilia :8L.

    S d id i l d

  • 7/25/2019 Diagramas de en ing. de Software

    93/145

    Se puede considerar un caso especial deun diagrama de clases en el "ue se

    muestran instancias espec>5cas de clases*obetos+ en un momento particular delsistema$ Los diagramas de obetosutili

  • 7/25/2019 Diagramas de en ing. de Software

    94/145

    Los diagramas de obetos modelanlas instancias de elementoscontenidos en los diagramas declases$ :n diagrama de obetos

    muestra un conunto de obetos !sus relaciones en un momentoconcreto$

  • 7/25/2019 Diagramas de en ing. de Software

    95/145

    Eemplo En el caso del eemplo se

    tienen como casos de uso dela ca;etera RecibirDinero,9edirA

  • 7/25/2019 Diagramas de en ing. de Software

    96/145

  • 7/25/2019 Diagramas de en ing. de Software

    97/145

    as deActi&ida

    des*scar Rodr)guez

    De&nici!n

  • 7/25/2019 Diagramas de en ing. de Software

    98/145

    De&nici!n

    D Demuestra la serie deacti/idades $ue deben ser

    realizadas en un usocaso#as) como las distintas rutas$ue "ueden irse

    desencadenando en el usocaso.

    %tilidad

  • 7/25/2019 Diagramas de en ing. de Software

    99/145

    %tilidad

    D Es utilizado en conjunci!n de undiagrama usocaso "ara au+iliar alos miembros del e$ui"o de

    desarrollo a entender como esutilizado el sistema y comoreacciona en determinados

    e/entos.D Se "udiera considerar $ue un

    diagrama de acti/idad describe el

    roblema mientras un dia rama

    Com"osici!n

  • 7/25/2019 Diagramas de en ing. de Software

    100/145

    Com"osici!n

    D Inicio( El inicio de un diagrama deacti/idad es re"resentado "or un c)rculode color negro s!lido.

    D Acti&idad ( %na acti/idad re"resenta la

    acci!n $ue ser realizada "or el sistema lacual es re"resentada dentro de un o/alo.

    D Transicin( %na transici!n ocurre cuandose lle/a acabo el cambio de una acti/idada otra# la transici!n es re"resentadasim"lemente "or una l)nea con una :ec0aen su terminaci!n "ara indicar direcci!n.

    Elementos

  • 7/25/2019 Diagramas de en ing. de Software

    101/145

    Elementos

    Elementos

  • 7/25/2019 Diagramas de en ing. de Software

    102/145

    Elementos

    Ejem"lo de

  • 7/25/2019 Diagramas de en ing. de Software

    103/145

    j "diagrama

    de Acti/idad6"ara

    re"resentar eluncionamientodel al$uiler de

    una "el)cula del/ideoclub7

  • 7/25/2019 Diagramas de en ing. de Software

    104/145

    DIA7RA8AS DECASOS DE :SO

  • 7/25/2019 Diagramas de en ing. de Software

    105/145

    I

  • 7/25/2019 Diagramas de en ing. de Software

    106/145

    ME

  • 7/25/2019 Diagramas de en ing. de Software

    107/145

    C*

  • 7/25/2019 Diagramas de en ing. de Software

    108/145

    C*M'*

  • 7/25/2019 Diagramas de en ing. de Software

    109/145

    RELACI*

  • 7/25/2019 Diagramas de en ing. de Software

    110/145

    I

  • 7/25/2019 Diagramas de en ing. de Software

    111/145

    E4E

  • 7/25/2019 Diagramas de en ing. de Software

    112/145

    GE

  • 7/25/2019 Diagramas de en ing. de Software

    113/145

    EJEM'L* DE DIAGRAMA DE CAS*S

    DE %S*(

    El diagrama de laderec0a describe la

    uncionalidad de unSistema Restaurantemuy sim"le. Loscasos de uso estnre"resentados "oreli"ses y los actores

    estn# "or ejem"lo#los casos de uso semuestran como "artedel sistema $ue estsiendo modelado# losactores no.

  • 7/25/2019 Diagramas de en ing. de Software

    114/145

    DIAGRAMAS DE CLASES

    ESE9@,=@ ,A?6 ES)7A@

    ,)E9? @9E6@S F,?9ES

    ?@u es una Clase

  • 7/25/2019 Diagramas de en ing. de Software

    115/145

    Arte;acto de modelado "ueDescribe unconunto de obetos "uecomparten losmismos/ Atributos *conocimiento+ Operaciones

    *responsabilidad+ Relaciones*entrela

  • 7/25/2019 Diagramas de en ing. de Software

    116/145

    % d ag a a declases es un ti"o dediagrama esttico$ue describe la

    estructura de unsistema mostrandosus clases# atributos

    y las relacionesentre ellos.

    Los diagramas de clases son

  • 7/25/2019 Diagramas de en ing. de Software

    117/145

    Los diagramas de clases sonutilizados durante el "roceso

    de anlisis y dise,o de lossistemas# donde se crea eldise,o conce"tual de la

    inormaci!n $ue se manejaren el sistema# y loscom"onentes $ue seencargaran deluncionamiento y la relaci!nentre uno y otro.

    9ara "u usamos un diagrama deClases

  • 7/25/2019 Diagramas de en ing. de Software

    118/145

    Clases

    8odelar losaspectosest)ticos deun sistema

    Reali

  • 7/25/2019 Diagramas de en ing. de Software

    119/145

  • 7/25/2019 Diagramas de en ing. de Software

    120/145

    DMuestra un conjunto de

    elementos $ue son estticos#como las clases y ti"os# juntocon sus contenidos y

    relaciones

    DEs un grao de elementosclasi&cadores conectados "or/arias relaciones estticas

    Relaciones en un diagrama de clases

  • 7/25/2019 Diagramas de en ing. de Software

    121/145

    g

    Los diagramas de clases estn com"uestos "orclases y "or relaciones entre ellas. Lasrelaciones $ue se "ueden usar son(

    Relaci!n de asociaci!n

    %na asociaci!n es una cone+i!n entre clases#una cone+i!n semntica 6enlace7 entre losobjetos de dic0as clases. %n ti"o es"ecial de

    asociaci!n es la relaci!n de agregaci!n.

    Relaci!n de de"endencia

  • 7/25/2019 Diagramas de en ing. de Software

    122/145

    %na de"endencia es una relaci!n entre elementos#

    uno inde"endiente y otro de"endiente. %n cambioen el elemento inde"endiente aectar al elementode"endiente.

    Relaci!n de generalizaci!n

    %na generalizaci!n es una relaci!n entre unelemento ms general y otro ms es"ec)&co. Elelemento ms es"ec)&co "uede contener s!loinormaci!n adicional. %na instancia 6un objeto esuna instancia de una clase7 del elemento ms

    es"ec)&co se "uede usar si el elemento ms generallo "ermite.

  • 7/25/2019 Diagramas de en ing. de Software

    123/145

    D IAG RA M AS D E EM PLAZAM IEN TO

    Jazm)n Santamar)aEs"inoza

  • 7/25/2019 Diagramas de en ing. de Software

    124/145

    Es a$uel $ue muestra las relaciones )sicas entre loscom"onentes de sotare y de 0ardare en el sistema entregado.

    As)# el diagrama de em"lazamiento es un buen sitio "ara mostrar

    c!mo se enrutan 6se re&ere a la selecci!n del camino en una red

    de com"utadoras "or donde se en/)an datos7 y se mue/en los

    com"onentes y los objetos# dentro de un sistema distribuido.

    Cada nodo de un diagrama de em"lazamiento

    re"resenta alguna clase de unidad de c!m"utoO en la

    http://www.alegsa.com.ar/Dic/dato.phphttp://www.alegsa.com.ar/Dic/dato.php
  • 7/25/2019 Diagramas de en ing. de Software

    125/145

    re"resenta alguna clase de unidad de c!m"utoO en la

    mayor)a de los casos se trata de una "ieza de

    0ardare. El 0ardare "uede ser un dis"ositi/o o un

    sensor sim"le# o "uede tratarse de un mainrame

    6Com"utadora grande# "oderosa y costosa utilizada

    "rinci"almente en em"resas $ue necesitan "rocesar

    gran cantidad de datos o so"ortar gran cantidad de

    usuarios.7.

    Los com"onentes en un diagrama de em"lazamientore"resentan m!dulos )sicos de c!digo y corres"onden

    e+actamente a los "a$uetes de un diagrama de

    "a$uetes de tal modo $ue el diagrama de

  • 7/25/2019 Diagramas de en ing. de Software

    126/145

    Las de"endencias entre los com"onentes

    deben ser las mismas $ue las de"endencias

    de "a$uetes. Estas de"endencias muestran

    c!mo se comunican los com"onentes con

    otros com"onentes. La direcci!n de una

    de"endencia dada indica el conocimiento en

    la comunicaci!n.

  • 7/25/2019 Diagramas de en ing. de Software

    127/145

    As)# en el diagrama# la I% de la unidad de0)gado de"ende de la ac0ada de cliente

  • 7/25/2019 Diagramas de en ing. de Software

    128/145

    de unidad de 0)gado# ya $ue llama am-todos es"ec)&cos en la ac0ada. A "esarde $ue la comunicaci!n es en ambasdirecciones# en el sentido de $ue laac0ada de/uel/e datos# la ac0ada nosabe $ui-n la llama y# "or tanto# node"ende de la I% . En la comunicaci!nentre ambos com"onentes del Dominio deatenci!n a la salud# ambos saben $ueestn 0ablando con otro com"onente deDominio de atenci!n a la salud# as) $ue lade"endencia de la comunicaci!n es en dossentidos.

    %n com"onente "uede tener ms de una interaz#en cuyo caso usted "odr /er cules com"onentes

    i d i t E l i @= =@

    http://jms32.eresmas.net/tacticos/UML/UML10/UML1001.htmlhttp://jms32.eresmas.net/tacticos/UML/UML10/UML1001.html
  • 7/25/2019 Diagramas de en ing. de Software

    129/145

    se comunican con cada interaz. En la igura @==@# la 'C contiene dos com"onentes( la I% y la

    ac0ada de la a"licaci!n. La ac0ada de a"licaci!n0abla con la interaz de la a"licaci!n en elser/idor. %n com"onente de con&guraci!nse"arado se ejecuta s!lo en el ser/idor. Laa"licaci!n se comunica con su com"onente localdel Dominio de atenci!n a la salud# el cual# a su/ez# "uede comunicarse con otros com"onentesde Dominios de atenci!n a la salud de la red.

    La utilizaci!n de los com"onentes de di/ersos

    Dominios de atenci!n a la salud est oculta "ara laa"licaci!n. Cada com"onente del Dominio deatenci!n a la salud tiene una base de datos local.

    En la "rctica# no 0e /isto $ue se use muc0oeste ti"o de diagramas La mayor)a de la

    http://jms32.eresmas.net/tacticos/UML/UML10/UML1001.htmlhttp://jms32.eresmas.net/tacticos/UML/UML10/UML1001.html
  • 7/25/2019 Diagramas de en ing. de Software

    130/145

    este ti"o de diagramas. La mayor)a de lagente dibuja diagramas "ara mostrar este

    ti"o de inormaci!n# "ero se trata debocetos inormales. En general# no tengo"roblemas con este ti"o de diagramas# ya$ue cada sistema tiene sus "ro"ias

    caracter)sticas )sicas $ue se $uerrnsubrayar. A medida $ue se tiene $ue lidiarcada /ez ms con los sistemas distribuidos#estoy seguro de $ue se re$uerir mayor

    ormalidad# seg3n se /aya entendiendomejor cules son los asuntos $ue se debenresaltar en los diagramas deem"lazamiento.

    En la "rctica# no 0e /isto $ue se use muc0oeste ti"o de diagramas La mayor)a de la

  • 7/25/2019 Diagramas de en ing. de Software

    131/145

    este ti"o de diagramas. La mayor)a de lagente dibuja diagramas "ara mostrar este

    ti"o de inormaci!n# "ero se trata debocetos inormales. En general# no tengo"roblemas con este ti"o de diagramas# ya$ue cada sistema tiene sus "ro"ias

    caracter)sticas )sicas $ue se $uerrnsubrayar. A medida $ue se tiene $ue lidiarcada /ez ms con los sistemas distribuidos#estoy seguro de $ue se re$uerir mayor

    ormalidad# seg3n se /aya entendiendomejor cules son los asuntos $ue se debenresaltar en los diagramas deem"lazamiento.

    En la "rctica# no 0e /isto $ue se use muc0oeste ti"o de diagramas La mayor)a de la

  • 7/25/2019 Diagramas de en ing. de Software

    132/145

    este ti"o de diagramas. La mayor)a de lagente dibuja diagramas "ara mostrar este

    ti"o de inormaci!n# "ero se trata debocetos inormales. En general# no tengo"roblemas con este ti"o de diagramas# ya$ue cada sistema tiene sus "ro"ias

    caracter)sticas )sicas $ue se $uerrnsubrayar. A medida $ue se tiene $ue lidiarcada /ez ms con los sistemas distribuidos#estoy seguro de $ue se re$uerir mayor

    ormalidad# seg3n se /aya entendiendomejor cules son los asuntos $ue se debenresaltar en los diagramas deem"lazamiento.

    ?@:E ES EL DIA7RA8A

  • 7/25/2019 Diagramas de en ing. de Software

    133/145

    ?@:E ES EL DIA7RA8A

    DE ESTADO es un diagrama utilizado "araidenti&car cada una de las rutas ocaminos $ue "uede tomar un :ujo deinormaci!n luego de ejecutarse cada"roceso.

    8A@:INA DE ESTADO%na MTU%I

  • 7/25/2019 Diagramas de en ing. de Software

    134/145

    %na MTU%I

  • 7/25/2019 Diagramas de en ing. de Software

    135/145

    argumentos se ejecuta cada uno de

    los "rocesos y en $u- momento"odr)an tener una /ariaci!n.

    El diagrama de estados "ermite /isualizar de

  • 7/25/2019 Diagramas de en ing. de Software

    136/145

    El diagrama de estados "ermite /isualizar deuna orma secuencial la ejecuci!n de cada uno

    de los "rocesos.%n Diagrama de Estados muestra la secuenciade estados "or los $ue "asa bien un caso deuso# bien un objeto a lo largo de su /ida# o

    bien todo el sistema. En -l se indican $u-e/entos 0acen $ue se "ase de un estado aotro y cules son las res"uestas y acciones$ue genera.

  • 7/25/2019 Diagramas de en ing. de Software

    137/145

    En cuanto a la re"resentaci!n# un diagrama de

    estados es un grao cuyos nodos son estadosy cuyos arcos dirigidos son transicioneseti$uetadas con los nombres de los e/entos.%n estado se re"resenta como una caja

    redondeada con el nombre del estado en suinterior. %na transici!n se re"resenta comouna :ec0a desde el estado origen al estadodestino.

  • 7/25/2019 Diagramas de en ing. de Software

    138/145

    %n diagrama de estados "uede re"resentar

  • 7/25/2019 Diagramas de en ing. de Software

    139/145

    ciclos continuos o bien una /ida &nita# en la

    $ue 0ay un estado inicial de creaci!n y unestado &nal de destrucci!n 6&nalizaci!n delcaso de uso o destrucci!n del objeto7. El estadoinicial se muestra como un c)rculo s!lido y el

    estado &nal como un c)rculo s!lido rodeado deotro c)rculo. En realidad# los estados inicial y&nal son "seudoestados# "ues un objeto no"uede estarB en esos estados# "ero nos sir/en

    "ara saber cules son las transiciones inicial y&nal6es7.

    ELE8ENTOS DE LOS DIA7RA8AS DE ESTADO

  • 7/25/2019 Diagramas de en ing. de Software

    140/145

    EstadoIdenti&ca un "eriodo de tiem"o del objeto 6no instantneo7 en el

    cual el objeto est es"erando alguna o"eraci!n# tiene cierto estadocaracter)stico o "uede recibir cierto ti"o de est)mulos. Se re"resenta

    mediante un rectngulo con los bordes redondeados# $ue "uedetener tres com"artimientos( uno "ara el nombre# otro "ara el /alorcaracter)stico de los atributos del objeto en ese estado y otro "ara

    las acciones $ue se realizan al entrar# salir o estar en un estado

    6entry# e+it o do# res"ecti/amente7.E&entos

    Es una ocurrencia $ue "uede causar la transici!n de un estado aotro de un objeto. Esta ocurrencia "uede ser una de /arias cosas(

    V Condici!n $ue toma el /alor de /erdadero o alsoV Rece"ci!n de una se,al de otro objeto en el modelo

    V Rece"ci!n de un mensajeV 'aso de cierto "er)odo de tiem"o# des"u-s de entrar al estado o de

    cierta 0ora y ec0a "articularEl nombre de un e/ento tiene alcance dentro del "a$uete en el cual

    est de&nido# no es local a la clase $ue lo nombre.

    En&>o de mensaesAdems de mostrar y transici!n de estados "or medio

  • 7/25/2019 Diagramas de en ing. de Software

    141/145

    y "de e/entos# "uede re"resentarse el momento en el

    cual se en/)an mensajes a otros objetos. Esto serealiza mediante una l)nea "unteada dirigida aldiagrama de estados del objeto rece"tor del mensaje.

    Transicin simple%na transici!n sim"le es una relaci!n entre dos

    estados $ue indica $ue un objeto en el "rimer estado"uede entrar al segundo estado y ejecutar ciertaso"eraciones# cuando un e/ento ocurre y si ciertas

    condiciones son satisec0as. Se re"resenta como unal)nea s!lida entre dos estados# $ue "uede /enir

    acom"a,ada de un te+to con el siguiente ormato(

    e&entsignaturees la descri"ci!n del e/ento $ue dalugar la transici!n# guardcondition son las condiciones

  • 7/25/2019 Diagramas de en ing. de Software

    142/145

    lugar la transici!n# guard condition son las condicionesadicionales al e/ento necesarias "ara $ue la transici!n

    ocurra# actione.pressiones un mensaje al objeto oa otro objeto $ue se ejecuta como resultado de latransici!n y el cambio de estado y sendclause son

    acciones adicionales $ue se ejecutan con el cambio deestado# "or ejem"lo# el en/)o de e/entos a otros

    "a$uetes o clases.Transicin interna

    Es una transici!n $ue "ermanece en el mismo estado#en /ez de in/olucrar dos estados distintos. Re"resentaun e/ento $ue no causa cambio de estado. Se denota

    como una cadena adicional en el com"artimiento deacciones del estado.

    Acciones/'odemos es"eci&car la solicitud de un ser/icio a otro objeto como

  • 7/25/2019 Diagramas de en ing. de Software

    143/145

    consecuencia de la transici!n. Se "uede es"eci&car el ejecutar unaacci!n como consecuencia de entrar# salir# estar en un estado# o "or la

    ocurrencia de un e/ento.7enerali

  • 7/25/2019 Diagramas de en ing. de Software

    144/145

    %n estado "uede descom"onerse en subestados# contransiciones entre ellos y cone+iones al ni/el su"erior.

    Las cone+iones se /en al ni/el inerior como estadosde inicio o &n# los cuales se su"onen conectados a lasentradas y salidas del ni/el inmediatamente su"erior.

    Transaccin Complea%na transici!n com"leja relaciona tres o ms estadosen una transici!n de m3lti"les uentes y;o m3lti"lesdestinos. Re"resenta la subdi/isi!n en t0reads del

    control del objeto o una sincronizaci!n. Se re"resentacomo una l)nea /ertical de la cual salen o entran

    /arias l)neas de transici!n de estado.

    Transicin a estados anidados

  • 7/25/2019 Diagramas de en ing. de Software

    145/145

    Transicin a estados anidados%na transici!n de 0acia un estado com"lejo 6descrito

    mediante estados anidados7 signi&ca la entrada al estadoinicial del subdiagrama. Las transiciones $ue salen del estadocom"lejo se entienden como transiciones desde cada uno de

    los subestados 0acia auera 6a cual$uier ni/el de"roundidad7.

    Transiciones tempori