26

Trabajo de Uml

  • Upload
    wuanud

  • View
    223

  • Download
    3

Embed Size (px)

DESCRIPTION

uml

Citation preview

Introduccin

UML proporciona un vocabulario comn para toda la cadena de produccin, desde quien recaba los requisitos de los usuarios, hasta el ltimo programador responsable del mantenimiento. Es un lenguaje estndar para crear los planos de un sistema de forma completa y no ambigua. Est compuesto de un conjunto de elementos grficos a los que se le aplican una serie de reglas. Este conjunto de elementos forman los diagramas. De lo que se trata es de la creacin de un modelo del sistema. El modelo describe lo que har el sistema, pero no cmo se implementa. Vamos a comentar brevemente algunos de los diagramas ms importantes como lo son Diagramas de Clases, Colaboracin, Secuencia, Paquetes y Estados.

1. Diagramas de ClasesConceptoLos diagramas de clases son diagramas de estructura esttica que muestran las clases del sistema y sus interrelaciones (incluyendo herencia, agregacin, asociacin, etc.). Los diagramas de clase son el pilar bsico del modelado con UML, siendo utilizados tanto para mostrar lo que el sistema puede hacer (anlisis), como para mostrar cmo puede ser construido (diseo). El diagrama de clases de ms alto nivel, ser lgicamente un dibujo de los paquetes que componen el sistema. Las clases se documentan con una descripcin de lo que hacen, sus mtodos y sus atributos. Las relaciones entre clases se documentan con una descripcin de su propsito, sus objetos que intervienen en la relacin y su opcionalidad (cuando un objeto es opcional el que intervenga en una relacin).CaractersticasLos atributos o caractersticas de una Clase pueden ser de tres tipos, los que definen el grado de comunicacin y visibilidad de ellos con el entorno, estos son: public (+, ): Indica que el atributo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados. private (-, ): Indica que el atributo slo ser accesible desde dentro de la clase (slo sus mtodos lo pueden utilizar). protected (#, ): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accesado por mtodos de la clase adems de las subclases que se deriven (ver herencia).

Simbologa utilizadaA) Cardinalidad de relaciones: indica el grado y nivel de dependencia de las clases, se anotan en cada extremo de la relacin y stas pueden ser:* = Cero, uno n.0,1 = Cero o uno.1..* = Uno o ms.1 = Exactamente uno (tambin podra ser otro nmero).1..5 = Entre uno y cinco.

B) Herencia (Especializacin/Generalizacin): Indica que una subclase hereda los mtodos y atributos especificados por una Sper Clase (tambin llamada clase padre), por ende la Subclase adems de poseer sus propios mtodos y atributos, poseer las caractersticas y atributos visibles de la Sper Clase (public y protected).

C) Agregacin:Para modelar objetos complejos, n bastan los tipos de datos bsicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicacin, tenemos dos posibilidades: Por Valor: Es un tipo de relacin esttica, en donde el tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. Este tipo de relacin es comnmente llamadaComposicin(el Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo"). Por Referencia: Es un tipo de relacin dinmica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relacin es comnmente llamada Agregacin(el objeto base utiliza al incluido para su funcionamiento).D) Asociacin: La relacin entre clases conocida como Asociacin, permite asociar objetos que colaboran entre s. Cabe destacar que no es una relacin fuerte, es decir, el tiempo de vida de un objeto no depende del otro. Ejemplo:

Un cliente puede tener asociadas muchas rdenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.E) Dependencia o Instanciacin (uso): Representa un tipo de relacin muy particular, en la que una clase es instanciada (su instanciacin es dependiente de otro objeto/clase). Se denota por una flecha punteada.El uso ms particular de este tipo de relacin es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicacin grafica que instancia una ventana (la creacin del Objeto Ventana est condicionado a la instanciacin proveniente desde el objeto Aplicacin):

Cabe destacar que el objeto creado (en este caso la Ventana grfica) no se almacena dentro del objeto que lo crea (en este caso la Aplicacin).Ejemplo prctico de aplicarSupongamos que tenemos el caso del Diccionario implementado mediante un rbol binario, en donde cada nodo posee: key: Variable por la cual se realiza la bsqueda, puede ser generica. item: Contenido a almacenar en el diccionario asociado a "key", cuyo tipo tambin puede ser genrico.Para este caso particular hemos definido un Diccionario para almacenar String y Personas, las cuales pueden funcionar como llaves o como item, solo se mostrarn las relaciones para la implementacin del Diccionario:

2. Diagramas de ColaboracinConceptoUndiagrama de colaboracinen las versiones deUML es esencialmente un diagrama que muestra interacciones organizadas alrededor de los roles. A diferencia de los diagramas de secuencia, los diagramas de colaboracin, tambin llamados diagramas de comunicacin, muestran explcitamente las relaciones de los roles. Por otra parte, un diagrama de comunicacin no muestra el tiempo como una dimensin aparte, por lo que resulta necesario etiquetar con nmeros de secuencia tanto la secuencia de mensajes como los hilos concurrentes. Muestra cmo las instancias especficas de las clases trabajan juntas para conseguir un objetivo comn. Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementacin es llamada "enlace".Un diagrama de comunicacin es tambin un diagrama de clases que contiene roles de clasificador y roles de asociacin en lugar de slo clasificadores y asociaciones. Los roles de clasificador y los de asociacin describen la configuracin de los objetos y de los enlaces que pueden ocurrir cuando se ejecuta una instancia de la comunicacin. Cuando se instancia una comunicacin, los objetos estn ligados a los roles de clasificador y los enlaces a los roles de asociacin. El rol de asociacin puede ser desempeado por varios tipos de enlaces temporales, tales como argumentos de procedimiento o variables locales del procedimiento. Los smbolos de enlace pueden llevar estereotipos para indicar enlaces temporales.Caractersticas Muestra cmo las instancias especficas de las clases trabajan juntas para conseguir un objetivo comn. Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementacin es llamada "enlace".

Simbologa utilizada Rol de la ClaseEl rol de la clase describe cmo se comporta un objeto. Los atributos del objeto no se listan.Objeto : Clase

Rol de las Asociaciones Los roles de asociacin describen cmo se va a comportar una asociacin en una situacin particular. Se usan lneas simples etiquetadas con un estereotipo. _ Ejemplo prctico de aplicarUn lector solicita un libro al bibliotecario, y le brinda su ttulo. El bibliotecario busca el libro en un ndice y solicita al asistente que le alcance el libro.

3. Diagramas de SecuenciaConceptoUn diagrama de secuencia muestra la interaccin de un conjunto de objetos en una aplicacin a travs del tiempo. Esta descripcin es importante porque puede dar detalle a los casos de uso, aclarndolos al nivel de mensajes de los objetos existentes, como tambin muestra el uso de los mensajes de las clases diseadas en el contexto de una operacin.Caractersticas Los diagramas de secuencia muestran grficamente las interacciones del actor y de las operaciones a que dan origen Los diagramas de secuencia se preparan durante la fase de anlisis de un ciclo de desarrollo Su creacin depende de la formulacin previa de los casos de uso. El comportamiento del sistema es una descripcin delo que hace, y no como lo hace. El diagrama de secuencia muestra un determinado escenario de un caso de uso, los eventos generados por actores externos, su orden y los eventos internos del sistema. A todos los sistemas se les trata como una caja negra, y se centran en los eventos que van de los actores a los sistemas.

Simbologa utilizada ComentariosAl igual que en cualquier diagrama, representan informacion adicional dentro del contexto de la accion.

ActorRepresenta los actores relacionados en la interaccin.

Linea de vidaRepresenta de forma vertical el tiempo de vida del actor. TiempoEs el periodo en el cual un actor se involucra en una interaccion (actividad).

MensajeEs la peticion de accion hacia otro objeto, se puede anotar los argumentos o informacion que acompaa al mensaje.

Ejemplo prctico de aplicarUn ejemplo de la forma de representar un diagrama de secuencias; tomemos la pulsacin en un teclado de un carcter alfanumrico en una aplicacin de proceso de textos. El carcter debera aparecer inmediatamente en la pantalla. Veamos en detalle que es lo que ocurre. La GUI notifica al sistema operativo que se oprimi una tecla. El sistema operativo notifica a la CPU. El sistema operativo actualiza la GUI. La CPU notifica a la tarjeta de vdeo. La tarjeta de vdeo enva un mensaje al monitor. El monitor presenta el carcter alfanumrico en la pantalla, con lo que se har visible al usuario.

4. Diagramas de PaquetesConceptoUn diagrama de paquetes muestra como un sistema est dividido en agrupaciones lgicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete est pensado como un directorio, los diagramas de paquetes suministran una descomposicin de la jerarqua lgica de un sistema.Los Paquetes estn normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas lneas maestras sobre la mesa, los paquetes son buenos elementos de gestin. Cada paquete puede asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo requerido.Caractersticas Los paquetes son buenos elementos de gestin. Se usan paquetes en un modelo de desarrollo para agrupar elementos relacionados. Cada uno de los paquetes se pueden asignar a un individuo o a un equipo de desarrolloEjemplo:

Simbologa utilizadaEn la simbologa de un paquete es representado por un rectngulo con una pequea lengeta donde el nombre del paquete es marcado.Un paquete es representado por un rectngulo con una pequea lengeta donde el nombre del paquete es marcado.

Los paquetes pueden tener relacin con otros paquetes para mostrar que las dependencias estn entre los paquetes. Las Relaciones de Dependencia son usadas qu paquetes estn dependiendo sobre cada otro.

Ejemplo prctico de aplicar

5. Diagramas de EstadosConceptoste diagrama describe el comportamiento dinmico de los objetos, en un cierto plazo, modelando los ciclos de vida de los objetos de cada clase; tomando a cada objeto como una entidad aislada que se comunica con el resto del sistema a travs de eventos. A su vez los eventos representan las clases de cambios por los que un objeto puede pasar.Es tambin una manera para caracterizar un cambio en un sistema, es decir que los objetos que lo componen modificaron su estado como respuesta a los sucesos y al tiempo.

Caractersticas Son autmatas jerrquicos que permiten expresar concurrencia, sincronizacin y jerarquas de objetos. Son grafos dirigidos. Son deterministas. Los estados inicial y final estn diferenciados del resto. La transicin entre estados es instantnea y se debe a la ocurrencia de un evento.

Simbologa utilizada EstadoIdentifica un periodo de tiempo del objeto (no instantneo) en el cual el objeto est esperando alguna operacin, tiene cierto estado caracterstico o puede recibir cierto tipo de estmulos.

EventoEs una ocurrencia que puede causar la transicin de un estado a otro de un objeto.

Punto FinalAdems de mostrar y transicin de estados por medio de eventos, puede representarse el momento en el cual se envan mensajes a otros objetos.

TransicionesTransicin simple: Una transicin simple es una relacin entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Transicin Interna: Es una transicin que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.Transicin Compleja: Una transicin compleja relaciona tres o ms estados en una transicin de mltiples fuentes y/o mltiples destinos

Subestados: Un estado puede descomponerse en Subestados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior. Acciones: Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transicin. Se puede especificar el ejecutar una accin como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.Ejemplo prctico de aplicarSe Crea un diagrama de estados de la GUI (Interfaz grfica de usuario) de Windows XP, Que asume tres estados: INICIALIZACIN, OPERACIN Y APAGAR.

ConclusinHoy en da, UML est consolidado como el lenguaje estndar en el anlisis y diseo de sistemas de cmputo. Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir cdigo.As como en la construccin de un edificio se realizan planos previo a su construccin, en Software se deben realizar diseos en UML previa codificacin de un sistema, ahora bien, aunque UML es un lenguaje, ste posee ms caractersticas visuales que programticas, mismas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fcilmente, estos integrantes siendo los analistas, diseadores, especialistas de rea y desde luego los programadores.

Bibliografa

http://yenny-diagramas.blogspot.com/ http://es.wikipedia.org/wiki/Diagrama_de_secuencia http://www.ibiblio.org/pub/linux/docs/LuCaS/Tutoriales/doc-modelado-sistemas-UML/multiple-html/x92.html file:///C:/Users/Pedro/Desktop/DiagramaSecuencia.pdf http://es.slideshare.net/FABIANGARCIA/diagramas-de-secuencia-presentation http://www.oocities.org/es/monsalvelaura/fase2/analisis.html http://www.infor.uva.es/~mlaguna/cd/cd5.pdf https://prezi.com/ylbiijcokxp4/diagrama-de-secuencia-y-diagrama-de-paquetes/ http://es.slideshare.net/nadiiadaniiel/diagramas-uml-37560857 http://www.oocities.org/es/monsalvelaura/fase2/analisis.html http://www.infor.uva.es/~mlaguna/cd/cd5.pdf