Sei sulla pagina 1di 9

INSTITUTO TECNOLOGICO DE LOS MOCHIS

INGENIERA INFORMTICA

DES.E IMP. DE SIST. DE INFORM

HERRAMIENTAS UML

Profesora:

Miranda Arnold Juan Andrs

Alumna: Araujo Aboytes Sandra Itzel

Los Mochis, Sin. Marzo del 2015.

DEFINICIN Y CONCEPTO DE UML


UML son las siglas de Unified Modeling Language o Lenguaje Unificado de
Modelado. Se trata de un estndar que se ha adoptado a nivel internacional por
numerosos organismos y empresas para crear esquemas, diagramas y
documentacin relativa a los desarrollos de software (programas informticos).

QU ES Y PARA QU SIRVE UML?


El trmino lenguaje ha generado bastante confusin respecto a lo que es UML.
En realidad el trmino lenguaje quizs no es el ms apropiado, ya que no es un
lenguaje propiamente dicho, sino una serie de normas y estndares grficos
respecto a cmo se deben representar los esquemas relativos al software. Mucha
gente piensa por confusin que UML es un lenguaje de programacin y esta idea
es errnea: UML no es un lenguaje de programacin. Como decimos, UML son
una serie de normas y estndares que dicen cmo se debe representar algo.
UML es una herramienta propia de personas que tienen conocimientos
relativamente avanzados de programacin y es frecuentemente usada por
analistas funcionales (aquellos que definen qu debe hacer un programa sin entrar
a escribir el cdigo) y analistas-programadores (aquellos que dado un problema, lo
estudian y escriben el cdigo informtico para resolverlo en un lenguaje como
Java, C#, Python o cualquier otro). Por tanto si ests dando tus primeros pasos en
programacin, te recomendaramos que te olvides de UML hasta que tengas unos
conocimientos mnimos como uso de condicionales, bucles, y conocimiento de la
programacin orientada a objetos. Esto es solo una recomendacin, en realidad
prcticamente cualquier persona puede usar UML, incluso podra usarse para
realizar esquemas o documentacin de procesos que no tengan que ver con la
informtica.

CULES SON LAS VERSIONES DE UML?


Los antecedentes de UML se sitan en la dcada de los 90 con distintos
estndares para modelado de software, no obstante podemos hablar de dos
grandes versiones:

UML 1.X (comprende UML 1.1, 1.2, 1.3, 1.4, 1.5): desde finales de los 90 se
empez a trabajar con el estndar UML. En los aos sucesivos fueron
apareciendo nuevas versiones que introducan mejoras o ampliaban a las
anteriores.
UML 2.X (comprende UML 2.1 hasta UML 2.5, 2.6, etc.): en torno a 2005 se
difundi una nueva versin de UML a la que podemos denominar UML 2.X.
Comprenden varias revisiones.
UML 3.X: evolucin que se espera para UML 2.X.

Hay que tener en cuenta que UML es un conjunto muy amplio de normas.
Prcticamente nadie las conoce todas. Segn la empresa o universidad, institucin
o centro de trabajo se usan determinados programas para crear diagramas y se
conocen ciertas partes de UML, pero no el conjunto de UML.
Qu versin usar? Para generar diagramas UML se usan programas
informticos. Usa un programa actualizado pero no te preocupes en exceso por
qu versin de UML usar, lo importante es que en tu grupo de trabajo o personas a
las que se les vaya a enviar documentacin sobre un proyecto software sepan
interpretar lo que se les enva. A nivel profesional no se le presta demasiada
atencin a que se cumpla estrictamente con las normas de una determinada
versin de UML, sino a que los esquemas estn bien construidos y razonados.

TIPOS DE DIAGRAMAS EN UML


Usando UML se pueden construir numerosos tipos de diagramas. Vamos a citar
algunos:
Diagramas de casos de uso: representan a los actores y casos de uso (procesos
principales) que intervienen en un desarrollo de software.
Diagramas de clases: para UML una clase es una entidad, no una clase software.
Un diagrama de clases UML puede ser un diagrama del dominio o representacin

de conceptos que intervienen en un problema, o tambin un diagrama de clases


software. El sentido de un diagrama UML se lo da la persona que lo construye.
Diagramas de secuencia: suelen usarse para representar objetos software y el
intercambio de mensajes entre ellos, representando la aparicin de nuevos objetos
de izquierda a derecha.
Diagramas de colaboracin: suelen usarse para representar objetos o clases y la
forma en que se transmiten mensajes y colaboran entre ellos para cumplir un
objetivo.
Diagramas de estados: suelen usarse para representar cmo evoluciona un
sistema (cmo va cambiando de estado) a medida que se producen determinados
eventos.
Otros diagramas: diagramas de actividad, diagramas de paquetes, diagramas de
arquitectura software, etc.

Herramientas UML textuales


Tambin podemos encontrar diversas herramientas que permiten la especificacin
textual de modelos UML (y que automticamente dibujan el diagrama UML
correspondiente). Pueden ser una solucin til en algunos casos. Lista de
herramientas de este tipo:
Nomnoml Crea diagramas de clase con una sintaxis textual para UML fcil de
usar. Lee el cmo y el porqu de esta herramienta.
yUML es un servicio online para crear diagramas de clase y de casos de uso. Este
servicio puede llamarse desde un blog o pgina web (pasando la descripcin
textual del modelo a mostrar como parte de la URL) para visualizar
automticamente el modelo indicado.Ahora podemos tambin generar modelos
UML desde otras herramientas UML.
UML Graph dibuja automticamente diagramas de clase y de secuencia. Para los
de clase utiliza la sintaxis Java con anotaciones que despus la herramienta

convierte a specifications Graphviz. Para los diagramas de secuencia se utiliza un


enfoque diferente (y esto es lo que no me gusta de la herramienta, en el fondo son
dos distintas): se usan pic macros para definir el diagrama y despus el programa
pic2plot convierte las macros en archivos grficos.
TextUML Toolkit es otra herramienta reciente. Es un editor open-source que utiliza
com visor de UML el proyecto EclipseGraphviz. Soporta bsicamente diagramas
de clase y un subconjunto de los diagramas de actividades.
MetaUML es una librera para visualizar diagramas UML en archivos LaTeX,
definidos utilizando una notacin textual simple. Soporta diagramas de clase, de
actividad y de casos de uso y mquinas de estado.
USE tambin utiliza una notacin textual pero en este caso su objetivo es animar
el modelo permitiendo la creacin de snapshots que sirvan para validar las
restricciones OCL que se hayan definido.
PlantUML soporta diagramas de clase, de casos de uso y de actividad, aunque no
tengo claro si es un proyecto an activo. Ver tambin esta descripcin ms
detallada en el blog
Simple DSL for sequence diagrams basado en UMLGraph . Utiliza el TXL
Programming Language para pasar del DSL a UMLGraph
(Slo para fans acrrimos de Latex) Macros de Latex macros para dibujar UML
Sequence diagrams , el nombre lo dice todo
metaDepth : Herramienta para la definicin textual de modelos multi-nivel (es
decir, la herramienta no se limita a modelos UML ni est restringida a la
arquitectura modelo/metamodelo/metametamodelo tpica. Mi resumen aqu ).
EasyUML Editor: soporta casi todos los tipos de diagramas UML. Los diagramas
se pueden exportar a PDF, PNG o SVG. Se ejecuta como una aplicacin web
Umple puede tambin usarse como herramienta de modelado textual para UML

Microsoft ha publicado un cdigo de ejemplo para Visual Studio que permite la


descripcin textual de diagramas de clase, casos de uso y actividades
Finite State Machine Diagram Generator: una sintaxis XML muy simple para la
definicin textual de UML state machines. La herramienta de dibujo est
implementada como un servicio web gratuito. La herramienta tambin permite la
generacin de cdigo (Java, C++ and C#) a partir de esos mismos diagramas.
seqdiag generador the imgenes representando diagramas de secuencia a partir
de archivos .diag, similares a los .dot (graphvizs)).
PlantText UML Editor y SeedUML: dos editores online textuales basados
en PlantUML .

Herramientas UML para Eclipse


Adems, tambin es til echar un vistazo a la lista de herramientas compatibles
con el plug-in Eclipse UML 2 . Como ya comentamos aqu , la amplia adopcin de
las herramientas para Eclipse podra convertir el formato XMI que usan en un
estandar

de

Herramientas

facto

UML

para

todas

las

libres

otras

y/o

herramientas

Open

UML.

source

Finalmente, quiero mencionar tambin un par de listas de herramientas UML open


source

(aunque

no

estn

completas,

ejemplo UMLet , Moskitt y DiagramDesigner ) no se mencionan)


10 Free, Standalone and Easy to Use UML Editors
Free Open Source UML tools desde DevCurry
Survey of Open Source Modeling Tools for Software Development
Top 5 open source UML tools por Open Tube.
Best Open Source UML tools por Open Source Applications

por

Herramientas

para

UML

ejecutable:

Executable UML (leed los nuevos estndares para Executable UML: fuml and Alf)
busca definir los modelos UML con suficiente precisin como para permitir su
ejecucin directa. En su estado ms puro, elimina incluso la necesidad de
programar. Disponemos ya de varias herramientas para UML ejecutable. Podis
consultar la lista que hemos recopilado hasta el momento aqu.

Herramientas UML especficas para MAC:


MacA&D con

soporte

para

los

principales

diagramas

de

UML

2.2.

funcionalidades de generacin de cdigo para SQL, C++, Objective-C, Java, PHP


and REALbasic
CanvasUML : para dibujar diagramas de clase
Otras herramientas como MagicDraw, VisualParadigm and QuickUML tienen
tambin versin para MAC
Herramientas para dispositivos mbiles:
Lucidchart tiene una versin para iPad capaz de reconozer figuras hechas a mano.
Draw UML: una herramienta de dibujo UML para el iPad.
MagicDraw Reader iPhone Edition . Permite a los usuarios visualizar modelos
hechos con MagicDraw desde su iPhone o iPod Touch.
Mock4U UML : Como usar Balsamiq para crear mock-ups de modelos UML en el
iPhone usando sus templates para iPhone >
iUML : NO es realmente una herramienta de modelado sin una gua de referencia
para llevar en el iPhone y consultar la documentacin mientras dibujamos modelos
UML.
UML Process Aid es otra herramienta para consultar documentacin sobre UML en
el iPhone.

AndyUML: una herramienta Android para el dibujo de diagramas UML


astah* UML pad permite la creacin de diagramas de clase UML en vuestro iPad.
Adems, se pueden exportar los modelos para completarlos ms tarde utilizando
otras de las herramientas de modelado de la misma marca.

Herramientas UML para Python:


PyUML es un plug-in de Eclipse open source para la generacin (y la ingeniera
inversa) de cdigo python a partir de diagramas de clase UML.
Epydoc : Genera documentacin UML a partir de cdigo python (ltima
actualizacin en 2008)
PyNSource : Ingeniera inversa de cdigo python. El diagrama de clase UML
generado se puede mostrar como un diagrama textual ASCII o como grfico.
Lumpy . Mdulo Python para generar diagramas UML (actualmente object y class
diagrams) a partir de un programa Python en ejecucin. Se puede ver como un
debugger grfico que usa UML para mostrar el estado del programa.
ObjectDomain : herramienta comercial con soporte para generacin de cdigo y
ingeniera inversa para Python.
argoUML-python parece (pareca?) ir en la misma direccin pero todava est lejos
de ese punto.
GraphModels

(django-command-extensions)

crea un archivo GraphViz dot UML-LIKE para la aplicacin seleccionada


Pyreverse incluida en Pylint (herramienta para el anlisis de la calidad del cdigo
python) crea diagramas UML a partir de cdigo
pywebuml utiliza graphviz para crear el diagrama de clases UML correspondiente
a tu cdigo python (y tambin funciona con Java y C#).

Herramientas UML para Ruby:


RailRoady genera diagramas UML para los modelos y controladores de Rails. Los
modelos se muestran cmo .svg files o con el lenguaje dot . RailRoady se basa en
el original RailRoad diagram generator .
yUMLMeRails combina RailRoad y yUML para crear diagramas UML online a partir
del cdigo RoR
Umple (un tipo de herramienta UML textual ) genera cdigo Ruby para las clases
del modelo
Umlify es un proyecto open source que genera diagramas de clase a partir del
cdigo fuente Ruby. Como yUMLMeRails utiliza yUML para visualizar los
diagramas.
Dentro de las herramientas comerciales Visual Paradigm for UML ofrece
generacin de cdigo para Ruby
Otras iniciativas, como ruby-uml parecen ya abandonadas o tan slo una
declaracin de intenciones (como argoUML-ruby