UML – Lenguaje de Modelado Unificado Centro ISYS Escuela de Computación Facultad de Ciencias. UCV...
-
Upload
bermudo-lovato -
Category
Documents
-
view
222 -
download
0
Transcript of UML – Lenguaje de Modelado Unificado Centro ISYS Escuela de Computación Facultad de Ciencias. UCV...
UML – Lenguaje de Modelado Unificado
Centro ISYS Escuela de ComputaciónFacultad de Ciencias. UCVProfa. Zulma González
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 2
UML
• UML (Unified Modeling Language) es un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos.
• Uno de los objetivos principales de la creación de UML era posibilitar el intercambio de modelos entre las distintas herramientas CASE orientadas a objetos del mercado. Para ello era necesario definir una notación y semántica común.
• Proyecta las diferentes vistas de un sistema.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 3
Vistas
Use CaseDiagramsDiagrama de
Casos de UsoState
DiagramsStateDiagramsDiagrama de
Clases
Diagramas
StateDiagramsState
DiagramsDiagrama de Objeto
Estática
ScenarioDiagramsScenario
DiagramsDiagrama de Actividad
ScenarioDiagramsScenario
DiagramsDiagrama de Secuencia
Use CaseDiagramsUse Case
Diagrams Diagrama de Estados
Interacción
ComponentDiagramsComponent
DiagramsDiagrama deComponentes
Implementación
Diagrama de Colaboración
ComponentDiagramsComponent
DiagramsDiagrama de Despliegue
Actividad
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 4
Estructura
• Diagrama de Clases:• Describe la estructura estática del sistema.
• Presenta el conjunto de clases, interfaces y colaboraciones, así como sus relaciones, cubriendo la vista de diseño estática del sistema.
Persona
Nombre: String
Estudiante
Promedio: double
Universidad
Nombre:StringEstudia en
0..*
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 5
Estructura
• Diagrama de Objetos:• Análogo al diagrama de clases, muestra un conjunto
de objetos y sus relaciones, en un instante dado.
Diana: Estudiante
Promedio: 16,5
UCV: Universidad
Nombre: Univ. Central de Vzla
Estudia en
Nombre: Diana Martínez
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 6
Estructura
• Diagrama de Componentes:• Muestra la organización y dependencias de un
conjunto de componentes. • Cubren la vista de implementación de un sistema, y
describen la interacción entre componentes de Software.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 7
Estructura
• Diagrama de Despliegue:• Describe la disposición del hardware.• Muestra la configuración del hardware del sistema,
los nodos de proceso y los componentes empleados por éstos.
Servidor App
Servidor BD
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 8
Comportamiento
• Diagrama de Casos de Uso:• Describe las funcionalidades del sistema a partir
de las interacciones del usuario.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 9
Comportamiento• Diagrama de Secuencia
y de Colaboración:• Son diagramas de
interacción, muestran un conjunto de objetos y sus relaciones, así como los mensajes que se intercambian entre ellos.
• El diagrama de secuencia resalta la ordenación temporal de los mensajes, mientras que el de colaboración resalta la organización estructural de los objetos, ambos siendo equivalentes o isomorfos.
Diag. Secuencia
Diag. Colaboración
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 10
Comportamiento
• Diagrama de Estados:• Muestra una máquina de estados de un objeto,
con sus estados, transiciones, eventos y actividades. • Modelan comportamientos reactivos en base a
eventos.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 11
Comportamiento
• Diagrama de Actividades:• Describe el flujo de trabajo, muestra las
actividades, su secuenciamiento y coordinación
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 12
Diagramas de Clases
• Un diagrama de clase describe la estructura estática del sistema, mostrando sus clases y las relaciones entre estas.
• Una clase es la definición de un conjunto de objetos con características y comportamiento similares.
Nombre Clase
AtributosMétodos
Nombre Atributo: Tipo Atributo
Nombre Método (parámetros) : Tipo Retorno
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 13
Diagramas de Clases
• Clases Abstractas:• Una clase abstracta es aquella que no tiene
instancias directas pero cuyas clases descendientes tienen instancias directas
• Clases Concretas:• Son todas aquellas clases que pueden ser
instanciables.
Trabajador
Licenciado ObreroIngeniero
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 14
AnchoLargoArea
Diagramas de Clases
• Restricciones (constraints):• Restricciones de Atributos: Permiten adicionar reglas
en atributos.
• Restricciones en relaciones: Reglas a las relaciones.
Nombre Clase
Lista de Atributos
{restricción}
Rectángulo
{Area = Ancho * Largo}{Ancho = Largo}
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 15
Diagramas de Clases
• Estereotipos: <<estereotipo>>• Es un metatipo, cuya utilidad es definir a otros tipos.
• Define el propósito del conjunto de elementos a modelar con el mismo estereotipo.
• Es opcional.
<<estereotipo>>Nombre Clase
<<interfaz>>Ventana_Principal
<<modelo>>Persona
<<control>>Main
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 16
Diagramas de Clases
• Relaciones entre clases• Conexión semántica entre elementos del modelo.
• Tipos de Relaciones entre clases:• Asociación.• Agregación.• Composición.• Generalización / Especialización.• Dependencia.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 17
Diagramas de Clases
• Asociación: • Relación o invocación significativa entre dos o más clases.
• Según notación UML, la asociación comprende:• Descripción, o nombre de la relación.
• Rol: Responsabilidad de la clase en la relación.
• Multiplicidad: Indica cuantos objetos pueden participar en la relación.
• 0 ó más: *• 1 o más: 1..*• De 2 a 4: 2..4• Sólo 7: 7
Clase A Clase B<mult A> <mult B>
<Descripción>Clase A Clase B<rol A> <rol B>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 18
Diagramas de Clases
• Asociación:• Grado de la Asociación: Se determina por el número
de clases conectadas por la misma asociación. Las asociaciones puedes ser binarias ternarias o de mayor grado.
• Ejemplo de una asociación ternaria:
Estudiante
Universidad
Profesor**
*
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 19
Diagrama de Clases
• Asociación:
• Las asociaciones pueden ser reflexivas, es decir pueden relacionar distintos objetos de una misma clase.
Persona
pariente de
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 20
Diagramas de Clases
• Agregación: (“es parte de”, “contiene”)
• Asociación que especifica relación Parte de entre el agregado (Todo) y el componente (Parte).
Universidad Estudiante*
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 21
Diagramas de Clases
• Composición: (“compuesto por”)
• Relación de agregación especial donde las partes no pueden existir sin que exista el objeto todo.
Cuerpo Brazo2
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 22
Diagramas de Clases
• Generalización / Especialización: (“es un”)• Generalización: Se crea una clase (superclase), que
generaliza las propiedades comunes de varias clases.
• Especialización: Dada una clase, se crea(n) otra(s) clase(s) (subclase) que especializa(n) la clase dada, agregando las diferencias.
Persona
Estudiante Profesor Empleado
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 23
Diagramas de Clases
• Dependencia:
• Es una conexión entre clases que indica que un cambio en una clase B puede afectar a otra clase A que la usa.
Clase_A Clase_B
Metodo (b: Clase_B)
Atributo1:int
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 24
Diagramas de Clases
• Clase Asociativa:• Asociación entre clases, donde la relación posee
atributos propios.
• Cada enlace es una instancia de clase.
Clase_A
Asociación
Clase_B
AtributosOperaciones
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 25
Diagramas de Objetos
• Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento determinado.
Nombre del Objeto: Nombre de la Clase
Atributo: Valor
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 26
Diagramas de Objetos
• Ejemplo:
Diana: Estudiante
Promedio: 16,5
UCV: Universidad
Nombre: Univ. Central de Vzla
Estudia en
Nombre: Diana Martínez
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 27
Diagramas de Casos de Uso
• Los diagramas de Casos de Uso describen lo que hace un sistema, enfatizando el qué en vez del cómo.
• Describen las funcionalidades del sistema a partir de las interacciones del usuario. Es decir, describen un uso del sistema y cómo este
interactúa con el usuario.
• Se emplean para visualizar el comportamiento del sistema.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 28
Diagramas de Casos de Uso
Actores
• Entidad externa que interactúa con el sistema.
• Entidades distintas a los usuarios de sistema.
• En algunos casos, representan cierta función que un usuario va a realizar en el sistema.
Nombre del Actor
Personas
Componente de Software
Sistema
Organización
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 29
Diagramas de Casos de Uso
Actores
• Relaciones entre actores:
• Generalización: Cuando diferentes actores realizan
roles similares, pueden heredar de un actor común.
Secretaria
Administrador
Técnico
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 30
Diagramas de Casos de Uso
Actores• Ejemplos:
Sistema deReservaciones de
Vuelos
Usuario
Base de Datos de Registros
Base de Datos Reservaciones
Sistema deComputación
Usuario
Operador
Administrador
Programador
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 31
Diagramas de Casos de Uso
Casos de Uso
• Un caso de uso define una funcionalidad del sistema.
• Cada caso de uso constituye un flujo de eventos, que especifican la interacción que toma lugar entre el actor y el sistema.
• Cada caso de uso produce un resultado observable y válido para el actor involucrado en la secuencia de acciones.
Nombre del Caso deUso
Verbos
Son Acciones
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 32
Diagramas de Casos de Uso
Relaciones entre Casos de Uso:
1. Generalización.
2. Extensión.
3. Inclusión.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 33
Diagramas de Casos de Uso
1. Generalización:• Relación que define la
especialización de un caso de uso.
• Los casos de uso abstractos describirán las partes similares y no podrán ser instanciados independientemente.
• Los casos de uso concretos describirán el comportamiento específico.
Pagar Reservación
Pagar conTransferencia
Pagar con Tarjeta
Caso Abstracto
Caso Concreto
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 34
Diagrama de Casos de Uso
2. Extensión: (<<extend>>)
• Especifica como un caso de uso puede insertarse en otro para extender la funcionalidad de un caso de uso base.
• El Caso Opcional es una extensión del Caso Base: Una instancia del caso de uso Base puede incluir el comportamiento especificado por el Caso Opcional.
Caso Base
Caso Opcional
<<extend>>
Hacer Reservación
Pagar Reservación
<<extend>>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 35
Diagramas de Casos de Uso
3. Inclusión: (<<include>>)
• La inclusión define como un caso de uso es parte obligatoria de un caso de uso base.
• Un Caso Base incluye un Caso Obligatorio: Una instancia de un caso base siempre incluye el comportamiento especificado por un caso de uso obligatorio.
Caso Base
Caso Obligatorio
<<include>>
ConsultarInformación
Validar Usuario
<<include>>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 36
Diagramas de Casos de Uso
• Notación
Nombre del Actor
Nombre del Sistema
Nombre del Caso deUso
Número del CU
Nombre del Caso deUso
Número del CU
generalización<<include>> <<extend>>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 37
Diagramas de Casos de Uso
Caso de Uso
• Ejemplo:
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 38
Diagramas de Casos de UsoEspecificación de un Caso de Uso: (Documentación)
• Nombre del Caso de Uso.
• Actores.
• Propósito.
• Precondiciones.
• Flujo de Eventos Principal.
• Sub Flujos.
• Excepciones.
• Postcondiciones.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 39
Diagramas de Actividades
• El diagrama de actividades define la lógica de los procedimientos, los procesos del negocio y flujos de trabajo del sistema.
• Un diagrama de actividades demuestra la serie de actividades que deben ser realizadas en un caso de uso, así como las distintas rutas que pueden irse desencadenando en el caso de uso.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 40
Diagramas de Actividades
• Actividad:Representa una acción que será realizada por el sistema.
• Actividad Inicial
• Actividad Final
Nombre de la Actividad
Verificar Password del Usuario
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 41
Diagrama de Actividades
• Sub Actividad:
Una acción puede ser descompuesta en varias actividades.
Actividad 1 Actividad 2
Actividad Compuesta
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 42
Diagramas de Actividades
• Ramificación (Branch):
• Una ramificación surge cuando existe la posibilidad que ocurra más de una transición (resultado) al terminar determinada actividad.
• Este elemento es representado a través de un rombo.
Validar Usuario
Ver Información
Mostrar Mensaje de Usuario Inválido
[Usuario Inválido]
[Usuario Válido]
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 43
Diagramas de Actividades
• Especificaciones Join• División
• Unión
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 44
Diagramas de Actividades
• Señales Algunas acciones responden a señales
• Señales de tiempo
• Envío de señal
• Recepción de señal
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 45
Diagramas de Actividades
• Señales• Ejemplo:
Reservar Solicitud
Cancelar RegistroGuardar Solicitud
Enviar Solicitud
Solicitud AceptadaEsperar 30 seg
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 46
Diagramas de Secuencia
• Los diagramas de secuencia describen como colaboran y se comunican (interacción) los objetos del sistema.
• Muestra los objetos que participan en una interacción, el intercambio de mensajes y su ordenamiento en el tiempo.
• Un diagrama de secuencia es una representación que muestra, para un escenario de un caso de uso, los eventos que generan los actores, su orden y posibles eventos internos en el sistema
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 47
Diagramas de Secuencia
ob1:C1
ob3:C3 ob4:C4
ob2:C2
op( )
[x>0] op1(x )
[x<0] op2(x )
op3(w ) op3(z )
op4( )
recursión
condicional
destrucción
creación
Línea de vida
Mensaje
Activación
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 48
Diagramas de Secuencia
: Clase_A : Clase_B
mensaje 1 ( )
mensaje 2 (p1,p2)Mensajes
retornoValor (es) retornado (s) asociado(s) con el mensaje previo
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 49
Diagramas de Secuencia
• Crear Objetos: <<create>>
: Clase_A
mensaje 0 ( )
<<create>>:Clase_B
mensaje 1( )
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 50
Diagramas de Secuencia
• Destruir Objetos: <<destroy>>
: Clase_A
mensaje 0 ( )
<<create>>:Clase_B
<<destroy>>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 51
Diagramas de Secuencia
• Mensajes Condicionales
: Clase_A : Clase_B
mensaje 0 ( )[condición] mensaje 1 ( )
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 52
Diagramas de Secuencia
• Mensajes Condicionales Excluyentes
: Clase_A : Clase_B
mensaje 0 ( )[condición 1] mensaje 1 ( )
: Clase_C
[condición 2] mensaje 2 ( )
Mensajes condicionales
mútuamente excluyentes
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 53
Diagramas de Secuencia
• Caja de Iteración:
: Clase_B: Clase_A
mensaje 0 ( )
mensaje 1 ( )
: Clase_C
mensaje 2 ( )Caja que puede encerrar un área de iteración
*[...] es un marcador de iteración
*[...]
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 54
Diagramas de Secuencia
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 55
Diagramas de Colaboración
• Un Diagrama de Colaboración describe la interacción entre los objetos, numerando la secuencia de mensajes.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 56
Diagramas de Colaboración
mensaje 0(p) : C1
: C2
1: mensaje1 (p )
2: mensaje 2 ( )
:C31.1: mensaje3(p )
1.2: mensaje 4
Primer mensaje y parámetros
Mensajes, Orden y Dirección
Línea de Asociación
Objetos
Reacción en cadena y numeración
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 57
Diagramas de Colaboración
mensaje 0 (p)
Diagrama de Colaboración Diagrama de Secuencia
: C1 : C2
mensaje 1 (p)mensaje 0 (p)
mensaje 2 ()
: C1
: C2
1: mensaje 1 (p )
2: mensaje 2 ( )
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 58
Diagramas de Colaboración
• Mensajes Excluyentes
: C1mensaje 0 (p)
: C2
: C3
Mensajes condicionales
mutuamente excluyentes
1a [condición 2]: mensaje 2 ()
1b [condición 1]: mensaje1 ()
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 59
Diagramas de Colaboración
• Iteración
: C1mensaje0 (p)
: C2La iteración se indica con * seguido de una cláusula de iteración opcional
1* [i:=1..N]: vi:=mensaje ( )
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 60
Diagramas de Colaboración
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 61
Diagramas de Despliegue
• Un diagrama de despliegue muestra las relaciones físicas entre los componentes hardware y software en el sistema final, es decir, la configuración de los elementos de procesamiento en tiempo de ejecución y los componentes software (procesos y objetos que se ejecutan en ellos).
• En el diagrama de despliegue se indica la situación física de los componentes lógicos desarrollados. Es decir se sitúa el software en el hardware que lo contiene.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 62
Diagramas de Despliegue
• Nodo: Elemento donde se ejecutan los componentes, representan el despliegue físico de estos componentes.
• Asociación: Representa el tipo relación que soporta la comunicación entre nodos
Nodo
Nodo Nodo* 1
<<Nombre>>
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 63
Diagramas de Despliegue
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 64
Diagramas de Componentes
• El diagrama de componentes muestra la relación entre componentes de software, sus dependencias, su comunicación, su ubicación y otras condiciones.
• Un diagrama de componentes muestra las organizaciones y dependencias lógicas entre componentes software, sean éstos componentes de código fuente, binarios o ejecutables.
• Define los módulos físicos del software y sus relaciones.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 65
Diagramas de Componentes
• Componente• Es un tipo de contenedor.
• Provee una vista encapsulada de las funcionalidades definidas en las clases.
• Por ejemplo, un paquete en un diagrama de componentes representa un división física del sistema.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 66
Diagramas de Componentes
• Interfaces• Las interfaces son los puntos visibles de entrada o
los servicios que un componente está ofreciendo y dejando disponibles a otros componentes de software y clases.
• Exponen funcionalidades para otros componentes y las requeridas de otros.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 67
Diagramas de Componentes
• Dependencia de módulos
• Abstrae la implementación de la interfaz e indica la dependencia entre módulo
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 68
Diagramas de Estado
• Los diagramas de estado muestran los diferentes estados de un objeto durante su vida, y los estímulos que provocan los cambios de estado en un objeto.
• Los diagramas de estado ven a los objetos como máquinas de estado o autómatas finitos que pueden estar en un conjunto de estados finitos y que pueden cambiar su estado a través de un estímulo perteneciente a un conjunto finito.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 69
Diagramas de Estados
• Estado:
• Estado Inicial
• Estado Final
Nombre Estado
entry: Acción de entrada.do: Actividad.
exit: Acción de Salida.
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 70
Diagramas de Estados
• Transición:
Estado 1
Estado 2
Transición
Evento(P)[condición] / [Actividad]
Escuela de Computación - Facultad de Ciencias UCV - Profa. Zulma González - 2008 71
Diagramas de Estados
• Diagrama de Estados de un Libro: