herra.uml

12
INSTITUTO TECNOLOGICO DE LOS MOCHIS INGENIERÍA INFORMÁTICA DES.E IMP. DE SIST. DE INFORM HERRAMIENTAS UML Profesora: Miranda Arnold Juan Andrés Alumna: Araujo Aboytes Sandra Itzel

Upload: sandra-araujo

Post on 09-Dec-2015

216 views

Category:

Documents


3 download

DESCRIPTION

jhkujukh

TRANSCRIPT

Page 1: Herra.UML

INSTITUTO TECNOLOGICO DE LOS MOCHIS

INGENIERÍA INFORMÁTICA

DES.E IMP. DE SIST. DE INFORM

HERRAMIENTAS UML

Profesora:  Miranda Arnold Juan Andrés

Alumna: Araujo Aboytes Sandra Itzel

Los Mochis, Sin. Marzo del 2015.

Page 2: Herra.UML

DEFINICIÓN Y CONCEPTO DE UMLUML son las siglas de “Unified Modeling Language” o “Lenguaje Unificado de

Modelado”. Se trata de un estándar que se ha adoptado a nivel internacional por

numerosos organismos y empresas para crear esquemas, diagramas y

documentación relativa a los desarrollos de software (programas informáticos).

¿QUÉ ES Y PARA QUÉ SIRVE UML?El término “lenguaje” ha generado bastante confusión respecto a lo que es UML.

En realidad el término lenguaje quizás no es el más apropiado, ya que no es un

lenguaje propiamente dicho, sino una serie de normas y estándares gráficos

respecto a cómo se deben representar los esquemas relativos al software. Mucha

gente piensa por confusión que UML es un lenguaje de programación y esta idea

es errónea: UML no es un lenguaje de programación. Como decimos, UML son

una serie de normas y estándares que dicen cómo se debe representar algo.

UML es una herramienta propia de personas que tienen conocimientos

relativamente avanzados de programación y es frecuentemente usada por

analistas funcionales (aquellos que definen qué debe hacer un programa sin entrar

a escribir el código) y analistas-programadores (aquellos que dado un problema, lo

estudian y escriben el código informático para resolverlo en un lenguaje como

Java, C#, Python o cualquier otro). Por tanto si estás dando tus primeros pasos en

programación, te recomendaríamos que te olvides de UML hasta que tengas unos

conocimientos mínimos como uso de condicionales, bucles, y conocimiento de la

programación orientada a objetos. Esto es solo una recomendación, en realidad

prácticamente cualquier persona puede usar UML, incluso podría usarse para

realizar esquemas o documentación de procesos que no tengan que ver con la

informática.

¿CUÁLES SON LAS VERSIONES DE UML?Los antecedentes de UML se sitúan en la década de los 90 con distintos

estándares para modelado de software, no obstante podemos hablar de dos

grandes versiones:

Page 3: Herra.UML

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 estándar UML. En los años sucesivos fueron

apareciendo nuevas versiones que introducían 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 versión de UML a la que podemos denominar UML 2.X.

Comprenden varias revisiones.

UML 3.X: evolución que se espera para UML 2.X.

 

Hay que tener en cuenta que UML es un conjunto muy amplio de normas.

Prácticamente nadie las conoce todas. Según la empresa o universidad, institución

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é versión usar? Para generar diagramas UML se usan programas

informáticos. Usa un programa actualizado pero no te preocupes en exceso por

qué versión de UML usar, lo importante es que en tu grupo de trabajo o personas

a las que se les vaya a enviar documentación sobre un proyecto software sepan

interpretar lo que se les envía. A nivel profesional no se le presta demasiada

atención a que se cumpla estrictamente con las normas de una determinada

versión de UML, sino a que los esquemas estén bien construidos y razonados.

 TIPOS DE DIAGRAMAS EN UMLUsando 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 representación

Page 4: Herra.UML

de conceptos que intervienen en un problema, o también 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 aparición de nuevos objetos

de izquierda a derecha.

Diagramas de colaboración: 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 cómo evoluciona un

sistema (cómo 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 textualesTambién podemos encontrar diversas herramientas que permiten la especificación

textual de modelos UML (y que automáticamente dibujan el diagrama UML

correspondiente). Pueden ser una solución útil en algunos casos. Lista de

herramientas de este tipo:

Nomnoml Crea diagramas de clase con una sintaxis textual para UML fácil de

usar. Lee ç el cómo 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 página web (pasando la descripción

textual del modelo a mostrar como parte de la URL) para visualizar

automáticamente el modelo indicado.Ahora podemos también generar modelos

UML desde otras herramientas UML.

  UML Graph   dibuja automáticamente diagramas de clase y de secuencia. Para los

de clase utiliza la sintaxis Java con anotaciones que después la herramienta

Page 5: Herra.UML

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 después el programa

pic2plot convierte las macros en archivos gráficos.

TextUML Toolkit es otra herramienta reciente. Es un editor open-source que utiliza

com visor de UML el proyecto EclipseGraphviz. Soporta básicamente diagramas

de clase y un subconjunto de los diagramas de actividades.

MetaUML es una librería para visualizar diagramas UML en archivos LaTeX,

definidos utilizando una notación textual simple. Soporta diagramas de clase, de

actividad y de casos de uso y máquinas de estado.

USE también utiliza una notación textual pero en este caso su objetivo es animar

el modelo permitiendo la creación 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 aún activo. Ver también esta descripción más

detallada en el blog

Simple DSL for sequence diagrams basado en UMLGraph . Utiliza el TXL

Programming Language para pasar del DSL a UMLGraph

(Sólo para fans acérrimos de Latex) Macros de Latex macros para dibujar UML

Sequence diagrams , el nombre lo dice todo

metaDepth : Herramienta para la definición textual de modelos multi-nivel (es

decir, la herramienta no se limita a modelos UML ni está restringida a la

arquitectura modelo/metamodelo/metametamodelo típica. 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 aplicación web

Umple puede también usarse como herramienta de modelado textual para UML

Page 6: Herra.UML

Microsoft ha publicado un código de ejemplo para Visual Studio que permite la

descripción textual de diagramas de clase, casos de uso y actividades

Finite State Machine Diagram Generator: una sintaxis XML muy simple para la

definición textual de UML state machines. La herramienta de dibujo está

implementada como un servicio web gratuito. La herramienta también permite la

generación de código  (Java, C++ and C#) a partir de esos mismos diagramas.

seqdiag – generador the imágenes representando diagramas de secuencia a partir

de archivos .diag, similares a los .dot (graphviz’s)).

PlantText UML Editor y SeedUML: dos editores online textuales basados

en PlantUML .

Herramientas UML para EclipseAdemás, también es útil echar un vistazo a la lista de herramientas compatibles

con el plug-in Eclipse UML 2 . Como ya comentamos aquí , la amplia adopción de

las herramientas para Eclipse podría convertir el formato XMI que usan en un

estandar de facto para todas las otras herramientas UML.

Herramientas UML libres y/o Open source 

Finalmente, quiero mencionar también un par de listas de herramientas UML open

source (aunque no están completas, por

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

Page 7: Herra.UML

Herramientas para UML ejecutable: 

Executable UML (leed los nuevos estándares para Executable UML: fuml and Alf)

busca definir los modelos UML con suficiente precisión como para permitir su

ejecución directa. En su estado más puro, elimina incluso la necesidad de

programar. Disponemos ya de varias herramientas para UML ejecutable. Podéis

consultar la lista que hemos recopilado hasta el momento aquí.

Herramientas UML específicas para MAC:MacA&D con soporte para los principales diagramas de UML 2.2. y

funcionalidades de generación de código para SQL, C++, Objective-C, Java, PHP

and REALbasic

CanvasUML : para dibujar diagramas de clase

Otras herramientas como MagicDraw, VisualParadigm and QuickUML tienen

también versión para MAC

Herramientas para dispositivos móbiles:

Lucidchart tiene una versión 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 guía de referencia

para llevar en el iPhone y consultar la documentación mientras dibujamos modelos

UML.

UML Process Aid es otra herramienta para consultar documentación sobre UML

en el iPhone.

AndyUML: una herramienta Android para el dibujo de diagramas UML

Page 8: Herra.UML

astah* UML pad permite la creación de diagramas de clase UML en vuestro iPad.

Además, se pueden exportar los modelos para completarlos más 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 generación (y la ingeniería

inversa) de código python a partir de diagramas de clase UML.

Epydoc : Genera documentación UML a partir de código python (última

actualización en 2008)

PyNSource : Ingeniería inversa de código python. El diagrama de clase UML

generado se puede mostrar como un diagrama textual ASCII o como gráfico.

Lumpy . Módulo Python para generar diagramas UML (actualmente object y class

diagrams) a partir de un programa Python en ejecución. Se puede ver como un

debugger gráfico que usa UML para mostrar el estado del programa.

ObjectDomain : herramienta comercial con soporte para generación de código y

ingeniería inversa para Python.

argoUML-python parece (parecía?) ir en la misma dirección pero todavía está lejos

de ese punto.

GraphModels (django-command-extensions) 

crea un archivo GraphViz dot “UML-LIKE” para la aplicación seleccionada

Pyreverse incluida en Pylint (herramienta para el análisis de la calidad del código

python) crea diagramas UML a partir de código

pywebuml utiliza graphviz para crear el diagrama de clases UML correspondiente

a tu código python (y también funciona con Java y C#).

Page 9: Herra.UML

Herramientas UML para Ruby:RailRoady genera diagramas UML para los modelos y controladores de Rails. Los

modelos se muestran cómo .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 código RoR

Umple (un tipo de herramienta UML textual ) genera código Ruby para las clases

del modelo

Umlify es un proyecto open source que genera diagramas de clase a partir del

código fuente Ruby. Como yUMLMeRails utiliza yUML para visualizar los

diagramas.

Dentro de las herramientas comerciales Visual Paradigm for UML ofrece

generación de código para Ruby

Otras iniciativas, como ruby-uml parecen ya abandonadas o tan sólo una

declaración de intenciones (como argoUML-ruby