Вы находитесь на странице: 1из 9

DIAGRAMA DE CLASES, ESTADOS E INTERACION.

ndice
DIAGRAMA DE CLASES. ........................................................................................................... 1 DIAGRAMAS DE ESTADOS ...................................................................................................... 4 DIAGRAMA DE ITERACIN ...................................................................................................... 8

DIAGRAMA DE CLASES.
Los diagramas de clases se utilizan para modelar la visin esttica de un sistema. Esta visin soporta los requisitos funcionales del sistema, en concreto, los servicios que el sistema debera proporcionar a sus usuarios finales. Normalmente contienen: clases, interfaces y relaciones entre ellas: de asociacin, de dependencia y/o de generalizacin. Los diagramas de clases tambin pueden contener a paquetes o subsistemas, que se usan para agrupar elementos del modelo en partes ms grandes (por ejemplo, paquetes que a su vez contienen a varios diagramas de clases). Al igual que otros diagramas, en los diagramas de clases pueden aparecer notas explicativas y restricciones. Segn Fowler, hay tres perspectivas que podemos tener en cuenta a la hora de dibujar los diagramas de clases (o cualquier otro tipo de diagrama, pero es ms evidente en los diagramas de clases): Conceptual: Estamos dibujando un diagrama que representa los conceptos del dominio del sistema. Estos conceptos se relacionarn de forma natural con las clases que los implementen, pero a menudo no hay una aplicacin directa. Es decir, el modelo se dibuja sin tener en cuenta el software que lo implementa y generalmente es independiente del lenguaje de programacin. Anlisis: Desde el punto de vista del software, nos fijamos en las interfaces del software, no en su implementacin. Es decir, miramos los tipos ms que las clases. El desarrollo orientado a objetos pone mucho nfasis en la diferencia entre tipo y clase, pero luego no se aplica en la prctica. Es importante separar interfaz (tipo) de implementacin (clase). Muchos lenguajes de programacin no lo hacen y los mtodos, influidos por ellos, tampoco. Esto est cambiando, pero no lo suficientemente rpido (Java y CORBA tendrn algo de influencia aqu). Los tipos representan una interfaz que puede tener muchas implementaciones diferentes debido, por ejemplo, a las caractersticas del entorno de instalacin. Implementacin: Estamos poniendo la implementacin al descubierto, pues realmente tenemos clases. Es la perspectiva ms utilizada, pero de todas formas la perspectiva del anlisis se considera la mejor de las tres.

El diagrama de clase, adems de ser de uso extendido, tambin est sujeto a la ms amplia gama de conceptos de modelado. Aunque los elementos bsicos son necesarios para todos, los conceptos avanzados se usan con mucha menor frecuencia. Por eso, he dividido mi estudio de los diagramas de clase en dos partes; los fundamentos (en el presente captulo) y los conceptos avanzados. El diagrama de clase describe los tipos de objetos que hay en el sistema y las diversas clases de relaciones estticas que existen entre ellos. Hay dos tipos principales de relaciones estticas:

Asociaciones (por ejemplo, un cliente puede alquilar diversas videocintas). Subtipos (una enfermera es un tipo de persona).

Los diagramas de clase tambin muestran los atributos y operaciones de una clase y las restricciones a que se ven sujetos, segn la forma en que se conecten los objetos. Los diversos mtodos OO utilizan terminologas diferentes (y con frecuencia antagnicas) para estos conceptos. Se trata de algo sumamente frustrante pero inevitable, dado que los lenguajes OO son tan desconsiderados como los mtodos. Las asociaciones representan relaciones entre instancias de clases (una persona trabaja para una empresa; una empresa tiene cierta cantidad de oficinas). Los atributos son muy parecidos a las asociaciones. No hay diferencia un atributo slo lleva consigo otro tipo de notacin, la cual puede servir si se estima conveniente. Los atributos siempre son de valor nico. Por lo general, los diagramas no indican si los atributos son opcionales u obligatorios (aunque, hablando estrictamente, deberan indicado). La diferencia se da en los niveles de especificacin y de implementacin. Los atributos implican navegabilidad slo del tipo al atributo. Es ms, queda implcito que el tipo contiene nicamente su propia copia del objeto de atributo, lo que

implica que cualquier tipo que se emplee como atributo tendr un valor ms que una semntica de referencia. Las operaciones son los procesos que una clase sabe llevar a cabo. Evidentemente, corresponden a los mtodos sobre una clase. En el nivel de especificacin, las operaciones corresponden a los mtodos pblicos sobre un tipo. En general, no se muestran aquellas operaciones que simplemente manipulan atributos, ya que por lo comn, se pueden inferir. Sin embargo, tal vez sea necesario indicar si un atributo dado es de slo lectura o est inmutable congelado (esto es, que su valor nunca cambia). En el modelo de implementacin, se podran mostrar tambin las operaciones privadas y protegidas. Las asociaciones derivadas y los atributos derivados son aquellos que se pueden calcular a partir de otras asociaciones y atributos, respectivamente, de un diagrama de clase. Por ejemplo, un atributo de edad de una Persona se puede derivar si se conoce su fecha de nacimiento. Cada perspectiva contribuye con su propia interpretacin de las caractersticas derivadas de los diagramas de clase. La ms crtica de stas se relaciona con la perspectiva de especificacin. Desde este ngulo, es importante comprender que las caractersticas derivadas indican una restriccin entre valores y no una declaracin de lo que se calcula y lo que se almacena. La figura 5-5 muestra una estructura jerrquica de cuentas dibujada desde una perspectiva de especificacin. El modelo utiliza el patrn Compuesto.

Los objetos de entrada estn conectados a Cuentas detalladas. El balance de una Cuenta se calcula como la suma de las cantidades de Entrada. Las entradas de una Cuenta resumida son las entradas de sus componentes, determinados de manera recurrente.

Debido a que la Figura 5-5 ilustra un modelo de especificacin, no indica que las clases Cuentas no contienen campos para hacer balances; bien podra estar presente tal cach, pero est oculto para los clientes de la clase Cuenta.

DIAGRAMAS DE ESTADOS
Es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de informacin luego de ejecutarse cada proceso. Permite identificar bajo qu argumentos se ejecuta cada uno de los procesos y en qu momento podran tener una variacin. El diagrama de estados permite visualizar de una forma secuencial la ejecucin de cada uno de los procesos.

Los diagramas de estado describen grficamente los eventos y los estados de los objetos. Los diagramas de estado son tiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso. Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condicin de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transicin es una relacin entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente.

Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condicin de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transicin es una relacin entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente. Los estados se representan mediante valos. Las transiciones se representan mediante flechas con el nombre del evento respectivo. Se acostumbra poner un estado inicial (crculo negro). Por ejemplo:

Un diagrama de estado representa el ciclo de vida de un objeto: los eventos que le ocurren, sus transiciones, y los estados que median entre estos eventos. En particular, es til hacer diagramas de estado para describir la secuencia permitida de eventos en los casos de uso. Por ejemplo, en el caso de uso comprar Productos no est permitido efectuar pago Tarjeta mientras no haya ocurrido el evento terminar Venta. Un diagrama de estado que describe los eventos globales del sistema y su secuencia en un caso de uso es un diagrama de estado para casos de uso.

DIAGRAMA DE ITERACIN
Los diagramas de interaccin son modelos que describen la manera en que colaboran grupos de objetos para cierto comportamiento. Habitualmente, un diagrama de interaccin capta el comportamiento de un solo caso de uso. El diagrama muestra cierto nmero de ejemplos de objetos y los mensajes que se pasan entre estos objetos dentro del caso de uso.

La ventana Entrada de pedido enva un mensaje "prepara" a Pedido. El Pedido enva entonces un mensaje "prepara" a cada Lnea de pedido dentro del Pedido. Cada Lnea de pedido revisa el Artculo de inventario correspondiente. o Si esta revisin devuelve "verdadero", la Lnea de pedido descuenta la cantidad apropiada de Artculo de inventario del almacn. o Si no sucede as, quiere decir que la cantidad del Artculo de inventario ha cado ms abajo del nivel de reposicin (en original reorden) y entonces dicho Artculo de inventario solicita una nueva entrega.

Hay dos tipos de diagramas de interaccin: diagramas de secuencia y diagramas de colaboracin.