2. ¿Qué es UML?
• El Lenguaje Unificado de Modelado (UML)
• creado para forjar un lenguaje de modelado visual común,
semántica y sintácticamente rico para la arquitectura, el
diseño y la implementación de sistemas de software
complejos, tanto en estructura como en comportamiento.
• Tiene aplicaciones en el flujo de procesos en la fabricación.
• los diagramas UML describen los límites, la estructura y el
comportamiento del sistema y los objetos que contiene.
• No es un lenguaje de programación, pero existen
herramientas que se pueden usar para generar código en
diversos lenguajes usando los diagramas UML.
• Relación directa con el análisis y el diseño orientados a
objetos.
3. Función en el modelado y
diseño orientados a objetos
• UML es una combinación de varias notaciones orientadas
a objetos: diseño orientado a objetos, técnica de
modelado de objetos e ingeniería de software orientada
a objetos.
• Usa las fortalezas de estos tres enfoques para presentar
una metodología más uniforme que sea más sencilla de
usar.
• Representa buenas prácticas para la construcción y
documentación de diferentes aspectos del modelado de
sistemas de software y de negocios.
4. La historia y los orígenes de
UML
• "The Three Amigos" de la ingeniería de software, Grady,
Booch y Rumbaugh, se asociaron para brindar claridad a los
programadores creando nuevos estándares.
• Los esfuerzos de estos pensadores derivaron en la publicación
de los documentos UML 0.9 y 0.91 en 1996.
• se hizo evidente que varias organizaciones, incluidas
Microsoft, Oracle e IBM, consideraron que UML era esencial
para su propio desarrollo de negocios.
• Se estableció los recursos necesarios para desarrollar un
lenguaje de modelado.
• "Los tres amigos" publicaron la Guía del usuario para el
Lenguaje Unificado de Modelado en 1999, y una actualización
que incluye información sobre UML 2.0 en la segunda edición
de 2005.
5. La finalidad de UML según
OMG
• El OMG( Object Management Group) define los
propósitos de UML :
1. Brindar las herramientas para el análisis, el
diseño y la implementación de sistemas
basados en software, así como para el
modelado de procesos de negocios y
similares.
2. Hacer progresar el estado de la industria
permitiendo la interoperabilidad de
herramientas de modelado visual de
objetos.
6. La finalidad de UML según
OMG
• UML cumple con los siguientes requerimientos:
1. Establecer una definición formal de un metamodelo común basado
en el estándar MOF (Meta-Object Facility) que especifique la sintaxis
abstracta* del UML.
2. Brindar una explicación detallada de la semántica de cada concepto
de modelado UML.
3. Especificar los elementos de notación de lectura humana para
representar los conceptos individuales de modelado UML, y las reglas
para combinarlos en diferentes tipos de diagramas de diferentes
aspectos de los sistemas modelados.
4. Definir formas que permitan hacer que las herramientas UML
cumplan con esta especificación. Se apoya con una especificación
basada en XML de formatos de intercambio de modelos
correspondientes (XMI) , concretados por herramientas compatibles.
*conjunto de conceptos de modelado UML, sus atributos , sus relaciones y las reglas de
combinación de estos conceptos para construir modelos UML parciales o completos.
7. Tipos de diagramas UML
• UML usa elementos y los asocia de diferentes formas para
formar diagramas que representan aspectos estáticos o
estructurales de un sistema, y diagramas de comportamiento,
que captan los aspectos dinámicos de un sistema.
• Los que vamos a usar son:
1. Diagrama de clases(estructural de un sistema) El diagrama
UML más comúnmente usado, y la base principal de toda
solución orientada a objetos. Las clases dentro de un sistema,
atributos y operaciones, y la relación entre cada clase. Las
clases se agrupan para crear diagramas de clases al crear
diagramas de sistemas grandes.
2. Diagrama de caso de uso(diagramas de comportamiento)
Representa una funcionalidad particular de un sistema. Se crea
para ilustrar cómo se relacionan las funcionalidades con sus
controladores (actores) internos/externos.
8. Tipos de diagramas UML
• Diagrama de clases
• describen la estructura estática de un sistema
• Una clase es una categoría que tienen atributos y acciones
similares.
• La clase se representa mediante un rectángulo y se divide en
tres áreas: la superior contiene el nombre de la clase, la
central contiene los atributos y la inferior las acciones.
• Un diagrama de clases está formado por varios rectángulos de
este tipo conectados por líneas que representan las
asociaciones o maneras en que las clases se relacionan entre
si.
9. Tipos de diagramas UML
• Diagrama de clases
• Asociaciones.
1. Son las que representan a las relaciones estáticas entre las
clases.
2. El nombre de la asociación va sobre o por debajo de la línea
que la representa.
3. Una flecha rellena indica la dirección de la relación.
4. Los roles se ubican cerca del final de una asociación. Se
representan la manera en que dos clases se ven entre ellas.
5. Cuando una asociación es calificada, el símbolo
correspondiente se coloca al final de la asociación, contra la
clase que hace de calificador.
10. Tipos de diagramas UML
• Diagrama de clases
• Multiplicidad(0…*,1…*)
1. Las notaciones utilizadas se colocan cerca del final de una
asociación.
2. Estos símbolos indican el número de instancias de una clase
vinculadas a una de las instancias de la otra clase.
• Composición( )
1. Es un tipo especial de agregación que denota una fuerte posesión
de la Clase “Todo”, a la Clase “Parte”.
2. Se grafica con un rombo diamante relleno contra la clase que
representa el todo.
• Agregación( )
1. Es una relación en la que la Clase “Todo” juega un rol más
importante que la Clase "Parte", pero las dos clases no son
dependientes una de otra.
2. Se representa con un rombo diamante vacío contra la Clase
“Todo”.
11. Tipos de diagramas UML
• Diagrama de clases
• Generalización
1. Es una herencia.
2. Se refiere a una relación entre dos clases en donde una Clase
“Específica” es una versión especializada de la otra, o Clase
“General”.
13. Tipos de diagramas UML
• Diagrama de caso de uso
• Es una descripción de las acciones de un sistema desde el punto de vista
del usuario.
• Es una técnica de aciertos y errores para obtener los requerimientos del
sistema, desde el punto de vista del usuario.
• Modelan la funcionalidad del sistema usando actores y casos de uso. Los
casos de uso son servicios o funciones provistas por el sistema para sus
usuarios.
• Los límites del sistema que contiene los casos de uso se representa
mediante un rectángulo.
• Los actores(usuarios) se ubican fuera de los límites del sistema.
• Casos de Uso Se representan con óvalos. La etiqueta en el óvalo indica la
función del sistema.
• Las relaciones entre un actor y un caso de uso, se dibujan con una línea
simple. Para relaciones entre casos de uso, se utilizan flechas
etiquetadas incluir (un caso de uso es necesitado por otro para cumplir
una tarea) o extender( indica opciones alternativas para un cierto caso
de uso).