Este documento presenta una introducción al modelado UML (Unified Modeling Language). Explica que UML es un lenguaje de modelado visual que permite expresar los distintos modelos creados durante el proceso de desarrollo de sistemas. Describe los conceptos básicos de UML como modelo, diagrama, elementos y relaciones. Luego resume los diferentes tipos de diagramas de UML agrupados en estructurales, de comportamiento y de interacción. Finalmente, ofrece detalles sobre los diagramas de clases y casos de uso como ejemplos de diagramas
1. MODELADO UML
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
AUTOR: Ing. Héctor Lara Gavilanez, Msc.
2. • Conocer los paradigmas (los métodos y los modelos) existentes
para el análisis de los requerimientos.
Objetivo del capítulo
4. Modelo
Representación en cierto medio de algo en el mismo u otro medio.
Capta los aspectos importantes de lo que se desea modelar, desde cierto
punto de vista y simplifica u omite el resto.
Un modelo de un sistema construido en un lenguaje de modelado, como
UML.
Tiene semántica y notación, puede adoptar varios formatos que incluye texto
y gráficos.
5. ¿Para qué sirven los modelos?
Para captar y enumerar exhaustivamente los requisitos y el dominio de
conocimiento de forma que todos los implicados pueden entenderlos y estar
de acuerdo con ellos.
Para pensar del diseño de un sistema.
Para capturar decisiones del diseño en una forma mutable a partir de los
requisitos.
Para generar productos aprovechables para el trabajo.
Para organizar, encontrar, filtrar, recuperar, y corregir la información en
grandes sistemas.
6. ¿Qué hay en un modelo?
Información semántica (semántica)
• Capta el significado de una aplicación como una red de
construcciones lógicas, clases, asociaciones, estados, casos
de uso y mensajes.
• Se utilizan para la generación del código, la comprobación de
la validez, las métricas de complejidad, entre otros.
• Comprende una estructura sintáctica, reglas para asegurar su
corrección y dinámica de ejecución.
7. ¿Qué hay en un modelo?
Presentación visual (notación)
• Muestra la información semántica de modo que pueda ser
considerada y corregida por los usuarios.
• Muestra el modelo en forma comprensible por las personas.
• No agregan significado organizan la presentación de los
elementos del modelo.
8. ¿Qué hay en un modelo?
Contexto
• Los modelos se utilizan dentro de un contexto más grande que les dé
significado completo.
• Este contexto incluye la organización interna del modelo, anotaciones
sobre el uso, un sistema de valores por defecto y de suposiciones para la
creación y manipulación del elemento y una relación al entorno el cual la
utilizan.
• Los modelos no se construyen y utilizan aislados. Son parte de un
entorno más grande que incluye: herramientas de modelado, lenguajes y
compiladores, sistemas operativos, redes de computadores, restricciones
de implementación, entre otros.
10. LENGUAJE DE
MODELADO
Permite expresar los distintos
modelos que se producen en
el proceso de desarrollo.
MODELO
Representación abstracta de
una especificación, un diseño
o un sistema desde un punto
de vista particular. Se
representa por uno o más
diagramas
DIAGRAMA
Representación de (parte de)
un modelo de diseño (casos
de uso, de clase, de
comportamiento, de estado,
de actividad, de interacción,
de implementación, de
componentes, de despliegue)
ELEMENTOS
(Estructurales, de
comportamiento, de
agrupamiento y
anotacionales)
RELACIONES
(Dependencia, asociación,
generalización, realización y
agregación)
11. VISTAS DE UML
• Subconjunto de UML, que modela construcciones que
representan un aspecto de un sistema.
• Se dividen en tres áreas: clasificación estructural,
comportamiento dinámico y gestión del modelo.
1. Clasificación estructural describe los elementos del
sistema y sus relaciones con otros elementos.
2. Comportamiento dinámico describe el comportamiento de
un sistema en el tiempo.
3. Gestión del modelo describe la organización de los propios
modelos en unidades jerárquicas.
12. Área Vista Diagramas Conceptos principales
Estructural
Vista estática
Diagrama de
clases
Clase, asociación,
generalización,
dependencia,
realización, interfaz
Vista de casos de uso
Diagrama de
casos de usos
Caso de uso, actor,
asociación, extensión,
inclusión,
generalización de
casos de uso
Vista de
implementación
Diagrama de
componentes
Componente,
interfaz,
dependencia,
realización
Vista de despliegue
Diagrama de
despliegue
Nodo, componente,
dependencia,
localización
13. Área Vista Diagramas Conceptos principales
Dinámica
Vista de
máquina de
estados
Diagrama de
estados
Estado, evento,
transición, acción
Vista de actividad
Diagrama de
actividad
Estado, actividad,
transición de terminación,
división, unión
Vista de interacción
Diagrama de
secuencia Interacción, objeto,
mensaje, activación
Diagrama de
colaboración
14. Área Vista Diagramas Conceptos principales
Gestión
del
modelo
Vista de gestión
del modelo
Diagrama
de clases
Paquete,
subsistema,
modelo
Extensión
de UML
Todas Todos
Restricción,
estereotipo, valores
etiquetados
16. Es un lenguaje de modelado visual que se usa para especificar, visualizar,
construir y documentar artefactos de un sistema.
Capta la información sobre la estructura estática y el comportamiento
dinámico de un sistema.
UML no es un lenguaje de programación.
Fue desarrollado para simplificar y consolidar el gran número de métodos de
desarrollo orientado a objetos.
17. El modelado de sistema desde varios puntos de vistas permite
entender diferentes propósitos:
La estructura estática define los tipos de objetos importantes para un sistema
y para su implementación, así como las relaciones.
El comportamiento dinámico define la historia de los objetos en el tiempo y la
comunicación entre objetos para cumplir sus objetivos.
20. UML 2.0 define 13 tipos de diagramas:
Diagramas
estructurales
• Diagrama de clases
• Diagrama de objetos
• Diagrama de
componentes
• Diagrama de
estructura compuesta
• Diagrama de
paquetes
• Diagrama de
despliegue
Diagrama de
comportamiento
• Diagrama de casos
de uso
• Diagrama de
actividades
• Diagrama de estados
Diagrama de
interacción
• Diagrama de
colaboración
• Diagrama de
secuencia
• Diagrama de tiempo
• Diagrama general de
interacciones
23. Describen la estructura estática de un sistema.
Las cosas que existen y que nos rodean se agrupan naturalmente en
categorías.
Una clase es una categoría o grupo de cosas que tienen atributos
(propiedades) y acciones similares.
Un rectángulo es el símbolo que representa a la clase, y se divide en
tres áreas.
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.
24. Las clases se representan con rectángulos divididos en tres áreas:
la superior contiene el nombre de la clase, la central contiene los
atributos y la inferior las acciones.
Clase Abstracta
25. Ejemplo
Clase “Aviones”
Atributos: “modelo de avión”, “la cantidad de motores”, “la velocidad
de crucero” y “la capacidad de carga útil”.
Acciones a realizar: “acelerar”, “elevarse”, “girar”, “descender”,
“desacelerar”.
26. Las asociaciones son las que representan a las relaciones
estáticas entre las clases.
El nombre de la asociación va por sobre o por debajo de la
línea que la representa.
Una flecha rellena indica la dirección de la relación.
Los roles se ubican cerca del final de una asociación. Los
roles representan la manera en que dos clases se ven entre
ellas.
No es común el colocar ambos nombres, el de la asociación
y el de los roles a la vez.
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.
Asociaciones
27. Multiplicidad
Las notaciones utilizadas para señalar la multiplicidad se
colocan cerca del final de una asociación.
Estos símbolos indican el número de instancias de una clase
vinculadas a una de las instancias de la otra clase.
Por ejemplo, una empresa puede tener uno o más empleados,
pero cada empleado trabaja para una sola empresa solamente.
28. odo”
Composición es un tipo especial de agregación que
denota una fuerte posesión de la Clase “Todo”, a la
Clase “Parte”.
Se grafica con un rombo diamante relleno contra la
clase que representa el todo.
La agregación es una relación en la que la Clase “T
juega un rol más importante que la Clase "Parte", pero
las dos clases no son dependientes una de otra.
Se gráfica con un rombo diamante vacío contra la Clase
“Todo”.
Composición y Agregación
29. Generalización es otro nombre para herencia. 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”.
Por ejemplo, Honda es un tipo de auto, por lo que la Clase
“Honda” va a tener una relación de generalización con la
Clase “Auto”.
Generalización
30. Los Diagramas de Objetos están vinculados con los Diagramas de
Clases.
Un objeto es una instancia de una clase, por lo que un diagrama de
objetos puede ser visto como una instancia de un diagrama de clases.
Los diagramas de objetos describen la estructura estática de un
sistema en un momento particular y son usados para probar la
precisión de los diagramas de clases.
Diagrama de Objetos
31. Cada objeto es representado como un
rectángulo, que contiene el nombre del
objeto y su clase subrayadas y separadas
por dos puntos.
Atributos Como con las clases, los
atributos se listan en un área inferior.
Sin embargo , los atributos de los objetos
deben tener un valor asignado.
Nombre de los objetos
32. Un caso de uso es una descripción de las acciones de un sistema
desde el punto de vista del usuario.
Es una herramienta valiosa dado que es una técnica de aciertos y
errores para obtener los requerimientos del sistema, justamente
desde el punto de vista del usuario.
Los diagramas de caso de uso 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.
Diagrama de Casos de Uso
33. Sistema: El rectángulo representa los límites del
sistema que contiene los casos de uso. Los actores
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.
Actores: Los actores son los usuarios de un sistema.
34. Relaciones:
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" o
"extender."
Una relación "incluir" indica que un caso de
uso es necesitado por otro para poder
cumplir una tarea.
Una relación "extender" indica opciones
alternativas para un cierto caso de uso.
35. 1. Una aplicación necesita almacenar información sobre empresas, sus
empleados y sus clientes. Ambos se caracterizan por su nombre y edad.
Los empleados tienen un sueldo bruto, los empleados que son directivos
tienen una categoría, así como un conjunto de empleados subordinados.
De los clientes además se necesita conocer su teléfono de contacto. La
aplicación necesita mostrar los datos de empleados y clientes.
Taller: Elabore los diagrama de clases para los
siguientes enunciado.
36. 1. Una biblioteca tiene copias de libros Estos últimos se caracterizan por su
nombre, tipo (novela, teatro, poesía, ensayo), editorial, año y autor. Los
autores se caracterizan por su nombre, nacionalidad y fecha de nacimiento.
Cada copia tiene un identificador y puede estar en la biblioteca, prestada, con
retraso o en reparación. Los lectores pueden tener un máximo de 3 libros en
préstamo. Cada libro se presta un máximo de 30 días, por cada día de
retraso, se impone una “multa” de dos días sin posibilidad de coger un nuevo
libro. Realiza un diagrama de clases y añade los métodos necesarios para
realizar el préstamo y devolución de necesarios.
Taller: Elabore los diagrama de clases para los
siguientes enunciado.