introducción al lenguaje unificado de modelado

Upload: joel234

Post on 06-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    1/15

    Introducción al lenguajeunifcado de modelado, UMLUML es un lenguaje estándar que sirve para escribir los planos del software ,puede utilizarse para visualizar, especifcar, construir y documentar todos losarte actos que componen un sistema con gran cantidad de so tware. UMLpuede usarse para modelar desde sistemas de in ormaci n !asta aplicacionesdistribuidas basadas en "eb, pasando por sistemas empotrados de tiemporeal. UML es solamente un lenguaje por lo que es s lo una parte de un m#todode desarrollo so tware, es independiente del proceso aunque para que seaoptimo debe usarse en un proceso dirigido por casos de uso, centrado en laarquitectura, iterativo e incremental.UML es un lenguaje por que proporciona un vocabulario y las reglas parautilizarlo, además es un lenguaje de modelado lo que signifca que elvocabulario y las reglas se utilizan para la representaci n conceptual y $sicadel sistema.UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediantegráfcos o mediante te%to obteniendo modelos e%pl$citos que ayudan a lacomunicaci n durante el desarrollo ya que al ser estándar, los modelos podránser interpretados por personas que no participaron en su dise&o 'e incluso por!erramientas( sin ninguna ambig)edad. *n este conte%to, UML sirve paraespeci car , modelos concretos, no ambiguos y completos.+ebido a su estandarizaci n y su defnici n completa no ambigua, y aunque nosea un lenguaje de programaci n, UML se puede conectar de manera directa a

    lenguajes de programaci n como ava, - o /isual 0asic, estacorrespondencia permite lo que se denomina como ingenier$a directa 'obtenerel c digo uente partiendo de los modelos( pero además es posible reconstruirun modelo en UML partiendo de la implementaci n, o sea, la ingenier$a inversa.

    UML proporciona la capacidad de modelar actividades de planifcaci n deproyectos y de sus versiones, e%presar requisitos y las pruebas sobre elsistema, representar todos sus detalles as$ como la propia arquitectura.Mediante estas capacidades se obtiene una documentaci n que es validadurante todo el ciclo de vida de un proyecto.

    Vista general de UML1ara conocer la estructura de UML, en la fgura 2 vemos una vista general detodos sus componentes, esto !ará que nos resulte más ácil la comprensi n decada uno de ellos.*l lenguaje UML se compone de tres elementos básicos, los bloques deconstrucci n, las reglas y algunos mecanismos comunes. *stos elementos

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    2/15

    interaccionan entre s$ para dar a UML el carácter de completitud y no3ambig)edad que antes comentábamos.Los bloques de construcción se dividen en tres partes4 Elementos , que sonlas abstracciones de primer nivel, Relaciones , que unen a los elementos entres$, y los Diagramas , que son agrupaciones interesantes de elementos.

    *%isten cuatro tipos de elementos en UML, dependiendo del uso que se !agade ellos4 elementos estructurales , elementos de comportamiento, elementosde agrupación y elementos de anotación. Las relaciones, a su vez se dividenpara abarcar las posibles interacciones entre elementos que se nos puedenpresentar a la !ora de modelar usando UML, estas son4 relaciones dedependencia, relaciones de asociación, relaciones de generalización yrelaciones de realización.5e utilizan di erentes diagramas dependiendo de qu#, nos interese representaren cada momento, para dar di erentes perspectivas de un mismo problema,para ajustar el nivel de detalle..., por esta raz n UML soporta un gran numerode diagramas di erentes aunque, en la practica, s lo se utilicen un peque&on6mero de combinaciones.

    UML proporciona un conjunto de reglas que dictan las pautas a la !ora derealizar asociaciones entre objetos para poder obtener modelos bien ormados,estas son reglas semánticas que a ectan a los nombres , al alcance de dic!osnombres, a la visibilidad de estos nombres por otros, a la integridad de unoselementos con otros y a la ejecución , o sea la vista dinámica del sistema.UML proporciona una serie de mecanismos comunes que sirven para que cadapersona o entidad adapte el lenguaje a sus necesidades, pero dentro de unmarco ordenado y siguiendo unas ciertas reglas para que en el tras ondo de la

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    3/15

    adaptaci n no se pierda la semántica propia de UML. +entro de estosmecanismos están las especifcaciones , que proporcionan la e%plicaci nte%tual de la sinta%is y semántica de los bloques de construcci n. 7tromecanismo es el de los adornos que sirven para con erir a los modelos demás semántica, los adornos son elementos secundarios ya que proporcionan

    más nivel de detalle, que quizá en un primer momento no sea convenientedescubrir. Las divisiones comunes permiten que los modelos se dividan almenos en un par de ormas di erentes para acilitar la comprensi n desdedistintos puntos de vista, en primer lugar tenemos la divisi n entre clase yobjeto 'clase es una abstracci n y objeto es una mani estaci n de esaabstracci n(, en segundo lugar tenemos la divisi n inter az 8 implementaci ndonde la inter az presenta un contrato 'algo que se va a cumplir de unadeterminada manera( mientras que la implementaci n es la manera en que secumple dic!o contrato. 1or ultimo, los mecanismos de e tensibilidad queUML proporciona sirven para evitar posibles problemas que puedan surgirdebido a la necesidad de poder representar ciertos matices, por esta raz nUML incluye los estereotipos , para poder e%tender el vocabulario con nuevosbloques de construcci n, los valores etiquetados , para e%tender laspropiedades un bloque, y las restricciones , para e%tender la semántica.+e esta manera UML es un lenguaje estándar “abierto-cerrado” siendo posiblee%tender el lenguaje de manera controlada.

    !loques de construcción de UML9 continuaci n se van a describir todos los elementos que componen losbloques estructurales deUML, as$ como su notaci n, para que nos sirva de introducci n y se vaya

    generando un esquema conceptual sobre UML. *n temas sucesivos se tratarácon más pro undidad cada uno de los bloques.

    Elementos EstructuralesLos elementos estructurales en UML, es su mayor$a, son las partes estáticas delmodelo y representan cosas que son conceptuales o materiales.

    "lasesUna clase es una descripci n de un conjunto de objetos que comparten losmismos atributos, operaciones, relaciones y semántica. Una clase implementauna o más inter aces. :ráfcamente se representa como un rectángulo queincluye su nombre, sus atributos y sus operaciones 'fgura 2(.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    4/15

    Inter#a$Una inter az es una colecci n de operaciones que especifcan un servicio deuna determinada clase o componente. Una inter az describe el

    comportamiento visible e%ternamente de ese elemento, puede mostrar elcomportamiento completo o s lo una parte del mismo. Una inter az describeun conjunto de especifcaciones de operaciones 'o sea su signatura( peronunca su implementaci n. 5e representa con un c$rculo, como podemos ver enla fgura ;, y rara vez se encuentra aislada sino que más bien conectada a laclase o componente que realiza.

    "olaboración+efne una interacci n y es una sociedad de roles y otros elementos quecolaboran para proporcionar un comportamiento cooperativo mayor que lasuma de los comportamientos de sus elementos. Las colaboraciones tienenuna dimensi n tanto estructural como de comportamiento. Una misma clasepuede participar en di erentes colaboraciones. Las colaboraciones representanla implementaci n de patrones que orman un sistema. 5e representamediante una elipse con borde discontinuo, como en la fgura

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    5/15

    Un caso de uso es la descripci n de un conjunto de acciones que un sistemaejecuta y que produce un determinado resultado que es de inter#s para unactor particular. Un caso de uso se utiliza para organizar los aspectos delcomportamiento en un modelo. Un caso de uso es realizado por unacolaboraci n. 5e representa como en la fgura =, una elipse con borde continuo.

    "lase %ctiva*s una clase cuyos objetos tienen uno o más procesos o !ilos de ejecuci n porlo y tanto pueden dar lugar a actividades de control. Una clase activa es igual

    que una clase, e%cepto que sus objetos representan elementos cuyocomportamiento es concurrente con otros elementos. 5e representa igual queuna clase 'fgura 2(, pero con l$neas más gruesas 'fgura >(.

    "omponentesUn componente es una parte $sica y reemplazable de un sistema que con ormacon un conjunto de inter aces y proporciona la implementaci n de dic!oconjunto. Un componente representa t$picamente el empaquetamiento $sicode di erentes elementos l gicos, como clases, inter aces y colaboraciones.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    6/15

    &odosUn nodo es un elemento $sico que e%iste en tiempo de ejecuci n y representaun recurso computacional que, por lo general, dispone de algo de memoria y,

    con recuencia, de capacidad de procesamiento. Un conjunto de componentespuede residir en un nodo.

    *stos siete elementos vistos son los elementos estructurales básicos que sepueden incluir en un modelo UML. *%isten variaciones sobre estos elementosbásicos, tales como actores, se&ales, utilidades 'tipos de clases(, procesos e!ilos 'tipos de clases activas( y aplicaciones, documentos, arc!ivos, bibliotecas,páginas y tablas 'tipos de componentes(.

    Elementos de comportamientoLos elementos de comportamiento son las partes dinámicas de un modelo. 5epodr$a decir que son los verbos de un modelo y representan el comportamientoen el tiempo y en el espacio. Los principales elementos son los dos que siguen.

    Interacción*s un comportamiento que comprende un conjunto de mensajesintercambiados entre un conjunto de objetos, dentro de un conte%to particularpara conseguir un prop sito espec$fco. Una interacci n involucra otros muc!oselementos, incluyendo mensajes, secuencias de acci n 'comportamiento

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    7/15

    invocado por un objeto( y enlaces 'cone%iones entre objetos(. Larepresentaci n de un mensaje es una ?ec!a dirigida que normalmente con elnombre de la operaci n.

    Maquinas de estados*s un comportamiento que especifca las secuencias de estados por las quevan pasando los objetos o las interacciones durante su vida en respuesta aeventos, junto con las respuestas a esos eventos. Una maquina de estadosinvolucra otros elementos como son estados, transiciones '?ujo de un estado a

    otro(, eventos 'que disparan una transici n( y actividades 'respuesta de unatransici n(

    Elementos de agrupación@orman la parte organizativa de los modelos UML. *l principal elemento deagrupaci n es el paquete , que es un mecanismo de prop sito general paraorganizar elementos en grupos. Los elementos estructurales, los elementos decomportamiento, incluso los propios elementos de agrupaci n se puedenincluir en un paquete.Un paquete es puramente conceptual 's lo e%iste en tiempo de desarrollo(.:ráfcamente se representa como una carpeta conteniendo normalmente sunombre y, a veces, su contenido.

    Elementos de anotación

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    8/15

    Los elementos de anotaci n son las partes e%plicativas de los modelos UML.5on comentarios que se pueden aplicar para describir, clasifcar y !acerobservaciones sobre cualquier elemento de un modelo.*l tipo principal de anotaci n es la nota que simplemente es un s$mbolo paramostrar restricciones y comentarios junto a un elemento o un conjunto de

    elementos.

    Relaciones*%isten cuatro tipos de relaciones entre los elementos de un modelo UML.Dependencia , asociación , generalización y realización , estas se describen acontinuaci n4

    Dependencia*s una relaci n semántica entre dos elementos en la cual un cambio a unelemento 'el elemento independiente( puede a ectar a la semántica del otroelemento 'elemento dependiente(. 5e representa como una l$nea discontinua'fgura A;(, posiblemente dirigida, que a veces incluye una etiqueta.

    %sociación*s una relaci n estructural que describe un conjunto de enlaces, los cuales soncone%iones entre objetos. La agregaci n es un tipo especial de asociaci n y

    representa una relaci n estructural entre un todo y sus partes. La asociaci n serepresenta con una l$nea continua, posiblemente dirigida, que a veces incluyeuna etiqueta. 9 menudo se incluyen otros adornos para indicar la multiplicidady roles de los objetos involucrados, como podemos ver en la fgura A

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    9/15

    'enerali$ación*s una relaci n de especializaci n 8 generalizaci n en la cual los objetos delelemento especializado 'el !ijo( pueden sustituir a los objetos del elementogeneral 'el padre(. +e esta orma, el !ijo comparte la estructura y elcomportamiento del padre. :ráfcamente, la generalizaci n se representa conuna l$nea con punta de ?ec!a vac$a 'fgura A=(.

    Reali$ación*s una relaci n semántica entre clasifcadores, donde un clasifcador especifcaun contrato que otro clasifcador garantiza que cumplirá. 5e pueden encontrarrelaciones de realizaci n en dos sitios4 entre inter aces y las clases ycomponentes que las realizan, y entre los casos de uso y las colaboracionesque los realizan. La realizaci n se representa como una mezcla entre lageneralizaci n 'fgura A=( y la dependencia 'fgura A;(, esto es, una l$neadiscontinua con una punta de ?ec!a vac$a 'fgura A>(.

    DiagramasLos diagramas se utilizan para representar di erentes perspectivas de unsistema de orma que un diagrama es una proyecci n del mismo. UMLproporciona un amplio conjunto de diagramas que normalmente se usan en

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    10/15

    peque&os subconjuntos para poder representar las cinco vistas principales dela arquitectura de un sistema.

    Diagramas de "lasesMuestran un conjunto de clases, inter aces y colaboraciones, as$ como susrelaciones. *stos diagramas son los más comunes en el modelado de sistemasorientados a objetos y cubren la vista de dise&o estática o la vista de procesosestática 's$ incluyen clases activas(.

    Diagramas de (bjetosMuestran un conjunto de objetos y sus relaciones, son como otos instantáneasde los diagramas de clases y cubren la vista de dise&o estática o la vista deprocesos estática desde la perspectiva de casos reales o protot$picos.

    Diagramas de "asos de UsosMuestran un conjunto de casos de uso y actores 'tipo especial de clases( y susrelaciones. -ubren la vista estática de los casos de uso y son especialmenteimportantes para el modelado y organizaci n del comportamiento.

    Diagramas de )ecuencia * de "olaboración Banto los diagramas de secuencia como los diagramas de colaboraci n son untipo de diagramas de interacci n. -onstan de un conjunto de objetos y susrelaciones, incluyendo los mensajes que se pueden enviar unos objetos a otros.-ubren la vista dinámica del sistema. Los diagramas de secuencia en atizan el

    ordenamiento temporal de los mensajes mientras que los diagramas decolaboraci n muestran la organizaci n estructural de los objetos que env$an yreciben mensajes. Los diagramas de secuencia se pueden convertir endiagramas de colaboraci n sin p#rdida de in ormaci n, lo mismo ocurren ensentido opuesto.

    Diagramas de EstadosMuestran una maquina de estados compuesta por estados, transiciones,eventos y actividades. *stos diagramas cubren la vista dinámica de un sistemay son muy importantes a la !ora de modelar el comportamiento de unainter az, clase o colaboraci n.

    Diagramas de %ctividades5on un tipo especial de diagramas de estados que se centra en mostrar el ?ujode actividades dentro de un sistema. Los diagramas de actividades cubren laparte dinámica de un sistema y se utilizan para modelar el uncionamiento deun sistema resaltando el ?ujo de control entre objetos.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    11/15

    Diagramas de "omponentesMuestra la organizaci n y las dependencias entre un conjunto de componentes.-ubren la vista de la implementaci n estática y se relacionan con losdiagramas de clases ya que en un componente suele tener una o más clases,inter aces o colaboraciones

    Diagramas de DespliegueCepresentan la confguraci n de los nodos de procesamiento en tiempo deejecuci n y los componentes que residen en ellos. Muestran la vista dedespliegue estática de una arquitectura y se relacionan con los componentesya que, por lo com6n, los nodos contienen uno o más componentes.

    %rquitectura*l desarrollo de un sistema con gran cantidad de so tware requiere que estesea visto desde di erentes perspectivas. +i erentes usuarios 'usuario fnal,analistas, desarrolladores, integradores, je es de proyecto...( siguen di erentesactividades en di erentes momentos del ciclo de vida del proyecto, lo que dalugar a las di erentes vistas del proyecto, dependiendo de qu# interese más encada instante de tiempo.La arquitectura es el conjunto de decisiones signifcativas sobre4D La organizaci n del sistema

    D 5elecci n de elementos estructurales y sus inter aces a trav#s de los cualesse constituye el sistema.D *l -omportamiento, como se especifca las colaboraciones entre esoscomponentes.D -omposici n de los elementos estructurales y de comportamiento ensubsistemas progresivamente más grandes.D *l estilo arquitect nico que gu$a esta organizaci n4 elementos estáticos ydinámicos y sus inter aces, sus colaboraciones y su composici n.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    12/15

    La una arquitectura que no debe centrarse 6nicamente en la estructura y en elcomportamiento, sino que abarque temas como el uso, uncionalidad,rendimiento, capacidad de adaptaci n, reutilizaci n, capacidad para sercomprendida, restricciones, compromisos entre alternativas, as$ como aspectosest#ticos. 1ara ello se sugiere una arquitectura que permita describir mejor lossistemas desde di erentes vistas, fgura AE, donde cada una de ellas es unaproyecci n de la organizaci n y la estructura centrada en un aspecto particulardel sistema.

    La vista de casos de uso comprende la descripci n del comportamiento delsistema tal y como es percibido por los usuarios fnales, analistas y encargadosde las pruebas y se utilizan los diagramas de casos de uso para capturar losaspectos estáticos mientras que los dinámicos son representados pordiagramas de interacci n, estados y actividades.La vista de dise o comprende las clases, inter aces y colaboraciones que

    orman el vocabulario del problema y de la soluci n. *sta vista soportaprincipalmente los requisitos uncionales del sistema, o sea, los servicios que elsistema debe proporcionar. Los aspectos estáticos se representan mediantediagramas de clases y objetos y los aspectos dinámicos con diagramas de

    interacci n, estados y actividades.La vista de procesos comprende los !ilos y procesos que orman mecanismosde sincronizaci n y concurrencia del sistema cubriendo el uncionamiento,capacidad de crecimiento y el rendimiento del sistema. -on UML, los aspectosestáticos y dinámicos se representan igual que en la vista de dise&o, pero conel #n asis que aportan las clases activas, las cuales representan los procesos ylos !ilos.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    13/15

    La !ista de implementación comprende los componentes y los arc!ivos que unsistema utiliza para ensamblar y !acer disponible el sistema $sico. 5e ocupaprincipalmente de la gesti n de confguraciones de las distintas versiones delsistema. Los aspectos estáticos se capturan con los diagramas decomponentes y los aspectos dinámicos con los diagramas de interacci n,

    estados y actividades.La vista de despliegue de un sistema contiene los nodos que orman latopolog$a !ardware sobre la que se ejecuta el sistema. 5e preocupaprincipalmente de la distribuci n, entrega e instalaci n de las partes queconstituyen el sistema. Los aspectos estáticos de esta vista se representanmediante los diagramas de despliegue y los aspectos dinámicos con diagramasde interacci n, estados y actividades.

    "iclo de Vida5e entiende por ciclo de vida de un proyecto software a todas las etapas por

    las que pasa un proyecto, desde la concepci n de la idea que !ace surgir lanecesidad de dise&ar un sistema so tware, pasando por el análisis, desarrollo,implantaci n y mantenimiento del mismo y !asta que fnalmente muere porser sustituido por otro sistema.9unque UML es bastante independiente del proceso, para obtener el má%imorendimiento de UML se deber$a considerar un proceso que uese4D +irigido por los casos de uso , o sea, que los casos de uso sean un arte actobásico para establecer el comportamiento del deseado del sistema, paravalidar la arquitectura, para las pruebas y para la comunicaci n entre laspersonas involucradas en el proyecto.

    D -entrado en la arquitectura de modo que sea el arte acto básico paraconceptuar, construir, gestionar y !acer evolucionar el sistema.D Un proceso iterativo , que es aquel que involucra la gesti n del ?ujo deejecutables del sistema, e incremental , que es aquel donde cada nueva versi ncorrige de ectos de la anterior e incorpora nueva uncionalidad. Un procesoiterativo e incremental se denomina dirigido por el riesgo , lo que signifca quecada nueva versi n se ataca y reducen los riesgos más signifcativos para el#%ito del proyecto.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    14/15

    *ste proceso, dirigido a los casos de uso, centrado en la arquitectura, iterativoe incremental pude descomponerse en ases, donde cada ase es el intervalode tiempo entre dos !itos importantes del proceso, cuando se cumplen losobjetivos bien defnidos, se completan los arte actos y se toman decisionessobre si pasar o no a la siguiente ase. *n el ciclo de vida de un proyectoso tware e%isten cuatro ases, v#anse en la fgura AF. La iniciación , que escuando la idea inicial está lo sufcientemente undada para poder garantizar laentrada en la ase de elaboración , esta ase es cuando se produce ladefnici n de la arquitectura y la visi n del producto. *n esta ase se debendeterminar los requisitos del sistema y las pruebas sobre el mismo.1osteriormente se pasa a la ase de construcción , que es cuando se pasa de

    la base arquitect nica ejecutable !asta su disponibilidad para los usuarios, enesta ase se ree%aminan los requisitos y las pruebas que !a de soportar. Latransición , cuarta ase del proceso, que es cuando el so tware se pone enmano de los usuarios.Caramente el proceso del so tware termina en la etapa de transici n, inclusodurante esta ase el proyecto es continuamente ree%aminado y mejoradoerradicando errores y a&adiendo nuevas uncionalidades no contempladas.

  • 8/17/2019 Introducción Al Lenguaje Unificado de Modelado

    15/15

    Un elemento que distingue a este proceso y a ecta a las cuatro ases es unaiteración, que es un conjunto de bien defnido de actividades, con un plan yunos criterios de evaluaci n, que acaban en una versi n del producto, bieninterna o e%terna.