Upload
pascualchejo
View
7
Download
0
Embed Size (px)
DESCRIPTION
conceptos, tipos de diagrama
Citation preview
UML – Lenguaje de Modelado UnificadoUPEAUniversidad Pública de El alto
Doc. Ing Pascual Yana - Profa. Zulma González
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.
UML «Aglutina» enfoques O.O.
UML
Rumbaugh
Jacobson
Meyer
Harel
Wirfs-BrockFusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions, message numbering
Singleton classes
Frameworks, patterns, notes
Object life cycles
UML -CRONOLOGIA
Nov ‘97 UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2001 UML 2.0
Revisiones menores
UML: MODELOS y DIAGRAMAS
Modelo:
Captura una vista de un sistema del mundo real.
Es una abstracción de dicho sistema, considerando
un cierto propósito.
Diagrama:
Representación gráfica de una colección de
elementos de modelado, a menudo dibujada como
un grafo con vértices conectados por arcos.
UML: MODELOS
Vista de Diseño
Vista de Procesos
Vista de Despliegue
Vista de Implementación
Vista de los Casos de Uso
UML: DIAGRAMAS
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
UML: DIAGRAMAS
Diagrama de Clases.
Diagrama de Objetos.
Diagramas de Casos de Uso.
Diagrama de estados.
Diagrama de Secuencias.
Diagrama de Actividades.
Diagrama de Colaboraciones.
Diagrama de Componentes.
Diagrama de Distribución.
Los Diagramas UML, están compuestos por elementos gráficos, que unidos conforman diagramas.
Los Diagramas UML, están compuestos por elementos gráficos, que unidos conforman diagramas.
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..*
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
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.
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
Comportamiento
• Diagrama de Casos de Uso:• Describe las funcionalidades del sistema a partir
de las interacciones del usuario.
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
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.
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 18
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.
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
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
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
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
Diagramas de Casos de Uso
Relaciones entre Casos de Uso:
1. Generalización.
2. Extensión.
3. Inclusión.
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
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>>
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>>
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>>
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.
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
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
Diagramas de Secuencia
: Clase_A : Clase_B
mensaje 1 ( )
mensaje 2 (p1,p2)Mensajes
retornoValor (es) retornado (s) asociado(s) con el mensaje previo
Diagramas de Secuencia
• Crear Objetos: <<create>>
: Clase_A
mensaje 0 ( )
<<create>>:Clase_B
mensaje 1( )
Diagramas de Secuencia
• Destruir Objetos: <<destroy>>
: Clase_A
mensaje 0 ( )
<<create>>:Clase_B
<<destroy>>
Diagramas de Secuencia
• Mensajes Condicionales
: Clase_A : Clase_B
mensaje 0 ( )[condición] mensaje 1 ( )
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
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
*[...]
Diagramas de Colaboración
• Un Diagrama de Colaboración describe la interacción entre los objetos, numerando la secuencia de mensajes.
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
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 ( )
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 ()
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 ( )
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
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
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}
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
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.
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>
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**
*
Diagrama de Clases
• Asociación:
• Las asociaciones pueden ser reflexivas, es decir pueden relacionar distintos objetos de una misma clase.
Persona
pariente de
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*
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
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
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
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 62
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
Diagramas de Objetos
• Ejemplo:
Diana: Estudiante
Promedio: 16,5
UPEA: Universidad
Nombre: Univ. Central de Vzla
Estudia en
Nombre: Diana Martínez
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.
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
Diagrama de Actividades
• Sub Actividad:
Una acción puede ser descompuesta en varias actividades.
Actividad 1 Actividad 2
Actividad Compuesta
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]
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
Diagramas de Actividades
• Señales• Ejemplo:
Reservar Solicitud
Cancelar RegistroGuardar Solicitud
Enviar Solicitud
Solicitud AceptadaEsperar 30 seg
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.
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>>
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.
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.
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.
Diagramas de Componentes
• Dependencia de módulos
• Abstrae la implementación de la interfaz e indica la dependencia entre módulo
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.
Diagramas de Estados
• Estado:
• Estado Inicial
• Estado Final
Nombre Estado
entry: Acción de entrada.do: Actividad.
exit: Acción de Salida.