Está en la página 1de 4

 

LECTURA SEMANAL  

LECTURA UNO: UNIFIED MODELING LANGUAGE (UML) INTRODUCCIÓN


En la actualidad, las aplicaciones de software corporativo son cada vez más grandes y
complejas. De hecho, esto es cierto incluso para las aplicaciones de uso doméstico. No es
necesario tener un equipo de cientos de personas comprometidas con un desarrollo que se
extiende a lo largo de varios años y con un presupuesto enorme para tener que lidiar con
niveles de complejidad que hasta hace unos años no eran contemplados siquiera. Hoy en
día, el desarrollo de prácticamente cualquier aplicación que implique el trabajo de más de
dos personas por un periodo de tiempo de más de un par de semanas comprende niveles de
complejidad y abstracción que se verían beneficiados por un enfoque organizado y
estructurado para el diseño y documentación del proceso. Un enfoque con estas
características facilitará la creación de una estructura (O arquitectura, como se llama en el
ambiente formal de la construcción de software), que soporte un diseño robusto que no
solamente cumpla con las expectativas del cliente sino que además pueda servir como base
para proyectos posteriores por parte de la compañía de desarrollo. Estas condiciones se
logran a través de las prácticas de un modelado claro, una documentación correcta y un
conjunto de mejores prácticas que pueden incluir la reutilización de código y la
modularización de los componentes del desarrollo.
En la base de la satisfacción de las condiciones enunciadas como deseables en el párrafo
anterior se encuentra la necesidad de llevar a cabo un proceso de modelado del sistema a
construir. La generación de modelos es un proceso tan antiguo como el proceso de
construcción de bienes, maquinaria y edificios. De hecho, un plano, bien sea de una parte o
una vivienda no es más que un modelo de la misma. La construcción de software, con la gran
complejidad que implica no es ajena a la necesidad de modelado. Es en este espacio
donde interviene UML como estándar y herramienta para la generación de modelos, en
diferentes niveles de detalle y desde distintas perspectivas, que facilita enormemente el
proceso de definición, construcción y despliegue de una solución de software.
¿QUÉ ES UML?
Definido de manera formal, UML es un lenguaje estándar que se puede utilizar para
especificar, documentas y visualizar el conjunto de productos de un proceso de construcción
de software, así como las características del software resultante. UML utiliza herramientas
gráficas y una notación estandarizada para lograr estos resultados y está pensado para
facilitar los procesos de comunicación dentro de los equipos de desarrollo de software, de
tal manera que los procesos de exploración, diseño, validación y construcción sean lo más
limpios, claros y efectivos que sea posible.

En alianza con

 
Colombia
¿CÓMO SURGIÓ UML?
UML, Unified Modeling Language ( o Lenguaje Unificado de Modelado) nació en 1994
como fruto del trabajo de James RUMBAUGH y Grady BOOCH en Rational Software
Corporation, donde trataron de encontrar una respuesta a la “guerra de los métodos”*. Su
solución fue tratar de unificar las propuestas que cada uno de ellos tenían, Booch con la
metodología llamada como él mismo y Rumbaugh con OMT (Object Modeling Technique).
Para completar la propuesta, en 1995 Ivar Jacobson se unió al equipo, aportando su propia
aproximación, llamada OOSE (Object-Oriented Software Engineering). De la unión de estas
tres grandes mentes de la ingeniería de software surgió el grupo conocido como los Three
amigos, y del trabajo de este grupo, lo que se convertiría en el estándar UML.
La idea inicial de la propuesta era construir una metodología estándar de modelado que
aprovechara los avances hechos por cada uno de manera independiente (Que tenían en
ese momento aspectos en común y que tendían, en algunos sentidos, a evolucionar en
direcciones similares), pero que también permitiera la integración de los elementos
discordantes que cada propuesta presentaba, de tal manera que resultara una propuesta
mucho más íntegra, completa y útil para los ingenieros encargados de desarrollos futuros. De
estas ideas surgió la primera especificación de UML, la 0.9, y posteriormente la 0.91, las dos
en 1996. Estas especificaciones, que aprovecharon la colaboración de la comunidad del
software demostraron el potencial del estándar, pero también hicieron claro que se requería
más trabajo para lograr una propuesta sólida, única y realmente estructurada y útil.
Sin embargo, el potencial era claro, y el OMG*. (object management group), decidió impulsar
la adopción de UML como estándar. De esta manera, con el apoyo de un importante número
de empresas del sector, entre las que se encontraban Rational Software, HP, IBM, MCI
Systemhouse, Microsoft, Oracle, Digital Equipment Corp., y Unisys, surgió la primera
especificación formal de UML, la versión 1.0, a principios de 1997. Esta primera versión oficial
contenía las bases de un estándar robusto, competo, flexible y sobre todo, utilizable en el
sector de la construcción de software. Luego de una revisión menor que produjo la versión
1.1, el estándar fue aceptado a finales de 1997.

¿DE QUÉ ESTÁ COMPUESTO UML?


UML, como ya se mencionó antes, es un lenguaje que utiliza notación gráfica para
documentar procesos de software. De esta manera, la estructura principal de UML está
descrita por un conjunto de trece diagramas, distribuidos en grupos como se ve en la
siguiente imagen:

                                                        
*
Cuando la programación orientada por objetos se hizo popular, entre finales de la década de 1970 y finales
*
El OMG es una organización internacional sin ánimo de lucro, encaminada a la definición, impulso, adopción y
mantenimiento de estándares en el área de la construcción de software. Información detallada y recursos
pueden ser encontrados en http://www.omg.org/

En alianza con

 
Colombia
Modelo 
UML 

Estructura 
Comportamiento  De Interacción 
Está@ca 

Diagrama de 
Casos de Uso  Diagrama de  Secuencia 
Clases 
Diagrama de 
Componentes  Diagrama de 
Diagrama de  Diagrama de  Colaboracíón / 
Ac@vidad  Objetos  Comunicación 
Diagrama de 
Estructura 
Compuesta 
Diagrama de  Diagrama de 
Diagrama de  Despliegue  Tiempos 
Máquina de 
Estados  Diagrama de 
Paquetes 
Diagrama 
General de 
Interacción 

Figura 1 Modelo UML


Una descripción muy breve de los diagramas enumerados es:

●Diagramas de comportamiento. Son diagramas que se ocupan de la descripción de


características del sistema que tienen que ver con el comportamiento del mismo. Los
diagramas que se encuentran en esta categoría son:
●Diagrama de casos de uso. Muestra las interacciones de los actores externos al sistema
(usuarios por ejemplo) con éste y las relaciones que pueden existir entre dichas interacciones.
●Diagrama de actividad. Muestra procesos del negocio de alto nivel. Utilizando este
diagrama es posible modelar flujo de datos y otros comportamientos de la lógica de la
aplicación.
●Diagrama de máquina de estados. Describe los estados en que un objeto o interacción
puede encontrarse y cómo ocurre la transición entre dichos estados.
●Diagramas de estructura estática. Son diagramas que representan elementos de la
especificación que no son afectados por el tiempo. Los diagramas que están en esta
categoría son:
∇Diagrama de clases. El diagrama de clases muestra la colección de elementos estáticos
que describen la estructura del software, así como las relaciones que los unen.
∇Diagrama de componentes. Despliega los componentes que hacen parte de la aplicación.
Incluye sus interrelaciones, interacciones e interfaces públicas.
∇Diagrama de objetos. Muestra las relaciones que existen entre los objetos de la aplicación
durante su ejecución, en un momento determinado del tiempo.

En alianza con

 
Colombia
∇Diagrama de estructura compuesta. Representa la estructura interna de una clase, un caso
de uso o un componente, junto con sus puntos de interacción con otras partes del sistema.
∇Diagrama de despliegue. Despliega la arquitectura en la que se enmarca la ejecución del
sistema. Específicamente los espacios físicos (hardware) y lógicos (software) en los que dicha
ejecución se llevará a cabo.
∇Diagrama de paquetes. Muestra como los elementos del sistema están organizados dentro
de paquetes y las relaciones que unen dichos paquetes.
∇Diagramas de interacción. Los diagramas de interacción están relacionados con los
diagramas de comportamiento, pero su énfasis está en la interacción entre los componentes
del sistema. Los diagramas de interacción son:
◙Diagrama de secuencia. Modela la manera como se comunican elementos del sistema
durante el tiempo, con énfasis en la representación del orden de dichas interacciones.
◙Diagrama de comunicación/colaboración. Muestra como las instancias de clases se
comunican entre sí, con énfasis en la estructura organizacional de dichas instancias y los
mensajes que se envían entre sí.
◙Diagrama de tiempos. Representa los cambios en el estado de un elemento del sistema a
lo largo del tiempo, como respuesta a estímulos externos.
◙Diagrama general de interacción. Representa la interacción de las partes del sistema desde
una perspectiva mucho más general. Cada nodo de un diagrama general de interacción es
un diagrama de interacción en sí mismo.

En alianza con

 
Colombia

También podría gustarte