Está en la página 1de 27

QUÉ ES UML?

• Es un lenguaje de modelado: posee vocabulario y reglas para


representar conceptual y físicamente un sistema.

• Cuenta con un conjunto de notaciones y diagramas para


modelar (representar) sistemas.

• Implementa una notación estándar para representar diferentes


aspectos y vistas de un Sistema.

• UML NO ES UNA METODOLOGÍA DE DESARROLLO


PROCESOS Y METODOLOGIAS

1. Modelos de ciclo de vida (cascada, espiral, prototipo…)


+ Roles
+ Actividades
+ Secuencia actividades =
2. Metodología de desarrollo de software (UP, Scrum, híbridas)
3. Proceso de Desarrollo de software (personalización de la
metodología)
VENTAJAS
• Suma a la Comprensión del problema
• Mejora el desarrollo de productos
• Ayuda de documentar procesos/software
• Transformación de requerimientos en aspectos
funcionales
• Aplicación de un modelo estandarizado
• Mejora la consistencia del software
• Apoya en la comunicación de un equipo de trabajo
VERSIONES
PARA QUÉ SIRVE?

vVisualizar el sistema:

• Cada símbolo tiene un significado definido


• Cualquier desarrollador puede interpretar
un modelo UML sin ambigüedad
• UML SIRVE PARA COMUNICARNOS
PARA QUÉ SIRVE?

vEspecificar el sistema:

• Permite construir modelos precisos


• Permite documentar las especificaciones
de sistema
PARA QUÉ SIRVE?

vDocumentar sistemas:

• Genera evidencias del desarrollo


• Favorece el mantenimiento de los sistemas
ELEMENTOS DE UML

📌Estructurales
Ø Clase

Ø Interfaz

Ø Colaboración

Ø Caso de uso
Ø Componente

Ø Nodo

Ø Actor
ELEMENTOS DE UML

📌 De comportamiento
Ø Interacción

Ø Estados

📌 De agrupación
ØPaquete
ELEMENTOS DE UML

📌 De anotación
Ø Nota

📌 Relaciones
Ø Dependencia

Ø Asociación

Ø Generalización

Ø Realización
ELEMENTO DEL UML

📌 Diagramas
Ø Clases
Ø Objetos
Ø Casos de uso
Ø Secuencia
Ø Colaboración
Ø Estados
Ø Actividades
Ø Componentes
Ø Implementación
ELEMENTOS ESTRUCTURALES

Una clase es una descripción


de un conjunto de objetos
que comparten los mismos
atributos, operaciones y
relaciones.

Una interfaz es una conjunto


de operaciones que
especifican un servicio de
una clase o de un
componente.
ELEMENTOS ESTRUCTURALES

Un caso de uso es una


descripción de una
funcionalidad del Sistema
que produce un resultado
de interés para un actor.
ELEMENTOS ESTRUCTURALES

Un componente es una
parte física de un
sistema (JavaBeans,
dll)

Un nodo es un elemento
físico que representa
un recurso
computacional. Servidor
ELEMENTOS ESTRUCTURALES

Los actores representan


usuarios u otros
sistemas que
interactúan con el
Sistema en desarrollo.
ELEMENTOS DE COMPORTAMIENTO

Una interacción es un
comportamiento que
consiste en un conjunto de
mensajes intercambiados
entre un conjunto de
objetos para alcanzar un
propósito especifico

Un estado especifica unos


valores de las variables en
el tiempo para un objeto
particular
ELEMENTOS DE AGRUPAMIENTO

Un paquete es un
mecanismo para
organizar elementos en
grupos y así reducer la
complejidad.
ELEMENTOS DE ANOTACIÓN

Una nota es un elemento


explicativo para
agregar texto.
ELEMENTOS DE RELACIÓN

Una dependencia es una


relación entre dos elementos,
en la cual un cambio a un
elemento (elemento
independiente) puede afectar
al otro elemento (elemento
dependiente).

Una asociación es una relación


que representa una relación
entre un todo y sus partes.
ELEMENTOS DE RELACIÓN

Una generalización es una


relación “es-un-tipo-de” en
la cual un elemento es-un-
tipo-de un elemento más
general. De esta forma, el
hijo comparte la estructura
y el comportamiento del
padre.

Una realización especifica


que una clase implementa
un conjunto de métodos a
través de una interfaz.
DIAGRAMAS DE UML
VISTA DEL
Área DIAGRAMAS ELEMENTOS PRINCIPALES
SISTEMA
Diagrama de Clase, asociación, generalización,
Clases dependencia, realización, interfaz.
Vista lógica
Diagramas de Caso de Uso, Actor, asociación,
Casos de Uso extensión, generalización.
Estática
Diagramas de Componente, interfaz,
Componentes dependencia, realización.
Vista física
Diagramas de Nodo, componente, dependencia,
Implementación localización.
Diagramas de
Estado, evento, transición, acción.
Estados
Vista lógica
Diagramas de Estado, actividad, transición,
Actividad determinación, división, unión.
Dinámica
Diagramas de Interacción, objeto, mensaje,
Secuencia activación.
Vista física
Diagramas de Colaboración, interacción, rol de
Colaboración colaboración, mensaje.
DIAGRAMAS UML
HERRAMIENTAS CASE
Las herramientas CASE UML forman parte de la ingeniería de software asistida
por ordenador (CASE), cuyo objetivo es mejorar el desarrollo de software.
Permiten realizar modelos UML, además.
1. Mejorar la productividad del software.
2. Aumentar la calidad del software.
3. Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas informáticos.
4. Mejorar la planificación de un proyecto.
5. Aumentar la base de conocimiento informático de una empresa ayudando a la búsqueda de
soluciones para los requisitos.
6. Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas
de errores y la gestión del proyecto.
7. Ayuda a la reutilización del software, portabilidad y estandarización de la documentación.
8. Gestión en todas las fases de desarrollo de software con una misma herramienta.
9. Facilitar el uso de las distintas metodologías propias de la ingeniería del software.
HERRAMIENTAS CASE
• [Web] Lucidchart: Es una herramienta muy completa; ya que no solamente podrás crear diagramas UML,
sino múltiples diseños como: wireframes, canvas, redes de datos, entre otros. Adicionalmente cuenta con
licencias gratuitas, de costo y académicas.
• [Web] Diagrams: Una de las peculiaridades que posee, es la capacidad de respaldar tus diagramas en
diferentes fuentes coo: google drive, github, dropbox,one drive. Es una buenisima herramienta puedes crear
infinidad de diagramas y/o diseños de: redes, negocios, software, infografias, iconos,etc
• [Web] Cacoo: Es una herramienta de diseño colaborativo. Es de costo y tiene su versión gratuita. Contribuye
a la lluvia de ideas y mejora continua de productos. Permite trabajar con diseños de AWS, Visio y multiples
integraciones como: Google drive, Adobe Creative Cloud y Confluence
• [MacOS, Windows, Linux] StarUML: Todo un clásico, enfocado en el diagramado UML ágil. Cuenta con
manejo de extensiones en distintos lenguajes de programación , generación de código de programación,
entre otros
• [MacOS, Windows, Linux] Papyrus: Un complemento perfecto si estas trabajando con el IDE Eclipse; ya que
además de permitirte diseñar tus diagramas los podrás implementar en un entorno de programación.
Contiene herramientas para visualizar la ejecución en tiempo real de tus diagramas
• [MacOS, Windows, Linux] Modelio: Tiene un amplio soporte de modelado en: UML, BPMN, ArchiMate,SysML.
Puedes realizar ingenieria inversa para crear tus diagramas, entre muchas otras funcionalidades.
• [MacOS, Windows, Linux] UMLDesigner: Una herramienta muy completa con amplio soporte de lenguajes
de programación e interfaz con muy buen usabilidad
• [Web] GenmyModel: Buenisima herramienta web para modelar datos, te permite crear diagramas
UML,BPMN, ArchiMate, Journey Mapping, diagramas de flujo y muchas más.
HERRAMIENTAS CASE
§ [Web] Gliffy: Es una herramienta muy completa, posee integración con una de las mejores plataformas de gestión
de proyectos del mercado Atlassian, lamentablemente tiene un costo, pero si esta entre tus posibilidades esta
deberia una opción
§ [Web] Diagramo: Es una herramienta desarrollada en HTML5 , permite colaborar, exportar tus diseños en distintos
formatos y apoyarte en los distintos diagramas que son creados continuamente en la comunidad.

§ [Web] BPMN: Es una herramienta netamente basada en el modelado de negocios, creación de reglas de negocio.
Requiere un expertise en programación, debido a las funcionalidades de adaptación y creación que posee.
§ [Windows] UMLet: Quizá no sea la herramienta más bonita visualmente, pero te puede sacar de cualquier apuro que
tengas al momento de crear tus diagramas UML. Una de sus caracteristicas destacables es la documentación que te
ayuda paso a paso en tus diseños.
§ [Web]Verbatelo: Amplio soporte con bases de datos como: Oracle 11g,MySQL 5.5,PostgreSQL 9.x,SQLite 3.7.x,IBM
DB2 9.7,MS SQL Server,HSQLDB 2.3,Amazon Redshift. Permite colaborar en equipo, aplicar ingenieria inversa,
generar archivos SQL y muy buena usabilidad.Tiene costo económico,pero si eres estudianteo o profesor la
herramienta la podrás utilizar gratis.
§ [MacOS, Windows, Linux] xUML: Es una muy buena herramienta con apoyo de la comunidad. Utiliza lenguaje acción
objeto como parte indispensable para acceso a datos, generación de eventos,pruebas, transformaciones,etc. Posee
un compilador del modelo con soporte en C y C++
§ [Web, Windows, Linux,MacOS]Umple:Es una herramienta de modelado y una familia de lenguajes de programación
que permite lo que llamamos Programación Orientada a Modelos. Añade abstracciones como Asociaciones,
Atributos y Máquinas de Estado derivadas de UML a lenguajes de programación orientados a objetos como Java,
C++, PHP y Ruby.

Fuente: https://www.ingenioteka.com/las-15-mejores-herramientas-para-modelar-en-uml-%F0%9F%A4%93/
• http://www.uml.org/

• VEMOS UN VIDEO:
https://www.google.com/search?q=historia+de+uml&source=lmns&
tbm=vid&bih=710&biw=1440&client=firefox-b-
d&hl=es&sa=X&ved=2ahUKEwjf0Kr7w5D-
AhUirpUCHfXTBcgQ_AUoAnoECAEQAg#fpstate=ive&vld=cid:e86a
b038,vid:ITAB8RAZrwM

También podría gustarte