uml lenguaje de modelaje unificado
TRANSCRIPT
Docente: Ing. Augusto J. Ángel M.
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
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.
UML es un lenguaje para especificar
• El UML crea modelos que son precisos, inequívocos y
completos.
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.
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.
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.
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
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.
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).
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.
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.
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.
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.
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.
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.
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)
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
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
Tipos de Diagramas UML
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
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
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
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
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
Diagrama de Despliegue
Se utiliza para modelar el hardware utilizado en lasimplementaciones de sistemas y las relaciones entre suscomponentes.
Diagrama de Despliegue
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
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
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
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
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
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
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
GRACIAS
UML
DIAGRAMAS
UNINPAHU
UML