Vous êtes sur la page 1sur 59

El Lenguaje de Modelamiento

Unificado UML

Galopino Alberca Hernan


IBM Certified Specialist for RUP
MCSD.Net
galopino@ibm.com // galopino@rational.com
Unified Modeling Language
 ¿Qué es UML?
Es un estándar notacional empleado para modelar y
representar sistemas de software y sus partes desde
distintas perspectivas, generando diagramas o
artefactos.

 Etapas donde se utiliza UML


 Requerimientos
 Análisis
 Diseño
 Implementación
DIAGRAMAS DEL UML
•La finalidad de los diagramas es presentar diversas
perspectivas de un sistema a las cuales se les
conoce como modelo.

•Muestran diferentes aspectos de los sistemas que


son modelados.
•Definiendo una serie de vistas, cada una mostrando
un aspecto particular del sistema, puede ser
construida como una imagen completa del sistema.
Las vistas también enlazan el lenguaje de modelaje
al método o proceso escogido para el desarrollo.
Evolución de UML
Modelado con UML
Use Case
Use Case
Diagramas de
Diagrams State
Diagrams State
Casos de Uso Diagramas de
Diagrams
Use Case Diagrams
Use Case Clases
Diagramas de
Diagrams
Diagrams
Secuencia

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelo Componentes

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribución
Estados Diagramas de
Actividad
Relación entre Diagramas

Diagramas de
Distribución
Diagramas de
Clases C
Casos de Diagramas de Diagramas de
Uso Secuencia
Ó
Componentes
D
I
Diagramas de
Colaboración Diagramas de G
Estados
O

Diagramas de
Actividad
Tipos de Diagramas UML
Diagrama de Casos de Uso
Diagrama de Clase (incluyendo Diagrama de Objetos)
Diagramas de Comportamiento
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interacción
Diagrama de Secuencia
Diagrama de Colaboración
Diagramas de implementación
Diagrama de Componentes
Diagrama de Despliegue
DIAGRAMAS
DE
CASOS DE USO
Diagramas de Casos de Uso
 Casos de Uso es una técnica para capturar
información de cómo un sistema o negocio
trabaja actualmente, o de cómo se desea que
trabaje

 No pertenece realmente al enfoque orientado a


objeto, más bien es una técnica para el
modelado de escenarios en los cuales el
sistema debe operar
Elementos de un Diagrama CUN

Clase Descripción Estereotipo


Actor Es un agente externo (personas, sistemas
de software, dispositivos de hardware) que
interactúa directamente con el sistema

Caso de Uso Corresponde a un agregado de


funcionalidad o servicios proveídos por un
sistema a los usuarios.
Ejemplos

Verificar Situación
Vendedor

Realizar Venta

Secretaria
Cliente

Preparar Catálogo

Supervisor
Establecer Crédito
Desde los Casos de Uso hasta los
Ejecutables

Casos de Clases de Clases Código Exec


Uso Análisis de Diseño Fuente
Relaciones o Estereotipos entre Elementos
Asociación <<include>> Asociación <<extend>>

Indica que un caso de uso solicita los Indica que un caso de uso puede solicitar los
servicios de otro caso de uso. servicios de dos o más casos de uso.
Es un Proceso que sucede obligatoriamente Es un subproceso que sucede obligatoriamente ante
ante el llamado de un proceso base. el llamado de un proceso base.

Se lee: “A” utiliza todos los servicios Se lee: “A” utiliza todos los servicios provistos por
provistos por “B” y “C”. “B” ó “C”.
DIAGRAMA
DE
CLASES
Diagrama de Clases
 A partir del diagrama de secuencia se elabora
el diagrama de clases, el cual muestra las
clases y sus relaciones establecidas producto
de la realización de los casos de uso de la
implementación
 Este diagrama es de suma importancia para
los arquitectos del sistema porque les permite
definir la manera en la cual se construirán los
componentes y que clases serán asignadas a
estos
Compartimientos en una clase
 Una clase está compuesta de tres secciones
 La primera sección contiene el nombre de la clase
 La segunda sección muestra la estructura (atributos)
 La tercera sección muestra el comportamiento (operaciones)
 La segunda y la tercera sección pueden ser suprimidas si se necesita que no se vean
en el diagrama

Profesor Profesor Profesor Profesor


nombre nombre
empID empID crear( )
crear( ) grabar( )
grabar( ) borrar( ) Profesor
borrar( ) cambiar( )
cambiar( )
Estereotipos
 Un estereotipo es un nuevo tipo de elemento de modelado que
extiende la semántica del metamodelo
 Deben estar basados en tipos o clases existentes en el

metamodelo
 Cada clase debe tener al menos un estereotipo
 Estereotipos comunes
 Clase Interfaz

 Clase Entidad

 Clase Control

 Clase Excepción

 Metaclase

 Clase Utilidad

 Los estereotipos son mostrados en el compartimiento del nombre


de la clase encerrados entre << >>
Estereotipos

 Clase Interfaz: Representa la interfaz gráfica con


la que el usuario (actor) interactúa
 Clase Control: Es la que contiene la funcionalidad
completa para soportar las reglas de negocio.
 Clase Entidad: Es aquella que contiene los datos
que se muestran en la interfaz de usuario
Clase Interfaz
 Una clase interfaz modela la comunicación entre el entorno
del sistema y su funcionamiento interno
 Clases interfaz típicas
 Windows (interfase del usuario)

 Protocolo de comunicación (interfase del sistema)

 Interfase de la impresora

 Sensores

 En el escenario del “Registro de Cursos”, un


FormularioPrograma es creado para aceptar la información
del usuario
<<Interfaz>>
FormularioPrograma
Interfaces a Otros Sistemas
 Una clase interfaz también es usada para modelar una
interfaz a otro sistema
 Las características importantes de este tipo de clases de
interfaz son:
 La información que debe ser entregada al otro sistema

 El protocolo de comunicación usado para “hablarle” al

otro sistema
 En el escenario del “Registro de Cursos” , la información
debe ser enviada al SistemaCobranza externo
 Una clase llamada SistemaCobranza es creada para

sostener la interfaz con el sistema externo


<<interfaz>>
SistemaCobranza
Clase Entidad
 Una clase entidad modela información y asocia
comportamientos que generalmente son de larga duración
(persistentes)
 Los valores de estos atributos normalmente son

entregados por un actor


 El comportamiento es independiente del entorno

 Las clases entidades en el caso de uso “Registro de


Cursos”:
 Curso
<<entidad>> <<entidad >>
 Programa ListaCursos Curso
 Catálogo

 ListaCursos
<<entidad >> <<entidad >>
Programa Catalogo
Clase Control
 Una clase control modela el comportamiento especifico de
uno o más casos de usos
 La clase control
 Crea, inicializa y borra objetos controlados

 Controla la secuencia o coordina la ejecución de los

objetos controlados
 Controla asuntos concurrentes para las clases

controladas
 Es usualmente la implementación de un objeto intangible

 En el escenario del “Registro de Cursos”, la clase


AdministradorDeRegistro controla los procesos de registro
<<control>>
AdministradorDeRegistro
Relaciones entre clases
Binaria Multiplicidad
1.. *
Segun Participantes 0 .. *
reflexiva , etc
N-Aria Clase Asociacion

Agregación
Segun como se usan las
clases

Composición
Indicadores de Multiplicidad
 Cada término de asociación contiene un indicador de
multiplicidad
 Indica el número de objetos que participa en la relación

Muchos
*
Exactamente uno
1
Cero o mas
0..*
Uno o mas
1..*
Cero o uno
0..1
Rango especificado
2..4
Clases de Asociaciones
 Deseamos llevar cuenta de las calificaciones de todos los
cursos que el alumno ha tomado
 La relación entre alumnos y Cursos es una relación de
muchos a muchos
 ¿Donde situamos los atributos de las calificaciones?

Alumno 0..* Curso


3-10
Clases de Asociaciones (cont.)
 El atributo de calificaciones no puede ser
situado en la clase de Curso porque existen
(potencialmente) muchas relaciones a
muchos objetos de Alumno
 Por lo tanto, el atributo pertenece
realmente a la relación individual Alumno-
Curso
 Una clase de asociación es usada para
almacenar información sobre la relación
Dibujando Clases de Asociaciones
 Crear una clase de asociación usando el icono de clase
 Conectar la clase de icono a la línea de asociación usando la
línea entrecortada
 La clase de asociación puede incluir múltiples propiedades de
dicha asociación
 Solamente una clase de asociación está permitida por cada
asociación
Alumno 1..* Curso
3-10

Calificaciones
¿Asociación o Colección?
RegistrationForm and ScheduleForm are tightly
coupled -- a ScheduleForm is “part of” the RegistrationForm

<<interfaz>> <<interfaz>>
FormRegistración FormularioPrograma
1 1
1

ScheduleForm and
RegistrationManager
are independent
1
AdministraciónRegistro
Relaciones entre Paquetes
 Los paquetes se relacionan entre si usando una relación de
dependencia
 Si una clase en un paquete “comunica” a otra clase en otro
paquete entonces su relación de dependencia es agregada a
nivel de paquete
 Los diagramas de escenario y diagramas de clase son
evaluados para determinar las relaciones entre paquetes

Interfaces

Business Rules

University
Artifacts
DIAGRAMAS
DE
INTERACCION
Diagramas de Secuencia

 Los Diagramas de Secuencia y de Colaboración


son usados para establecer un escenario del
sistema, determinando los objetos y mensajes
involucrados
 Un Diagrama de Secuencia muestra los objetos
de un escenario mediante líneas verticales y los
mensajes entre objetos como flechas
conectando objetos
 Los mensajes son dibujados cronológicamente
desde arriba hacia abajo
Diagrama de Secuencia
Elementos

 Objeto Interfaz: Representa la interfaz gráfica con la que


el usuario (actor) interactúa
 Objeto Control: Es la que contiene la funcionalidad
completa para soportar las reglas de negocio que rigen
la realización del caso de uso.
 Objeto Entidad: Es aquella que contiene los datos que se
muestran en la interfaz de usuario
Diagrama de Secuencia
- Ejemplo
Actor

Objeto
John : Formulario Formulario Curso
Estudiante Registro Programa Disponible
1: ingresar id
Linea de
2: validar id Vida

3: ingresar
Mensaje
semestre actual
Esta opcion se
ejecutara si: 4: crear un Foco de
nuevo programa Control
•Promedio Notas > 14 5: mostrar 6: obtener
cursos

Libreto
Diagrama de Colaboraciones
 Muestra los eventos realizados y flujos de
mensajes entre los objetos que participan
para completar un determinado proceso en
términos de colaboraciones más no de su
ciclo de vida.
 Este diagrama es generado a partir del
diagrama de secuencia y por lo tanto posee
los mismos elementos.
Ejemplo
1: Coger libro : Libro

: Socio 2: Solicitar préstamo : Ficha s


ocio
3: Verificar situación socio

8: Autorizar préstamo
4: Situación socio ok

6: Situación libro ok : Encargado


: Présta
7: Introducir préstamo mo

5: Verificar situación libro

: Ficha li
bro
Diagramas de Colaboración
 El Diagrama de Colaboración modela la
interacción entre los objetos de un Caso de Uso
 Los objetos están conectados por enlaces
(links) en los cuales se representan los
mensajes enviados acompañados de una flecha
que indica su dirección
 El Diagrama de Colaboración ofrece una mejor
visión del escenario cuando el analista está
intentando comprender la participación de un
objeto en el sistema
Contratos
 A partir del Diagrama de secuencia, cada método pasa a ser un contrato
que debe cumplir responsabilidades.
Etapas del
Modelo de Casos Modelo de
de Uso Dominio

Modelo de Requisitos

Proceso
Diagrama de
Secuencia del
Sistema (DSS)
(uno por caso de uso)

Contratos Diagrama de
(uno por interacción) Clases

Colaboraciones
(una por contrato)

Modelo de Análisis

Modelo del Diseño


Arquitectura del
Sistema

Paquetes Diseño GUI

Patrones de Diseño Persistencia

Estructuras de Distribución
Datos
DIAGRAMAS
DE
COMPORTAMIENTO
Diagramas de Estados
 El Diagrama de Estados modela todos los posibles
estados que un objeto en particular puede tomar a
través del tiempo a raíz de los eventos que alcanzan a
un objeto.

 Típicamente se elabora un diagrama de Estados para


cada clase que tenga un comportamiento significativo
Elementos de un Diagrama de Estados

Estado : Características de un objeto en un período de tiempo.


Compartimiento para : etiqueta / expresión
Etiqueta puede ser: Entry, Do, Exit,etc.
Expresión especifica la acción realizada mientras se mantenga el estado

Transición : Acción que por concepto es instantánea. Relaciona dos


estados indicando que un objeto pasa al segundo estado y ejecutar ciertas
operaciones cuando un evento ocurre bajo ciertas condiciones
Evento [condición] / acción
Diagramas de Estados
Diagrama de Estados
Diagramas de Actividad
 Caso especial de Diagrama de Estados donde:
Todos (o la mayoría de) los estados son estados de
acción
Todas (la mayoría de) las transiciones son “disparadas”
como consecuencia de la finalización de la la acción.

 El Diagrama puede estar asociado a:


Una clase
La implementación de una operación
Un Caso de uso
Diagramas de Actividad
 Transiciones
Diagramas de Actividad
 Bifurcaciones
Diagramas de Actividad
 Bifurcaciones
Diagramas de Actividad
 Barras de sincronización
Diagramas de Actividad
 Carriles, marcos de responsabilidad, swimlanes
Ejemplos
[no hay café] [no zumo]
Buscar Bebida
[hay café [hay zumo]

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina Coger zumo

Encender máquina
^cafetera.On
Café en preparación

indicador de fin
Servir café
Beber
DIAGRAMAS
DE
IMPLEMENTACION
Implementación:
Diagrama de Componentes
 Muestra la vista física del software en términos de
componentes ejecutables y librerías de clase sus
relaciones o dependencias.

 Elementos:
 Librería (Componente DLL ó Base de datos)
 Aplicación UI (Componente EXE)
 Relación de Dependencia
Ejemplo
<<ActiveX EXE>>
UI Ventas

<<ActiveX DLL>>
Ventas

<<ActiveX DLL>>
Acceso a Datos

Happy Shoes DB
Diferencia entre componentes y clases
Diagramas de Distribución

 El Diagrama de Distribución modela la distribución en


tiempo de ejecución de los elementos de
procesamiento y componentes de software, junto a
los procesos y objetos asociados
 En el Diagrama de Distribución se modelan los nodos
y la comunicación entre ellos
 Cada nodo puede contener instancias de
componentes
Diagramas de Distribución

 Los nodos sirven para modelar la topología del HW sobre


el que se ejecuta un sistema. Un nodo representa
normalmente un dispositivo o procesador sobre el cual se
pueden desplegar los componentes.
Diferencia entre nodos y componentes
Ejemplo
Servidor Central Control y Análisis

Acceso a BD Comment

Comment

Rutinas de Coneccion
Comment

Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment

Punto de Venta
Rutinas de Coneccion
Comment

Gestión de Cuentas Interfaz de Terminal

Comment Comment

Vous aimerez peut-être aussi