Introducción al lenguaje unificado de modelado, UML
drake_Ensayo24 de Octubre de 2012
3.617 Palabras (15 Páginas)761 Visitas
Introducción al lenguaje unificado de
modelado, UML
UML es un lenguaje estándar que sirve para escribir los planos del software, puede utilizarse para
visualizar, especificar, construir y documentar todos los artefactos que componen un sistema con gran
cantidad de software. UML puede usarse para modelar desde sistemas de información hasta
aplicaciones distribuidas basadas en Web, pasando por sistemas empotrados de tiempo real. UML es
solamente un lenguaje por lo que es sólo una parte de un método de desarrollo software, es
independiente del proceso aunque para que sea optimo debe usarse en un proceso dirigido por casos de
uso, centrado en la arquitectura, iterativo e incremental.
UML es un lenguaje por que proporciona un vocabulario y las reglas para utilizarlo, además es un
lenguaje de modelado lo que significa que el vocabulario y las reglas se utilizan para la representación
conceptual y física del sistema.
UML es un lenguaje que nos ayuda a interpretar grandes sistemas mediante gráficos o mediante texto
obteniendo modelos explícitos que ayudan a la comunicación durante el desarrollo ya que al ser
estándar, los modelos podrán ser interpretados por personas que no participaron en su diseño (e
incluso por herramientas) sin ninguna ambigüedad. En este contexto, UML sirve para especificar,
modelos concretos, no ambiguos y completos.
Debido a su estandarización y su definición completa no ambigua, y aunque no sea un lenguaje de
programación, UML se puede conectar de manera directa a lenguajes de programación como Java,
C++ o Visual Basic, esta correspondencia permite lo que se denomina como ingeniería directa
(obtener el código fuente partiendo de los modelos) pero además es posible reconstruir un modelo en
UML partiendo de la implementación, o sea, la ingeniería inversa.
Modelado Estructural
A la hora de modelar un sistema es necesario identificar las cosas más importantes eligiendo un nivel
de abstracción capaz de identificar todas las partes relevantes del sistema y sus interacciones. En este
primer acercamiento no debemos contar con los detalles particulares de las cosas que hemos
identificado como importantes, estos detalles atacarán posteriormente en cada una de las partes
elegidas.
Por ejemplo, si estuviésemos trabajando en una tienda que vende ordenadores como proveedor final y
nuestro jefe nos pidiera que montáramos un ordenado, directamente la división que tendríamos es la
siguiente: necesitamos un monitor, un teclado, un ratón y una CPU, sin importarnos (inicialmente,
claro) que la CPU este compuesta por varios elementos más. Una vez que tenemos claro que partes
forman un ordenador nos daríamos cuenta que tanto el teclado como el ratón y el monitor son parte
más o menos atómicas ya que, aunque estos tres objetos están compuestos por un montón de
componentes electrónicos, la composición de estos no nos interesa para al nivel de abstracción que
estamos trabajando (el de proveedor final). Al darnos cuenta de esto prepararíamos el monitor, el
teclado y el ratón, pero en nuestro almacén tenemos monitores de 15 y 17 pulgadas, teclados
ergonómicos y estándares y ratones de diferentes tamaños, colores, etc. Una vez que hemos
determinado las propiedades de cada uno de ellos pasaríamos a preocuparnos por la CPU, ahora es
cuando veríamos que para montar la CPU nos hacen falta una placa base, un microprocesador, una
disquetera, un disco duro y un CD-ROM, cada uno de estos elementos con sus propiedades, disquetera
de 1,44Mb, disco duro de 4Gb, microprocesador a 500Mhz y un CD-ROM 32x.
Una vez que tenemos todo el material en el banco de trabajo tendríamos que montar el ordenador
sabiendo que cada una de las partes interactúa con el resto de alguna manera, en la CPU la disquetera,
el CD-ROM y el disco duro van conectados al bus de datos, este además está conectado a la placa base
y el micro tiene un lugar bien definido también en la placa base, después conectaríamos el teclado, el
monitor y el ratón a la CPU y ¡ya esta!, nuestro ordenador está montado.
Diagramas de clases y de objetos
Los diagramas de clases son los más utilizados en el modelado de sistemas orientados a objetos. Un
diagrama de clases muestra un conjunto de clases, interfaces y colaboraciones, así como sus
relaciones.
Los diagramas de clases se utilizan para modelar la vista de diseño estática de un sistema.
Principalmente, esto incluye modelar el vocabulario del sistema, modelar las colaboraciones o modelar
esquemas. Los diagramas de clases también son la base para un par de diagramas relacionados, los
diagramas de componentes y los diagramas de despliegue. Los diagramas de clases son importantes no
sólo para visualizar, especificar y documentar modelos estructurales, sino que también para construir
sistemas ejecutables aplicando ingeniería directa e inversa.
Por otro lado, los diagramas de objetos modelan las instancias de los elementos contenidos en los
diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un
momento concreto. Se utilizan para modelar la vista de diseño estática o la vista de procesos estática,
esto conlleva el modelado de una instantánea del sistema en un momento concreto y la representación
de un conjunto de objetos con su estado y con sus relaciones.
Diagramas de Clases
Un diagrama de clases es un diagrama que muestra un conjunto de clases, interfaces, colaboraciones y
sus relaciones. Al igual que otros diagramas los diagramas de clases pueden contener notas y
restricciones. También pueden contener paquetes o subsistemas, los cuales su usan para agrupar los
elementos de un modelo en partes más grandes. A veces se colocarán instancias en los diagramas de
clases, especialmente cuando se quiera mostrar el tipo (posiblemente dinámico) de una instancia.
Modelado del comportamiento
Interacciones
En cualquier sistema, los objetos interactúan entre sí pasándose mensajes. Una interacción es un
comportamiento que incluye un conjunto de mensajes intercambiados por un conjunto de objetos
dentro de un contexto para lograr un propósito.
Las interacciones se utilizan para modelar los aspectos dinámicos de las colaboraciones, que
representan sociedades de objetos que juegan roles específicos, y colaboran entre sí para llevar a cabo
un comportamiento mayor que la suma de los comportamientos de sus elementos. Estos roles
representan instancias prototípicas de clases, interfaces, componentes, nodos y casos de uso. Los
aspectos dinámicos se visualizan, se especifican, se construyen y se documentan como flujos más
complejos que impliquen bifurcaciones, iteraciones, recursión y concurrencia. Cada iteración puede
modelarse de dos formas: bien destacando la ordenación temporal de los mensajes, bien destacando la
secuencia de mensajes en el contexto de una organización estructural de objetos. Las interacciones
bien estructuradas son como los algoritmos bien estructurados: eficientes, sencillos, adaptables y
comprensibles.
Los sistemas con gran cantidad de software reaccionan dinámicamente a eventos o estímulos externos.
Por ejemplo, el sistema de una compañía aérea puede manejar gran cantidad de información que
normalmente se encuentra almacenada en un disco sin ser accedida, hasta que algún evento externo los
ponga en acción, como, por ejemplo, una reserva, el movimiento de un avión o la programación de un
vuelo. En los sistemas reactivos, como puede ser el sistema de un procesador de un horno microondas,
la creación de objetos y el trabajo se llevan a cabo cuando se estimula el sistema con un evento, tal
como la pulsación de un botón o el paso del tiempo.
Diseño orientado a objetos con UML © Grupo EIDOS
52
En UML, los aspectos estáticos de un sistema se modelan mediante elementos
Diagramas para el modelado del
comportamiento
En este tema vamos a estudiar que tipos de diagramas se utilizan en UML para modelar el
comportamiento de un sistema, subsistema, clase o interfaz. De los cinco tipos de diagramas que se
utilizan en UML con este fin, diagramas de casos de uso, de secuencia, de colaboración, de actividades
y de estados, únicamente nos dedicaremos al estudio de los cuatro primeros, ya que para estudiar los
diagramas de estado (o maquinas de estados) es necesario profundizar en el estudio de los elementos
avanzados para el modelado de la parte dinámica de los sistemas (eventos y señales) lo que para
nosotros está fuera del objetivo de este curso de Diseño Orientado a Objetos con UML, el cual se
centra en servir de iniciación a las técnicas de modelado orientado a objetos aplicando el rigor y la
metodología de UML.
Los diagramas de casos de uso se emplean para modelar la vista de casos de uso de un sistema, la
mayoría de las veces esto implica modelar el contexto del sistema, subsistema o clase, o el modelado
de los requisitos de comportamiento de esos elementos.
Los diagramas de interacción (incluye los diagramas de secuencia y de colaboración)
...