Modelado UML
Modelado UML
Modelado UML
Sistema
Juan Alvites Huamani
1. Objetivos.
2. Introducción.
3. La Orientación a Objetos, OO.
4. El Lenguaje Unificado de Modelado.
(Elementos, Relaciones, Diagramas).
5. Cómo utilizar UML.
6. Bibliografía.
Modela
Interfaces Protocolos
Clase activa
Elementos de notación:
Las relaciones pueden traer asociada una multiplicidad, expresada “en el lado opuesto” de
la relación. Resume el número de posibles instancias de una clase asociadas a una única
instancia de la clase en el otro extremo.
Multiplicidad Significado
1 Una única instancia
N/* N instancias
0..N / 0..* Entre ninguna y N instancias
1..N / 1..* Entre una y N instancias
0..1 Ninguna o una instancia
N..M Entre N y M instancias
Diagrama de Objetos:
Los diagramas de objetos son análogos a los de clases, con la particularidad de que en
lugar de encontrar clases, encontramos instancias de éstas. Son útiles para explicar partes
pequeñas del modelo en las que hay relaciones complejas
Los diagramas de despliegue sirven para modelar la configuración hardware del sistema,
mostrando qué nodos lo componen
Las líneas que unen los Actores con los Casos de Uso
(óvalos) representan una asociación de comunicación.
Los Casos de Uso pueden acompañarse de texto que enriquezca el lenguaje gráfico.
estereotipo
generalización
Mensaje asíncronos: El emisor puede enviar otros mientras éste está siendo procesado.
Es independiente a otros mensajes.
Mensaje síncronos: El emisor debe esperar que termine el tiempo de proceso de éste
para enviar nuevos mensajes.
acción
fin
Vista de Diseño: Engloba las clases e interfaces que conforman el vocabulario del problema
y su solución. Da soporte a los requisitos funcionales del sistema, es decir los servicios que
proporciona a los usuarios finales. Con UML los aspectos estáticos de esta vista se pueden
concretar con los diagramas de clases y de objetos; los aspectos dinámicos con los
diagramas de iteración (secuencia y colaboración), diagramas de estados y de actividades.
Vista de Despliegue: Engloba los nodos que forman la topología hardware sobre el que se
ejecuta el sistema. Da soporte a la distribución, entrega e instalación de las partes que
conforman el sistema físico. Con UML los aspectos estáticos de esta vista se pueden
concretar con los diagramas despliegue; los aspectos dinámicos con los diagramas de
iteración (secuencia y colaboración), diagramas de estados y de actividades.
1. Iniciar y mantener reuniones con los usuarios finales del programa, para
comprender sus necesidades, el contexto en que lo usarán y todos los detalles
necesarios para comprender el ámbito del problema a resolver. Esta información
será empleada para capturar las actividades y procesos involucrados y
susceptibles de ser incorporados en el programa, a un nivel alto, y proporcionará
la base para construir la vista de Casos de Uso.
Prepa- Mode- Análi- Análi- Dise- Cons- Prue- Entre- Explo- Liqui-
ración lado sis de sis ño truc- bas ga tación / dación
del del requi- ción Manten
proble nego- sitos imiento
ma cio
% Implementación
% Conocimiento
Conocimiento
Implementación
Tiempo
PRINCIPIOS
PRINCIPIOSDE
DE
LA
LA INGENIERÍADEL
INGENIERÍA DELSOFTWARE
SOFTWARE
NORMAS
TÉCNICAS
NORMAS
NORMASDE DE OTRAS
LA NORMAS
LA INGENIERÍADEL
INGENIERÍA DELSOFTWARE
SOFTWARE
ESTÁNDARES
MODELOS METODOLOGÍAS
MODELOSDE
DE METODOLOGÍAS
RUP
PROCESO / /PARADIGMAS
PARADIGMAS
PROCESO
PROCESO
TÉCNICAS
TÉCNICAS HERRAMIENTAS
HERRAMIENTAS
PRODUCTO
Flujos de trabajo
del proceso Iniciación Elaboración Construcción Transición
Modelado del
negocio
Requisitos
Análisis y diseño
Implementación
Pruebas
Despliegue
Flujos de trabajo
de soporte
Gestión del cambio
y configuraciones
Gestión del proyecto
Entorno
X,Y,Z:
(y,z): tipos de Configuraciones
modelos del sistema
tiempo
X: Fases
Y: Flujos
de trabajo esfuerzo (x,y): iteraciones
F6: Despliegue
Flujos de trabajo
de soporte
F7: Gestión del cambio
y configuraciones
F8: Gestión del proyecto
F9: Entorno
Iteraciones Iter Iter Iter Iter Iter Iter Iter
preliminares#1 #2 #n #n+1 #n+2 #m #m+1
F2 F2 F3 F2
F1 F1 F4
F3 F3 F1
F9 F9 F9
F4 F4
F8
F8 F5 F8
F5 F5 F7
F6 F7 F6 F6 F7
Modelado del
negocio
Requisitos
Análisis y diseño
Implementación
Pruebas
Despliegue
Flujos de trabajo
de soporte
Gestión del cambio
y configuraciones
Gestión del proyecto
Entorno
Modelo de
Casos de Uso verificado por
Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din. Est. Din.
Diagram a de
Casos de Uso X X X
Diagram a de
Interacción- X X X X X X X X
Secuencia
Diagram a de
Interacción- X X X X X X X X
Colaboración
Diagram a de
Clases de X
Análisis
Diagram a de
Objetos de X
Análisis
Diagram a de
Clases de X X
Diseño
Diagram a de
Objetos de X X
Diseño
Diagram a de
Estados X X X X X X
Diagram a de
Actividades X X X X X
Diagram a de
Com ponentes X
Diagram a de
Despliegue X
Vista de diseño Soporta los requisitos funcionales del sistema: servi- Diagramas de clases Diagramas de interacción
cios proporcionados a los usuarios finales. Vocabula- Diagramas de objetos Diagramas de estados
rio del problema y su solución: clases, interfaces y
colaboraciones. Diagramas de actividades
Vista de procesos Cubre el funcionamiento, capacidad de crecimiento y Diagramas de clases Diagramas de interacción
rendimiento del sistema. Mecanismos de sincroniza- (activas) Diagramas de estados
ción y concurrencia del sistema: hilos y procesos. Diagramas de objetos Diagramas de actividades
Vista de implementa- Cubre la gestión de configuraciones de las distintas Diagramas de componen- Diagramas de interacción
ción versiones de un sistema a partir de componentes y tes Diagramas de estados
archivos quasi-independientes. Ensamblado y dispo-
nibilidad del sistema: componentes y archivos. Diagramas de actividades
Vista de despliegue Contiene los nodos que forman la arquitectura (topo- Diagramas de despliegue Diagramas de interacción
logía) hardware sobre la que se ejecuta el sistema a Diagramas de estados
través de sus componentes. Está destinada a repre-
sentar la distribución, entrega e instalación de las Diagramas de actividades
partes que forman el sistema informático físico.
Vista de Estática
Diseño
Dinámica
Vista de Estática
Procesos
Dinámica
Vista de
Estática
Implemen-
tación
Dinámica
Vista de Estática
Despliegue
Dinámica
1. Conjunto de requisitos:
• Agrupa toda la información que describe lo que
debe hacer el sistema.
• Puede comprender un modelo de casos de uso,
un modelo de requisitos no funcionales, un
modelo del dominio, un modelo de análisis y
otras formas de expresión de las necesidades
del usuario, incluyendo pero no limitándose a
maquetas, prototipos de la interfaz, restricciones
legales, etc.
2. Conjunto de diseño:
• Agrupa información que describe cómo se va a
construir el sistema y captura las decisiones
acerca de cómo se va realizar, teniendo en
cuenta las restricciones de tiempo, presupuesto,
aplicaciones existentes, reutilización, objetivos
de calidad y demás consideraciones.
• Puede implicar un modelo de diseño, un modelo
de pruebas y otras formas de expresión de la
naturaleza del sistema, incluyendo, pero no
limitándose, a prototipos y arquitecturas
ejecutables.
3. Conjunto de implementación:
• Agrupa toda la información acerca de los
elementos software que comprende el sistema,
incluyendo, pero no limitándose, a código fuente
en varios lenguajes de programación, archivos
de configuración, archivos de datos,
componentes software, etc., junto con la
información que describe cómo ensamblar el
sistema.
4. Conjunto de despliegue:
• Agrupa toda la información acerca de la forma
en que se empaqueta actualmente el software,
se distribuye, se instala y se ejecuta en el
entorno destino.
Análisis OO
Espacio de la
Solución de
Implementación
Diseño OO
Espacio de la
Diseño
Solución Técnica
Modelado del
negocio Requisitos
Requisitos
Análisis y diseño
Implementación
Pruebas
Despliegue
Flujos de trabajo
de soporte
Gestión del cambio
y configuraciones
Gestión del proyecto
Entorno
SubModelo de Casos
de Uso de Negocio
SubModelo de Casos
Diagrama de Contexto de Uso (Técnico)
del SMCU Técnico
Diagrama Principal
Business Use-Case
del Modelo de Casos Model
Use-Case Model
Modelo de
Casos de Uso verificado por
Modelado del
negocio
Requisitos
Pruebas
Despliegue
Flujos de trabajo
de soporte
Gestión del cambio
y configuraciones
Gestión del proyecto
Entorno
NIVEL1
«trace»
«trace»
Proceso de Conversión:
Realización (MA)
Casos de Uso
caso de uso (MCU)
Análisis
Interfaz Gestor/Control Entidad
Diagrama de
Clases de Análisis
Atómico
I_Autenticacion C_Verificador_Autenticacio
n
Servicio(CU)-Subsistema(DA)
MCU MA
Top-Down Nivel 0 Subsistema 1 Nivel 0 Bottom-Up
MA
MCU Subsistema 2
Nivel 1
Nivel 1
Subsistema 3
MCU MA
Nivel 2 Nivel 2
Nivel i Nivel j
MODELO DE CASOS DE USO MODELO DE ANÁLISIS Cliente I_Cajero C_Gestor_Interfaz Cta_Cliente
«trace»
Diagrama de Clases
de Análisis de Contexto
Modelo de
Casos de Uso verificado por
especificado por
Modelo de
distribuido por Prueba
realizado por
Modelo de
Análisis
Modelo de implementado por
Diseño
Flujo de
Análisis y Modelo de
Diseño Despliegue
Modelo de
Transición del MCA hacia el MD
Implementación
<<trace>> <<process>>
Gestor de cliente Facturas Albarán
<<trace>>
Gestor de clientes
<<Interface_design>>
Teclado
<<trace>>
<<Interface_design>>
<<trace>> Pantalla
<<Interface_design>>
<<trace>> Puerto MSVL
<<trace>>
<<Interface_design>>
Interfaz de terminal celular Altavoz
<<Interface_design>>
<<trace>> Mi crófono
Top-Down
+
Level-to-Level
Subsistema(DA)-Subsistema(DD)
Bottom-Up MA MD
Nivel 0 Subsistema 1
Nivel 0
Subsistema 1
MA
Nivel 1 Subsistema 2 MD
Nivel 1 Subsistema 2
Subsistema 3
MA Subsistema 3 Top-Down
MD
Nivel 2 Nivel 2
MA MD
Nivel j Nivel i
Modelo de
Casos de Uso
MA
Nivel 1 MD
F01.01 Consulta saldo
Nivel 1
Cliente I_Cajero
MA C_Gestor_Interfaz Cta_Cliente
MD
Nivel 2 Nivel 2
I_Autenticacion C_Verificador_Autenticacio
n
MA MD
Nivel j Level-to-Level Nivel i
Modelo de
Casos de Uso
Diagrama de Clases
de Diseño de Contexto
Modelo de
Casos de Uso verificado por
especificado por
Modelo de
distribuido por Prueba
realizado por
Modelo de
Análisis
Modelo de implementado por
Diseño
Flujo de Flujo de
Análisis y Modelo de Implementa
Diseño Flujo de Despliegue ción
Despliegue
Modelo de
Transición del MD hacia el MDP
Implementación
Modelo de
Implementación
(Vista parcial)
Gestión individuos
Gestor Base de Datos
Program a Principal
Gestión Interfaces
Gestión Agentes
Gestión Cálculo
componentes
Modelo de Despliegue
(Vista parcial)
nodos /
procesadores