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.