Transcript
  • 8/12/2019 01 - UML en 24 Horas

    1/60

    Hora 1 - Introduccin a UML

    La finalidad de los diagramas es presentar diversas perspectivas de un sistema, lascuales se conocen como modelo. UML describe lo que har el sistema, pero nocmo lo har.

    Diagrama de clases:las cosas que nos rodean tienen atributos y realizanacciones y estn categorizadas. Estas categoras se llaman clases. Unaclase es una categora o un grupo de cosas que tienen atributos y accionessimilares.

    Los diagramas de clases facilitan las representaciones a partir de las cualeslos desarrolladores podrn traba!ar. " su vez, colaboran con el anlisis,permitiendo hablar con los clientes en su propia terminologa, lo que haceque ellos puedan detallar me!or los problemas a resolver.

    Diagrama de objetos:un ob!eto es una instancia de una clase, tienevalores especficos para los atributos y las acciones. #e diferencia de laclase en que el nombre se subraya. El nombre de la instancia se encuentraa la izquierda de los dos puntos $%& y el nombre de la clase a la derecha.

    Diagrama de casos de uso:un caso de uso es una descripcin de lasacciones de un sistema desde el punto de vista del usuario. 'ermiteobtener los requerimientos del sistema desde el punto de vista del usuario.

    " la figura correspondiente al usuario se lo conoce como actor. La elipserepresenta el caso de uso. El actor, que es quien inicia el caso de uso,puede ser una persona o un sistema.

  • 8/12/2019 01 - UML en 24 Horas

    2/60

    Diagrama de estados:en cualquier momento, un ob!eto se encuentra enun estado particular. El smbolo que est en la parte superior de la figurarepresenta el estado inicial y el de la parte inferior el estado final.

    Diagrama de secuencias:los diagramas de clases y ob!etos presentaninformacin esttica. El diagrama de secuencia muestra la mecnica de lainteraccin con base en el tiempo. El diagrama de secuencia captura lasinteracciones que se realizan a trav(s del tiempo.

  • 8/12/2019 01 - UML en 24 Horas

    3/60

    Diagrama de actividades:las actividades que ocurren dentro de un casode uso o dentro del comportamiento de un ob!eto se dan secuencialmente.

    Diagrama de colaboraciones:los elementos de un sistema traba!an encon!unto para cumplir con los ob!etivos.

    Diagrama de componentes:est ntimamente ligado con el mundo delos sistemas informticos. El desarrollo de soft)are se realiza mediantecomponentes, lo que es importante en los procesos de desarrollo en

    equipo.

    Diagramas de distribucin:muestra la arquitectura fsica de un sistemainformtico, representando los equipos, dispositivos, intercone*iones y elsoft)are que hay en cada mquina.

  • 8/12/2019 01 - UML en 24 Horas

    4/60

    Otras caractersticas:

    a!uetes:permiten mostrar que ciertas clases o componentes son partede un subsistema en particular.

    "otas: son el equivalente grfico de un papel adherente. 'ermitene*plicar me!or alguna parte del diagrama.

    #stereotipos:permiten tomar elementos propios del UML y convertirlosen otros. #e representan con un nombre entre dos pares de mayor y

    menor $++ & y despu(s se los aplica correctamente. E!emplo% interfaz.La interfaz es una clase que tiene operaciones pero no atributos. #onacciones que seguro se usan mucho en el modelo. Entonces, en vez deinventar un nuevo elemento para la interfaz, se usa el smbolo de unaclase con ++-nterfaz situada !usto sobre el nombre de la clase.

    La diversidad de diagramas nos permite tener variados y amplios puntos de vistas ymodelos del sistema, lo que nos beneficia al tener muchas ms perspectivas ypoder abarcar me!or el problema. Los sistemas pueden estar modelados con unsubcon!unto de los diagramas, no hace falta que est(n todos.

  • 8/12/2019 01 - UML en 24 Horas

    5/60

    Hora $ - Orientacin a Objetos

    Es una metodologa basada en componentes donde se genera un sistema medianteun con!unto de ob!etos, el cual luego podremos ampliar y modificar, agregandonuevos componentes. Esto nos permite reutilizar los ob!etos y reducirsustancialmente el tiempo de desarrollo.

    Objeto:es una instancia de una clase. iene una estructura formada por atributosy acciones. Las acciones son actividades que el ob!eto realiza. Las clases sirvencomo plantilla para fabricar ob!etos.

    El propsito de la orientacin a ob!etos es desarrollar soft)are que refle!eparticularmente $que modele& un esquema del mundo.

    "lgunos conceptos%

    %bstraccin:es quitar las propiedades y acciones de un ob!eto parade!ar solo aquellas que son necesarias. /ependiendo del tipo deproblema, requeriremos ms o menos informacin. En cualquier

    caso, lo que tendremos luego de tomar la decisin de lo que seincluir o desechar, ser una abstraccin del problema.

    Herencia:0omo instancia de una clase, un ob!eto tiene todas lascaractersticas de la clase que proviene. 0a!a ob!eto hereda losatributos y operaciones de dicha clase. Un ob!eto no solo hereda deuna clase, sino que una clase tambi(n puede heredar de otra. Estogenera !erarquas de clases con subclases y superclases. 0adasubclase puede ser superclase tambi(n y viceversa.

    olimor&ismo:#e refiere a la posibilidad de acceder a un variadorango de funciones distintas a trav(s del mismo interfaz. Es decir,que una operacin tenga el mismo nombre en diferentes clases y en

    cada caso har algo diferente. 0ada clase 1sabe2 cmo realizar dichaoperacin. ambi(n tenemos la sobrecarga que implica que una

  • 8/12/2019 01 - UML en 24 Horas

    6/60

    misma funcin $mismo nombre& haga distintas cosas seg3n losargumentos que se le pasen o seg3n el ob!eto que la llame.

    El polimorfismo ayuda no slo al programador, sino tambi(n almodelador, quien podr comunicarse con el cliente en sus propiaspalabras, manteniendo una terminologa sin tener que crear palabras

    artificiales para sustentar una unicidad innecesaria en los t(rminos.

    #ncapsulamiento: se refiere a la capacidad de agrupar y condensaren un entorno con lmites bien definidos distintos elementos. Esdecir, cada ob!eto encapsula lo que hace, la funcionalidad interna.Esto permite reducir los errores potenciales, ya que cuando un ob!etofalla y hay que modificarlo, el ocultamiento podra evitarnos tenerque modificar otros ob!etos. 'ese a esto, todos los ob!etos debenpresentar interfaces al mundo e*terior para poder interactuar. Estose logra con el envo de mensa!es, que es cuando un ob!eto enva aotro un mensa!e para realizar una operacin y el receptor la e!ecuta4o con las asociaciones, que son distintos tipos de relaciones que

    tienen entre s los ob!etos. Estas pueden ser%

    Unidireccionales o bidireccionales, dependiendo de qu( tipo derelacin tengan los ob!etos. Una clase se puede asociar conms de una clase distinta.

    La multiplicidad es importante, ya que indica la cantidad deob!etos de una clase que se relacionan con otro ob!eto de laclase asociada.

    %gregacin: Es un tipo de asociacin donde un ob!eto estconstituido por diversos tipos de componentes.

    'omposicin: Es un tipo de agregacin especial, donde elcomponente se considera como tal slo como parte del ob!etocompuesto. Un ob!eto compuesto puede no tener el mismo tiempo devida que sus componentes.

  • 8/12/2019 01 - UML en 24 Horas

    7/60

    Hora ( - Uso de la orientacin a objetos

    Las clases se representan con un rectngulo. El nombre de la misma se escribe conuna palabra con la primera letra en may3scula y se coloca en la parte superior delrectngulo. #i el nombre de la clase tiene 5 palabras, se unen y se inicia cada unacon may3scula.

    El paquete puede !ugar un papel en el nombre de la clase.

    El par de dos puntos $%& separa al nombre del paquete, que est a la izquierda, delnombre de la clase que va a la derecha.

    %tributos: #on propiedades de una clase y describen un rango de valores quedicha propiedad puede contener en los ob!etos. Una clase puede tener varios oning3n atributo. #i el nombre del atributo es una sola palabra, se indica enmin3scula. #i tiene ms de una, cada palabra se une a la anterior y comienza conuna may3scula, a e*cepcin de la primera palabra.

  • 8/12/2019 01 - UML en 24 Horas

    8/60

    odo ob!eto de la clase tiene un valor especfico en cada atributo. El nombre de unob!eto se inicia con una letra min3scula y est precedido de dos puntos que a suvez estn precedidos del nombre de la clase y todo el nombre est subrayado.

    UML da la opcin de indicar informacin adicional de los atributos. #e puedeespecificar un tipo para cada valor del atributo, usando los dos puntos para separarel nombre del atributo de su tipo. ambi(n se puede indicar un valorpredeterminado para el atributo.

    Operaciones: Es algo que la clase puede realizar o que un usuario o sistemapuede hacer a una clase. #u nombre se escribe en min3scula si tiene una solapalabra. #i tiene ms, se unen y se inician todas con may3scula e*cepto la primera.

  • 8/12/2019 01 - UML en 24 Horas

    9/60

    En los par(ntesis que preceden al nombre de la operacin, se pueden mostrar losparmetros con los que funciona, as como el tipo de dato. ambi(n se puedemostrar el tipo de valor que regresa.

    %tributos) operaciones * concepcin

    0uando se diagrama, se coloca ms de una clase a la vez. 'or ello, no siempre es3til que se vean todos los atributos y operaciones, lo cual hara muy saturado aldiagrama. 'or lo tanto podemos mostrar slo el nombre de la clase y de!ar vacaslas reas de atributos u operaciones.

    ambi(n pueden mostrarse solo algunos atributos u operaciones, indicando luegode esa lista tres puntos suspensivos $6&, lo que nos genera una clase abreviada.

  • 8/12/2019 01 - UML en 24 Horas

    10/60

    #i la lista de atributos y operaciones es larga, se pueden usar estereotipos paraorganizarla de manera que sea ms comprensible. Esto se indica con el nombrebordeado por dos pares de mayor y menor $++ &.

    +esponsabilidades * restricciones: 'odemos agregar otra informacin en cadaclase. /eba!o de las operaciones, podemos mostrar la responsabilidadde la clase,es decir, una descripcin de lo que hace, lo que sus atributos y operaciones realizanen con!unto.

    La idea de esto es incluir informacin suficiente para describir una clase de manerainequvoca. ambi(n e*isten las restricciones, que especifican una o varias reglasque sigue la clase. #e indican con un te*to bordeado por llaves.

  • 8/12/2019 01 - UML en 24 Horas

    11/60

    "otas adjuntas: 'or encima y deba!o de los atributos, operaciones,responsabilidades y restricciones, puede agregar mayor informacin a una clase conlas notas ad!untas.

    Estas notas pueden contener imgenes y te*to

    ,u .acen las clases * cmo encontrarlas

    Las clases son el vocabulario y terminologa de un rea del conocimiento.

    En las reuniones con los clientes, prestar atencin a los sustantivos que usan paradescribir las entidades. ambi(n a los verbos, que se convertirn en operaciones.Los atributos surgen como sustantivos relacionados con los nombres de las clases.ambi(n debemos preguntar qu( es lo que cada clase hace dentro del negocio.Estas respuestas nos indicarn la responsabilidad de cada clase.

  • 8/12/2019 01 - UML en 24 Horas

    12/60

    Hora / - Uso de relaciones

    Las relaciones son las cone*iones entre las clases y su representacin.

    %sociaciones:es cuando las clases se conectan entre s de forma conceptual. #erepresenta con una lnea que conecta ambas clases con el nombre de la asociacin

    sobre la lnea. #e debe indicar la direccin de la relacin con un tringulo rellenoque apunte a la direccin apropiada.

    0uando una clase se asocia con otra, cada una de ellas !uega un papel dentro de laasociacin. Estos papeles se representan escribi(ndolos cerca de la lnea que seencuentra !unto a la clase que !uega el papel correspondiente.

    La asociacin puede funcionar en direccin inversa. Esto se representa indicandoambas asociaciones en el diagrama con un tringulo relleno en cada direccin.

    ambi(n varias clases se pueden conectar a una.

    7estricciones en las asociaciones% se indican !unto a la lnea de asociacincolocando la palabra entre llaves.

  • 8/12/2019 01 - UML en 24 Horas

    13/60

    8tro tipo de restriccin es la relacin 8 $8r& en una lnea discontinua que conecta ados lneas de asociacin.

    0lases de asociacin% una asociacin puede tener atributos y operaciones, demanera de ser tratada como una clase estndar. #e usa una lnea discontinua paraconectarla a la lnea de asociacin. Una clase de asociacin puede tenerasociaciones con otras clases.

    9nculos% son instancias de una asociacin. 0onecta dos ob!etos en lugar de dosclases. #e debe subrayar el nombre del vnculo, como se hace en el nombre de unob!eto.

    Multiplicidad:Es la cantidad de ob!etos de una clase que se relacionan con unob!eto de la clase asociada. #e colocan los n3meros sobre la lnea de asociacin

    !unto a la clase correspondiente.

  • 8/12/2019 01 - UML en 24 Horas

    14/60

    ipos de multiplicidad%

    UML usa un asterisco para representar ms y para representar muchos. En unconte*to 8 $8r& se representa por dos puntos como en :..; $uno o ms&. En otroconte*to, 8 $8r& se representa por una coma, como en

  • 8/12/2019 01 - UML en 24 Horas

    15/60

    %sociaciones re&le0ivas: asociacin de una clase consigo misma. Esto puedeocurrir cuando una clase tiene ob!etos que pueden !ugar diversos papeles. #erepresenta mediante una lnea de asociacin que sale y llega a la misma clase ysobre la lnea indicamos papeles, nombre, direccin y multiplicidad.

    Herencia * enerali2acin: #urge del conocimiento que tenemos de unacategora de cosas, de donde deducimos algunas cosas que se pueden transferir aotras categoras.

    Aerencia o generalizacin es cuando una clase $secundaria o subclase& hereda losatributos y operaciones de otra clase $principal o superclase&. La clase principal esms gen(rica que la secundaria.

    /onde quiera que hagamos referencia a la superclase, tambi(n referenciamos a lasubclase, pero no viceversa.

    Una subclase puede ser superclase de otra subclase. En UML la herencia serepresenta con una lnea que conecte la superclase con laBlas subclases. En la partede la lnea que se conecta con la clase principal, se coloca un tringulo sin rellenarque apunte a la misma.

    La relacin que se aplica para la herencia es 1es un tipo de2.

    /escubrimiento de la herencia% Las clases candidatas que descubramos con losclientes pueden incluir tanto las superclases como las subclases. /ebemos darnoscuenta que los atributos y operaciones de una clase son generales y se puedenaplicar a varias clases. ambi(n podemos notar que dos o ms clases tienen ciertosatributos y operaciones en com3n.

  • 8/12/2019 01 - UML en 24 Horas

    16/60

    0lases abstractas% #on clases que no proporcionan ninguna instancia al modelo. Coproveen ob!etos. #e representan con el nombre en cursiva.

    Dependencias:es cuando una clase usa a otra. El uso ms com3n es mostrar quela firma de la operacin de una clase utiliza a otra clase.

    #e representa con una lnea discontinua con una punta de flecha en forma de

    tringulo sin relleno que apunta a la clase de la que depende.

  • 8/12/2019 01 - UML en 24 Horas

    17/60

    Hora 3 - %gregacin) composicin) inter&aces * reali2acin

    %gregacin:es cuando una clase consta de otras clases. Los componentes y laclase que constituyen son una asociacin que conforma un todo. #e representacomo una !erarqua dentro de la clase completa en la parte superior y loscomponentes por deba!o de ella. Una lnea conecta el todo con un componente

    mediante un rombo sin relleno que se coloca en la lnea ms cercana al todo.

    7estricciones% #e puede establecer esta relacin dentro de una relacin 8 $8r&. #eindica la palabra 8 $8r& dentro de llaves con una lnea discontinua que conecte lasdos lneas que conforman al todo.

    'omposicin: es un tipo muy representativo de agregacin, donde cadacomponente dentro de una composicin slo puede pertenecer al todo. #e indicaigual que la agregacin, pero con el rombo relleno.

  • 8/12/2019 01 - UML en 24 Horas

    18/60

    'onte0to: cuando modelamos sistemas y surgen las relaciones anteriores,debemos enfocar la atencin en qu( grupo es y el diagrama de conte*to nos darlas caractersticas del modelo que se requiera para tal fin. Las composicionesfiguran en gran medida dentro de los diagramas de conte*to. Este diagrama escomo un mapa detallado de alguna seccin de un mapa mayor. 'ueden necesitarsevarias secciones para capturar la informacin detallada.

    Este diagrama muestra cmo los componentes estn relacionados entre s. Undiagrama de conte*to de composicin muestra los componentes de una clase comoun diagrama anidado dentro de un enorme rectngulo de clase.

    'ara mostrar el todo de la composicin en el conte*to mayor que lo abarca, hayque ampliar el mbito. Un diagrama de conte*to del sistema lo har por nosotros.#e muestra la forma en que la clase compuesta se conecta con las otras clases.

    #e puede ver de cerca alguna otra clase y presentar sus detalles en otro diagramade conte*to.

  • 8/12/2019 01 - UML en 24 Horas

    19/60

    Inter&aces * reali2aciones: 0uando deseemos contar con alg3n medio paracapturar todas las operaciones reutilizables del modelo, debemos usar una interfaz.La interfaz es la estructura de UML que nos permite hacer esto. Una interfaz es uncon!unto de operaciones que especifica cierto aspecto de la funcionalidad de unaclase y es un con!unto de operaciones que una clase presenta a otras.

    La interfaz puede establecer un subcon!unto de las operaciones de una clase y nonecesariamente todas ellas. 'odemos modelar la interfaz igual que una clase, conun smbolo rectangular. La diferencia es que la interfaz no tiene atributos. Lasmaneras de distinguir una interfaz de una clase que no muestra sus atributos sonusando un estereotipo y especificando la palabra ++interfaz en el rectngulo, ocolocar la letra D- al principio del nombre de una interfaz.

    La relacin entre una clase y una interfaz se conoce como realizacin. Esta relacinse representa con una lnea discontinua con una punta de flecha en forma detringulo sin rellenar que ad!unte y apunte a la interfaz.

    Una clase puede realizar ms de una interfaz y una interfaz puede ser realizada porms de una clase.

    9isibilidad% se aplica a atributos y operaciones de una clase y define en qu( medidaotras clases pueden usarlos $tambi(n aplicado a operaciones de interfaz& Aay tresniveles%

    '3blico% la funcionalidad se e*tiende a otras clases. Usa el smbolo 45 'rotegido% la funcionalidad se otorga solo a las clases que heredan de

    la clase original. Usa el smbolo 65 'rivado% solo la clase original puede usar la funcionalidad. Usa el

    smbolo -5

    La realizacin implica que el nivel p3blico se aplique a cualquier operacin en unainterfaz.

    Fmbito% hay dos tipos%

    /e instancia% cada instancia cuenta con su propio valor en un atributou operacin. Es el mbito ms com3n.

    "rchivado% solo hay un valor del atributo u operacin en todas lasinstancias de clase. "parece con el nombre subrayado. #e usacuando un grupo especfico de instancias tienen que compartir losvalores de un atributo privado.

  • 8/12/2019 01 - UML en 24 Horas

    20/60

    Hora 7 - Introduccin a los casos de uso

    Es importante la visin del usuario, comprender su punto de vista es clave paragenerar sistemas que sean 3tiles y funcionales. Esto implica que cumplan con losrequerimientos y que sea fcil traba!ar con ellos.

    El modelado del sistema desde la perspectiva del usuario es el traba!o de los casosde uso.

    ,u son los casos de uso

    El anlisis del caso de uso permite preguntar cmo se usar el producto o sistemaque se va a comprar, de manera de que se obtenga algo que cumpla con lasnecesidades. Lo importante es saber cules son los requerimientos. La forma enque los usuarios usan el sistema nos da la pauta para dise@ar y crear.

    El caso de uso es una estructura que ayuda al analista a traba!ar con los usuariospara determinar la forma en que se usar un sistema.

    0aso de uso% es una coleccin de situaciones respecto al uso de un sistema. 0adasituacin describe una secuencia de eventos que se inician por una persona,sistema, parte de hard)are o por el paso del tiempo. Las entidades que inician lassecuencias se llaman actores. El resultado de la secuencia es algo utilizable, tantopor el actor que la inici o por otro.

    Importancia de los casos de uso5

    #irven para estimular a que los usuarios hablen de un sistema desde su punto devista. ambi(n involucran a los usuarios en las etapas iniciales del anlisis y dise@odel sistema. Esto aumenta la probabilidad de que el sistema sea de mayor provecho

    para la gente a la que ayudar.Inclusin de los casos de uso

    " veces es com3n distinguir pasos en com3n en las distintas secuencias. 'odemoseliminar esta duplicacin, tomando cada secuencia com3n y conformando un casode uso adicional a partir de ellos.

    0on estos nuevos casos de uso, los casos de los que derivan los incluyen dentro dela secuencia.

    #0tensin de los casos de uso

    Es posible reutilizar un caso de uso de manera distinta a la inclusin. 'odemoscrear un caso de uso agregndole algunos pasos a un caso de uso e*istente. Estenuevo caso de uso es una e*tensin del original.

    Inicio del an8lisis de un caso de uso

    :. Entrevistas a los clientes para armar los diagramas de clase. Esto nos darcierta idea del rea de traba!o y una familiaridad con los t(rminos queusaremos.

    5. Entrevistas a los usuarios para que nos indiquen qu( es lo que ellos harancon el sistema. #us respuestas conformaran el con!unto candidato de casosde uso.

    G. /escribimos brevemente cada caso y derivamos una lista de todos losactores que iniciarn y se beneficiar

  • 8/12/2019 01 - UML en 24 Horas

    21/60

    Los casos de uso aparecern en varias fases del desarrollo y nos ayudarn con eldise@o de una interfaz de usuario, con la programacin y establecern las basespara probar el sistema generado.

  • 8/12/2019 01 - UML en 24 Horas

    22/60

    Hora 9 - Diagramas de casos de uso

    Una de las finalidades del proceso de anlisis es generar una coleccin de casos deuso. La idea es poder catalogar y referenciar dicha coleccin, que es el punto devista del usuario acerca del sistema.

    +epresentacin de un modelo de caso de uso

    Un actor inicia el caso de uso y otro $puede ser el mismo& recibir algo de valor de(l. #e representa con una elipse al caso de uso y una figura agregada al actor. Elque inicia se indica a la izquierda del caso de uso y el que recibe a la derecha. Elnombre del actor aparece deba!o de la figura y el del caso de uso adentro de laelipse o !usto aba!o. Una lnea asociativa conecta al actor con el caso de uso yrepresenta la comunicacin entre ambos.

    >eneficios% los casos de uso muestran los confines del sistema. Heneralmente losactores estn fuera del sistema y los casos de uso adentro. #e usar un rectngulocon el nombre del sistema para representar los confines del mismo. El rectngulo

    envuelve los casos de uso.

    ecuencia de pasos en los escenarios

    0ada caso de uso es una coleccin de escenarios y cada escenario una secuencia de

    pasos. 0ada diagrama tendr su propia pgina, de igual manera, cada escenariotendr su pgina, donde se listar%

    El actor que inicia el caso de uso 0ondiciones previas para el caso de uso 'asos en el escenario 0ondiciones posteriores cuando se finaliza el escenario El actor que se beneficia del caso de uso

    ambi(n podemos enumerar las con!eturas del escenario y una breve descripcinde una sola frase sobre el mismo.

    Escenarios alternativos% 'odemos incluir los mismos de manera separada oconsiderarlos como e*cepciones al primer escenario del caso de uso.

    'oncepcin de las relaciones entre casos de uso

    -nclusin% volver a usar los pasos de un caso de uso dentro de otro. #erepresenta usando el smbolo que usamos para la dependencia entre clases%una lnea discontinua con una punta de flecha que conecta los casos de usoapuntando al caso de uso incluido. #obre la lnea se agrega un estereotipocon la palabra ++incluir. En la notacin de te*to que sigue los pasos dela secuencia, indicamos los casos de uso incluidos.

  • 8/12/2019 01 - UML en 24 Horas

    23/60

    E*tensin% 0rear un caso de uso adicionando pasos a uno e*istente, llamadocaso de uso bsico o base. La e*tensin solo se puede realizar en puntosindicados de manera especfica en la secuencia. Estos puntos se llaman

    puntos de extensin.

    #e representa igual que la inclusin, pero con el estereotipo que muestra++e*tender. /entro del caso de uso bsico, el punto de e*tensin aparecedeba!o del nombre del caso de uso.

    Heneralizacin% Es cuando un caso de uso hereda las acciones y significadodel primario y adems agrega sus propias acciones. #e puede aplicar el casode uso secundario en cualquier lugar donde apliquemos el primario. #erepresenta con una lnea discontinua con una punta de flecha en forma detringulo sin rellenar que apunta al caso de uso primario.

  • 8/12/2019 01 - UML en 24 Horas

    24/60

    Esta relacin puede establecerse entre actores tambi(n.

    "grupamiento% Cos permite organizar y categorizar los casos de uso cuandotenemos, por e!emplo, muchos subsistemas dentro del sistema. La formams directa de organizarlos es agrupar los casos de uso en un paquete.

    Diagramas de casos de uso en el proceso de an8lisis

    Las entrevistas con los usuarios comienzan en la terminologa del dominio, perodeben alternarse con la terminologa del usuario. El resultado inicial contendr losactores y casos de uso de alto nivel que describen los requerimientos funcionalesen t(rminos generales, para definir los confines y el mbito del sistema.

    Las entrevistas posteriores profundizarn estos requerimientos y nos dar porresultado modelos de casos de uso que mostrarn los escenarios y las secuenciasdetalladamente. Esto puede generar nuevos casos de uso que satisfagan lasrelaciones de inclusin y e*tensin. #i no logramos comprender bien el dominio,crearemos demasiados casos de uso con demasiados detalles.

    %plicacin de los modelos de caso de uso

    0omprensin del dominio% Entrevistar al cliente para crear el diagrama declases.

    0omprensin de los usuarios% enfocar a los usuarios para entender los tiposde funcionalidad para crear en el sistema. 'odremos mostrar a los usuariosen una !erarqua de generalizacin.

  • 8/12/2019 01 - UML en 24 Horas

    25/60

    0omprensin de los casos de uso% diagramas de aso de uso de alto nivel.

  • 8/12/2019 01 - UML en 24 Horas

    26/60

    'rofundizacin% #e generan los modelos para cada caso de uso. En base alas entrevistas, indicaremos cuntos pasos se necesitan en casa caso deuso. #e analiza cada caso de uso y se detalla su modelo.

    Dnde estamos

    Elementos estructurales% clases, ob!etos actores, interfaces, casos de usoson elementos estructurales de UML. odos representan partes fsicas oconceptuales de un modelo.

    7elaciones% asociacin, generalizacin, dependencia y realizacin son lasrelaciones en UML $inclusin y e*tensin son tipos de dependencia&. #inrelaciones los modelos seran solo listas. Las relaciones conectan loselementos entre s y conectan los modelos con la realidad.

    "grupamiento% el paquete es el 3nico elemento de agrupamiento en UML.Cos permite organizar los elementos. 'uede contener cualquier tipo deelemento y diferentes tipos tambi(n.

    "notacin% La nota es un elemento que nos permite ad!untar restricciones,comentarios, requerimientos y grficos a los modelos.

    E*tensin% los estereotipos nos permiten e*tender el lengua!e, creandonuevos elementos adems de los e*istentes, para modelar de maneraadecuada la seccin de la realidad que nos ocupa.

  • 8/12/2019 01 - UML en 24 Horas

    27/60

    anorama

  • 8/12/2019 01 - UML en 24 Horas

    28/60

    Hora ; < Diagramas de estados

    "l contrario de los elementos anteriores, veremos ahora los elementos decomportamiento, que muestran la forma en que las partes de un modelo cambiancon el tiempo.

    0onforme el sistema interact3a con los usuarios y otros sistemas, los ob!etos pasanpor cambios necesarios para a!ustarse a esas interacciones.

    ,u es un diagrama de estados

    Es un diagrama que captura los cambios de estado de los ob!etos comoconsecuencia de ciertos sucesos o del paso del tiempo. 'resenta los estados en losque puede estar un ob!eto y las transiciones entre ellos, as como el punto inicial yfinal de una secuencia de cambio de estado. Este diagrama presenta las condicionesde un solo ob!eto, no varios.

    #imbologa% rectngulo de v(rtices redondeados que representa un estado, unalnea continua y una punta de flecha que representan la transicin. La flecha apunta

    al estado siguiente. El crculo relleno simboliza el punto inicial y el crculo con unpunto el final.

    "dicin de detalles al cono de estado% podemos dividir el rectngulo en G. El reasuperior contiene el nombre del estado, que debe aparecer siempre. El rea central,contiene las variables de estado y el rea inferior las actividades.

    Las variables que sirvan de cronmetro o contadores, son 3tiles. Las actividadesconstan de sucesos y acciones. Las ms usadas son entrada% qu( pasa cuando el

    sistema entra al estado, salida% que pasa cuando el sistema sale del estado yhacer% qu( pasa cuando el sistema est en el estado. 'ueden agregarse otros.

  • 8/12/2019 01 - UML en 24 Horas

    29/60

    #ucesos y acciones% se agregan a la lnea de transicin. 'odemos indicar un sucesoque provoca una transicin $la desencadena& y la actividad de cmputo $accin&que se e!ecuta y hace que se modifique el estado. #e representan cerca de la lneade transicin mediante una diagonal para separar un suceso desencadenado de unaaccin.

    Una transicin no desencadenadaes aquella en la cual un evento la causa sin unaaccin asociada o cuando una transicin se da porque un estado finaliza unaactividad.

    La interfaz grfica de usuario $HU-& con la que interactuamos, nos dar e!emplos deestos detalles de transicin, en este y los siguientes captulos. La HU- puedeestablecerse en G estados% Iniciali2acin) operacin * apagar5

    0ondiciones de seguridad% se dan cuando ha pasado cierto tiempo sin que hayainteraccin con el usuario. La HU- hace una transicin del estado 8peracin a otroestado. #e define como una e*presin booleana.

  • 8/12/2019 01 - UML en 24 Horas

    30/60

    ubestados

    0uando un ob!eto est en estado 8peracin, hay muchas cosas que ocurren detrs,aunque no sean evidentes. 'or e!emplo, la HU- espera constantemente que elusuario haga algo. Luego registra tales acciones y modifica lo que se presenta enpantalla. 0on esto, la HU- atraviesa varios cambios mientras est en operacin,estos cambios don de estado y como estn dentro de un estado, se conocen comosubestados. Aay dos tipos%

    #ecuenciales% suceden uno detrs de otro. En el caso de la HU- sera% "la espera de la accin del usuario, registro de la accin, representacinde la accin. Luego de la secuencia la HU- vuelve a 1" la espera deaccin del usuario2.

    0oncurrentes% puede suceder, que adems de la secuencia indicadaarriba, la HU- haga otras cosas $por e!emplo, verificar el cronmetro delsistema y actualizar la aplicacin luego de un tiempo&. "mbas secuenciasson concurrentes entre s. Esto se representa con una lnea discontinuaentre los estados concurrentes.

    El estado Operacin, es un estado compuesto, ya que consta slo de subestados

    secuenciales.

    #stados .istricos

    Un estado compuesto recuerda su subestado activo cuando el ob!eto trasciendefuera del estado compuesto. El smbolo es la letra 1A2 encerrada en un crculoconectada con una lnea continua al subestado por recordar, con una flecha queapunta a dicho subestado.

  • 8/12/2019 01 - UML en 24 Horas

    31/60

    0uando un estado histrico recuerda los subestados en todos los niveles deanidacin, se denominaprofundo.#i slo recuerda el subestado principal, se llamasuperficial. Uno profundo se representa agregando un ; a la 1A2 en el crculo.

    El estado histrico y el inicial, son conocidos como pseudoestados, porque no tienenvariables de estado ni actividades.

    Mensajes * se=ales

    Los ob!etos se comunican mediante envo de mensa!es. En el e!emplo, el sucesoque desencadena es un mensa!e de un ob!eto $usuario& a otro $la HU-&. Un ob!etoque desencadena una transicin se denomina seal. En orientacin a ob!etos,enviar una se@al es igual a crear un ob!eto se@al y transmitirlo al ob!eto receptor. Elob!eto se@al puede tener atributos y se puede crear una !erarqua de herencia [email protected]!u son importantes los diagramas de estados

    'ermiten a los analistas, dise@adores y desarrolladores comprender elcomportamiento de los ob!etos de un sistema. "l comprender esto, se puedeprogramar me!or el soft)are. Estos diagramas nos permiten saber qu( es lo queharn los ob!etos para evitar sorpresas y producir un sistema que cumpla todo lorequerido.

  • 8/12/2019 01 - UML en 24 Horas

    32/60

    Hora > < Diagrama de secuencia

    Muestra la forma en que los ob!etos se comunican entre s al transcurrir el tiempo.

    " diferencia de los diagramas de estados, que se centran en un solo ob!eto, este diagramamuestra la interaccin de varios ob!etos que se realizan en una secuencia establecida, la cualse toma su tiempo en ir del principio al fin.

    ,u es un diagrama de secuencias

    8b!etos% se colocan en la parte superior del diagrama de izquierda a derecha. La e*tensin quehay deba!o de cada ob!eto es una lnea discontinua llamada lnea de vidade un ob!eto. Iuntocon la lnea se encuentra un peque@o rectngulo conocido como activacin que muestra lae!ecucin de una operacin que realiza el ob!eto. La longitud del rectngulo es la duracin dela activacin.

    Mensa!e% va de un ob!eto a otro y pasa de la lnea de vida de uno a la de otro. Un ob!etopuede enviarse un mensa!e a s mismo. 'uede ser%

    simple% transferencia de control de un ob!eto a otro. sincrnico% espera la respuesta a un mensa!e antes de continuar su traba!o. asincrnico% no espera una respuesta antes de continuar.

    iempo% se representa en direccin vertical. #e inicia en la parte superior y avanza hacia laparte inferior. Un mensa!e que est( ms cerca de la parte superior ocurrir antes que uno queest( ms aba!o.

    La UI - La secuencia

    :. La HU- notifica al sist. op. que se oprimi una tecla.5. El sist. op. le notifica a la 0'U.G. El sist. op. actualiza la HU-.

    J. La 0'U notifica a la placa de video.

  • 8/12/2019 01 - UML en 24 Horas

    33/60

    El diagrama de secuencias%

    'odemos mostrar los estados de uno o varios ob!etos en el diagrama. La secuencia se origina y

    finaliza en el estado operativo de la HU-.

    El caso de uso% cuando representamos grficamente las interacciones de un caso de uso, eldiagrama de secuencias delinea el caso de uso dentro del sistema.

  • 8/12/2019 01 - UML en 24 Horas

    34/60

    Instancias * genricos

    /iagrama de secuencias de instancias% se denomina as al diagrama de secuencia que secentra en un escenario $una instancia& del caso de uso.

    /iagrama de secuencias gen(rico% cuando tomamos en cuenta todos los escenarios de un casode uso al momento de crear el diagrama de secuencias. 'odemos generar este diagrama apartir del diagrama de secuencias de instancias. 'ara esto deberemos !ustificar el control deflu!o, es decir, representar las condiciones y consecuencias.

    La condicin en la secuencia se representa con un 1si2 $condicional& entre corchetes, arriba delas flechas. 0ada condicin causa una bifurcacin del control en el mensa!e, que separa elmensa!e en rutinas distintas. 0omo cada ruta va al mismo ob!eto, la bifurcacin causa unaramificacin del control en la lnea de vida del ob!eto receptor y separa las lneas de vida enrutas distintas. En alg3n lugar de la secuencia, las ramas del mensa!e confluyen, como lasbifurcaciones en las lneas de vida.

    Un diagrama de secuencias est implcito en cada caso de uso.

    'reacin de un objeto en la secuencia

    0mo representamos la creacin de un ob!eto en la secuencia de interacciones de ob!etos/e manera usual, con un rectngulo con nombre. La diferencia es que no lo colocar en laparte superior del diagrama, sino !unto con la dimensin vertical, de modo que su ubicacincorresponda al momento en que se cree. El mensa!e que crea al ob!eto se llama 10rear$&2. Lospar(ntesis indican operacin.

    En el caso de 1mientras2, a este control de flu!o se lo representa colocando la condicinmientras entre corchetes con un asterisco antes del primer corchete.

  • 8/12/2019 01 - UML en 24 Horas

    35/60

    'mo representar la recursividad

    #e dibu!a una flecha de mensa!e fuera de la activacin que significa la operacin y un peque@orectngulo sobrepuesto en la activacin. 8tra flecha apunta al rectngulo y otra regresa alob!eto que inici la recursividad.

    anorama

  • 8/12/2019 01 - UML en 24 Horas

    36/60

    Hora 1? - Diagrama de colaboraciones

    Muestran la forma en que los ob!etos colaboran entre s, al igual que el diagrama de secuencia."mbos representan la misma informacin y puede convertirse uno en el otro. Un diagrama decolaboracin destaca el conte*to y organizacin general de los ob!etos que interact3an. Eldiagrama de secuencia se organiza en base al tiempo y el de colaboracin en base al espacio.

    Nu( es un diagrama de colaboracin

    Es una e*tensin de uno de ob!etos. Muestra las relaciones entre ob!etos y los mensa!es quese envan entre s. Evita la multiplicidad.

    Un mensa!e se representa con una flecha cerca de la lnea de asociacin entre 5 ob!etos queapunta al ob!eto receptor. El tipo de mensa!e se muestra en una etiqueta cerca de la flecha. Elmensa!e le indica al ob!eto receptor que e!ecute una de sus operaciones. El mensa!e finalizacon un par de par(ntesis, donde se colocan los parmetros.

    'ara convertir un diagrama de secuencias en uno de colaboraciones o viceversa, agregamosuna cifra a la etiqueta de un mensa!e, que corresponde a la secuencia propia del mensa!e. La

    cifra y el mensa!e que separa mediante dos puntos $%&.

    La UI

    El diagrama inferior muestra la figura agregada que representa al usuario que inicia lasecuencia, aunque la figura no es parte de la simbologa de este diagrama.

  • 8/12/2019 01 - UML en 24 Horas

    37/60

    0ambios de estado% el estado se muestra en el rectngulo del ob!eto. #e agrega otrorectngulo al diagrama que hace las veces de ob!eto e indica el estado modificado. Los dos seconectan con una lnea discontinua y se etiqueta la lnea con el estereotipo ++se torna.

    La anidacinsurge cuando tenemos pasos dentro de un paso del diagrama. 0uando agregamosuna condicin, se agrega una bifurcacin en el control de flu!o. Cumeramos esta bifurcacincomo un mensa!e anidado.

    'reacin de un objeto

    #e muestra agregando un estereotipo ++crear al mensa!e que genera el ob!eto. Usaremosinstrucciones si $if& y mensa!es anidados. ambi(n usaremos un ciclo 1mientras2 $)hile&. 0omo

    en el diagrama anterior, lo representamos entre corchetes y antecedemos al del lado izquierdocon un asterisco.

  • 8/12/2019 01 - UML en 24 Horas

    38/60

    %lgunos conceptos m8s

    9arios ob!etos receptores en una clase% un ob!eto puede enviar mensa!es a varios ob!etos deuna misma clase. Estos ob!etos se representan como una pila de rectngulos que se e*tienden

    1desde atrs2. #e agrega una condicin entre corchetes precedida de un asterisco indicandoque el mensa!e es para todos los ob!etos.

    El orden del mensa!e puede ser importante. Esto se representa con un 1mientras2 cuyacondicin implica orden, !unto al mensa!e y la pila de rectngulos.

    7epresentacin de los resultados% un mensa!e podra ser la peticin a un ob!eto para querealice un clculo y devuelva un valor. Esto se representa escribiendo una e*presin que tengael nombre del valor devuelto a la izquierda seguido de 1%O2, luego del nombre de la operaciny las cantidades con que opera para producir el resultado.

  • 8/12/2019 01 - UML en 24 Horas

    39/60

    8b!etos activos% es un ob!eto que controla el flu!o. Este puede enviar mensa!es a los ob!etospasivos e interactuar con otros ob!etos activos. "l proceso de que dos o ms procesos activoshagan sus tareas al mismo tiempo se conoce como concurrencia. El ob!eto activo se representacon el borde grueso y ms oscuro.

    #incronizacin% es cuando un ob!eto puede enviar un mensa!e slo cuando otros mensa!es hansido enviados. El ob!eto debe sincronizar todos los mensa!es en el orden debido. #e representaantecediendo el mensa!e con una lista de mensa!es que deben completarse antes de que serealice, en vez de la etiqueta num(rica. La lista de mensa!es se separa con una coma y finalizacon una B.

  • 8/12/2019 01 - UML en 24 Horas

    40/60

    anorama

  • 8/12/2019 01 - UML en 24 Horas

    41/60

    Hora 11 < Diagrama de actividades

    Este diagrama muestra los pasos en una operacin o proceso. Es similar a undiagrama de flu!o. Muestra tambi(n puntos de decisin y bifurcacin. Es 3til paramostrar lo que ocurre en un proceso de negocios u operacin.

    ,u es un diagrama de actividades

    Muestra una visin simplificada de lo que ocurre durante una operacin o proceso.Es una e*tensin del diagrama de estados que resalta las actividades intermediasdel mismo.

    0ada actividad se representa por un rectngulo con las esquinas redondeadas $msangosto y ovalado que el rectngulo de estado&. Una flecha representa la transicinde una actividad a otra. #e muestra un punto inicial y uno final.

    /ecisiones, decisiones, decisiones% 0asi siempre una secuencia de actividades llegaa un punto de decisin. #eg3n la condicin se tomar un camino u otro. Esto serepresenta de dos maneras. 8 mostrando las rutas posibles que partendirectamente de una actividad o llevando la transicin a un rombo $elemento deldiagrama de flu!o& y que de all salgan las rutas de decisin.

  • 8/12/2019 01 - UML en 24 Horas

    42/60

    7utas concurrentes% a veces podremos separar una transicin en dos rutas que see!ecutan al mismo tiempo y luego se re3nan. La divisin se representa con unalnea gruesa perpendicular a la transicin y las rutas parten de all. Lareincorporacin se indica con ambas rutas apuntando a otra lnea gruesa.

    -ndicaciones% durante la secuencia de actividades es posible enviar una indicacin,que provoca que se e!ecute una actividad. #u smbolo es un pentgono conve*o yel que la recibe un pentgono cncavo. En UML el pentgono conve*o simboliza elenvo de un evento y el cncavo la recepcin del evento.

  • 8/12/2019 01 - UML en 24 Horas

    43/60

    %plicacin de los diagramas de actividades

    8peracin que calcula la serie de Pibonacci%

  • 8/12/2019 01 - UML en 24 Horas

    44/60

    0reacin de un documento%

    Marcos de responsabilidad

    Un aspecto muy 3til del diagrama es el poder e*pandirse y mostrar qui(n tiene lasresponsabilidades en un proceso. 'ara esto debemos separar el diagrama ensegmentos paralelos, conocidos como marcos de responsabilidad. 0ada marcomuestra el nombre de un responsable en la parte superior y las actividades de cadauno. Las transiciones pueden llevarse a cabo de un marco a otro.

    "ba!o veremos un diagrama sin los marcos y el mismo con los marcos.

  • 8/12/2019 01 - UML en 24 Horas

    45/60

  • 8/12/2019 01 - UML en 24 Horas

    46/60

    Diagramas .bridos

    0ontienen smbolos que normalmente se asocian con otros diagramas.

    /iagrama de actividades dentro de un ob!eto.

    anorama

  • 8/12/2019 01 - UML en 24 Horas

    47/60

    Hora 1$ < Diagrama de componentes

    +epresentan entidades reales: componentes de so&t@are5

    Nu( es un componente

    Es una parte fsica del sistema y se encuentra en la computadora. E!emplo% tabla,archivo de datos, e!ecutable, biblioteca de vnculos dinmicos, documentos, etc. Uncomponente es la personificacin en soft)are de una clase, aunque un componentepuede implementar ms de una clase. Es 3til modelar componentes para que%

    Los clientes pueden ver la estructura del sistema final. Los desarrolladores tengan una estructura para traba!ar en adelante. Los que escriben notas t(cnicas y documenten, sepan de qu( escribirn. Usted se aliste para reutilizar componentes% si podemos crear

    componentes para un sistema y reutilizarlo en otro, me!oraremos lostiempos, la productividad y la competitividad empresarial.

    'omponentes e inter&aces

    "l tratar con componentes, tratamos con sus interfaces. 7efrescamosconocimientos de horas anteriores% algunas clases pueden no estar relacionadascon una clase principal, pero sus acciones pueden incluir operaciones con lasmismas firmas. #e pueden reutilizar estas operaciones de clase en clase. La interfazes, en UML, la que nos permite hacerlo. La interfaz es un con!unto de operacionesque presenta una clase a otra. La relacin entre una clase y su interfaz se llamarealizacin.

    Una interfaz puede ser fsica o conceptual. La interfaz que usa una clase es lamisma que usa su implementacin de soft)are $componente&. 7epresentaremosigual una interfaz para una clase que para un componente. UML no distingue entre

    interfaces fsicas y conceptuales.

    #olo se pueden e!ecutar las operaciones de un componente mediante su interfaz.La relacin entre un componente y su interfaz tambi(n se llama realizacin.

    Un componente puede usar los servicios de otro componente. El que sirve, se diceque provee una interfaz de exportacin, y el que accede, se dice que usa unainterfaz de importacin.

    #ustitucin y reutilizacin% podemos sustituir un componente con otro si el nuevocontiene las mismas interfaces que el anterior. ambi(n podr reutilizar uncomponente en otro sistema si (ste puede acceder al componente reutilizado

    mediante sus interfaces.

    'odremos simplificar la vida del desarrollador que intente sustituir o reutilizar uncomponente si la informacin de su interfaz est disponible como un modelo.

    Aipos de componentes

    /e distribucin% conforman el fundamento de los sistemase!ecutables $dll, e!ecutables, controles active*, !ava beans, etc.&.

    'ara traba!ar en el producto% a partir de los cuales se crean loscomponentes de distribucin $archivos de bd, cdigo, etc.&.

    /e e!ecucin% creados como resultado de un sistema en e!ecucin.

  • 8/12/2019 01 - UML en 24 Horas

    48/60

  • 8/12/2019 01 - UML en 24 Horas

    49/60

    %plicacin de los diagramas de componentes BejemplosC

    'rograma en !ava

    'o)eroys Q )eaRU-

    anorama: el diagrama *a est8 en el panorama de UML

  • 8/12/2019 01 - UML en 24 Horas

    50/60

    Hora 1( < Diagramas de distribucin

    Un dise@o slido de distribucin de hard)are es bsico para el dise@o de unsistema. UML nos da los smbolos para crear una imagen clara de la forma en quedebe lucir el hard)are final.

    ,u es un diagrama de distribucin

    #u elemento primordial es el nodoque designa a cualquier tipo de recurso decmputo. Aay 5 tipos de nodo% el procesador, que e!ecuta un componente, y eldispositivo, que no lo e!ecuta. Un dispositivo tiene contacto de alguna manera conel mundo e*terior.

    El nombre es una cadena de te*to. #i el nodo es parte de un paquete, su nombrepuede contener el nombre del paquete. 'uede dividir al cubo en compartimentosque agreguen informacin.

    8tra forma de indicar los componentes distribuidos es enrelaciones de dependencia con un nodo.

    Una lnea que asocia dos cubos representa una cone*in entre ellos. 'odemos usar

    un estereotipo para dar informacin respecto a dicha cone*in.

  • 8/12/2019 01 - UML en 24 Horas

    51/60

    Es posible utilizar agregacin, dependencia u otras tambi(n. Las representamos dela misma manera que ya se ha visto.

    %plicacin de los diagramas de distribucin

    '0 dom(stica%

  • 8/12/2019 01 - UML en 24 Horas

    52/60

    7ed oRen 7ing%

    hin Ethernet%

  • 8/12/2019 01 - UML en 24 Horas

    53/60

  • 8/12/2019 01 - UML en 24 Horas

    54/60

    Hora 1/ < "ociones de los &undamentos de UML

    #e ve luego de los otros :G captulos, ya que UML es como aprender un idiomae*tran!ero. Lo me!or es sumergirse en el, con lo ya visto y un e!emplo completo, yluego captar las reglas generales, para las cuales ya estaremos preparados.

    #structura de UML

    Los diagramas nos permiten ver el sistema desde diferentes puntos. Sa que hayvarias personas a las que les interesa ver el sistema, debemos ser capaces decomunicar una visin consistente del mismo de diversas formas.

    Lo que veremos ahora es la parte formal de UML para asegurar que los elementosya vistos muestren una idea clara del sistema.

    UML tiene una arquitectura de J capas. "rquitectura hace referencia a una forma deresumir un con!unto de decisiones para organizar un sistema. /ecisiones que seenfocan en los elementos del sistema, es decir, qu( son, qu( hacen, cmo se

    comportan, cmo se relacionan y cmo se combinan.

    0apa de ob!etos del usuario% la vimos cuando seguimos un e!emplo ocuando realizamos un e!ercicio. Es la capa ms especfica, donde elusuario es quien usa UML, no quien usa el sistema.

    0apa de modelado% la vimos cuando vimos las clases. Los primerosestados del anlisis tienen que ver con esta capa% traba!ar con une*perto o un cliente para obtener informacin del dominio y con unusuario para comprender los casos de uso que se tienen que tomar encuenta.

    0apa de metamodelado% la vimos cuando aprendimos conceptos nuevos.Esta capa define el lengua!e para un modelo especfico.

    0apa de metametamodelado% es una forma de definir un lengua!e queespecifique todos los elementos de UML. 'ocas veces el analista trata conesta capa. #e denomina s porque define lo que va en el metamodelado.

  • 8/12/2019 01 - UML en 24 Horas

    55/60

    'apa del metamodelado: cercano * personal

    Esta capa es la base del panorama que ya vimos en los otros captulos. Estformada por G paquetes%

    Pundamentos% 0ontiene J paquetes% C3cleo, elementos au*iliares, tiposde datos y mecanismos de e*tensin.

    C3cleo% define lo que necesita para crear un modelo UML. 0ada uno delos elementos definidos es abstracto, es decir, no se crean instancias deellos o concreto, es decir, s se crean instancias."bstractos% Elemento/eModelo, ElementoHeneralizable y 0lasificador.

    0oncretos% 0lase, -nterfaz, "sociacin y ipo/e/atos.Los elementos concretos se derivan de los abstractos, por lo tantohablamos de clases y herencia. En este caso las denominamosmetaclases. 'or lo tanto un clasificador es una metaclase.

    Elementos au*iliares% define la /ependencia, 0omponentes y Codos,entre otros.

    ipo de /atos% especifica los tipos de datos que UML usa, incluyendo lostipos primitivos y enumeraciones $listan los valores posibles&.

    Mecanismos de E*tensin% especifica cmo puede e*tender a UML eincluye algunas e*tensiones ya hechas.

  • 8/12/2019 01 - UML en 24 Horas

    56/60

    Elementos de comportamiento% consta de J paquetes% colaboraciones,casos de uso, mquinas de estado y comportamiento com3n.

    0omportamiento com3n% proporciona los conceptos de los elementosdinmicos y soporta a los otros paquetes% casos de uso, mquinas deestado y colaboraciones. Estos 1conceptos2 incluyen% #e@a, Enlace y'unto final de asociacin.

    0olaboraciones% abarca ms que los diagramas de colaboracin. "qu,una colaboracin describe la forma en que los clasificadores y susasociaciones traba!an en con!unto para realizar una tarea. Losclasificadores conforman al contextode la colaboracin% las asociacionesconforman la interaccin.

    0asos de uso% detalla los conceptos de los casos de uso $actor, caso deuso, etc.&. "mbos conceptos son clasificadores. El ob!etivo general espoder describir el comportamiento de un sistema sin entrar en detalles.

    Mquinas de estado% da los detalles formales de los conceptos de losdiagramas de estados y de actividad.

    "dministracin de modelos% define al Modelo, Subsistema y Pauete. Lameta de estos elementos es agrupar los !lementos"eModelo de todotipo.

    #0tensin de UML

    'odemos pulir los diagramas con detalles que e*pliquen me!or su significado$estereotipos, restricciones y valores etiquetados&. 'odemos crear una e*tensinsobre la marcha para a@adir al modelo cuestiones e ideas importantes del dominio.

    #stereotipos

    #irven para e*tender un elemento de UML para que sea una instancia de una nuevametaclase y se escriben entre dos pares de mayor y menor $++ &. Esto agregafle*ibilidad, ya que podremos usar un elemento e*istente como base para crearnuevos elementos, que capturen alg3n aspecto propio del dominio de nuestrosistema de una manera que UML no podra hacerlo.

  • 8/12/2019 01 - UML en 24 Horas

    57/60

    Las herramientas de modelado, tienen que almacenar y mane!ar las clases paragenerar cdigo e informes. El mecanismo del estereotipo les permite hacerlo connuestras propias creaciones.

    ipos de estereotipos generados%

    /ependencia% puede tomar la mayor cantidad de estereotipos yacreados. 0ada uno e*tiende una relacin de dependencia entre un origeny un destino.

    ++se convierte en% muestra que el origen y el destino son el mismoob!eto en distintos momentos.++llamar% tiene una operacin como origen y una como destino.++copiar% el destino es una copia e*acta del origen.++derivar% el origen se deriva en el destino.++reunir o ++friend% el origen tiene acceso al destino sinimportar la visibilidad.++e*tender% los comportamientos del caso de uso de destino se

    agregan al de origen.++usar% algunos casos de uso tienen cierto comportamiento encom3n. Esto permite usar dicho comportamiento sin repetirlo una y otravez.++importar% agrega el contenido del destino al espacio de nombresdel origen.++instancia% el origen es una instancia del destino, que siempre esun clasificador. Es una dependencia de ++metadestino% tanto eldestino como el origen son clasificadores y el destino la metaclase deorigen.++enviar% el origen es una operacin y el destino una se@al.

    0lasificador% Los estereotipos e*tienden a los clasificadores de variasmaneras.

    ++metaclase% el clasificador al que est ad!unto es una metaclase deotra clase.++tipodeautoridad% un clasificador tiene ob!etos que provienen de unantecesor en particular. ambi(n se usa en una dependencia paramostrar que el destino es un tipo de potestad del origen.++proceso y ++subproceso% indican que su clasificador es unaclase activa, es decir, sus ob!etos pueden iniciar la actividad de control.+utilera% es una coleccin titulada de atributos y operaciones que noson miembros de tal clasificador% un clasificador que no tiene instancias.++estereotipo% el clasificador funciona como un estereotipo y permitemodelar !erarquas de estereotipos.

    0lase% son ms especficos que en los clasificadores.

    ++tipo% es una clase que establece un dominio de ob!etos !unto consus atributos, operaciones y asociaciones. Co contiene m(todos$algoritmos e!ecutables&.++clase/e-mplementacion% es lo contrario a ++tipo. 7epresentala implementacin de una clase en un lengua!e de programacin.

    Heneralizacin% relacin entre clasificadores con su propio con!unto deestereotipos.

  • 8/12/2019 01 - UML en 24 Horas

    58/60

    ++heredar% las instancias del subtipo no pueden sustituirse porinstancias del supertipo.++subclase% las instancias de la subclase no son sustituible por lasinstancias de la superclase.++privado% herencia e*clusiva, oculta los atributos heredados yoperaciones de una clase a sus ancestros.

    'aquete% son estereotipos directos.

    ++fachada% es un paquete que contiene referencias a elementos deotros paquetes y no tiene elementos propios.++sistema% es una coleccin de modelos de un sistema.++cabo% es un paquete que proporciona solo las partes p3blicas deotro paquete.

    Un paquete puede incluir patrones. Un patrn es un tipo de colaboracinentre los elementos que ha probado su efectividad en diversassituaciones. ++marco/eraba!o es un paquete estereotipado que

    solo contiene patrones.

    Sa que los paquetes pueden tener otros paquetes adentro, nos sirvetener un estereotipo que indique cul paquete est en el nivel superior.Este es el ++paquete/eCivel#uperior.

    0omponente% son muy directos. 'odemos mostrar que un componente esun documento, un e!ecutable, un archivo, una tabla de datos o unabiblioteca. Los estereotipos son ++documento, ++e!ecutable,++archivo, ++tabla y ++biblioteca.

    "lgunos otros estereotipos% un comentario que aparece en una nota

    ad!unta puede tener un estereotipo ++requerimiento que indica queel comentario establece un requisito para el elemento ad!unto.

    /entro de una clase una operacin puede crear o destruir una instancia.ales caractersticas se indican mediante ++crear y ++destruir.

    Las restricciones tambi(n funcionan con estereotipos.++condicion'revia o ++condicion'osterior se usan para indicar

    !ustamente las condiciones de una operacin. " veces podremos ad!untaruna restriccin a un con!unto de clasificadores o relaciones ynecesitaremos indicar que las condiciones de la restriccin debern tenertodos los clasificadores, relaciones e instancias. 'ara esto usamos++invariable.

    Estereotipos grficos% por e!emplo, figuras de procesadores o dispositivosque reemplacen a los cubos de un diagrama de distribucin.

  • 8/12/2019 01 - UML en 24 Horas

    59/60

    +estricciones

    #e encuentran entre llaves. -ndican condiciones para las asociaciones, e*tremos devnculos, generalizaciones y peticiones $transmisin de se@ales o llamadas aoperaciones&.

    La restriccin To se aplica a un con!unto de asociaciones y muestra que solo una

    puede usarse. 8tra restriccin basada en asociaciones, Timplcito, indica que unaasociacin es conceptual.

    Los e*tremos de vnculos que son puntos finales de vnculos entre ob!etos, puedencontener muchas restricciones. 0ada una indica el porqu( el ob!eto en el e*tremodel vnculo es visible%

    Tparmetro% muestra que el ob!eto es un valor necesario relativo al vnculo.Tpropio% indica que el ob!eto es el despachador de una peticin.Tglobal y Tlocal% indican el mbito de un ob!eto respecto al vnculo.Tasociacin% denota que el ob!eto es visible por su coalicin.

    Un con!unto de generalizaciones puede ser%Tcompleto% todos su subtipos han sido especificados.Tincompleto% a3n pueden agregarse subtipos.Ttraslapado% ms de un subtipo puede funcionar como un tipo de instancia.Tdesarticulado% slo un subtipo puede ser un tipo de instancia, lo que espredeterminado en la generalizacin.

    #i una peticin se enva a diversas instancias de destino, en un orden noespecificado, es una Tdifusin. #i varias instancias devuelven valores y la mayorade los mismos determinan un solo valor, la restriccin ser un Tvoto.

    9alores etiquetados

    #e escriben entre llaves. Es una etiuetaun O y un valor.

  • 8/12/2019 01 - UML en 24 Horas

    60/60

    #on adecuados para los clasificadores, componentes, atributos, instancias yoperaciones. Una etiqueta Tdocumentacin O se aplica a cualquier elemento ydebemos indicar una descripcin, e*plicacin o comentario respecto del elemento alque ad!untamos el valor etiquetado.

    Tubicacin O % para un clasificador, proporcionamos de cual es parte. 'ara un

    componente, indicar el nodo donde se encuentra.

    Tpersistencia O % puede ir en un atributo, clasificador o instancia. -ndicapermanencia del estado del elemento al que lo hemos ad!untado. 9alores%permanente $el estado persiste cuando la instancia se destruye& y transitorio $elestado se destruye con la instancia&.

    Tsemntica O % especifica el significado de un clasificador o una operacin.

    Tresponsabilidad O % es una obligacin de un clasificador.


Top Related