Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

UML

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 59

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

COORDINACION GENERAL DE POSTGRADO


MAESTRIA EN TECNOLOGIA DE LA INFORMACIÓN
PROGRAMACION ORIENTADA A OBJETO

UML Y HERRAMIENTAS UML DE SOFTWARE LIBRE

JUNIO DE 2010
CONCEPTUALIZACION DE UML
HISTORIA
IMPLEMENTACION DE UML

ELEMENTOS RELACIONES Y DIAGRAMAS

HERRAMIENTAS DE SOFTWARE LIBRE PARA UML

CUADRO COMPARATIVO DE LAS HERRAMIENTAS

EJEMPLOS

CONCLUSIONES

RECOMENDACIONES
(Unified Modeling Lenguage – Lenguaje
Que es:
es
Unificado de Modelado). UML es un
conjunto de Herramientas que permiten
modelar (analizar y diseñar ) sistemas
orientado a objetos.

Que no es:
es

•UML no es un modelo de desarrollo, no va a decir cómo pasar del análisis


al diseño y de este al código.

No son una serie de pasos que llevan a producir códigos a partir de unas
especificaciones.

UML al no ser método de desarrollo es independiente del ciclo de desarrollo


que se vaya a seguir.
Durante los ochenta y principios de los noventa
Crady Booch, James Rumbaugh y Ivan
Jacobson, trabajaban por separados en
Desarrollo de Notaciones para el Análisis y
HISTORIA Diseño de Sistemas Orientado a Objetos. Los
tres llegaron por separado a obtener bastante
reconocimiento.

Por su parte James Rumbaugh habia


desarrollado su propia notación de diseño
orientada a objetos llamada OMT ( Object
Modelling Technique) en su libro Object
orientad Modelling and Design.

Booch habia escrito “Object – Oriented


Analysis and Desingn with aplications” un libro
de referencia en el análisis y diseño orientado
a objetos desarrollando su propia notación.
HISTORIA Por otro lado Jacobson se había revelado como
un Visionario del análisis ( Padre de los casos
de uso) y sobre todo de diseño orientado a
objetos, sorprendiendo a todo el mundo en “
Object – Oriented Software Enginee ring; A use
Case Driven Approach”.

A mediado de los noventa empezaron a


intercambiar documentos y trabajar en conjunto
produciendo grandes avances en el modelado de
Sistemas Orientado a Objetos.

En 1994 Rational contrato a Rumbaugh en donde ya


trabajaba Booch un año después Jacobson se une a
ellos en Rational. En 1997 salió la versión 1.0 de UML.

En 1997 se declara UML como estándar por la OMG


(Grupo de Gestión de Objeto).
Implementación de UML

Bloques de Construcción
Atributos

Elementos Operaciones
Clase: Objetos
Relaciones

Semánticas

Bloques de
Relaciones
Construcción

Diagramas
Elementos
Clase Clase activa Caso de
Uso
Nombreclase Nombreclase
Nodo
Estructurales -Atributos -Atributos
+ +
+ Operación + Operación Colaboración

Componentes Nombre interfaz Nombre interfaz

Comportamiento Operación
Estado

Agrupación
Paquetes

Nota
Anotación
Comentario
Relaciones

Dependencia:
Relación entre dos elementos uno independiente a otro
Dependiente y puede afectar la semántica.

0…………1 *
Asociación:
Patrón Empleado
Son conexiones entre objetos (rol, multiplicidad, Calificador.

Generalización:
Especificación en donde el hijo comparte la estructura y el
Comportamiento del padre.

Realización:
Es una relación semántica entre clasificadores.
Diagramas
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas
de Clase
Diagramas de
Casos de Uso
DIAGRAMAS DE SOFTWARE
LIBRE PÁRA UML

Distribución Secuencia

Actividad
Componentes

Colaboración
Un diagrama de secuencia modela una vista dinámica
de las interacciones entre los elementos del modelo
en tiempo de ejecución.

Los diagramas de Secuencias se usan


continuamente como modelos explicativos para los
escenarios de los casos de uso.
Secuencia
Mediante la creación de un diagrama de secuencias
con un actor y los elementos involucrados en el caso
de uso, puede modelar la secuencia de pasos que
toman el usuario y el sistema para completar las
tareas requeridas.
Secuencia
Ejemplo
Un diagrama de actividades representa un
Actividad flujo de trabajo paso a paso de negocio y
operacionales de los componentes en un
sistema.

COMPONENTES:

● Inicio: El inicio de un diagrama de actividades es representado por un


círculo de color negro sólido.

● Actividad: Una actividad representa la acción que será realizada por el


sistema la cual representa dentro de un óvalo.

● Transición: Una transición ocurre cuando se lleva acabo el cambio de una


actividad a otra, la transición es representada simplemente por una línea con
una flecha en su terminación para indicar su dirección.
Actividad
Ejemplo

INICIO: (Solo puede haber uno)

ACCION: Unidad de ejecución


básica.

DECISION: Elemento de una salida


entre un conjunto de posibles.

ALTERNATIVA: Cada una con la


condición que debe

FIN
Colaboración

Un diagrama de colaboración es una forma


de representar interacción entre objetos, es
decir explican gráficamente las
interacciones entre las instancias del
modelo (objetos).
Colaboración
Ejemplo

Efectuarpago
Componentes Los diagramas de componentes describen los
elementos físicos del sistema y sus relaciones§
Muestran las opciones de realización incluyendo
código fuente, binario y ejecutable.

Los componentes representan todos los tipos de


elementos software que entran en la fabricación de
aplicaciones informáticas. Pueden ser simples
archivos, paquetes, bibliotecas cargadas
dinámicamente, etc.
Componentes
Ejemplos

Página web con componentes


ActiveX:

Existe un conjunto de componentes que se encuentran


interrelacionados utilizando flechas discontinuas.

Donde la dirección de la flecha apunta a la clase dependiente, que


en este caso sería el componente dependiente. y por consecuencia
en el extremo donde no hay flecha se encuentra el componente
independiente.

Se ha hecho uso también de un símbolo que es el símbolo de


anotación y que sirve para hacer precisamente anotaciones o
comentarios.
Los Diagramas de Distribución muestran la
Distribución disposición física de los distintos nodos que
componen un sistema y el reparto de los
componentes sobre dichos nodos.
Dentro del cubo se puede introducir información sobre el nodo,
que puede ser simplemente texto o inclusive componentes, En el
ejemplo que se muestra a continuación, puede verse un nodo que
tiene componentes de software (Windows, Office e Internet
Explorer).
Herramientas de Software Libre para UML

Las herramientas CASE (Computer Aided Software


Engineering, Ingeniería de Software Asistida por
Computador) son diversas aplicaciones informáticas
destinadas a aumentar la productividad en el desarrollo de
software reduciendo el coste de las mismas en términos de
tiempo y de dinero.

Estas herramientas nos pueden ayudar en todos los aspectos


del ciclo de vida de desarrollo del software en tareas como el
proceso de realizar un diseño del proyecto, calculo de costos,
implementación de parte del código automáticamente con el
diseño dado, compilación automática, documentación o
detección de errores entre otras.
1. UML 2.0

2. Model Driven Architecture (MDA)


6. Integrado

HERRAMIENTAS
PRESTACIONES

3. XML Metadata Interchange (XMI)


5. Lenguajes Generados

4. Templates
Herramientas de Software Libre para UML
Nombre Creador Open source Licencia de Software Lenguaje
Acceleo Obeo Yes EPL Java
AmaterasUML Yes EPL v1.0 Java
ArgoUML Tigris.org Yes BSD Java
Astade Yes GPL Based on wxWidgets
ATL OBEO, INRIA / Free software community Yes EPL Java
BoUML Bruno Pagès Yes GPL C++/Qt
Dia Alexander Larsson/GNOME Office Yes GPL C
Frame UML Frame Yes GPL V3 C++
Jink UML Nether Yes MIT
Yes
MOSKitt Valencian Regional Ministry of Infrastructure and Transport EPL Java
StarUML Plastic Software Yes GPL, modified Delphi
Topcased Consortium Yes EPL Java
Umbrello UML Yes
Modeller Umbrello Team GPL C++, KDE
Yes?
Eclipse UML2 Tools Eclipse Foundation GPL? Java
Altova UModel Altova No Commercial C++
No
Blu Age 2009 Edition Blu Age Software Commercial Java
No
Enterprise Architect Sparx Systems Commercial
MagicDraw No Magic No Commercial Java
Modelio Modeliosoft No Free, Commercial Java, C++
Objecteering Objecteering Software No Commercial
PowerDesigner Sybase No Commercial
Software Ideas No
Modeler Dusan Rodina Freeware C#
UmlDesigner Green Bird Software No C#
Visual Paradigm for No
UML Visual Paradigm Int'l Ltd. Commercial with Free Community Edition Java
Excel Software No Commercial
Fuente: http://en.wikipedia.org/wiki/Comparison_of_Unified_Modeling_Language_tools
Herramientas de Software Libre para UML
Nombre Creador Open source Licencia de Software Lenguaje
Acceleo Obeo Yes EPL Java
AmaterasUML Yes EPL v1.0 Java
ArgoUML Tigris.org Yes BSD Java
Astade Yes GPL Based on wxWidgets
ATL OBEO, INRIA / Free software community Yes EPL Java
BoUML Bruno Pagès Yes GPL C++/Qt
Dia Alexander Larsson/GNOME Office Yes GPL C
Frame UML Frame Yes GPL V3 C++
Jink UML Nether Yes MIT
Yes
MOSKitt Valencian Regional Ministry of Infrastructure and Transport EPL Java
StarUML Plastic Software Yes GPL, modified Delphi
Topcased Consortium Yes EPL Java
Umbrello UML Yes
Modeller Umbrello Team GPL C++, KDE
Yes?
Eclipse UML2 Tools Eclipse Foundation GPL? Java
Altova UModel Altova No Commercial C++
No
Blu Age 2009 Edition Blu Age Software Commercial Java
No
Enterprise Architect Sparx Systems Commercial
MagicDraw No Magic No Commercial Java
Modelio Modeliosoft No Free, Commercial Java, C++
Objecteering Objecteering Software No Commercial
PowerDesigner Sybase No Commercial
Software Ideas No
Modeler Dusan Rodina Freeware C#
UmlDesigner Green Bird Software No C#
Visual Paradigm for No
UML Visual Paradigm Int'l Ltd. Commercial with Free Community Edition Java
Excel Software No Commercial
Fuente: http://en.wikipedia.org/wiki/Comparison_of_Unified_Modeling_Language_tools
UML MDA XMI
Nombre 2 Templates Lenguajes generados Lenguajes de Ing Reversa
Acceleo ? Yes ? Yes JEE, C#, Java, PHP, Python.
Altova UModel Yes ? Yes Yes C#, Java, Visual Basic C#, Java, Visual Basic
AmaterasUML ? ? ? ? Java Java
ArgoUML ? ? Yes ? C++, C#, Java, PHP4, PHP5, Python, Ruby Java (other languages, inc. C# with plugins)
Astade ? ? ? ? C, C++
ATL ? ? ? ?
Blu Age 2009 Yes Yes Yes Yes
Edition JEE, C#, Java, Spring, EJB, Hibernate, Struts. VisualAge Pacbase, COBOL, NATSTAR, Java
BoUML Yes Yes Yes Yes Java, C++, PHP, Python, IDL. Java, C++, PHP.
Dia ? No No No Java, C++, ADA (using dia2code)

Yes
Eclipse UML2 Tools ? ? ? Java (or Eclipse project supported?) Java (or Eclipse project supported?)
Enterprise Yes Yes Yes ActionScript, C#, C++, Corba IDL, Delphi, Java, PHP, Python, Visual ActionScript, C#, C++, Corba IDL, Delphi, Java, PHP, Python, Visual
Architect ? Basic 6 and Visual Basic .NET Basic 6 and Visual Basic .NET

Yes Almost any language you want if you can write JavaScript to Java(partial), but you can use JavaScript to reverse other languages
Frame UML ? ? ? generate it. to model.
Jink UML ? ? ? ?

Yes Yes Yes Yes


MagicDraw Java, C++, C#, CIL, CORBA IDL, DDL, EJB, XML Schema, WSDL Java, C++, C#, CIL, CORBA IDL, DDL, EJB, XML Schema, WSDL
Modelio Yes Yes Yes ? Java, C#, C++, XSD, WSDL, BPEL, SQL Java, C#, C++

Yes Yes Yes


MOSKitt ? Any textual language results of a Model To Text transformation. DDL (Data Definition Language)
Objecteering Yes Yes ? ? Java, C++, C#, SQL DDL, CORBA IDL and Fortran
PowerDesigner Yes Yes Yes Yes Java, C#, VB .NET
Software Ideas Yes
Modeler ? ? ? C#, VB.NET, SQL DDL

Yes Imp
StarUML ? ort ?
Topcased Yes Yes Yes ? Java, Python, C++

Visual Paradigm
for UML ? ? ? ? Java, C#, C++, PHP, Ada, Action Script Java, C# (binary), C++, PHP
UmlDesigner ? ? ? ? C#

Umbrello UML Imp


Modeller ? ? ort ? C++, Java, Perl, PHP, Python... 16 C++, IDL, Pascal/Delphi, Ada, Python, Java; import XMI, RoseMDL
C, Pascal, Basic, Fortran, Delphi, Java, C#, C++, Objective-C, PHP, C, Pascal, Basic, Fortran, Delphi, Java, C#, C++, Objective-C, PHP,
WinA&D ? ? ? ? Ada, SQL Ada, SQL
UML
MDA XMI
Nombre 2 Templates Integrado con Detalles
Acceleo ? Yes ? Yes Eclipse, EMF

GUI UML editor, supports UML 2.3, code engineering in Java, C#, and Visual Basic, also supports
Yes Yes Yes SysML and business process modeling (BPMN notation), imports and exports XMI. Includes an
Altova UModel ? Eclipse, Visual Studio integrated scripting environment and forms editor to facilitate customization.
AmaterasUML ? ? ? ? UML standard
ArgoUML ? ? Yes ? Closely follows the UML standard
Astade ? ? ? ?

Available from the Eclipse M2M


ATL ? ? ? ? project (Model to Model). Can transform UML models into other models
Blu Age 2009
Yes Yes Yes Yes
Edition Eclipse, EMF
Extensible through addins written in C++ or Java through the modeler itself, imports and exports
Yes Yes Yes Yes
BoUML Qt3 XMI, diagram export in PNG or SVG
Dia ? No No No
Eclipse UML2
Yes
Tools ? ? ? Eclipse 5 diagram types.
Enterprise
Yes Yes Yes
Architect ? Visual Studio 2005 and Eclipse Extensible through addins and modeling technologies.
Frame UML Yes ? ? ? Support embed JavaScript, so you can generate source code from model by JS.
Jink UML ? ? ? ?

Yes Yes Yes Yes UML 2.3, Full round-trip support for Java, C++, C#, CL (MSIL) and CORBA IDL, Report generator
MagicDraw Eclipse, EMF, NetBeans from template in RTF, HTML, XML, ODT, ODS, ODP, and Text (DOCX, XLSX, PPTX since 16.8).
Yes Yes Yes
Modelio ? Eclipse, EMF Full UML2 support; integrated BPMN support. HTML and MS-Word document generation.
Eclipse based UML tool and a MDD centric platform giving support for gvMétrica software
Yes Yes Yes Eclipse, EMF, GMF, SWT, development process methodology. Model Transformation, Traceability and Synchronization.
MOSKitt ? DataTools... Graphical and Form based editing of models.
Objecteering Yes Yes ? ? Eclipse
Yes Yes Yes Yes
PowerDesigner Eclipse Data-modeling, business-process modeling - round trip engineering
Software Ideas
Yes
Modeler ? ? ? UML, Data Flow Diagram, CRC, ERD, Mixed Diagram
Imp
Yes
StarUML ? ort ? C# Plug-in architecture: C++, Delphi, C#, VB. Not under active development since 2005.
Eclipse, EMF, Java code generation A full and Powerful tool that you can write model transformations, run state diagram simulation
Yes Yes Yes
Topcased ? from the model and do reverse and direct. Modelling languages include SysML.

Visual Paradigm Full UML 2.1, SysML, ERD, BPMN, data modeling, business modeling and reverse engineering of
for UML ? ? ? ? Eclipse, NetBeans and IntelliJ source code and databases.
UmlDesigner ? ? ? ?
Umbrello UML Imp
Modeller ? ? ort ? KDE
Built-in Scriptable Report Generator
WinA&D ? ? ? ? and Tool Extensions Full UML, SA/SD, ERD, Task and System Model Support
Es una herramienta UML de código abierto con una
sencilla interfaz de usuario: dibuja diagramas UML
rápidamente, exporta diagramas a eps, pdf, jpg, svg y
portapapeles, comparte diagramas utilizando Eclipse y
crea elementos UML nuevos y personalizados.

PRINCIPALES CARACTERÍSTICAS:

1. Agregar elementos a un diagrama UML con un doble-click.


2. Edita elementos mediante el panel de texto.
3. Selecciona varios elementos con Ctrl o lazo.
4. Pulse 'C' para copiar el diagrama en el portapapeles del sistema.
5. Permite usar +/- o Ctrl+mousewheel con el fin de hacer zoom.
BOUML es una caja de herramientas UML 2
multiplataforma y de código abierto que se
ejecuta bajo Windows, Unix/Linux/Solaris y
Mac OS X (Intel). BOUML es muy rápido y no
requiere mucha memoria para administr
varias miles de clases.

PRINCIPALES CARACTERÍSTICAS:

1. Es multiplataforma: Linux, MacOS y Windows.


2. Generación de Código C++, Java, PHP, Python e IDL.
3. Es capaz de generar documentación en varios formatos (HTML,
XMI)
4. Puedes trabajar en grupo con sus módulos "Project Control" y "Project
Synchro“.
5. Es muy rápido y no requiere mucha memoria para manejar varias miles
de clases.
Es una herramienta CASE de código abierto que
provee alosdesarrolladores soporte para Ingeniería
de Software Dirigida porModelos (Model Driven
Architecture) y reingeniería. OriginalmenteFujaba
estaba dirigida al soporte de Software e Ingeniería
Reversa. Es por ello que Fujaba es el acrónimo para
“From UML to Java and back again.

PRINCIPALES CARACTERÍSTICAS:

1. Permite modelar el comportamiento usando diagramas de historia.


2. Generación de código Java basado en la especificación formal de la
estructura del sistema y su comportamiento lo cual resulta en un
prototipo ejecutable del sistema.

3. Una herramienta CASE extensible para investigadores, quienes


pueden desarrollar sus propios plug-ins Fujaba.
Es un proyecto de código abierto para desarrollar
sobre una plataforma UML/MDA de manera
rápida, flexible, extensible y libre corriendo en
una plataforma Win32.

PRINCIPALES CARACTERÍSTICAS:

1. UML 2.0
2. Arquitectura MDA
3. Arquitectura plug-in
4. Usabilidad
Es una herramienta libre para crear y
editar diagramas UML, que ayuda en
el proceso del desarrollo desoftware.
Fue desarrollada por Paul Hensgen,
Umbrello UML Modeller
y está diseñado principalmente para
KDE, aunque funciona en otros
entornos de escritorio.

PRINCIPALES CARACTERÍSTICAS:

1. Permite la distribución de los modelos exportándolos en los formatos


DocBook y XHTML.
2. Se distribuye en el módulo kdesdk de KDE.
3. Permite agrupar varios diagramas relacionados en un solo
archivo. XMI.
4. Maneja gran parte de los diagramas estándar UML.
Es un entorno de diseño orientado a
dominio que proporciona soporte
cognitivo de diseño orientado a objetos.
Presenta algunas de las características de
automatización de una herramienta CASE
comercial.

PRINCIPALES CARACTERISTICAS

•Permite Documentar Diagramas •Herramienta de código abierto


programada en Java .
•Genera Código en Java y C++
•Licencia BSD
•Comunica Sugerencias de diseño
•Poseidon UML

•PNG, GIF, SVG, PS, EPS.


EPS.
Día es un programa para realizar
diagramas de diferentes tipos
(flowsheets
flowsheets),
), desde diagramas de
flujos , estructuras química y redes
hasta circuitos
circuitos..

PRINCIPALES CARACTERÍSTICAS:

•Herramienta para dibujar diagramas


•Licencia GPL (General Public License)
License)

•Parecido a Visio de Microsoft


•El suplemento dia dia2
2code genera el
esqueleto del código fuente.
fuente.

•PNG, SVG, PS, EPS, JPG, DXF, WMF


•Lienzo a manera de Plano Cartesiano
•Fácil de Usar
Proyecto: Administrador de proyectos de desarrollo

Descripción: Herramienta computacional que permite controlar el


proceso de desarrollo de aplicaciones.

Permite registrar las fases y las actividades de cada


fase.

 Tiempo invertido en cada una de éstas

Informes actualizados sobre el estado de cada


proyecto.

Autor: Armando Canchala (2010).


Requerimientos

R1 Informe Proyectos Detallado

Informes R2 Informe Responsables

R3 Informe Movimientos

R4 Datos por Proyecto: CodProyecto, nombre, fechaInicio, fechaTerminacion,


porcentajeAvance y responsable

R5 Datos por Etapa: CodEtapa, nombre, porcentajeAvance, pesoPorcentual y


Datos Responsable

R6 Datos por Actividad: codActividad, nombre, porcentajeAvance, responsable

R7 Datos por Responsables: CodResponsable, nombre

R8 Datos por Reporte de Tiempos: codActividad, fecha, responsable, horas y


porcentajeAvance

R9 Cálculo del Porcentaje de Avance de la Etapa: (suma(avanceActividades) /


Proceso (NroActividades*100))

R10 Cálculo del Porcentaje de Avance del Proyecto:


suma(porcentajeAvance*pesoPorcentual)
Diagrama de Casos de Uso
Diagrama de Casos de Uso
Diagrama de Casos de Uso

DESCRIPCION DE CASOS DE USO

Nombre: CalculoAvanceProyecto

Actores: Responsable

Función: Efectuar el cálculo del porcentaje de avance por proyecto,


basado en los tiempos.

Descripción: Al registrar los tiempos por actividad, el sistema aplica la


fórmula para este cálculo y actualiza este dato del proyecto
a partir de los avances de las etapas correspondientes.

Referencias: De requerimientos: R8, R4, R5.

De Casos: RegistroMovimiento.
Diagrama de Clases
Diagrama de Secuencia
Diagramas de Estado
Diagrama de Actividades
CONCLUSIONES

UML ofrece la flexibilidad para el


diseño híbridos.

Los tipos de Diagramas a


utilizar dependen del proyecto.

Los Diagramas de Casos de


Usos son muy útiles para el
levantamiento de información.

Los diagramas de Secuencias y


de Actividades representan
operaciones entre objetos.

La elección de la herramienta de


UML dependerá del tipo de uso
que se le dará.
RECOMENDACIONES

Construcción Ordenada

Utilizar una Metodología OO

Evaluar el Software Libre


UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
COORDINACION GENERAL DE POSTGRADO
MAESTRIA EN TECNOLOGIA DE LA INFORMACIÓN
PROGRAMACION ORIENTADA A OBJETO

FIN

¡¡¡GRACIAS POR SU ATENCION !!!

JUNIO DE 2010

También podría gustarte