UML - Material de Apoyo - 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 32

lOMoARcPSD|10683817

lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Estructura de contenidos
Pág.
Introducción .......................................................................................................................3
Mapa de contenido ............................................................................................................4
1. El lenguaje uni昀椀cado de modelado “UML”.....................................................................5
1.1 Características de UML ...............................................................................................6
2. Tipos de diagramas UML...............................................................................................7
3. Caso de estudio práctico .............................................................................................11
3.1 Casos de uso............................................................................................................ 12
3.1.1 Componentes ........................................................................................................ 12
3.1.2 Representación grá昀椀ca.......................................................................................... 13
3.1.3 Tipos de relaciones................................................................................................ 14
3.1.4 Documentación...................................................................................................... 15
3.2 Diagrama de secuencia ............................................................................................ 15
3.2.1 Representación grá昀椀ca.......................................................................................... 16
3.2.2 Tipos de mensajes................................................................................................. 16
3.2.3 Diagrama de secuencia <<include>> .................................................................... 17
3.3 Diagrama de comunicación (Colaboración) ............................................................. 18
3.3.1 Representación grá昀椀ca.......................................................................................... 18
3.4 Diagrama de actividades .......................................................................................... 19
3.4.1 Representación grá昀椀ca.......................................................................................... 20
3.5 Diagrama de clases .................................................................................................. 23
3.5.1 Clases.................................................................................................................... 23
3.5.2 Relaciones ............................................................................................................. 24
3.6 Diagrama de objetos ................................................................................................ 27
3.6.1 Representación grá昀椀ca.......................................................................................... 27
3.7 Diagrama de estados ............................................................................................... 28
3.7.1 Representación grá昀椀ca.......................................................................................... 28
Glosario .......................................................................................................................... 31
Bibliografía...................................................................................................................... 32
Control del documento ................................................................................................... 33

2
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Introducción

Es de suma importancia que para el diseño y


desarrollo de Sistemas de Información que el aprendiz
en formación como futuro analista y desarrollador de
sistemas, conozca los fundamentos del Modelado
UML, los tipos de diagramas y su simbología de
manera que pueda reconocer su utilidad y re昀氀ejar
mediante su uso los requerimientos funcionales o
necesidades del sistema de información de una forma
estandarizada. El lenguaje de modelado UML permita
describir los pasos que el actor sigue para realizar una
tarea y a su vez, lograr una comunicación adecuada
con los demás integrantes del desarrollo del sistema
y los clientes, de esta forma, los clientes hacen parte
activa en el modelado reduciendo notablemente los
correctivos o controles de cambios posteriores.

En este objeto de aprendizaje se describen diversos


tipos de diagramas UML, características y propiedades
de manera que el aprendiz los utilice dependiendo
de las necesidades del sistema de información. Se
proporciona inmerso en el contenido la aplicación de
un ejemplo de modelado UML como caso práctico
para a昀椀anzar conocimientos.

3
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Mapa de contenido

4
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Desarrollo de contenidos

1. El lenguaje uni昀椀cado de modelado “UML”

El origen del lenguaje uni昀椀cado de modelado (UML: “Uni昀椀ed Modeling Language”)


comenzó a gestarse desde octubre de 1994, cuando Rumbaugh se unió a la compañía
Rational fundada por Booch (dos reputados investigadores en el área de metodología
del software) y cuyo objetivo era la uni昀椀cación de los métodos Booch y el OMT (Object
Modelling Tool), naciendo la primera versión de UML.

El objetivo era suplir la necesidad de representar de manera grá昀椀ca y estandarizada la


representación de un modelo, lo cual impedía que los diseños grá昀椀cos realizados se
pudieran compartir fácilmente entre distintos diseñadores. Por lo anterior, se necesitaba
un lenguaje no sólo para comunicar las ideas a otros desarrolladores sino también para
servir de apoyo en los procesos de análisis de un problema. Con este objetivo, nació el
Lenguaje Uni昀椀cado de Modelado, convirtiéndose en un estándar que permite representar
y modelar la información con la que se trabaja en las fases de análisis y diseño.

La versión 1.1 de UML, de noviembre de 1997, fue adoptada por el OMG (Object
Management Group http://www.omg.org) como estándar.

Fuente: Departamento de Sistemas Informáticos y Computación.


Universidad Politécnica de Valencia.

5
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Se conoce como Modelado Visual cuando se captura las partes esenciales del sistema,
se realiza y se plasma en una notación grá昀椀ca. El objetivo del modelado visual es permitir
manejar la complejidad de los sistemas a analizar o diseñar. Otro objetivo del modelado
visual, es la independencia del lenguaje de programación, de tal manera que los diseños
realizados usando UML se puedan implementar en cualquier lenguaje orientado a objetos.

1.1 Características de UML

UML es ante todo un lenguaje que se centra en la representación grá昀椀ca de un sistema.


Este lenguaje indica cómo crear y leer los modelos, representando 昀氀ujos de trabajo en
elementos grá昀椀cos.

Dentro de las características del lenguaje de modelado UML:

• Visualizar: UML permite modelar de una forma grá昀椀ca un sistema de forma que
otro lo puede entender.
• Especi昀椀car: UML permite especi昀椀car cuáles son las características de un sistema
antes de su desarrollo.
• Construir: por medio de los modelos especi昀椀cados se pueden construir los
sistemas diseñados.
• Documentar: los propios elementos grá昀椀cos sirven como documentación
del sistema desarrollado, lo cual ayudará al mantenimiento de las soluciones
conceptuales en el transcurso del tiempo.

Un modelo UML está compuesto por tres tipos de bloques de construcción:


• Elementos o partes: los elementos son abstracciones de cosas reales o 昀椀cticias
(objetos, acciones, personas, sistemas) que pueden relacionarse. Tienen identidad
y se distinguen entre ellos.
• Relaciones o acciones: relacionan los elementos entre sí, hacen que los sistemas
tengan funcionalidad, que adquieran vida.
• Diagramas o diseños: re昀氀ejan grá昀椀camente el comportamiento y las relaciones
entre los elementos.

Todo sistema puede ser representado grá昀椀camente mediante modelos empleando UML el
cual soporta sus diseños usando diagramas que facilitan el entendimiento, trazabilidad
y comprensión entre sus componentes brindando claridad y calidad en la información
presentada a los diversos actores involucrados en la distribución de información que
requiere ser procesada por un sistema o 昀氀ujo de trabajo propio de una organización
empresarial.

6
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

2. Tipos de diagramas UML

Un diagrama es la representación grá昀椀ca de un conjunto de elementos con sus relaciones,


ofreciendo una vista del sistema a modelar. Para poder representar correctamente un
sistema, UML ofrece varios tipos de diagramas que permiten visualizar un sistema desde
varias perspectivas. UML incluye los siguientes diagramas:

Diagrama de clases

Es el diagrama más común a la hora de describir el diseño de los sistemas orientados a


objetos.
El diagrama de clases muestra un conjunto de clases, atributos, operaciones, interfaces
y sus relaciones.

Diagrama de actividades

El diagrama de actividades permite mostrar la


secuencia de las acciones de varios objetos
y seleccionar el orden en que se harán las
cosas.
Representa los procesos de negocios de
alto nivel, incluidos el 昀氀ujo de datos. También
puede utilizarse para modelar lógica compleja
y/o paralela dentro de un sistema.
Un diagrama de actividades es la versión UML
de un diagrama de 昀氀ujo y se usan para analizar
procesos.

7
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Diagrama de secuencias

En el diagrama de secuencia se muestran


las clases a lo largo de la parte superior y
los mensajes enviados entre esas clases,
modelando un solo 昀氀ujo a través de los objetos
del sistema.
Un diagrama que representa una interacción,
poniendo el foco en la secuencia de los
mensajes que se intercambian, junto con sus
correspondientes ocurrencias de eventos en
las líneas de vida.

Diagrama de casos de uso

Un diagrama que muestra las relaciones entre los actores y el sujeto (sistema), y los
casos de uso.
Modela la funcionalidad del sistema según la percepción del usuario externo (actor) y las
transacciones entre los actores y el sistema.
Los diagramas de casos de uso son responsables principalmente de documentar los
macrorrequisitos del sistema. Piense en los diagramas de casos de uso como la lista de
las funcionalidades que debe proporcionar el sistema.

8
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Diagrama de componentes

Representa los componentes que conforman una aplicación, sistema o empresa. Los
componentes, sus relaciones, interacciones y sus interfaces públicas.
En esta vista se modelan los componentes del sistema, a partir del cual se construye
la aplicación. Son importantes para construir sistemas más grandes a partir de partes
pequeñas.

Otros tipos de diagramas:

Diagrama Descripción
Un diagrama de estados muestra el estado
cambiante o dinámica de un objeto.
Son importantes en el modelado de
comportamiento de una interfaz, clase ante
los eventos disparadores del objeto.
Diagrama de estado
Cada estado modela un periodo de tiempo,
durante la vida de un objeto. Cuando ocurre
un evento, se puede desencadenar una
transición que lleve el objeto a un nuevo
estado.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje. 9


Downloaded by Andres Mosquera ([email protected])
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Un diagrama de despliegue físico muestra


cómo y dónde se desplegará el sistema.
Las máquinas físicas y los procesadores se
representan como nodos y la construcción
interna puede ser representada por nodos o
artefactos embebidos. Como los artefactos
se ubican en los nodos para modelar
Diagrama de despliegue físico el despliegue del sistema, la ubicación es
guiada por el uso de las especi昀椀caciones
de despliegue.

En este tipo de diagrama se muestran los


tipos de nodos del sistema y los tipos de
componentes que contienen. Aquí el nodo
se visualiza como un cubo.
Un diagrama que presenta los objetos y
sus relaciones en un punto en el tiempo. Un
Diagrama de
diagrama de objetos se puede considerar
objetos
como un caso especial de un diagrama de
clases o un diagrama de comunicaciones.
Representa la estructura interna de
un clasi昀椀cador (tal como una clase, un
componente o un caso de uso), incluyendo
los puntos de interacción de clasi昀椀cador
Diagrama de estructura
con otras partes del sistema. Un uso
de composición
adicional que se puede dar a los diagramas
de estructura compuesta es para mostrar
las partes que colaboran, por ejemplo, en
un caso de uso.
Diagrama que permite la organización de
elementos de modelado en paquetes y las
dependencias entre ellos. Los usos más
comunes para los diagramas de paquete
Diagrama de paquetes
son para organizar diagramas de casos de
uso y diagramas de clase, a pesar de que
el uso de los diagramas de paquete no es
limitado a estos elementos UML.
Diagrama que describen los mensajes
que transmiten los objetos y muestran las
Diagrama de comunicaciones asociaciones que existen entre las clases.
Modela las interacciones entre objetos en
términos de mensajes en secuencia.

10
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Diagrama utilizado para mostrar el cambio


en el estado o valor de uno o más objetos
en el tiempo o en su línea de vida, en
respuesta a los eventos o estímulos
recibidos.
Diagrama de tiempos
Los eventos que se reciben se anotan, a
medida que muestran cuándo se desea
mostrar el evento que causa el cambio en
la condición o en el estado.

A continuación, se presenta una situación que


representa la gestión de información en un centro
médico que permitirá una mejor interpretación de
los diferentes tipos de diagramas.

3. Caso de estudio práctico

El propietario de un centro médico de su ciudad,


requiere con urgencia la construcción de un
sistema de información que le permita administrar
los datos básicos de sus pacientes, tratamientos,
citas y gestión de reportes de tal manera que al
ejempli昀椀car el sistema se pueda 昀椀jar claramente
el límite de este.

Diagramas iniciales: a continuación, se


relacionan los diagramas iniciales, utilizados en la
fase de análisis de un sistema de información.

11
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

3.1 Casos de uso

Al momento de desarrollar un proyecto se debe pensar en cuáles serán las principales


funcionalidades que el software debe permitir llevar a cabo y quiénes serán los que podrán
ejecutar dichas funcionalidades. La identi昀椀cación de estos elementos se puede visualizar
de manera efectiva a través de la elaboración de diagramas de Casos de Uso. Estos
diagramas que son elaborados durante las etapas iniciales de un proyecto se convierten
en un referente para cada una de las etapas siguientes del desarrollo del proyecto.

3.1.1 Componentes

Sistema: se representa mediante un rectángulo. Este se emplea


para delimitar grá昀椀camente lo que se encuentra por dentro del
sistema (los casos de uso) y lo que está por fuera del sistema (los
actores).

Actor: se representa mediante un “hombre de palo”. Este se emplea


para indicar el tipo de usuario del sistema que podrá ejecutar alguna
función (caso de uso) en el mismo.

Caso de uso: se representa mediante un óvalo e indica una función


que el sistema debe realizar.

Ejemplo de la representación grá昀椀ca de un Diagrama de Caso de Uso:

12
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Para nombrar un proceso se puede emplear un verbo conjugado en in昀椀nitivo y que


represente la función a realizar (Administrar, Gestionar, Registrar, entre otros). Por
ejemplo:

• Administrar los datos de pacientes.


• Gestionar citas médicas.
• Administrar datos de historias clínicas o tratamientos.
• Generar reportes.

3.1.2 Representación grá昀椀ca

Identi昀椀cación de casos de uso: en el ejemplo anterior se observan los casos de uso


identi昀椀cados en el sistema, es decir, las funcionalidades que el sistema va a proveer
(Administrar datos pacientes, Administrar datos tratamientos, Gestionar citas, Generar
reportes).

Identi昀椀cación de actores: los actores son los usuarios externos que podrán ejecutar los
casos de uso, en el ejemplo anterior, se identi昀椀caron dos actores (Médico y Empleado).

Las líneas que van del actor al caso de uso se denominan Asociación y sirven para
determinar cuáles Casos de uso lleva a cabo un determinado Actor.

13
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

3.1.3 Tipos de relaciones

Asociación: es la relación que se da entre los actores y el caso de uso. Esta relación
indica que el actor lleva a cabo el caso de uso.

• Exponer a los miembros del equipo las


diferencias entre trabajo individual y trabajo
en equipo.
• Decir
El ejemplo cómo
anterior espera
indica que el que trabajen
Médico los sistema Sismédico puede llevar a
dentro del
miembros que
cabo la funcionalidad deforman el equipo
Administrar Datosde trabajo,
Pacientes.
estableciendo roles y asignando tareas.
Incluido ó <<uses>> ó <<include>>: simboliza la relación que se da entre casos de uso
• Explicar cómo y cuándo deben solicitar
donde uno termina incluyendo al otro (describe el comportamiento de uno en otro).
asesoramiento o ayuda mientras el equipo
está en funcionamiento.
• Establecer con qué objetivo se forma el
equipo de trabajo.

El ejemplo anterior indica que para Gestionar una cita se debe validar datos, es decir, el
caso de uso Gestionar Cita “usa” al caso de uso Validar Datos.

Extendido ó <<extend>>: relación que se da entre casos de uso donde se evidencia que
un caso de uso es la generalización o especialización de otro.

14
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

El ejemplo anterior indica que, al gestionar un diagnóstico médico, se puede examinar


un paciente o formular un paciente, es decir, los casos de uso FORMULAR A PACIENTE
y EXAMINAR A PACIENTE se extienden del caso de uso GESTIONAR DIAGNÓSTICO
MÉDICO.

3.1.4 Documentación

La técnica de casos de uso requiere además de construir el diagrama de Casos de Uso,


la descripción de los mismos. Esta descripción permite detallar el 昀氀ujo de eventos que
se da entre el Sistema y el Actor para llevar a cabo el Caso de Uso. A continuación, se
presenta el formato que describe el Caso de Uso del centro médico.

3.2 Diagrama de secuencia

Los diagramas de secuencia se utilizan para describir el funcionamiento interno del


sistema desde el punto de vista de la implementación y son parte fundamental de la vista
de interacción de los diagramas UML.

En un diagrama de secuencia, un objeto se muestra como caja en la parte superior de


una línea vertical punteada. Esta línea vertical se llama línea de vida del objeto. La línea

15
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

de vida representa la vida del objeto durante la interacción. Cada mensaje se representa
mediante una 昀氀echa entre las líneas de vida de dos objetos. El orden en el que se dan
estos mensajes transcurre de arriba hacia abajo.

Una de las cuestiones difíciles de comprender en un programa orientado a objetos


“POO”, es el 昀氀ujo de control general. Un buen diseño puede tener pequeños métodos en
diferentes clases, y a veces resulta muy complicado determinar la secuencia global de
comportamiento.
Los diagramas de secuencia le ayudan a ver la secuencia.

3.2.1 Representación grá昀椀ca

Mientras que el diagrama de casos de uso


permite el modelado de una vista del escenario,
un diagrama de secuencia muestra los objetos
que intervienen en el escenario con líneas
discontinuas verticales, y los mensajes pasados
entre los objetos como 昀氀echas horizontales.

Para la construcción de un diagrama de


secuencia tener presente:
• Dibujar una línea vertical que representa
el sistema.
• Dibujar una línea para cada actor que
interactúa directamente con el sistema.
• Del curso de eventos del caso de uso, identi昀椀car los eventos externos generados
por los actores. Mostrarlos en el diagrama.

3.2.2 Tipos de mensajes

Existen dos tipos de mensajes: sincrónicos y asincrónicos.

• Mensajes sincrónicos: se corresponden con llamadas a métodos del objeto


que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta
que termina la llamada. Este tipo de mensajes se representan con 昀氀echas con la
cabeza llena.

16
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

• Mensajes asincrónicos: los mensajes asincrónicos terminan inmediatamente, y


crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con
昀氀echas con la cabeza abierta. También se representa la respuesta a un mensaje
con una 昀氀echa discontinua.

Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la


parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis
inicial, el modelador típicamente coloca el nombre ‘business’ de un mensaje en la línea
del mensaje. Más tarde, durante el diseño, el nombre ‘business’ es reemplazado con el
nombre del método que está siendo llamado por un objeto en el otro. El método llamado,
o invocado, pertenece a la de昀椀nición de la clase instanciada por el objeto en la recepción
昀椀nal del mensaje.

3.2.3 Diagrama de secuencia <<include>>


Los casos de uso de昀椀nidos mediante <<include>> requieren un diagrama de secuencia
para la parte común y uno para cada caso de uso que es incluido.

Volviendo al ejemplo del caso


de uso “Gestionar Citas”, cuyo
diagrama es:

17
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

El respectivo diagrama de secuencia correspondiente al caso de uso “Gestionar Citas” es


el siguiente:

3.3 Diagrama de comunicación (Colaboración)

Un Diagrama de Colaboración (versión UML 1.0) es luego llamado Diagrama de


Comunicación (versión UML 2.0), transmite la misma información que un diagrama de
secuencia. La diferencia está en que el diagrama de Secuencia hace énfasis en el orden
y secuencia en que se emiten mensajes entre los objetos para cumplir con un determinado
proceso e incluye dentro de sus componentes la línea de vida para cada objeto, mientras
que el diagrama de Comunicación hace énfasis en la relación entre los objetos para
satisfacer una operación, generando una visión espacial del sistema en la ejecución de
un proceso.

El Diagrama de Secuencia, hace énfasis en la secuencia; es fácil apreciar el orden en el


que ocurren las cosas, mientras que el Diagrama de Comunicación, usa la distribución
para indicar cómo se conectan estáticamente los objetos.

3.3.1 Representación grá昀椀ca

Los componentes grá昀椀cos del diagrama de Comunicación son los mismos del diagrama
de Secuencia excepto por el no uso de la línea de vida de los objetos y la necesidad de
incluir un número en los mensajes que identi昀椀que el orden en que se deben ejecutar.

La numeración de los mensajes determinará el orden en que estos se ejecutan.


Para ilustrar el uso de diagramas de Comunicación, se toma el ejemplo del diagrama de
Secuencia que se ha venido trabajando como caso de estudio.

18
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

El correspondiente diagrama de comunicación sería:

3.4 Diagrama de actividades

Diagrama de actividades se centra en mostrar el 昀氀ujo de actividades dentro de un sistema.


Los diagramas de actividades cubren la parte dinámica de un sistema y se utilizan para
modelar el funcionamiento de un sistema resaltando el 昀氀ujo de control entre objetos.
Los diagramas de actividades tienen una serie de bene昀椀cios para toda organización.
Entre los bene昀椀cios están:

• Ilustrar un proceso de negocios o 昀氀ujo de trabajo entre los usuarios y el sistema.


• Demostrar la lógica de un algoritmo.

19
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

• Describir los pasos realizados en un caso de uso UML.


• Simpli昀椀car y mejorar cualquier proceso clari昀椀cando casos de uso complicados.
• Modelar elementos de arquitectura de software, tales como método, función y
operación.

Este diagrama es similar al Diagrama de Flujo que se emplea para representar


grá昀椀camente un algoritmo, teniendo como principal diferencia que el diagrama de
actividades permite la ejecución de actividades (pasos) en paralelo.
Dentro del mundo de la orientación a objetos y el UML, un diagrama de actividades es
usado comúnmente para representar los pasos lógicos requeridos para llevar a cabo un
Caso de Uso.

3.4.1 Representación grá昀椀ca

Inicio: todo diagrama de actividades debe poseer un único inicio, el


cual se representa mediante un círculo relleno.

Fin: indica que el proceso ha terminado. Se representa mediante un


círculo que rodea al círculo relleno.

Actividades: indica una acción requerida para llevar a cabo un proceso.


Se representa mediante un rectángulo con sus vértices redondeados.
Las 昀氀echas que van dirigidas de una actividad a otra se denominan
transiciones.

Decisión: tal como sucede con los diagramas de 昀氀ujo, en el diagrama de actividades se
puede llegar a un punto donde de acuerdo con el cumplimiento o no de una condición se
debe tomar por uno u otro camino.

Existen dos formas de representar la decisión en un diagrama de actividades, partiendo


libremente de la actividad hacia alguno de los dos caminos o llegando a un rombo desde
donde se parte hacia cualquiera de los dos caminos.

20
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Rutas concurrentes: la diferencia clave entre un diagrama de actividades y un diagrama


de 昀氀ujo es que los diagramas de 昀氀ujo se limitan normalmente a procesos secuenciales;
los diagramas de actividades pueden manejar procesos paralelos, es decir, actividades
concurrentes que se pueden llevar a cabo en el mismo momento y después se unen a
otra actividad. El inicio como el 昀椀n de una ruta concurrente se representa mediante una
línea horizontal sólida.

21
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Indicaciones: durante la secuencia de actividades es posible enviar una indicación para


que al recibirla, se pueda ejecutar una actividad. Se representa mediante pentágonos
que se acoplan generando la sensación de envío y recepción de la indicación.

Volviendo al ejemplo del caso


de uso “Gestionar Citas”, cuyo
diagrama es:

El diagrama de Actividades correspondiente para el caso de uso Administrar Datos


Pacientes es:

22
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

3.5 Diagrama de clases

Los diagramas de clases se usan para mostrar las clases de un sistema y las relaciones
entre ellas. Una clase es un elemento importante dentro del contexto de un sistema, que
puede tener información o datos valiosos y realizar acciones que sean necesarias dentro
del funcionamiento del sistema.

Por ejemplo, en un software para un supermercado, seguramente los elementos más


importantes sobre los cuales sea importante mantener información son los productos, los
clientes, las ventas y los pedidos, en este caso se han encontrado las clases PRODUCTO,
CLIENTE, VENTA y PEDIDO.

Estas clases a su vez tienen atributos (datos) y métodos (funciones), por ejemplo, la clase
PRODUCTO tiene como uno de sus atributos el atributo precio y uno de sus métodos
puede ser incrementarPrecio. De esta forma, a través de los atributos se puede acceder
a la información de la clase y a través de los métodos se pueden ejecutar acciones sobre
la clase. Estas clases se unen a otras clases a través de relaciones y así se conforma el
diagrama de clases.

3.5.1 Clases

Una clase es la unidad básica que agrupa una colección de objetos que poseen un tipo
de comportamiento. Toda clases se compone de los siguientes elementos:
• Nombre de la clase.
• Atributos, datos o propiedades también denominados miembros de la clase.
• Métodos (operaciones) o acciones propias de la clase. Estas acciones se identi昀椀can
con verbos en in昀椀nitivo.

Ejemplos de clases:

23
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

ATRIBUTOS: los atributos o características de una Clase pueden ser de tres tipos, que
de昀椀nen su visibilidad:

• Public (+): indica que el atributo será visible tanto dentro como fuera de la clase,
es decir, es accesible desde todos lados. Disponible para consumo externo.
• Private(-): indica que el atributo sólo será accesible desde dentro de la clase (sólo
sus métodos lo pueden acceder). Disponible para consumo interno.
• Protected (#): indica que el atributo no será accesible desde fuera de la clase,
pero si podrá ser accedido por métodos de la clase además de las subclases que
se deriven (ver herencia). Disponible para consumo interno o consumo por parte
de las clases hijos.
• Sin modi昀椀cador de acceso ( ): indica que el atributo será accesible desde
cualquier clase que se encuentre en el mismo paquete de la clase que contiene al
atributo sin modi昀椀cador de acceso.

MÉTODOS: los métodos u operaciones de una clase son la forma en cómo ésta interactúa
con su entorno, éstos pueden tener las características.

• Public (+): indica que el método será visible tanto dentro como fuera de la clase,
es decir, es accesible desde todos lados. Disponible para consumo externo.
• Private (-): indica que el método sólo será accesible desde dentro de la clase (sólo
otros métodos de la clase lo pueden acceder). Disponible para consumo interno.
• Protected (#): indica que el método no será accesible desde fuera de la clase,
pero si podrá ser accedido por métodos de la clase además de métodos de las
subclases que se deriven (ver herencia). Disponible para consumo interno o
consumo por parte de las clases hijos.
• Sin modi昀椀cador de acceso ( ): indica que el método será accesible desde
cualquier clase que se encuentre en el mismo paquete de la clase que contiene al
método sin modi昀椀cador de acceso.

3.5.2 Relaciones

Las relaciones entre las clases se dan por Herencia, Asociación, Agregación,
Composición y Dependencia (uso).

24
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Herencia (Especialización / Generalización)

En el ejemplo anterior se ilustra que un Mueble puede ser una Silla, una Mesa o un Sofá.

Agregación y composición

• Composición por valor: relación estática, donde el tiempo de vida del objeto
incluido está condicionado por el tiempo de vida del que lo incluye. Este tipo de
relación es comúnmente llamada Composición (el Objeto base se construye a
partir del objeto incluido, es decir, es “parte/todo”).

Se representa de forma grá昀椀ca:

• Agregación por referencia: tipo de relación dinámica, en donde el tiempo de


vida del objeto incluido es independiente del que lo incluye. Este tipo de relación
es comúnmente llamada Agregación (el objeto base utiliza al incluido para su
funcionamiento).

Se representa de forma grá昀椀ca:

25
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

En el ejemplo anterior indica que el Restaurante tiene Pedidos y Clientes, sin embargo,
los Pedidos requieren del Restaurante para poder existir (Composición), mientras que los
Clientes no (Agregación).

Asociación

La relación entre clases, permite


asociar objetos que colaboran
entre sí. Cabe destacar que no
es una relación fuerte, es decir,
el tiempo de vida de un objeto no
depende del otro.

El ejemplo anterior indica que un Pedido está relacionado con cero o muchos Productos.

Dependencia

Representa un tipo de relación


muy particular, en la que una clase
es instanciada (su instanciación es
dependiente de otro objeto/clase).

En el ejemplo anterior se indica que la clase Restaurante instancia o crea objetos de la


clase Servicio.

Volviendo al ejemplo del caso de uso “Gestionar Citas”, el respectivo diagrama de clases
es:

FAVA - Formación en Ambientes Virtuales de Aprendizaje


26
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

3.6 Diagrama de objetos

Un diagrama de objetos es en esencia muy similar a un diagrama de clases, su propósito


es modelar el sistema en un momento determinado (un punto en el tiempo) a partir de las
posibles instancias que se deriven de las clases.

Este diagrama se usa para hacer más entendible el sistema modelado ya que en lugar
de presentar únicamente el nombre de la clase como algo general, se presenta el posible
objeto derivado de la clase, dando mayor claridad y especi昀椀cación al sistema.

3.6.1 Representación grá昀椀ca

En el diagrama de Objetos se emplean los mismos componentes que en el diagrama


de Clases pero se omite la multiplicidad, la cual se puede observar de manera explícita
cuando se incorpora una o varias instancias de una clase en el diagrama.

Sintaxis de los nombres de los objetos:

NombreObjeto:NombreClase, de esta manera, para representar un objeto de la clase


Asignatura, su nombre sería por ejemplo: matemáticas:Asignatura

27
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

El siguiente ejemplo ilustra una asociación presente en un diagrama de Objetos, a través


de la cual se visualiza que un alumno estudia diferentes asignaturas en una instancia
completa y especí昀椀ca:

3.7 Diagrama de estados

Un diagrama de estados, muestra la secuencia de estados en los que pasa un objeto


durante su vida, en respuesta a los eventos o estímulos recibidos, junto con sus respuestas.
Igualmente, muestra los eventos que implican el cambio de un estado a otro.

Los diagramas de objetos usan un subconjunto de elementos de un diagrama de clase


para hacer énfasis en la relación entre las instancias de las clases en algún punto en el
tiempo. Estos son útiles para entender los diagramas de clases. Estos no muestran nada
diferente en su arquitectura a los diagramas de secuencia, pero re昀氀ejan multiplicidad y
roles.

3.7.1 Representación grá昀椀ca

El estado de un componente o sistema representa algún comportamiento que es


observable externamente y que perdura durante un periodo de tiempo 昀椀nito. Viene dado
por el valor de uno o varios atributos que lo caracterizan en un momento dado.

28
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Una transición es un cambio de estado producido por un evento y re昀氀eja los posibles
caminos para llegar a un estado 昀椀nal desde un estado inicial. Desde un estado pueden
surgir varias transiciones en función del evento que desencadena el cambio de estado.

Características:
• Un sistema sólo puede tener un estado inicial, que se representa mediante una
transición sin etiquetar al primer estado normal del diagrama.
• Pueden existir varias transiciones desde el estado inicial, pero deben tener
asociadas condiciones, de manera que sólo una de ellas sea la responsable de
iniciar el 昀氀ujo.
• En ningún caso puede haber una transición dirigida al estado inicial.
• El estado 昀椀nal representa que un componente ha dejado de tener cualquier
interacción o actividad.
• No se permiten transiciones que partan del estado 昀椀nal.
• Puede haber varios estados 昀椀nales en un diagrama, ya que es posible concluir
el ciclo de vida de un componente desde distintos estados y mediante diferentes
eventos, pero dichos estados son mutuamente excluyentes, es decir, sólo uno de
ellos puede ocurrir durante una ejecución del sistema.

29
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Los diagramas de transición de estados comprenden además otros dos elementos que
ayudan a clari昀椀car el signi昀椀cado de los distintos estados por los que pasa un componente
o sistema. Estos elementos se conocen como acciones y actividades. Una acción es una
operación instantánea asociada a un evento, cuya duración se considera no signi昀椀cativa
y que se puede ejecutar dentro de un estado, al entrar en un estado o al salir del mismo.

Una actividad es una operación asociada a un estado que se ejecuta durante un intervalo
de tiempo hasta que se produce el cambio a otro estado. Para aquellos estados que
tengan un comportamiento complejo, se puede utilizar un diagrama de transición de
estados de más bajo nivel. Estos diagramas se pueden mostrar por separado o bien
incluirse en el diagrama de más alto nivel, dentro del contorno del estado que representa.
En cualquier caso su contenido formará un contexto independiente del resto con sus
propios estados inicial y 昀椀nal.

Ejemplo diagrama de estados para el objeto empleado:

30
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Glosario

Actividades: acción requerida para llevar a cabo un proceso.

Actor: se emplea para indicar el tipo de usuario del sistema que podrá ejecutar alguna
función.

Asociación: relación que se da entre elementos de los diagramas, por ejemplo entre los
actores y el caso de uso o entre las clases.

Atributos: características de una Clase, son datos especí昀椀cos que interesa guardar de
cada entidad.

Cardinalidad: indica la participación que tiene una entidad en la relación.

Caso de uso: indica una función que el sistema debe proveer.

Clases: unidad básica que agrupa una colección de objetos.

Entidad: elemento del sistema de los cuales interesa almacenar información.

Extend: relación que se da entre casos de uso.

Métodos: operaciones de una clase.

Relaciones: también se conoce como asociaciones, sirven para interconectar las


entidades.

Transición: es un cambio de estado producido por un evento.

UML: Uni昀椀ed Modeling Language, es un lenguaje estandarizado que se utiliza para


visualizar los elementos de un sistema de software, compuesto por diagramas que
representan elementos estáticos y dinámicos del sistema.

31
lOMoARcPSD|10683817

Introducción al lenguaje de modelado UML

Bibliografía

Craig, Larman. (2007). UML y patrones. Editorial Prentice Hall.

Martin, F., Scott, K. (1997). UML gota a gota. Pearson Educación.

Gutiérrez, C. (2011). Casos prácticos de UML. Editorial Complutense.

Rumbaugh, J., Jacobson, I. (2007). El lenguaje unificado de modelado: manual


de referencia. Addison-Wesley.

Kimmel, Paul. (2008). Manual de UML Guía de Aprendizaje. Editorial McGraw-Hill


Professional Publishing.

Teniente López, Ernest. (2003). Especificación de sistemas software


en UML. Universidad Politécnica de Catalunya.

32

También podría gustarte