uml – lenguaje de modelado unificado centro isys escuela de computación facultad de ciencias. ucv...

Post on 22-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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:

top related