UML Lenguaje de Modelaje Unificado

34
Docente: Ing. Augusto J. Ángel M. UML Lenguaje de Modelaje Unificado

Transcript of UML Lenguaje de Modelaje Unificado

Page 1: UML Lenguaje de Modelaje Unificado

Docente: Ing. Augusto J. Ángel M.

UML – Lenguaje de Modelaje Unificado

Page 2: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

¿Qué es UML?

UML es un lenguaje basado en una notación

gráfica, que nos permite:

• Visualizar

• Especificar

• Construir

• Documentar

…artefactos de sistemas intensivos de

software.

UML

Especificar Documentar

Construir Visualizar

Page 3: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

UML es un lenguaje para visualizar

• La comunicación de modelos

conceptuales a otros es propensa

a errores a menos que todos los

involucrados hablen el mismo

idioma.

• Hay cosas sobre un sistema de

software que no puedes entender a

menos que construyas modelos.

• Un modelo explícito facilita la

comunicación.

Page 4: UML Lenguaje de Modelaje Unificado

UML es un lenguaje para especificar

• El UML crea modelos que son precisos, inequívocos y

completos.

Page 5: UML Lenguaje de Modelaje Unificado

UML es un lenguaje para construir

• Los modelos UML se pueden conectar

directamente a una variedad de lenguajes de

programación:

Mapas para Java, C ++, Visual Basic, etc.

Tablas en un RDBMS o almacén persistente en una BD

Orientada a Objetos.

Permite ingeniería avanzada.

Permite ingeniería inversa.

Page 6: UML Lenguaje de Modelaje Unificado

UML es un lenguaje para documentar

• UML aborda la documentación de la

arquitectura del sistema, los requisitos, las

pruebas, la planificación del proyecto y la

administración de versiones.

Page 7: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Lenguajes de modelado, modelos y

diagramas

• Un lenguaje de modelado permite expresar los

distintos modelos que se producen en el proceso de

desarrollo.

• Un modelo es una representación abstracta de una

especificación, un diseño o un sistema desde un

punto de vista particular.

• Un diagrama es una representación de (parte de)

un modelo de diseño.

• Un modelo se representa por uno o más

diagramas.

Page 8: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Abstracción - Modelado Visual (MV)

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura laspartes esenciales del sistema”

www.dsic.upv.es/~uml

Page 9: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Conceptos GeneralesUML es un “lenguaje de modelado” o gráfico que permite modelar,construir y documentar los elementos que forman un sistemasoftware orientado a objetos.

UML ofrece un estándar para describir un “plano” del sistema(modelo), incluyendo aspectos conceptuales tales como procesos denegocio, funciones del sistema, y aspectos concretos comoexpresiones de lenguajes de programación, esquemas de bases dedatos y componentes reutilizables.

Page 10: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Historia UML

Lenguaje escrito por 3 amigos.

1994: Rumbaugh ingresa a la compañía Rational fundada por Booch.1995: Jacobson se une a la compañía Rational. Aparece el primerborrador de UML.1997: Sale la versión 1.0 de UML. Basado en la experiencia de los tres autores.2005: UML es un estándar aprobado por la ISO.Actualmente es un estándar y pertenece a la OMG (Object ManagementGroup).

Page 11: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Usos de UML

• Se utiliza para definir un sistema, para detallar lasfunciones en el sistema y para documentar y construir.

• Se puede aplicar en el desarrollo de software granvariedad de formas para dar soporte a una metodologíade desarrollo de software, pero no especifica en símismo qué metodología o proceso utilizar.

Page 12: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Ventajas de UML

• UML se puede utilizar para modelar casi cualquier tipo deaplicación, que se ejecuta en cualquier tipo y combinación dehardware, sistema operativo, lenguaje de programación y de lared, en UML.

• Permite especificar la estructura y el comportamiento del sistemay, comunicarlo a todos los integrantes del proyecto.

• Permite dimensionar mejor los riesgos de un proyecto para tenerun mejor rendimiento antes de construir el sistema.

• Facilita la documentación de las decisiones de la arquitectura delproyecto.

Page 13: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Ventajas de UML

• Ofrece mayor rigurosidad en la especificación.

• Permite realizar una verificación y validación del modelorealizado.

• Se pueden automatizar determinados procesos y permite generarcódigo a partir de los modelos.

Page 14: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Desventajas de UML

• UML no es un método de desarrollo.

• UML al no ser un método de desarrollo esindependiente del ciclo de desarrollo.

• UML no se presta con facilidad al diseño de sistemasdistribuidos.

Page 15: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Beneficios de UML

• Mejores tiempos totales de desarrollo (de 50% o más).

• Modelar sistemas (y no sólo de software) utilizandoconceptos orientados a objetos.

• Establecer conceptos y componentes reutilizables.

• Encaminar el desarrollo del escalamiento en sistemascomplejos de misión crítica.

• Crear un lenguaje de modelado utilizado tanto porhumanos como por máquinas.

Page 16: UML Lenguaje de Modelaje Unificado

DOCENTE: ING. AUGUSTO ANGEL

Beneficios de UML

• Mejor soporte a la planeación y al control de proyectos.

• Alta reutilización y minimización de costos.

• Fácil actualización o modificado del software aprogramar.

Page 17: UML Lenguaje de Modelaje Unificado

Referencias Bibliográficas

• Martin Fowler y Kendall Scott. UML Gota a Gota.

• Carlos Fontela. UML: Modelado de Software para Profesionales.

• Alfredo Weitzenfeld. Ingeniería de Software Orientada a Objetos conUML, Java e Internet.

• Grady Booch. Análisis y Diseño Orientado a Objetos con Aplicaciones.

• Fernando Asteasuain. UML.

• Rober C. Martin. UML para Programadores Java.

• James Martin y James Odell. Análisis y Diseño Orientado a Objetos.

• Booch, G., Rumbaugh, J., Jacobson, I. The Unified Modeling Language.User Guide. Addison Wesley. (2005)

• Stevens, P. Pooley R. Utilización de UML en Ingeniería del software conobjetos y componentes (2002)

Page 18: UML Lenguaje de Modelaje Unificado

Herramientas para Modelar UML

• StarUML

• Visio de Microsoft

• ArgoUML

• ObjectPlant (MAC)

• Visual Paradigm

• Astah Community

• Rational Rose (Herramientas de IBM)

• Oracle Designer

• Easy Case

• Lucidchart

• Power Designer

Page 19: UML Lenguaje de Modelaje Unificado

Tipos de Diagramas UML

Existen diferentes versiones de UML que se presentaron a lo largodel tiempo, este se estandarizo desde el año 2005, y es aprobadopor la ISO. UML cuenta con varios tipos de diagramas, los cualesmuestran diferentes aspectos de las entidades representadas, estosse clasifican según su estructura o comportamiento de la siguientemanera:

• Diagrama de estructura

• Diagrama de comportamiento

Page 20: UML Lenguaje de Modelaje Unificado

Tipos de Diagramas UML

Page 21: UML Lenguaje de Modelaje Unificado

Diagrama de Clases

Son utilizados durante el proceso de análisis y diseño de lossistemas, donde se crea el diseño de los sistemas, donde se crea eldiseño conceptual de la información que se manejará en el sistema,y los componentes que se encargaran del funcionamiento y larelación entre uno y otro.

Diagrama de Clases

Page 22: UML Lenguaje de Modelaje Unificado

Diagrama de Objetos

Los diagramas de objetos no muestran la multiplicidad ni los roles,aunque su notación es similar a los diagramas de clase.

Diagrama de Objetos: Sistema de alquiler de vehículos

Page 23: UML Lenguaje de Modelaje Unificado

Diagrama de Componentes

Representa cómo un sistema de software es dividido en componentes y muestralas dependencias entre estos componentes. Los componentes físicos incluyenarchivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.Los Diagramas de Componentes prevalecen en el campo de la arquitectura desoftware pero pueden ser usados para modelar y documentar cualquierarquitectura del sistema.

Diagrama de Componentes

Page 24: UML Lenguaje de Modelaje Unificado

Diagrama de Estructura Compuesta

Muestra la estructura interna de unaclase y las colaboraciones que estaestructura hace posible. Esto puedeincluir partes internas, puertasmediante las cuales, las partesinteractúan con cada una de las otraso mediante las cuales, instancias dela clase interactúan con las partes ycon el mundo exterior, y conectoresentre partes o puertas. Unaestructura compuesta es un conjuntode elementos interconectados quecolaboran en tiempo de ejecuciónpara lograr algún propósito. Cadaelemento tiene algún rol definido enla colaboración.

Diagrama de Estructura Compuesta

Page 25: UML Lenguaje de Modelaje Unificado

Diagrama de Paquetes

Muestra cómo un sistema está dividido en agrupaciones lógicasmostrando las dependencias entre esas agrupaciones. Dado quenormalmente un paquete está pensando como un directorio, losdiagramas de paquetes suministran una descomposición de lajerarquía lógica de un sistema.

Diagrama de Paquetes

Page 26: UML Lenguaje de Modelaje Unificado

Diagrama de Despliegue

Se utiliza para modelar el hardware utilizado en lasimplementaciones de sistemas y las relaciones entre suscomponentes.

Diagrama de Despliegue

Page 27: UML Lenguaje de Modelaje Unificado

Diagrama de Casos de Uso

Sirvan para especificar la comunicación y el comportamiento deun sistema mediante su interacción con los usuarios y/u otrossistemas. O lo que es igual, un diagrama que muestra la relaciónentre los actores y los casos de uso en un sistema.

Diagrama de Casos de Uso

Page 28: UML Lenguaje de Modelaje Unificado

Diagrama de Flujo

Se utiliza en disciplinas como programación, economía, procesosindustriales y psicología cognitiva.

Representa los flujos de trabajo paso a paso de negocio yoperacionales de los componentes en un sistema. Un diagrama deactividades muestra el flujo de control general.

Diagrama de Flujo

Page 29: UML Lenguaje de Modelaje Unificado

Diagrama de Estado

Muestran el conjunto de estados por los cuales pasa un objetodurante su vida en una aplicación en respuesta a eventos (porejemplo, mensajes recibidos, tiempo rebasado a errores), juntocon sus respuestas y acciones.

Diagrama de Estado

Page 30: UML Lenguaje de Modelaje Unificado

Diagrama de Secuencia

Muestra la interacción de un conjunto de objetos en unaaplicación a través del tiempo y se modela para cada caso de uso.

Además, contiene detalles de implementación del escenario,incluyendo los objetos y clases que se usan para implementar elescenario y mensajes intercambiados entre los objetos.

Diagrama de Secuencia

Page 31: UML Lenguaje de Modelaje Unificado

Diagrama de Colaboración

Muestra explícitamente las relaciones de los roles. Un uso de undiagrama de colaboración es mostrar la implementación de unaoperación.

Diagrama de Colaboración

Page 32: UML Lenguaje de Modelaje Unificado

Diagrama de Tiempo

Un diagrama de tiempo o cronograma es una gráfica de formas deonda digitales que muestra la relación temporal entre variasseñales y cómo varía cada señal en relación a las demás.

Diagrama de Tiempo

Page 33: UML Lenguaje de Modelaje Unificado

Diagrama de Interacción

Representa la forma en como un Cliente (Actor) u Objetos (Clases)se comunican entre sí en petición a un evento. Esto implicarecorrer toda la secuencia de llamadas, de donde se obtienen lasresponsabilidades claramente.

Se utiliza para modelar los aspectos dinámicos de un sistema.

Diagrama de Interacción

Page 34: UML Lenguaje de Modelaje Unificado

GRACIAS

UML

DIAGRAMAS

UNINPAHU

UML