Está en la página 1de 5

PAQUETES Trminos y conceptos Un paquete es un mecanismo utilizado para agrupar elementos de UML.

Permite organizar los elementos modelados con UML, facilitando de sta forma el manejo de los modelos de un sistema complejo. Nombres Cada paquete ha de tener un nombre que lo distinga de oros paquetes. El nombre solo se denomine nombre simple; un nombre calificado consta del nombre del paquete precedido por el nombre del paquete en el que se encuentra, si es el caso. Para separar los nombres de los paquetes se emplea un signo de dos puntos duplicado (::). Un paquete se dibuja normalmente mostrado solo su nombre. Elementos contenidos Elementos de diferentes tipos pueden tener el mismo nombre de un paquete. As, se puede disponer de una clase llamada Temporizador, as como de un componente llamado Temporizador dentro del mismo paquete. Sin embargo, para evitar la confusin, es mejor asociar a cada elemento un nombre nico para todas las categoras dentro de un paquete. Los paquetes pueden contener a otros paquetes. Esto significa que es posible descomponer los modelos jerrquicamente. Por ejemplo, se puede tener una clase Cmara en el paquete Visin que a su vez este contenido en el paquete Sensores. El nombre completo de la clase es Sensores::Vision::Camara. En la prctica es mejor evitar paquetes muy anidados, dos a tres niveles de anidamiento es el lmite manejable, en vez del anidamiento, se usara la importacin para organizar los paquetes. Se puede mostrar explcitamente el contenido de un paquete, bien textualmente o grficamente. Cuando se muestra los elementos que posee, el nombre del paquete se coloca en la pestaa de la carpeta, normalmente no se muestra el contenido del paquete de esta forma. Visibilidad Normalmente un elemento contenido en un paquete es pblico. Por el contrario, los elementos protegidos solo pueden ser vistos por los hijos, y los elementos privados no son visibles fuera del paquete en el que se declara. En la figura anterior, FormularioDePedido es una parte pblica del paquete Cliente y Pedido es una parte privada. Un paquete que importe a Cliente vera a FormularioDePedido, pero no vera a Pedido. Para especificar la visibilidad de un elemento contenido en un paquete se antepone al nombre del elemento el smbolo de visibilidad apropiado. Los elementos pblicos se muestran con su nombre precedido del smbolo +. Tambin se puede designar a un elemento como protegido o privado, con el nombre del elemento precedido del smbolo # o del smbolo -, respectivamente. Los elementos protegidos solo son visibles para los paquetes que heredan de otro paquete; los elementos privados no son visibles para nadie fuera del paquete.

Importacin y exportacin En UML una relacin de importacin se modela como una dependencia con el estereotipo Import. Al empaquetar las abstracciones en bloques significativos y luego controlar los accesos mediante la importacin, se puede controlar la complejidad de tener un gran nmero de abstracciones. Las partes pblicas de un paquete son sus exportaciones. Por ejemplo, en la figura siguiente, el paquete GUI exporta dos clases, Ventana y Formulario. GestorEventos no es exportado por GUI; GestorEventos es una parte protegida del paquete. Las partes que exporta un paquete son solo visibles al contenido de aquellos paquetes que lo importan explcitamente. En este ejemplo, Polticas importa explcitamente al paquete GUI. Las clases GUI::Ventana y GUI::Formulario son, por tanto, visibles para el contenido del paquete Polticas usando simplemente sus nombres simples Ventanas y Formulario. Sin embargo, GUI::GestorEventos no es visible porque es protegido. Como el paquete Servidor no importa a GUI, al contenido de Servidor puede acceder a contenido pblico de GUI, pero debe usar los nombres calificados para hacer esto; por ejemplo, GUI::Window. Tcnicas comunes de modelado El objetivo ms frecuente para el que se utilizan los paquetes es organizar elementos de modelado en grupos. Si se est desarrollando una aplicacin trivial, no harn falta paquetes. Todas las abstracciones encajaran perfectamente en un paquete. Sin embargo, para cualquier otro sistema, se detectara que muchas de las clases, interfaces o componentes tienden a agruparse de forma natural. Estos grupos se modelan como paquetes. Los paquetes no aparecen en el sistema en ejecucin; son estrictamente mecanismos para organizar el diseo. El uso de paquetes para agrupar elementos relacionados es importante; no se pueden desarrollar modelos complejos sin utilizarlos. Este enfoque funciona bien para organizar elementos relacionados como clases, interfaces, componentes, nodos y diagramas. Cuando se consideran las diferentes vistas de la arquitectura de un sistema. Para modelar: Hay que identificar el conjunto de vistas que son significativas en el contexto del problema. Hay que colocar en el paquete adecuado de los elementos y diagramas necesarios y suficientes para visualizar, especificar, construir y documentar la semntica de cada vista. Si es necesario, hay que agrupar an ms estos elementos en sus propios paquetes.

Sugerencias y consejos Cuando se modelan paquetes en UML, hay que recordar que existen solo para ayudar a organizar los elementos del modelo. Si se tienen abstracciones que se manifiestan como objetos en el sistema real, no se deben utilizar paquetes. Un paquete bien estructurado:

Es cohesivo, y proporciona un lmite bien definido alrededor de un conjunto de elementos relacionados. Este poco acoplado: exporta solo aquellos elementos que otros paquetes necesitan ver realmente, e importa solo aquellos elementos necesarios para que los elementos del paquete hagan bien su trabajo. No est profundamente anidado, porque las capacidades humanas para comprender estructuras profundamente anidadas son limitadas. Posee un conjunto equilibrado de elementos; los paquetes de un sistema no deben ser demasiado grandes ni demasiado pequeos en relacin a los otros, si es necesario deben dividirse o combinarse los elementos que se manipulen como un grupo.

Cuando se dibuja un paquete en UML: Hay que emplear la forma simple del icono de un paquete a menos que sea necesario revelar explcitamente el contenido. Cuando se revele el contenido de un paquete, hay que mostrar solo los elementos necesarios para comprender el significado del paquete en el contexto. Si se estn usando los paquetes para modelar elementos sujetos a una gestin de configuraciones, hay que revelar los valores de las etiquetas asociadas a las versiones.

INSTANCIAS Una instancia es una manifestacin concreta de una abstraccin a la que se puede aplicar un conjunto de operaciones y que puede tener un estado que almacena los efectos de la operacin. Las instancias se utilizan para modelar cosas concretas del mundo real. Las instancia no aparecen aisladas casi siempre estn ligadas a una abstraccin. La mayora de instancias que se vern en UML son instancias de clases y estas se llaman objetos, aunque se pueden tener instancias de otros elementos, como componentes, nodos, casos de uso y asociaciones. Nombre Cada instancia debe tener un nombre que la distinga de las otras instancias dentro de su contexto. Normalmente, un objeto existe en el contexto de una operacin, un componente o un nodo. Un nombre es una cadena de texto como t o como miCliente. En la prctica los nombres de las instancias son nombres cortos o expresiones nominales extrados del vocabulario del sistema que se est modelando. La abstraccin de la instancia puede tener nombre simple (como transaccin) o puede tener un nombre calificado (como multimedia::audioStream), el cual consta del nombre de la abstraccin precedido por el nombre del paquete en el que esta se encuentra. Operaciones Un objeto no solo es algo que normalmente ocupa espacio en el mundo real; tambin es algo a lo que se le puede hacer cosas. Las operaciones que se pueden ejecutar sobre un objeto se declaran en la abstraccin del objeto.

Estado Un objeto tambin tiene un estado, que incluye todas las propiedades del objeto ms los valores actuales de esas propiedades. Estas propiedades incluyen los atributos y asociaciones del objeto as como sus partes agregadas. El estado de un objeto es dinmico. Cuando se opera sobre un objeto normalmente se cambia su estado, cuando se consulta a un objeto, su estado no se modifica. Por ejemplo, al hacer una reserva area representada por objeto r: reserva, se podra establecer el valor de uno de sus atributos por ejemplo precio 295.75. Hay otros dos elementos de UML que pueden tener instancias. El primero es una asociacin. Una instancia de una asociaciones un enlace. Un enlace es una conexin entre objetos. Un enlace se representa con una lnea, al igual que una asociacin pero puede distinguirse de ella porque los enlaces solo conectan objetos El segundo tipo de instancia es un atributo esttico o atributo de clase. Un atributo esttico es en efecto, un objeto que pertenece a la clase, y que es accesible por todas las instancias de esta.

Por tanto, en una declaracin de la clase se muestra como un atributo subrayado. Tcnicas comunes de modelado Cuando se modelan instancias concretas, en realidad se estn visualizando cosas que existen en el mundo real. Por ejemplo, no se puede ver exactamente una instancia de una clase Cliente, a menos que ese cliente este delante de uno; sin embargo, en un depurador debe ser posible ver una representacin de ese objeto. Para modelar instancias concretas: Hay que identificar aquellas instancias que son necesarias y suficientes para visualizar, construir o documentar el problema que se est modelando. Hay que representar esos objetos en UML como instancias. Cuando sea posible, hay que dar un nombre a cada objeto. Si no hay un nombre significativo para el objeto, puede representarse como un objeto annimo. Hay que mostrar estereotipo, los valores etiquetados y los atributos con sus valores de cada instancia necesarios y suficientes para modelar el problema. Hay que representar estas instancias y sus relaciones en un diagrama de objetos u otro diagrama apropiado para el tipo de instancia.

Por ejemplo la siguiente figura muestra un diagrama de objetos extrados de la ejecucin de un sistema de validacin de tarjetas de crdito, quizs tal como seria visto por un depurador que estuviera probando el sistema en ejecucin.

Sugerencias y consejos Cuando se modelan instancias en UML, hay que recordar que toda instancia debe denotar una manifestacin concreta de alguna abstraccin, normalmente de una clase, componente, nodo, caso de uso o asociacin. Una instancia bien estructurada: Est asociada explcitamente con una abstraccin especfica. Tiene un nombre nico extrado del vocabulario del dominio del problema o del dominio de la solucin.

Cuando se dibuja una instancia en UML: Hay que representar el nombre de la abstraccin de la cual es instancia, a menos que sea obvio por el contexto. Hay que mostrar el estereotipo de la instancia y el estado solo hasta donde sea necesario para comprender el objeto en su contexto. Si son visibles, las listas largas de atributos y sus valores deben organizarse agrupndolos segn su categora.

También podría gustarte