Está en la página 1de 19

Lenguajes y Sistemas Informáticos

Universidad de Oviedo Departamento de Informática Contenidos

• Introducción
• Presentación de UML
• Un Primer Ejemplo
Lenguaje UML • Diagramas de Clases y Objetos
(Unified Modeling Language)
Language) • Diagramas de Casos de Uso
• Diagramas de Interacción
• Diagramas de Paquetes
• Diagramas de Estados
• Diagramas de Actividades
• Diagramas de Componentes
Francisco Ortín Soler • Diagramas de Despliegue
ortin@lsi.uniovi.es
Francisco Ortín Soler 2

Introducción Introducción
¿Qué es UML? ¿Qué es un modelo?
• UML es un lenguaje estándar (OMG, • Un modelo es una simplificación de la realidad
www.omg.org) para representar “planos” [Booch99].
(footprints) software • ¿Por qué es necesario modelar?
• Los planos software se representan mediante 1. Los modelos nos ayudan a visualizar cómo es o
distintas vistas de un mismo modelo queremos que sea un sistema (abstracción).
• Una vista es una proyección de la organización 2. Los modelos nos permiten especificar la
estructura y comportamiento de un sistema.
y estructura de un sistema, centrada en un
aspecto particular del mismo 3. Los modelos nos proporcionan plantillas que nos
guían en la construcción
• UML define una notación: material gráfico para de un sistema.
representar cada una de las vistas del modelo; es
4. Los modelos
la sintaxis del lenguaje UML documentan las
• UML es por lo tanto un lenguaje para modelar un decisiones que hemos
sistema real (análisis) o software (diseño) adoptado.
Francisco Ortín Soler 3 Francisco Ortín Soler 4

1
Introducción Introducción
(I) Lenguaje para Visualizar (II) Lenguaje para Especificar

• Especificar significa construir modelos:


• El lenguaje gráfico de UML facilita la „ Precisos (correctos, coherentes)
comunicación entre los distintos miembros de „ No ambiguos (formales)
un proyecto
„ Completos (enlace entre distintas vistas)
• Permite elevar el nivel de abstracción para
• UML cubre la especificación de todas las
obtener una visión más general de una parte de
decisiones de
un proyecto
„ Análisis (conceptual y especificación)
• UML es más que un montón de símbolos gráficos;
„ Diseño
detrás de cada símbolo hay una semántica bien
Implementación
definida. Por lo tanto, una herramienta puede „

interpretar un modelo sin ambigüedad que deben realizarse en un sistema con gran
cantidad de software.

Francisco Ortín Soler 5 Francisco Ortín Soler 6

Introducción Introducción
(III) Lenguaje para Construir (IV) Lenguaje para Documentar

• UML NO es un lenguaje de programación visual, • Un producto software no es únicamente


pero sus modelos pueden traducirse a gran el código ejecutable final
variedad de lenguajes de programación (Java,
C++ o VB) • El modelo de la aplicación documenta ésta
• Rational Rose y Sparx EA poseen facilidades para para:
la ingeniería directa e inversa a determinados „ Mejorar la comprensión del código
lenguajes y sistemas de componentes „ Futuras ampliaciones
• El mayor nivel de abstracción para modelar „ Modificaciones y corrección de errores
facilita la construcción de la arquitectura global
del sistema, así como el diseño detallado de las „ Realización de pruebas de funcionamiento
partes de un proyecto y su futura „ Migración a otras plataformas o selección
implementación de un nuevo lenguaje de programación
Francisco Ortín Soler 7 Francisco Ortín Soler 8

2
Introducción Introducción
¿Qué NO es UML? El Proceso Unificado (RUP)
• Sobre el lenguaje UML se ha definido el proceso unificado
• UML NO es un método: “proceso disciplinado (RUP, Rational Unified Process)
para generar un conjunto de modelos que • Utilizando UML, el proceso unificado define las actividades
necesarias en un proyecto software,
describen varios aspectos de un sistema software definiéndose como:
en desarrollo, utilizando una notación bien „ Dirigido por los casos de uso

definida” [Booch99] z Artefacto básico para establecer el comportamiento


deseado del sistema, validarlo, realizar pruebas y
• UML NO es una metodología: “colección de comunicar a las personas involucradas en el
métodos a lo largo del ciclo de vida del desarrollo proyecto
de software unificados por alguna aproximación „ Centralizado en la arquitectura

general” [Booch99]. z Requisitos, dominio y plataforma tecnológica

„ Iterativo e incremental (dirigida por el riesgo)


• El LENGUAJE UML NO es un proceso de
z Iterativo: Involucra creación iterativa de código
desarrollo software: “conjunto de actividades
z Incremental: Continua integración en la arquitectura
necesarias para transformar los requisitos de un del sistema
usuario en un sistema software” [Jacobson99]. z Riesgo: Cada iteración ataca y reduce los riesgos

Francisco Ortín Soler 9 más significativos para el éxito Francisco


del proyecto
Ortín Soler 10

Introducción
Metodologías y UML Contenidos

• Introducción
• El lenguaje de modelado UML es empleado por • Presentación de UML
multitud de metodologías: • Un Primer Ejemplo
„ Métrica 3 • Diagramas de Clases y Objetos
El Proceso Unificado
„
• Diagramas de Casos de Uso
„ OOHDM (Object-Oriented Hypermedia Design
• Diagramas de Interacción
Model)
„ Catalysis • Diagramas de Paquetes
„ DSDM (Dynamic Systems Development Method) • Diagramas de Estados
„ Fusion • Diagramas de Actividades
„ AOSD (Aspect Oriented Software Development) • Diagramas de Componentes
• Diagramas de Despliegue
Francisco Ortín Soler 11 Francisco Ortín Soler 12

3
Presentación de UML Presentación de UML
Vistas en UML Vistas y Diagramas
• Vistas estructurales:
• Una vista es un conjunto de construcciones en „ Diagramas de clases (y objetos)
UML que representan un aspecto determinado „ Diagrama de casos de uso
del sistema „ Diagramas de componentes
• Una vista en UML se representa mediante uno o „ Diagramas de despliegue
varios diagramas bajo la notación UML • Vistas de comportamiento:
• Las distintas vistas se pueden clasificar en „ Diagrama de estados
función de su semántica: „ Diagrama de actividades
„ Vistas estructurales „ Diagrama de colaboración
Diagrama de secuencia
„ Vistas dinámicas (de comportamiento) „

• Vistas de gestión o colección de elementos:


„ Vista de gestión o colección de elementos
„ Utilización de paquetes como representación de los
subsistemas en los diagramas
Francisco Ortín Soler 13 Francisco Ortín Soler 14

Presentación de UML Presentación de UML


Arquitectura de un Sistema Modelado de la Arquitectura
• La arquitectura de un sistema define los planos a un • La arquitectura de un sistema con gran cantidad
elevado nivel de abstracción de software puede describirse a través de cinco
• En función de los requisitos previos del sistema, vistas relacionadas
establece las vistas más significativas de éste • La obtención de éstas se lleva a cabo a través de
• Ejemplo: para desarrollar un sistema distribuido, la (dirigida por) los casos de uso
arquitectura del sistema se obtendrá en función de: Clases
Casos Uso Requisitos Componentes
Datos
„ El tipo de cliente de la aplicación (X-net y SO) Escenarios

„ El tipo de conexión del cliente (ancho de banda) Vista Estructural Vista de


„ El número de clientes simultáneos estimados (lógica) Implementación
Vista de Casos
„ La seguridad de la conexión (SSL, TLS) de Uso
„ El tipo de servidor(es) (SO, Ancho Banda,
Vista de Procesos
Vista de Despliegue
Administración) (dinámica)

„ El tipo del SGBD a utilizar y sus características Interacción (Secuencia, Colaboración)


Actividades Modelos Modelos Despliegue
„ Las futuras ampliaciones al sistema Estados Lógicos Físicos
Francisco Ortín Soler 15 Francisco Ortín Soler 16

4
Presentación de UML
Perspectivas Contenidos
• En función del ciclo que nos encontremos en el
• Introducción
desarrollo de software, los diagramas describirán
modelos desde distintas perspectivas [Fowler] • Presentación de UML
• Además de su significado, variarán en su nivel • Un Primer Ejemplo
de detalle • Diagramas de Clases y Objetos
„ Conceptual: Representa los conceptos del dominio • Diagramas de Casos de Uso
que se está estudiando. Son independientes del • Diagramas de Interacción
lenguaje y no tienen por qué aparecer en el futuro
sistema • Diagramas de Paquetes
„ Especificación: Se especifica el software, • Diagramas de Estados
observando las interfaces, no la implementación • Diagramas de Actividades
„ Diseño / Implementación: Tenemos distintas • Diagramas de Componentes
clases como implementación de los interfaces,
• Diagramas de Despliegue
componiendo el sistema software
Francisco Ortín Soler 17 Francisco Ortín Soler 18

Un Primer Ejemplo Un Primer Ejemplo


Applet en Swing Vista de Clases (Vista Estructural)
La perspectiva a emplear (por la sencillez del ejemplo) será de
implementación
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
• Mostraremos un primer ejemplo de vistas y
«interface»
JApplet ActionListener

diagramas en UML 4.00 Unregistered Trial


+ init()
+ actionPerformed(ActionListener) : void
: void Version EA 4.00 Unregistered Trial Vers

• El siguiente ejemplo, es una pequeña aplicación


4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
en la plataforma Java
„ ejemplos/hola/hola.html 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
«realize»

Hola
4.00 Container
Unregistered Trial Version EA 4.00 Unregistered Trial Vers
+ setLayout() + init() : void
+ add() + actionPerformed(ActionListener) : void
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
• El proyecto presentado está en
„ ejemplos/hola/hola.eap 4.00 Unregistered Trial Version
-etiqueta 1
EA 4.00 Unregistered
-botón 1
Trial Vers
JLabel JButton
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
+ setText(String) : void + getText() : String
+ getText() : String + setText(String) : void
Francisco Ortín Soler 19 4.00 Unregistered Trial Version EA 4.00 Unregistered
Francisco Ortín Soler
Trial: Vers
+ addActionListener(ActionListener) void 20

5
Un Primer Ejemplo Un Primer Ejemplo
Diagrama de Gestió
Gestión o Agrupació
Agrupación Diagrama de Objetos (Estructural)

• Se usan los paquetes para agrupar elementos • Representamos una instantánea en tiempo de ejecución
• En este caso, agrupamos elementos estructurales (clases) de la estructura de una parte del modelo
cd Obj etos
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
id Subsistemas
Instantánea de haber mostrado en la etiqueta el mensaje "Hola"

4.00 Unregistered Trial Version EA 4.00 Unregistered


j av ax Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
+ JApplet
+ JButton :Hola
4.00 Unregistered Trial Version EA 4.00 Unregistered
+ JLabel
Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr

4.00 Unregistered TrialJApplet


Version EA 4.00 Unregistered Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
Logical Model::Hola

4.00 Unregistered
+ init() : void Trial Version EA 4.00 Unregistered Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
+ actionPerformed(ActionListener) : void
-etiqueta 1 -botón 1
j av a
4.00 Unregistered Trial Version EA 4.00 Unregistered
+ Container
Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
etiqueta :JLabel
botón :JButton
+ ActionListener text = "Hola" text = "borrar"
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V 00 Unregistered Trial Version EA 4.00 Unregistered Tr
Francisco Ortín Soler 21 Francisco Ortín Soler 22
4 00 Unregistered Trial Version EA 4 00 Unregistered Trial V

Un Primer Ejemplo Un Primer Ejemplo


Vista Diná
Dinámica (Diagrama Secuencia) Vista de Implementació
Implementación (D. Componentes)

• Vista dinámica de la creación del applet


• Diagrama en el que se muestran los elementos físicos de
A 4.00 :Thread
Unregistered Trial:Hola
Version EA 4.00 Unregistered
del Trial V
Comienzo
los que está compuesto
Applet
«artifact»
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V nregistered Trial Version EA 4.00 Un
Hola.java
init()

A 4.00 Unregistered Trial Version EA 4.00


etiqueta Unregistered Trial V
:JLabel
new nregistered Trial Version EA 4.00 Un
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
botón :JButton
nregistered Trial Version EA 4.00 Un
«html»
A 4.00 Unregistered Trial Version EA
new4.00 Unregistered Trial V
«executable»
hola.html

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V


nregistered Trial VersionHolaMundo.class
EA 4.00 Un
addActionListener(this)
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V nregistered Trial Version EA 4.00 Un
«image»
A 4.00 Unregistered Trial Version EA 4.00 Model)
(from Logical Unregistered Trial V
(from Logical Model)
nregistered Trial Version EA 4.00 Un
uml.gif

Francisco Ortín Soler 23 Francisco Ortín Soler 24

6
Un Primer Ejemplo
Vista y Diagrama de Despliegue Contenidos

• Muestra cómo los componentes del sistema se distribuyen • Introducción


entre sus nodos computacionales
• Presentación de UML
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
Serv idorWeb • Un Primer Ejemplo
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve • Diagramas de Clases y Objetos
• Diagramas de Casos de Uso
«executable»
Component
4.00 Unregistered Trial Version EA 4.00 Unregistered
Model::
Trial Ve
HolaMundo.class • Diagramas de Interacción
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
• Diagramas de Paquetes
• Diagramas de Estados
Cliente «html»
4.00 Unregistered Trial Version
Internet
EA 4.00 Unregistered Trial Ve
Component Model::hola.html
«TCP IP»

4.00 Unregistered
Nav egador Web
*
Trial Version EA 4.00 Unregistered Trial Ve • Diagramas de Actividades
«image» • Diagramas de Componentes
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
Component Model::uml.gif

• Diagramas de Despliegue
4 00 Unregistered Trial Version EA 4 00 Unregistered Trial Ve 25 26
Francisco Ortín Soler Francisco Ortín Soler

Diagramas de Clases y Objetos Diagramas de Clases y Objetos


Diagramas de Clases (y objetos) Clases
• Una clase es una implementación de un tipo
• Modelan la vista estática estructural del (clase) de objetos
sistema • Poseen propiedades (atributos) que definen la
estructura del objeto
• Pertenecen a la vista lógica del modelo
• Poseen operaciones (métodos) que definen el
• El diagrama de clases es la “columna vertebral” comportamiento de cada uno de los objetos
de casi todos los métodos: la mayoría de los • Colaboran con otras clases para conseguir un
diagramas (excluyendo principalmente al de objetivo común
casos de uso) se centran en él [Fowler] • Una de las técnicas empleadas para “descubrir”
• Es el diagrama más utilizado en los modelos de clases es emplear fichas CRC (Clase-
sistemas orientados a objetos; son los “planos” Responsabilidad-Colaboración) Wirfs-Brooks
principales [Booch] • Enfatiza:
„ Las relaciones entre las clases
„ Sus responsabilidades (operaciones públicas, su
Francisco Ortín Soler 27 interfaz) Francisco Ortín Soler 28

7
Diagramas de Clases y Objetos Diagramas de Clases y Objetos
Ejemplo Ficha CRC Clases en UML

Clase Valor por


Nombre de la Clase • Las operaciones y abstracta omisión
propiedades pueden tener
visibilidad: ered Trial Version
Ventana EA 4.
Pedido „ + pública - visible: boolean = true
Revisa si hay elementos en existencia Línea de Pedido „ # protegida # tamaño: int
„ - privada ered Trial Version EA 4.
# posición: Punto
Determina precio Línea de Pedido
• Los tipos se separan del
- calcularCoordenadaZ() : int
Revisa si el pago es válido Cliente identificador con :
ered Trial
+ crear() Version EA 4.
: Ventana
• Los atributos que producen + mover(int, int) : void
Despacha a la dirección de entrega asociaciones son se suelen + dibujar(int, int) : void
explicitar (implementación)ered Trial Version EA 4
Responsabilidades Colaboraciones • Los valores por defecto de
los atributos se pueden Método Método de
especificar con = abstracto clase (static)
Francisco Ortín Soler 29 Francisco Ortín Soler 30

Diagramas de Clases y Objetos Diagramas de Clases y Objetos


Mecanismos de Extensibilidad Mecanismos de Extensibilidad
Representación en Representación
• UML no es un lenguaje cerrado, permitiendo Enterprise Architect Estándar UML
extenderse de modo controlado mediante: Estereotipos
„ Estereotipos: Extiende el vocabulario de los
Trial Version EA 4.00
elementos de un diagrama, permitiendo nuevos «exception» «exception»
FueraRango
tipos de bloques de construcción. Sintaxis:
FueraRango

<<estereotipo>> Trial Version


- indice: int EA 4.00 {Autor = Francisco Ortin,
- elementos: int Versión = 1.0}
„ Valores etiquetados: Extiende las propiedades de - indice: int {indice>elementos}
Trial Version EA: void
+ mostrar(OutputStream) 4.00
un bloque de construcción añadiendo nueva - elementos: int

información. Sintaxis: {Etiqueta=valor} constraints


{indice>elementos}
+ mostrar(OutputStream) : void
Trial Version EA 4.00
„ Restricciones: Extiende la semántica de un tags
bloque, añadiendo reglas o modificando las Autor = Francisco Ortin
Restricciones
Trial Version
Versión = 1.0 EA 4.00
existentes. Sintaxis: Entre {} con lenguaje natural
o con OCL (Object Constraint Language)
Valores Etiquetados
Francisco Ortín Soler 31 Francisco Ortín Soler 32

8
Diagramas de Clases y Objetos Diagramas de Clases y Objetos
Relaciones entre Clases Ejemplo de Relaciones
• Las clases se pueden relacionar con las siguientes composición multiplicidades
asociación
relaciones: agregación Trial Version E
A 4.00 Unregistered Trial Version EA 4.00 Unregistered
„ Asociación Univ ersidad
1 1..*
Departamento

z Agregación (todo parte) A 4.00 Unregistered Trial Version 1..*EA 4.00


1..* Unregistered Trial Version E
docencia
z Composición (agreg. exclusiva) navegabilidad
1..*
1..*
Profesor
A 4.00 Unregistered roles
Trial Version1..* EA 4.00 Unregistered Trial Version E
„ Generalización (herencia) *
-carrera
1..*

z Realización (implementación) Estudiante Titulación


A 4.00 Unregistered
* Trial1..*Version EA 4.00impartir
estudiar Unregistered Trial Version E
„ Dependencia (uso) -director

• Cada asociación tiene dos papeles (roles) que A 4.00 Unregistered Trial Version EA
nombre
4.00 Unregistered Trial Version E
1

pueden ser etiquetados (y se puede especificar su


1..*
Contratado
asociación Funcionario

visibilidad) Asignatura
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
• Un papel puede tener una multiplicidad generalización
expresada con constantes_enteras, *, ..
• Las asociaciones pueden denotar navegabilidad
(sentido) mediante una flecha Francisco Ortín Soler 33 Francisco Ortín Soler 34

Diagramas de Clases y Objetos Diagramas de Clases y Objetos


Diagramas de Objetos Ejemplo de Diagrama de Objetos
lógica :Asignatura

• Modelan las instancias de los elementos


programación :
Asignatura

contenidos en los diagramas de clases


• Muestra un conjunto de objetos y sus relaciones :Universidad informática : impartir

en un momento concreto del tiempo de Departamento docencia


informática :
Titulación
ejecución impartir

• Son la base para los diagramas de estudiar


-director

colaboración estudiar JABrugos :


Funcionario
maría :Estudiante

• La sintaxis es: estudiar

„ El nombre o tipo son opcionales objeto:Clase AAJuan :


juan :Estudiante Contratado

„ No es necesario especificar
los valores de los atributos atributo1 = valor1 manuel :
Estudiante
atributo2 = valor2

Francisco Ortín Soler 35 Francisco Ortín Soler 36

9
Diagramas de Clases y Objetos Diagramas de Clases y Objetos
Interfaces Asociaciones Cualificadas
• Interfaz (interface) es: • ¿Cómo podría establecerse una relación entre Directorio y
„ Un tipo (conjunto de operaciones)
Fichero?
„ Una capacidad de un conjunto de abstracciones
„ Un fichero tiene que estar en un directorio
„ Una colección de mensajes u operaciones
„ Un directorio tiene un conjunto de ficheros
• Hay lenguajes (Java), arquitecturas (CORBA), componentes (COM)
y middlewares (RMI) que dan soporte a este concepto „ El nombre del fichero ha de ser único

• Una clase (o componente) implementa (realiza) varios interfaces • Asociación Cualificada


• En UML tiene representación de icono y un estereotipo
<<interface>> • En implementación: array asociativo, map, diccionario…
00 Unregistered Trial Version EA 4.00 Unregist
«interface» 00 Unregistered Trial Version EA 4.00 Unregist
JApplet
Runnable Planficador JApplet
00 Unregistered
+ Trial Version
run() : void
* EA 4.00 Unregist00 Unregistered Trial* Version EA 4.00Planficador
Unregist
Runnable

00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version


egistered
Directorio
Trial Version EA 4.00 Unregistered
Fichero
«realize» «realize» «realize» «realize» EA 4.00 Unregist
«realize» «realize»

00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered nombre:String


Trial Version EA 4.00 Unregist
+
MiApplet

run() : void
Productor

+ run() : void
Consumidor MiApplet Productor

+
Consumidor

run() : void + run() : void


egistered Trial Version1 EA 4.00
0..1 Unregistered
+ run() : void + run() : void
00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist
1 1 1
1
00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA
Productos
4.00 Unregist
Productos
Francisco Ortín Soler 37 Francisco Ortín Soler 38

Diagramas de Clases y Objetos


Clases de Asociació
Asociación Contenidos

• Cuando necesitemos que una asociación tenga estado, ésta • Introducción


se puede modelar como una clase de asociación
• Presentación de UML
„ Una persona puede tener muchos trabajos, pero sólo

uno para una misma empresa • Un Primer Ejemplo


„ El salario NO es un atributo de la empresa ni de la • Diagramas de Clases y Objetos
persona, sino de la asociación (contrato)
• Diagramas de Casos de Uso
egistered
Persona Trial Version EA 4.00 Unregistered
Empresa T • Diagramas de Interacción
* * • Diagramas de Paquetes
egistered Trial Version EA 4.00 Unregistered T • Diagramas de Estados
• Diagramas de Actividades
egistered Trial VersionTrabaj
EA o 4.00 Unregistered T
• Diagramas de Componentes
- salario: double
egistered Trial Version EA 4.00 Unregistered T • Diagramas de Despliegue
Francisco Ortín Soler 39 Francisco Ortín Soler 40

10
Diagramas de Casos de Uso Diagramas de Casos de Uso
Casos de Uso Diagramas de Casos de Uso
• Un diagrama de casos de uso muestra un conjunto de casos de uso, actores y sus
relaciones. También es común mostrar los límites del sistema.
A 4.00 Unregistered Trial VersionSistema
EAde4.00 Unregistered Trial Version E
Finanzas

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E


• Un caso de uso es una interacción típica entre Establecer Límites Actualizar Cuentas

un usuario y un sistema computacional [Fowler] A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Gerente
Sistema de

• Un casos de uso especifican el comportamiento A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
Contabilidad E

deseado del sistema (objetivos del usuario) Analizar Riesgo


A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
[Jacobson]
«include»
Ev aluar
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
• Describe qué hace un sistema, pero no especifica
«include»
Comerciante Negociar Precio
Actores A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
cómo lo hace [Booch]
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
• Un caso de uso da lugar a un conjunto de Capturar
Negociación
Casos de Uso
posibles escenarios A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Relaciones
AAgente
4.00deUnregistered
Ventas
Trial Version Límites
EA 4.00 Unregistered Trial
«extend»
Version del
E

Límite Excedido
sistema
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Francisco Ortín Soler 41 Francisco Ortín Soler 42
A 4 00 U i t dT i lV i EA 4 00 U i t dT i lV i E

Diagramas de Casos de Uso Diagramas de Casos de Uso


Actores Include y Extend
• “Un actor representa un conjunto coherente de roles que • Además de los vínculos entre los actores y los casos de
juegan los usuarios de los casos de uso al interaccionar con uso, hay otros dos tipos de vínculos entre los casos
el sistema” [Jacobson] de uso
• Un actor es un rol jugado por personas (no una persona) u • La relación include (anteriormente use) se da cuando
otros sistemas dos CU tienen comportamiento compartido y se factoriza
• Son externos al sistema. Pueden: éste
„ Requerir al sistema el cumplimiento de un objetivo
• La relación extend indica que un caso de uso aumenta
(primarios)
la funcionalidad de otro con un(os) caso(s) particular(es)
„ Ser empleados para cumplir un objetivo (secundarios)
que extienden su funcionamiento (variación de
Roles comportamiento “normal”)
Sistema „ Sólo se indica la interacción con los más generales
Gerente
Externo
Pueden ser la
Funcionalidad
Capturar

misma persona
Negociación
Sistema de Analizar Riesgo
Agente de Ventas
Contabilidad
común Caso
particular
«include»
Evaluar
«extend»

Secundario Negociar Precio


«include»

Comerciante Límite Excedido

Primarios Francisco Ortín Soler 43 Francisco Ortín Soler 44

11
Diagramas de Casos de Uso Diagramas de Casos de Uso
Escenarios Escenario “Límite Operació
Operación”
Nombre Escenario 1.1: Límite Operación.
• Un escenario es una sola ruta a través de un Precondiciones: No existe un límite previo a la
caso de uso. Una ruta que muestra una particular operación en curso. En caso contrario, sería el
escenario 1.2
combinación de condiciones, dentro de un caso Postcondiciones: La operación ha sido validada con
de uso límites superior y/o inferior.
Excepciones: Cliente no encontrado, operación ya
• Un escenario es una instancia de un caso de uso restringida.
• Los escenarios suelen describirse mediante Actor Principal: Gerente. Establecer Límites

diagramas de secuencia (colaboración) Detalle Operaciones: Gerente

• La descripción de escenarios y CUs suele Obtener cliente y operación. Si no, sería otro
realizarse con los siguientes datos: Cliente existente en la BD. escenario del mismo CU
Comprobar solvencia del cliente.
„ Nombre, Precondiciones, Postcondiciones Operación no existente.
(objetivo), Excepciones, Actores, Detalle de Comprobar que los límites solicitados se
Operaciones (Pasos en CU) encuentran dentro de los rangos del cliente.
Confirmación alta.
Francisco Ortín Soler 45 Francisco Ortín Soler 46

Diagramas de Casos de Uso


Utilizació
Utilización de Diagramas CU Contenidos

• Jacobson define el RUP dirigido por los CU, • Introducción


porque éstos se pueden emplear para: • Presentación de UML
„ Capturar el comportamiento general deseado del • Un Primer Ejemplo
sistema • Diagramas de Clases y Objetos
Comprender el sistema (desarrolladores, clientes)
„
• Diagramas de Casos de Uso
„ Validar y crear la arquitectura
• Diagramas de Interacción
„ Obtener los requisitos del sistema (escenarios)
• Diagramas de Paquetes
„ Identificar inicialmente las clases (abstracciones) :
análisis • Diagramas de Estados
„ Tras la implementación, validación de los casos de • Diagramas de Actividades
usos identificados (pruebas) • Diagramas de Componentes
„ Crear el GUI del sistema • Diagramas de Despliegue
Francisco Ortín Soler 47 Francisco Ortín Soler 48

12
Diagramas de Interacción Diagramas de Interacción
Diagramas de Interacció
Interacción Empleo de Diagramas de Interacció
Interacción
• Forman parte del modelo dinámico
• En análisis y especificación del modelo
• Describen el modo en el que un grupo de objetos
interaccionan para lograr cierto conceptual:
comportamiento „ Se utilizan como representación (formalización) de
• Muestra el modelo de un sistema, desde el punto escenarios
de vista del paso de mensajes entre objetos „ Ayudan a la comprensión del sistema
• Representan escenarios „ Facilitan el descubrimiento de objetos y clases
• Dos tipos: • En la fase de diseño:
„ Destacando la ordenación temporal de los „ Facilitan la documentación del código
mensajes: Diagramas de secuencia „ Facilitan el descubrimiento de mensajes (y
„ Destacando la organización estructural de los métodos) y atributos de una clase
objetos: Diagramas de colaboración
„ Ayudan a comprender los roles de los objetos en
• Poseen equivalencia semántica (de uno se puede cada comportamiento dinámico
obtener el otro)
Francisco Ortín Soler 49 Francisco Ortín Soler 50

Diagramas de Interacción Diagramas de Interacción


Diagramas de Secuencia Ejemplo Diagrama Secuencia
• Realización de la consulta
O( Existe(pepe) , No( Primera(adios) ) )
en la frase “hola mundo”

• Enfatizan la temporalidad de los mensajes entre


:ConsultaO :Existe :ConsultaNo :Primera
Objetos A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
los objetos. Incluyen: :Usuario
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
Mensajes Línea
„ Objetos evaluar("hola mundo")

A 4.00 Unregistered de vida


Trial Version EA 4.00 Unregistered Trial Version
„ La línea de tiempo evaluar("hola mundo")

„ Mensajes con argumentos A 4.00 Unregistered Trial


false
Version EA 4.00 Unregistered Trial Version

„ Ciclo de vida de los objetos A 4.00 Unregistered Trial boolean:=


Version EA 4.00 Unregistered Trial Version
evaluar(frase)

„ Información devuelta por un método evaluar("hola mundo")


A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
„ Especificación de procesos concurrentes Foco de
A 4.00 Unregistered Trial Version control
false
EA 4.00 Unregistered Trial Version
true

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version


true
Devolución
Francisco Ortín Soler 51 A 4.00 Unregistered Trial Version EA 4.00 Unregistered
Francisco Ortín Trial
Soler Version 52

13
Diagramas de Interacción Diagramas de Interacción
Ejemplo Diagrama Colaboració
Colaboración Sincronizació
Sincronización
• En los diagramas de colaboración, los focos de control se • En los diagramas de interacción (secuencia y
especifican con numeración 1, 2, 2.1, 2.2, 3… colaboración) se pueden especificar distintos
00 Unregistered Trial Versionmundo")
EA 4.00 Unregistered
:Existe
Trial Ver
envíos de mensajes
1.1 evaluar("hola palabra = "pepe"
„ Simple: Un solo hilo de control, el objeto activo le
00 Unregistered Trial Version 1.2EA
false
4.00 Unregistered Trial Ver pasa el control al objeto pasivo (que pasa a ser
:ConsultaO
activo)
00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver
1.3 evaluar("hola mundo")
„ Síncrono: El cliente se bloquea hasta que el
00 Unregistered Trial Version 1.4EA
true 4.00 Unregistered Trial Ver
:ConsultaNo
servidor acepta o rechaza el mensaje
„ Asíncrono: No se interrumpe la ejecución del
002 true
Unregistered Trialmundo")
1 evaluar("hola Version EA 4.00 Unregistered Trial Ver cliente; no se sabe cuándo se llevará a cabo la
petición
00 Unregistered Trial Version 1.3.1
EAevaluar("hola mundo")
4.00 Unregistered 1.3.2 false
Trial Ver
Mensaje Representación UML Representación EA
00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver Simple
Síncrono
:Primera

Asíncrono
palabra = "adios"
::Usuario
00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver
Francisco Ortín Soler 53 Francisco Ortín Soler 54

Diagramas de Paquetes
Contenidos Paquetes en UML
• Un paquete es un mecanismo general para
• Introducción organizar modelos/subsistemas, agrupando
• Presentación de UML elementos de modelado
• Un Primer Ejemplo • Cada paquete representa a un submodelo
• Diagramas de Clases y Objetos (subsistema) del modelo (sistema)
• Un paquete puede contener a otro paquete sin
• Diagramas de Casos de Uso
límite de anidamiento
• Diagramas de Interacción • Un paquete no sólo se utiliza para agrupar
• Diagramas de Paquetes clases, sino cualquier elemento estructural de
• Diagramas de Estados UML
• Diagramas de Actividades • El operador :: permite referenciar a una clase
definida en un contexto distinto al actual
• Diagramas de Componentes
• La principal relación entre paquetes es de
• Diagramas de Despliegue dependencia: se produce cuando los cambios en
Francisco Ortín Soler 55 el destino generan cambios enFrancisco
el origen
Ortín Soler 56

14
Diagramas de Paquetes
Ejemplo Contenidos

JSP AWT
• Introducción
stered Trial Version EA 4.00 Unregistered Tri
• Presentación de UML
stered Trial Version EA 4.00 Unregistered Tri • Un Primer Ejemplo
• Lo siguiente puede ser un
diagrama de paquetes de stered Trial Version EA 4.00 Unregistered Tri • Diagramas de Clases y Objetos
la estructura estática de la
stered Trial Version EA 4.00 Unregistered Tri
• Diagramas de Casos de Uso
implementación de la IU Consultas HTML
aplicación de Consultas, stered Trial Version IU Consultas Applet • Diagramas de Interacción
EA 4.00 Unregistered Tri
siguiendo una arquitectura • Diagramas de Paquetes
MVC (Modelo / Vista / stered Trial Version EA 4.00 Unregistered Tri • Diagramas de Estados
Controlador)
stered Trial Version EA 4.00 Unregistered Tri • Diagramas de Actividades
stered Trial Version
ConsultasEA 4.00 Unregistered Tri • Diagramas de Componentes
• Diagramas de Despliegue
stered Trial Version EA 4.00 Unregistered Tri
Francisco Ortín Soler 57 Francisco Ortín Soler 58

Diagramas de Estados Diagramas de Estados


Diagrama de Estados Estados y Transiciones
• Se utilizan principalmente para representar el • Las transiciones se representan con la sintaxis:
comportamiento de las instancias de una clase Evento [Condición] / Acción
„ Son útiles en objetos con un comportamiento
„ Evento: Acontecimiento significativo que ocupa un
significativo basado en su estado (no para todos)
lugar en el tiempo (invocaciones, paso de tiempo o
• Describen el comportamiento de un solo objeto durante
todo su ciclo de vida
cambio de estado)
„ Se describe mediante los estados posibles en los que
„ Condición: Expresión lógica. Tienen que
puede entrar un objeto particular y la manera en la que especificarse excluyentes ya que la máquina de
éste cambia estados ha de ser determinista
• Representan autómatas de estados finitos, constando de: „ Acción: Computación atómica (invocación a un
„ Estados: Situación en la vida de un objeto,
método, creación o destrucción de un objeto)
satisfaciendo una condición, realizando una actividad o
esperando algún evento • Para especificar el ciclo de vida de un objeto, se
„ Transiciones: Se cambia de un estado a otro, porque utilizan
se produce un evento o se satisface una condición
„ Estados iniciales
• Los estados están caracterizados parcialmente por los
valores de algunos atributos del objeto „ Estados finales
Francisco Ortín Soler 59 Francisco Ortín Soler 60

15
Diagramas de Estados Diagramas de Estados
Ejemplo de Diagrama de Estados Actividades y acciones de entrada y salida
• A veces se necesita que un objeto realice una actividad al
Logical View ::Cliente encontrarse en un estado
Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
Final
- DNI: int • Se puede definir ésta, para que se produzca ante un
baja - nombre: String
evento dentro del estado
Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 - númeroPrestamos: int
• Una actividad suele ser la invocación de un método
Sin Préstamos + concederPréstamo()
alta
Unregistered + cancelarPréstamo()
Trial Version EA 4.00 Unregistered Trial Version EA 4 • Los eventos predefinidos son:
„ Entrada (entry): Al entrar en un estado, sin importar la
Initial
Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 transición ejecutada
solicitarPrestamo /concederPréstamo amortizar [númeroPréstamos==0] /cancelarPréstamo „ Salida (exit): Al abandonar un estado, sin importar la

Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 transición provocada


„ Hacer (do): Mientras se está en el estado, hasta que
Con Préstamos
Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
solicitarPréstamo /concederPréstamo sea interrumpido por un evento
amortizar [númeroPrestamos>0] /cancelarPréstamo
d Trial Version EAord4.00 Unr
Introducir Passw

Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 + On Entry / buffer.clear()


d Trial Version
+ Do Action EA 4.00 Unr
/ suppressEcho()
+ On Exit / buffer.compare(password)

Francisco Ortín Soler 61 d Trial Version EA 4.00 UnrFrancisco Ortín Soler 62

Diagramas de Estados Diagramas de Estados


Subestados Secuenciales Subestados Concurrentes
A 4.00 Unregistered Trial Activ
Version
o EA 4.00 Unregister
Procesamiento
• Pueden jerarquizarse los estados para denotar, dentro de
• Si deseamos que seA 4.00
+ On Entry / leerTarjeta
+ On Unregistered
Exit / expulsarTarjeta Trial Version EAOpción
4.00 Unregister un estado, concurrencia
entre en cualquier Validación Tarj eta
• En este caso, una vez dentro del superestado, existirán dos
momento se puede A 4.00 Unregistered Trial[continuar] Version EA 4.00 Unregister subestados activos
egistered Trial Version EA 4.00 Unregistered Trial Ve
cancelar la
[no continuar] Inactiv o
Diagrama de estados del
operación, podemosA 4.00 Unregistered
[tarjetaCorrecta]
Trial Version EA 4.00 Unregister egistered Trial Version EA 4.00 Unregistered
mantenimiento de un Trial
CajeroVe
jerarquizar estados Impresión
A 4.00 Unregistered
Selección Opción
Trial Version EA 4.00 Unregister egistered Trial Version EA 4.00 Unregistered Trial Ve
• Se introducen [tarjetaIncorrecta]
reparación finalReparación

diagramas de A 4.00 Unregistered Trial Version EA 4.00 Unregister


egistered Trial Version EA 4.00 Unregistered Trial Ve
estados dentro de un Pruebas
Manenimiento

estado y de éste se A 4.00 Unregistered Trial Version cancelar


EA 4.00 tarjetaIntroducida
Unregister
egistered Trial Version EA 4.00
Probar Unregistered Trial Ve
Probar
puede salir a partir Inactiv o Periféricos Monitor
A 4.00 Unregistered Trial
deVersion EA 4.00 Unregister
de un evento Diagrama de estados las
egistered Trial Version EA 4.00 Unregistered Trial Ve
instancias de una clase Cajero
• El flujo en el A 4.00 Unregistered Trial Version EA 4.00reparación Unregister Órdenes

diagrama mostrado finalReparación


egistered Trial Version EA 4.00 Unregistered
pulsarTecla
Espera
[noContinuar] Trial Ve
Orden
es secuencial A 4.00 Unregistered Trial Version EAMantenimiento 4.00 Unregister [continuar]
egistered Trial Version EA 4.00 Unregistered Trial Ve
A 4.00 Unregistered Trial Version EA 4.00 Unregister
Francisco Ortín Soler 63 Francisco Ortín Soler 64
i t dT i lV i EA 4 00 U i t dT i lV

16
Diagramas de Actividades
Contenidos Diagramas de Actividades

• Es un diagrama de comportamiento dinámico


• Introducción
• El significado de actividad depende de la perspectiva del
• Presentación de UML diagrama:
• Un Primer Ejemplo „ Conceptual: Una actividad es una tarea que debe ser

• Diagramas de Clases y Objetos llevada a cabo por una persona o computadora


„ Especificación o Implementación: Una actividad es
• Diagramas de Casos de Uso un método de una clase
• Diagramas de Interacción • Los diagramas de actividades son útiles para:
• Diagramas de Paquetes „ La especificación y compresión de un flujo de trabajo

„ Análisis de casos de uso y escenarios (es probable


• Diagramas de Estados
que sea muy difícil tener objetos)
• Diagramas de Actividades „ Aplicaciones multihilo

• Diagramas de Componentes • No son útiles para especificar:


• Diagramas de Despliegue „ Colaboración entre objetos (diagramas de interacción)

„ Comportamiento de objetos (diagramas de estados)


Francisco Ortín Soler 65 Francisco Ortín Soler 66

Diagramas de Actividades Diagramas de Actividades


Ejemplo Calles
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Indicador Cafetera Expendedora Voz
Pedir Bebida
inicial [refresco]
• Los diagramas de EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 actividades dicen Pedir Bebida

bifurcación qué sucede, pero EA 4.00 Unregistered Trial Version [refresco]


EA 4.00 Unregistered Trial Version
secuencial no quién lo
[café]
división
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 realiza [café]

concurrente „ Dominio: No
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
EA 4.00 Unregistered Trial Version Obtener
EA 4.00 Unregistered
[existe] Trial Version EA 4.0 indica qué [existe]
Poner Filtro Añadir Agua Taza
entidad realiza EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
condición la actividad Poner Filtro Añadir Agua Obtener Taza
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 „ Implementació EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
actividades n: No se
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered
Poner Café Trial Version EA 4.0 especifica la EA 4.00 Unregistered
Poner Café Trial Version EA 4.00 Unregistered Trial Version
Seleccionar
Bebida
[agotada] clase Seleccionar [agotada]

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 • Las calles o Bebida

carriles EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version


(swimlanes)
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 subsanan esta EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
deficiencia
unión
EA 4.00 Unregistered Trial
Hacer Café Version EA 4.00 Unregistered Trial Version EA 4.0 „ Combinan la EA 4.00 UnregisteredHacer Trial
CaféVersion EA 4.00 Unregistered Trial Version
concurrente Explusar Bebida
lógica de la Explusar Bebida

secuencia con
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 las EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
Diagrama de actividades del Diagrama de actividades del
responsabilidad funcionamiento de una
funcionamiento de una
EA 4.00deUnregistered Trial Version EA 4.00 Unregistered Trial Av
Version final
EA 4.0 es de cada EA 4.00 Unregistered Trial Version
máquina de bebidas
EA 4.00 Unregistered Trial Version
Av isar
máquina bebidas
Serv ir Café
isar
Usuario
calle Serv ir Café Usuario

Francisco Ortín Soler 67 EA 4.00 Unregistered Trial Version EA 4.00 Ortín


Francisco Unregistered
Soler Trial Version
68
EA 4 00 Unregistered Trial Version EA 4 00 Unregistered Trial Version EA 4 0

17
Diagramas de Componentes
Contenidos Diagramas de Componentes

• Introducción • Componente: Parte física y reemplazable de un


• Presentación de UML sistema
• Un Primer Ejemplo „ que conforma un conjunto de interfaces y
Proporciona una implementación (clases)
• Diagramas de Clases y Objetos „

• Diagramas de Casos de Uso • Modela ejecutables, bibliotecas, tablas, ficheros,


documentos, componentes…
• Diagramas de Interacción
• Modela parte de la vista física del sistema
• Diagramas de Paquetes
• Residirán en los nodos del sistema (diagrama de
• Diagramas de Estados despliegue)
• Diagramas de Actividades • Las relaciones de dependencia se emplean para
• Diagramas de Componentes designar que un componente emplea los servicios
• Diagramas de Despliegue de otro
Francisco Ortín Soler 69 Francisco Ortín Soler 70

Diagramas de Componentes Diagramas de Componentes


Objetivos Ejemplo
Assembly: Relación “requiere”

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial


«COM» Versio
• Básicamente su utilidad es a nivel de
Compras.exe Comunicacion.dll
Comunicación MS CryptoAPI

implementación y arquitectura A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio
„ Implementación de componentes reales (COM+, Interfaces Dependencias
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio
EJB, CORBA). «artifact»
«send»

Futura sustitución binaria de versiones.


Logo.gif
„
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio
„ Especificación de tablas (BD), archivos auxiliares Transacciones Autenticación
Artefactos
o documentos utilizados. A 4.00 Unregistered Trial Version EAITransacciones
(elemento físico)
4.00 Unregistered Trial Versio
„ Modelado de un API en función de sus interfaces y A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio
módulos o componentes. Componentes (código JDBC

fuente o ejecutable)
„ Organización de la aplicación en archivos fuente A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio

A 4.00 Unregistered Trial Version


Datos EA 4.00 Unregistered Trial Versio
LDAP

Francisco Ortín Soler 71 Francisco Ortín Soler 72


A 4 00 Unregistered Trial Version EA 4 00 Unregistered Trial Versio

18
Diagramas de Despliegue
Contenidos Diagrama de Despliegue

• Introducción
• Presentación de UML • Modela la topología hardware del sistema
• Un Primer Ejemplo • Pertenece a la vista física del sistema
• Diagramas de Clases y Objetos • Un nodo es un elementos físico que representa
• Diagramas de Casos de Uso un recurso con capacidad computacional
• Diagramas de Interacción • En los nodos se despliegan y ejecutan
componentes
• Diagramas de Paquetes
• Los arcos (interconexiones) representan
• Diagramas de Estados conexiones físicas entre nodos
• Diagramas de Actividades • Los estereotipos permiten precisar las
• Diagramas de Componentes características de los equipos y conexiones
• Diagramas de Despliegue
Francisco Ortín Soler 73 Francisco Ortín Soler 74

Diagramas de Despliegue Lenguajes y Sistemas Informáticos


Ejemplo
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0
Universidad de Oviedo Departamento de Informática
Serv idor Web
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0

EA 4.00 Unregistered Trial Version Component


EA 4.00 Unregistered Trial Version
«oracle»
EA 4.0
Model:: SGBD
Serv idor LDAP Autenticación ATM
EA 4.00 Unregistered Trial
SSL Version EA 4.00 Unregistered Trial
2 Version EA 4.0
Component
1 Model::Datos
EA 4.00 Unregistered Trial Version Component
EA 4.00 Unregistered Trial Version EA 4.0
Lenguaje UML
Component
Model::LDAP Model::
Transacciones

Conexiones
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0

EA 4.00 Unregistered Trial Version


IP:8080EA 4.00 Unregistered
TCP/IP Trial Version EA 4.0
(Unified Modeling Language)
Language)
Multiplicidad
EA 4.00 Unregistered Trial Version* EA 4.00 Unregistered Trial Version EA 4.0
Cliente Gráfico *
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0
Nodos Cliente Web
Component
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0
Model::Compras.
exe

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version


iexplore.exeEA 4.0

Componentes
«COM»

EA 4.00 Unregistered TrialComponent


Version EA 4.00 Unregistered Trial Version EA 4.0
Model::MS
CryptoAPI
Francisco Ortín Soler
ortin@lsi.uniovi.es
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.075
Francisco Ortín Soler

19