You are on page 1of 14

Fundamentos de

modelamiento
UML
Sistemas Digitales
Universidad de Piura
John Paul Olivos Canales

INTRODUCCIN

En esta monografa se explicar acerca de los fundamentos de


modelado de UML. Dado que UML representa un lenguaje de
modelado muy importante en la actualidad a tal punto de ser
estandarizado, dado que es de gran utilidad para la creacin e
interpretacin de los distintos sistemas que realizan una accin. Todo
esto es gracias a tres autores quienes unieron sus ideas y mtodos
para formar este lenguaje: Grady Booch, Ivar Jacobson y Jim
Rumbaugh. Estos autores fueron contratados por la empresa Rational
Software Co. para crear una notacin unificada en la que basar la
construccin de sus herramientas CASE.
Se explicar mediante ejemplos como y cuando se utiliza un
diagrama, los cuales facilitan de manera notoria la relacin entre los
distintos componentes de un sistema.

UML (Unified Modeling Language)

UML es un lenguaje de modelado visual, slo vlido para modelado


orientado a objetos. Al relacionarlo como un lenguaje, decimos
que proporciona un vocabulario y unas reglas para permitir una
comunicacin, en este caso, este lenguaje se centra en la
representacin grfica de un sistema. Entonces podemos decir que
UML tiene como objetivo modelar un sistema para capturar las
partes esenciales de un sistema, para as tener claro lo que se quiere
expresar.
El modelado visual permite manejar la complejidad de los sistemas a
analizar o disear. De igual forma cuando se quiere construir el
sistema de transmisin de una bicicleta no hace falta un modelo, pero
cuando se intenta construir el sistema de transmisin de un carro lo
cual es algo muy complejo, es necesario abstraer la complejidad en
modelos que el ser humano pueda entender.
La OMG (Object Management Group) es un grupo, que gestiona
estndares relacionados con la tecnologa orientada a objetos. En el
ao 1997 adoptaron a UML como un estndar, esto signific un gran
aporte dado que permita que los diseos grficos realizados, sean
compartidos fcilmente entre distintos diseadores.

OBJETIVOS DE UML

Visualizar: UML como lo habamos dicho antes, al ser un


lenguaje de modelado visual, permite de una manera grfica,
expresar lo que un diseador necesita dar a entender a aquellos
que desean seguir con la secuencia de un proyecto, en nuestro
caso podemos decir de un proyecto software.

Especificar: UML permite especificar el comportamiento del


sistema, antes de su construccin. Es decir, permite construir
modelos que cumplan las condiciones de no ambigedad, por lo
tanto, no habr confusin al querer interpretar un diseo.

Construir: A partir de los modelos especificados se pueden


construir los sistemas diseados.

Documentar: Los elementos grficos que componen el universo


de UML sirven como documentacin del sistema desarrollado, que
pueden servir para una futura revisin, esto va de la mano con la
visualizacin dado que sigue una secuencia en la ampliacin de un
proyecto.

Diagramas UML

El UML est compuesto por diversos elementos grficos que se


relacionan
para
conformar
diagramas. Para
poder representar correctamente un sistema, UML ofrece una amplia
variedad de diagramas para visualizar el sistema desde varias
perspectivas. Es decir, fomenta un amplio campo de diseos que se
pueden relacionar con los distintos sistemas que puedan existir, pero
como dicho antes, solamente orientados a objetos dado que, si no se
cumple esto, UML podra tener complicaciones al momento de
expresar los sistemas.

A continuacin, se describirn y se darn observaciones a los


diagramas ms comunes del UML:

Anlisis y diseo desde la perspectiva esttica

Diagrama de clases: es el diagrama para el anlisis y diseo


esttico. Un diagrama de clases presenta las clases de objetos
del sistema con sus relaciones. Esto nos lleva a indicar que las
cosas que existen y que nos rodean se agrupan naturalmente
en categoras.

Ilustracin 1. Diagrama de clase de un sistema de reserva de vuelos

En este ejemplo podemos ver, la solucin a un sistema de


reserva de vuelos, el cual permite al usuario hacer consultas y
reservas de vuelos, adems de realizar los pagos de forma
remota sin recurrir a un agente de viajes.

Luego de un amplio anlisis de los requerimientos que se


necesita para que un cliente realice una reserva, primero
se debe hacer la identificacin de Clase. Para ello se
selecciona todo aquello que se asume como sustantivo en
el anlisis del sistema como, por ejemplo, el usuario o
cliente, la reserva, el vuelo, el aeropuerto, tarifa del vuelo,
etc.
A partir de la amplia cantidad de trminos que influyen en
el sistema, que en este caso son las clases,
seleccionamos los ms relevantes a nuestro criterio para
que el sistema tenga un fcil entendimiento que es lo
primordial que se busca.
El siguiente paso ser la identificacin de las relaciones
bsicas existentes entre las diferentes clases del sistema.
Tras haber identificado y seleccionado las asociaciones, se
construye el diagrama de clases con las asociaciones y
los roles.
Finalmente identificamos los atributos segn los
requerimientos del sistema que antes ya debimos
habernos planteado. Esto generara las asociaciones que
se necesitan para poder obtener el diagrama de clases
del sistema.

Este diagrama muestra las clases con sus relaciones para la


obtencin de un sistema de reserva de pasajes. Se puedo
observar lo fcil que es interpretar este diagrama que puede
ser analizado por cualquier persona y de esto se trata la
estandarizacin de UML, lo cual es un gran aporte.

Anlisis en el contexto organizacional

Diagrama de Casos de Usos: como su mismo nombre lo dice,


representan grficamente los casos de uso que tiene un
sistema. Este tipo de diagrama se suele utilizar en el modelado

del sistema desde el punto de vista de sus usuarios, para


representar las acciones que realiza cada tipo de usuario.

Ilustracin 2. Diagrama de Casos de Usos de una red bancaria

Este diagrama est relacionado a una red bancaria provista de


cajeros automticos (ATMs), que sern compartidos por un
consorcio de bancos.

En este sistema se analiza desde la perspectiva de


actores, los cuales realizan los Casos de Uso que tiene un
sistema. Podemos observar que el cajero automtico, es
el sistema en el cual se van a realizar las operaciones.
Como actores primarios se seala al Cliente de Banco, al
Consorcio y al Banco. Los cuales son quienes realizan las
operaciones para la fluidez del sistema.
El Cliente del Banco quiere realizar una operacin con el
cajero automtico de manera gil, para lo que debe
realizar la operacin de valides de su tarjeta y
contrasea. El Consorcio quiere identificar correctamente
el banco del cliente y mediar en la validacin de manera

eficaz. Y por ltimo el Banco quiere


correctamente la identidad de la tarjeta.

identificar

Esto nos lleva a realizar de manera simple y a la vez


detallada las operaciones que realiza el sistema, que en este
caso es el cajero automtico. Por lo tanto, podemos decir
que el diagrama de Casos de Usos es una gran opcin a la
hora de realizar un sistema, dado que es de fcil
comprensin.

Anlisis y diseo desde la perspectiva dinmica

Diagrama de Secuencia: Se muestran la interaccin de los


objetos que componen un sistema de forma temporal. Esto
quiere decir que este tipo de diagrama nos muestra la forma en
la que los objetos interactan o se comunican entre s, con el
pasar del tiempo, intercambiando una serie de mensajes que
conllevan acciones en el sistema.

Ilustracin 3. Diagrama de secuencia del proceso de verificacin de un boleto de pasaje en


un areopuerto

Este ejemplo es acerca del proceso de verificacin de un boleto de


pasaje en un aeropuerto.
Para la construccin de un diagrama de secuencia, se debe
identificar actores relacionados, en esta parte los detalles
acerca de los actores y las acciones de procesos en donde
participan se hacen a travs de su actividad. En este caso
observamos que los actores son el Cliente y los servicios de
pasaje dado que cada uno realiza una actividad y a la vez estas
actividades son secuenciales para que el sistema funcione.
Luego se identifica los actores iniciadores, dado que se
necesita saber para cada accin quien es el actor que dispara o
inicia la actividad, sabiendo esto podremos ubicar en el
diagrama y hacerlo mucho ms simple.
Adems, se debe identificar el intercambio entre actores, dado
que ya se identific el inicio de la secuencia, se requiere
describir las actividades subsecuentes. Para cada paso en la
interaccin es debido identificar qu informacin es
intercambiada, con esto se establecen los mensajes entre
objetos.
El Diagrama Secuencial se utiliza cuando los actores quienes
realizan una accin, tienen una dependencia y pueda as el
sistema mantenerse funcionando. Es muy fcil darse cuenta en
este diagrama quin depende de quin en este sistema y as
secuencialmente realizar una accin.

Diagrama de Colaboracin: Son tambin llamados diagramas de


comunicacin, son otra representacin basada en UML, que muestra
interacciones
organizadas
entre
los
objetos,
basndose
especficamente en la comunicacin. Los objetos estn conectados
por enlaces en los cuales se representan los mensajes enviados,
acompaados de una flecha que indica su direccin. Nos muestra
cmo las instancias especficas de las clases trabajan juntas para
conseguir un objetivo comn.

Ilustracin 4. Diagrama de Colaboracin de una mquina de gaseosas

En este caso podemos observar el Diagrama de Colaboracin de una


mquina de gaseosas. Se puede observar que es un diagrama
dinmico dado que existe una cooperacin entre los objetos para
poder realizar la accin del sistema.
En este caso el cliente ingresa la moneda que se encuentra en
la fachada de la mquina.
Luego el cliente hace su eleccin.
En consecuencia, el dinero viaja hacia el registrador.
Se elige el producto.
El registrador hace que el dispensador entregue el producto en
la fachada de la mquina.

Se observa que es muy legible observar la cooperacin de los objetos,


para poder realizar la accin del sistema. Por lo tanto, se expresan
roles, dichos roles describen la configuracin de los objetos y de los
enlaces que pueden ocurrir cuando se ejecuta una instancia de la
comunicacin.
Diagrama de Estados: representa el comportamiento del sistema a
travs del tiempo. Son especialmente importantes para describir el
comportamiento de un sistema, cuyo comportamiento est dirigido

por eventos. En cualquier momento, un objeto se encuentra en un


estado particular.

Ilustracin 5. Diagrama de estados de la vida de una persona

En este caso se muestra un ejemplo de diagrama de estados para el


diagrama de clases. El ejemplo se basa en la vida de una persona.
El punto negro marca el estado inicial, y es por donde empieza
a leerse el diagrama de estados.
Cada estado se representa con un globo y un nombre.
La flecha que une dos estados se llama transicin.
Cada transicin lleva asociado un nombre, que determina el
acontecimiento que hace que se produzca dicha transicin.
El diagrama de estados de una persona en este caso, representa la
secuencia de estados por la que una persona para a lo largo de su
vida, claro est que esto varia para cada persona, dado que las
experiencias son distintas. Pero el diagrama expresa de manera
global tales situaciones.

Implementacin

Diagrama de Componentes: Permite modelar la estructura del


software, incluyendo dependencias entre componentes. Se utilizan

para representar la arquitectura lgica de un sistema y adems


muestran las interfaces por las que los componentes se relacionan.

Ilustracin 6. Diagrama de Componentes de una pgina web

Este ejemplo presenta un diagrama de componentes para una pgina


web con componentes Active X.
Como se observa en el ejemplo, existen un conjunto de componentes
que se encuentran interrelacionados utilizando flechas discontinuas
que representan relaciones de dependencia, donde la direccin de la
flecha apunta a la clase dependiente, que en este caso sera el
componente dependiente, y por consecuencia en el extremo donde
no hay flecha se encuentra el componente independiente.
El utilizar el diagrama de componentes concibe el diseo atendiendo
a los bloques principales, lo cual ayuda al equipo de desarrollo a
entender un diseo existente y a crear uno nuevo. Al pensar en el
sistema como una coleccin de componentes con interfaces
proporcionadas y necesarias bien definidas, se mejora la separacin
entre los componentes. Esto a su vez, facilita la comprensin y los
cambios cuando se modifican los requisitos.

Diagrama de Despliegue: Modela la distribucin en tiempo de


ejecucin de los elementos de procesamiento y componentes
software, procesos y objetos asociados. Nos muestran las relaciones
fsicas de los distintos nodos que componen un sistema y el reparto

de los componentes sobre dichos nodos. La vista de despliegue


representa la disposicin de las instancias de componentes de
ejecucin en instancias de nodos conectados por enlaces de
comunicacin.

Ilustracin 7. Diagrama de Despliegue para las inscripciones en una universidad

Este ejemplo presenta el caso en el que un alumno ingresa a una


pgina web de inscripciones de una universidad. Se ve que el alumno
realiza la accin desde su casa, la cual tiene una conexin de
internet.
La direccin de la pgina que es introducida por el usuario en
el navegador viaja a travs del modem enviando y recibiendo
datos de internet.
Ingresa el nmero de cuenta y contrasea.
Los datos del alumno son enviados al internet.
La facultad recibe los datos que el alumno ingreso desde su
casa.
As mismo la facultad enva los datos a una base de datos que
est en un servidor para llevar el control de los alumnos.

Conclusiones

La notacin de UML se fundamenta en principios de modelado,


lo cual es importante para toda implementacin de un sistema
de informacin.
UML resuelve de forma bastante satisfactoria un viejo
problema del desarrollo de software como es su modelado
grfico. Adems, se ha llegado a una solucin unificada basada
en lo mejor que haba hasta el momento, lo cual lo hace
todava ms excepcional.
UML es un lenguaje de modelado y no de programacin.

El vocabulario y las reglas de un lenguaje como UML indican


cmo crear y leer modelos bien formados, pero no dice que
modelos se deben crear ni cuando se deberan crear. Esta tarea
corresponde al proceso de desarrollo del software.

UML est pensado principalmente para sistemas con gran


cantidad de software.

Los diagramas a utilizar en las diferentes etapas del desarrollo


de los sistemas de informacin, puede variar dependiendo del
tamao y tipo de sistema, por lo que es necesario organizarlos
segn las fases del Proceso Unificado.