Diagrama de clases UML

r

UML es una técnica para la especificación sistemas en todas sus fases. Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory. La versión 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc.

Definicion

r

Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo

esta es una forma de representación. Sin embargo, no se adapta al estándar que hemos definido por varios motivos: no indica <<Gato>> encima de los nombres de los animales, no escribe los nombres en minúsculas, no representa los animales con un rectángulo, etc.

Caracteristicas

r

Lo fundamental de una herramienta UML es la capacidad de diagramación, y los diferentes tipos de diagramas que soporta la herramienta. Sus esquemas de apoyo de diseño, documentación, construcción e implantación de sistema. Así mismo, su flexibilidad para admitir cambios no previstos durante el diseño o el rediseño. En resumen, la herramienta ideal, es aquella que admite diseño desde inicio a fin, diseño inverso (o rediseño) y diseño vise-versa, con esquemas amplios para documentar detalladamente los procesos.

UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware,y organizaciones del mundo real. UML ofrece nueve diagramas en los cuales modelar sistemas.

r

• Diagramas de Casos de Uso para modelar los procesos ’business’.• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.• Diagramas de Colaboración para modelar interacciones entre objetos.• Diagramas de Estado para modelar el comportamiento de los objetos en el sistema.• Diagramas de Actividad para modelar el comportamiento de los Casos de Uso, objetos u operaciones.• Diagramas de Clases para modelar la estructura estática de las clases en el sistema.• Diagramas de Objetos para modelar la estructura estática de los objetos en el sistema.• Diagramas de Componentes para modelar componentes.• Diagramas de Implementación para modelar la distribución del sistema.

Mejores tiempos totales de desarrollo (de 50 % o más)

Modelar sistemas (y no sólo de software) utilizando conceptos orientados a objetos.

Establecer conceptos y artefactos ejecutables.

Alta reutilización y minimización de costos

Mejor soporte a la planeación y al control de proyectos.

Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.

Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.

Cardinalidad

UNO A UNO (1.1)

r

En una relación uno a uno, una fila de la tabla A no puede tener relación con más de una fila en la tabla B y viceversa. Se crea una relación uno a uno si las dos columnas relacionadas son claves principales o tienen restricciones

r

En esta imagen representamos un Profesor que imparte una sola clase, y su relación 1:1 con el grupo de Alumnos que componen esa clase

UNO A MUCOS(1.N)

r

Una relación uno a varios es el tipo más habitual de relación. En este tipo de relación, una fila de la tabla A puede corresponderse con muchas filas de la tabla B, pero una fila de la tabla B solo puede corresponderse con otra de la tabla A.Es muy apropiado este tipo de relación si solamente una de las columnas relacionadas es la clave principal o tiene una restricción UNIQUE.

r

Representación en que un grupo de alumnos pueden recibir clase de diferentes profesores (Matemáticas, Lenguaje, Historia etc.)

MUCHOS A UNO (N.1)

r

Una relación de muchos a uno hace referencia a una tabla o entidad que contiene valores y hace referencia a otra tabla o entidad que tiene valores exclusivos. Las relaciones de muchos a uno con frecuencia son impuestas por las relaciones de clave foránea y clave primaria, y generalmente las relaciones se establecen entre las tablas de hechos y las entidades o tablas de dimensiones y entre los niveles de una jerarquía.

r

 (MUCHOS) pertenece sólo a un grupo (UNO), un alumno no puede estar en más de una clase. Pues bien, ni más ni menos que este sería el argumento de una relación MUCHOS A UNO.

MUCHOS A MUCHOS (N.M)

r

Desde un punto de vista teórico diríamos que en las relaciones Muchos a muchos a cada registro de la tabla A se le pueden asociar varios registros de la tabla B y cada registro de la tabla B puede estar relacionado con más de un registro de la tabla A.

r

Los alumnos que participan en las actividades deportivas del centro. Concretamente un alumno podría participar en más de un deporte (Fútbol, Baloncesto, etcétera) y a su vez cada equipo está formado por varios componentes. Esta relación también sería del tipo Muchos a muchos.

Relaciones

r

Las relaciones son el tercer pilar fundamental en el que se basan los Diagramas de Clases, después de las clases mismas y los interfaces. Las relaciones se aplican exclusivamente entre clases y pueden ser binarias o de orden superior.Decir que dos clases están relacionadas entre si viene a significar que esas clases tienen algo que ver entre sí. De cómo sea la naturaleza de la relación definirá un tipo u otro de vinculación. De lo que se trata aquí es de identificar, caracterizar y ejemplarizar cada una de ellas.

Subtema

Subtema

Asociacion

r

La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Herencia

r

Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase (public y protected)

Dependencia

r

Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicacion):

Veamos la representación que sí se adaptaría al estándar definido: