Lenguajes y Sistemas Informáticos

Universidad de Oviedo

Departamento de Informática

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

Lenguaje UML (Unified Modeling Language) Language)

Francisco Ortín Soler
ortin@lsi.uniovi.es

2

Introducción

Introducción

¿Qué es UML?
• UML es un lenguaje estándar (OMG, www.omg.org) para representar “planos” (footprints) software • Los planos software se representan mediante distintas vistas de un mismo modelo • Una vista es una proyección de la organización y estructura de un sistema, centrada en un aspecto particular del mismo • UML define una notación: material gráfico para representar cada una de las vistas del modelo; es la sintaxis del lenguaje UML • UML es por lo tanto un lenguaje para modelar un sistema real (análisis) o software (diseño)
Francisco Ortín Soler

¿Qué es un modelo?
• Un modelo es una simplificación de la realidad [Booch99]. • ¿Por qué es necesario modelar?
1.

2.

3.

4.

Los modelos nos ayudan a visualizar cómo es o queremos que sea un sistema (abstracción). Los modelos nos permiten especificar la estructura y comportamiento de un sistema. Los modelos nos proporcionan plantillas que nos guían en la construcción de un sistema. Los modelos documentan las decisiones que hemos adoptado.
Francisco Ortín Soler

3

4

1

Introducción

Introducción

(I) Lenguaje para Visualizar
• El lenguaje gráfico de UML facilita la comunicación entre los distintos miembros de un proyecto • Permite elevar el nivel de abstracción para obtener una visión más general de una parte de un proyecto • UML es más que un montón de símbolos gráficos; detrás de cada símbolo hay una semántica bien definida. Por lo tanto, una herramienta puede interpretar un modelo sin ambigüedad
5

(II) Lenguaje para Especificar
• Especificar significa construir modelos:
Precisos (correctos, coherentes) No ambiguos (formales) Completos (enlace entre distintas vistas)

• UML cubre la especificación de todas las decisiones de
Análisis (conceptual y especificación) Diseño Implementación

que deben realizarse en un sistema con gran cantidad de software.
Francisco Ortín Soler

Francisco Ortín Soler

6

Introducción

Introducción

(III) Lenguaje para Construir
• UML NO es un lenguaje de programación visual, pero sus modelos pueden traducirse a gran variedad de lenguajes de programación (Java, C++ o VB) • Rational Rose y Sparx EA poseen facilidades para la ingeniería directa e inversa a determinados lenguajes y sistemas de componentes • El mayor nivel de abstracción para modelar facilita la construcción de la arquitectura global del sistema, así como el diseño detallado de las partes de un proyecto y su futura implementación
Francisco Ortín Soler

(IV) Lenguaje para Documentar
• Un producto software no es únicamente el código ejecutable final • El modelo de la aplicación documenta ésta para:
Mejorar la comprensión del código Futuras ampliaciones Modificaciones y corrección de errores Realización de pruebas de funcionamiento Migración a otras plataformas o selección de un nuevo lenguaje de programación
Francisco Ortín Soler

7

8

2

Introducción

Introducción

¿Qué NO es UML?
• UML NO es un método: “proceso disciplinado para generar un conjunto de modelos que describen varios aspectos de un sistema software en desarrollo, utilizando una notación bien definida” [Booch99] • UML NO es una metodología: “colección de métodos a lo largo del ciclo de vida del desarrollo de software unificados por alguna aproximación general” [Booch99]. • El LENGUAJE UML NO es un proceso de desarrollo software: “conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software” [Jacobson99].
Francisco Ortín Soler

El Proceso Unificado (RUP)
• Sobre el lenguaje UML se ha definido el proceso unificado (RUP, Rational Unified Process) • Utilizando UML, el proceso unificado define las actividades necesarias en un proyecto software, definiéndose como: Dirigido por los casos de uso Artefacto básico para establecer el comportamiento deseado del sistema, validarlo, realizar pruebas y comunicar a las personas involucradas en el proyecto Centralizado en la arquitectura Requisitos, dominio y plataforma tecnológica Iterativo e incremental (dirigida por el riesgo) Iterativo: Involucra creación iterativa de código Incremental: Continua integración en la arquitectura del sistema Riesgo: Cada iteración ataca y reduce los riesgos más significativos para el éxito Francisco Ortín Soler del proyecto 10

9

Introducción

Metodologías y UML
• El lenguaje de modelado UML es empleado por multitud de metodologías:
Métrica 3 El Proceso Unificado OOHDM (Object-Oriented Hypermedia Design Model) Catalysis DSDM (Dynamic Systems Development Method) Fusion AOSD (Aspect Oriented Software Development)

Contenidos
• • • • • • • • • • •
11

Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

Francisco Ortín Soler

12

3

Presentación de UML

Presentación de UML

Vistas en UML
• Una vista es un conjunto de construcciones en UML que representan un aspecto determinado del sistema • Una vista en UML se representa mediante uno o varios diagramas bajo la notación UML • Las distintas vistas se pueden clasificar en función de su semántica:

Vistas y Diagramas
• Vistas estructurales:
Diagramas de clases (y objetos) Diagrama de casos de uso Diagramas de componentes Diagramas de despliegue

• Vistas de comportamiento:
Diagrama Diagrama Diagrama Diagrama de de de de estados actividades colaboración secuencia

Vistas estructurales Vistas dinámicas (de comportamiento) Vista de gestión o colección de elementos
Francisco Ortín Soler

• Vistas 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

14

Presentación de UML

Presentación de UML

Arquitectura de un Sistema
• La arquitectura de un sistema define los planos a un elevado nivel de abstracción • En función de los requisitos previos del sistema, establece las vistas más significativas de éste • Ejemplo: para desarrollar un sistema distribuido, la arquitectura del sistema se obtendrá en función de: El tipo de cliente de la aplicación (X-net y SO) El tipo de conexión del cliente (ancho de banda) El número de clientes simultáneos estimados La seguridad de la conexión (SSL, TLS) El tipo de servidor(es) (SO, Ancho Banda, Administración) El tipo del SGBD a utilizar y sus características Las futuras ampliaciones al sistema
Francisco Ortín Soler

Modelado de la Arquitectura
• La arquitectura de un sistema con gran cantidad de software puede describirse a través de cinco vistas relacionadas • La obtención de éstas se lleva a cabo a través de (dirigida por) los casos de uso
Clases Datos Casos Uso Requisitos Escenarios Componentes

Vista Estructural (lógica) Vista de Procesos (dinámica)

Vista de Casos de Uso

Vista de Implementación Vista de Despliegue Modelos Físicos

15

Interacción (Secuencia, Colaboración) Actividades Modelos Estados Lógicos

Despliegue
16

Francisco Ortín Soler

4

Presentación de UML

Perspectivas
• En función del ciclo que nos encontremos en el desarrollo de software, los diagramas describirán modelos desde distintas perspectivas [Fowler] • Además de su significado, variarán en su nivel de detalle
Conceptual: Representa los conceptos del dominio que se está estudiando. Son independientes del lenguaje y no tienen por qué aparecer en el futuro sistema Especificación: Se especifica el software, observando las interfaces, no la implementación Diseño / Implementación: Tenemos distintas clases como implementación de los interfaces, componiendo el sistema software
Francisco Ortín Soler

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

17

18

Un Primer Ejemplo

Un Primer Ejemplo

Applet en Swing
• Mostraremos un primer ejemplo de vistas y diagramas en UML • El siguiente ejemplo, es una pequeña aplicación en la plataforma Java
ejemplos/hola/hola.html

Vista de Clases (Vista Estructural)
La perspectiva a emplear (por la sencillez del ejemplo) será de implementación «interface» 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
JApplet + ActionListener actionPerformed(ActionListener) : void + init() : void 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers
«realize» 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers

4.00 Container Unregistered Trial Version EA 4.00 Unregistered Trial Vers

Hola

• El proyecto presentado está en
ejemplos/hola/hola.eap

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers -etiqueta 1 -botón 1
JLabel JButton 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Vers + + setText(String) : void getText() : String + + getText() : String setText(String) : void

+ +

setLayout() add()

+ +

init() : void actionPerformed(ActionListener) : void

Francisco Ortín Soler

19

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial: Vers + addActionListener(ActionListener) void Francisco Ortín Soler

20

5

Un Primer Ejemplo

Un Primer Ejemplo

Diagrama de Gestión o Agrupación Gestió Agrupació
• Se usan los paquetes para agrupar elementos • En este caso, agrupamos elementos estructurales (clases)

Diagrama de Objetos (Estructural)
• Representamos una instantánea en tiempo de ejecución de la estructura de una parte del modelo

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
id Subsistemas j av ax 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V + JApplet + JButton

00 Unregistered Trial Version EA 4.00 Unregistered Tr
Instantánea de haber mostrado en la etiqueta el mensaje "Hola"

cd Obj etos

00 Unregistered Trial Version EA 4.00 Unregistered Tr 00 Unregistered Trial Version EA 4.00 Unregistered Tr 00 Unregistered Trial Version EA 4.00 Unregistered Tr 00 Unregistered Trial Version EA 4.00 Unregistered Tr
-etiqueta 1 -botón 1 :Hola

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V + JLabel 4.00 Unregistered TrialJApplet Version EA 4.00 Unregistered Trial V
Logical Model::Hola

4.00 init() : void EA 4.00 Unregistered Trial V + Unregistered Trial Version
+ actionPerformed(ActionListener) : void j av a

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V + Container
+ ActionListener

00 Unregistered Trial Version EA 4.00 Unregistered Tr etiqueta :JLabel
botón :JButton text = "Hola"

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
Francisco Ortín Soler 4 00 Unregistered Trial Version EA 4 00 Unregistered Trial V

00 Unregistered Trial Version EA 4.00 Unregistered Tr
Francisco Ortín Soler

text = "borrar"

21

22

Un Primer Ejemplo

Un Primer Ejemplo

Vista Dinámica (Diagrama Secuencia) Diná
• Vista dinámica de la creación del applet
:Hola del A 4.00 :Thread Unregistered Trial Version EA 4.00 Unregistered Trial V Applet Comienzo

Vista de Implementación (D. Componentes) Implementació
• Diagrama en el que se muestran los elementos físicos de los que está compuesto

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
init()

nregistered Trial Version EA 4.00 Un Hola.java nregistered Trial Version EA 4.00 Un nregistered Trial Version EA 4.00 Un
«html» hola.html «executable»

«artifact»

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V etiqueta :JLabel
new

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
new A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V botón :JButton

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V
addActionListener(this)

nregistered Trial VersionHolaMundo.classUn EA 4.00 nregistered Trial Version EA 4.00 Un
«image»

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial V A 4.00 Unregistered Trial Version EA Logical Model) (from Logical Model) V (from 4.00 Unregistered Trial
Francisco Ortín Soler

nregistered Trial Version EA 4.00 Un
23
Francisco Ortín Soler

uml.gif

24

6

Un Primer Ejemplo

Vista y Diagrama de Despliegue
• Muestra cómo los componentes del sistema se distribuyen entre sus nodos computacionales
4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
Serv idorWeb

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
«executable» Component 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve Model:: HolaMundo.class

4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve
Internet 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve Component Model::hola.html «TCP IP» * Nav egador Web 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve «image» Component Model::uml.gif 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Ve Cliente «html»

4 00 Unregistered Trial Version EA 4 00 Unregistered Trial Ve
Francisco Ortín Soler

25

26

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Diagramas de Clases (y objetos)
• Modelan la vista estática estructural del sistema • Pertenecen a la vista lógica del modelo • El diagrama de clases es la “columna vertebral” de casi todos los métodos: la mayoría de los diagramas (excluyendo principalmente al de casos de uso) se centran en él [Fowler] • Es el diagrama más utilizado en los modelos de sistemas orientados a objetos; son los “planos” principales [Booch]

Clases
• Una clase es una implementación de un tipo (clase) de objetos • Poseen propiedades (atributos) que definen la estructura del objeto • Poseen operaciones (métodos) que definen el comportamiento de cada uno de los objetos • Colaboran con otras clases para conseguir un objetivo común • Una de las técnicas empleadas para “descubrir” clases es emplear fichas CRC (ClaseResponsabilidad-Colaboración) Wirfs-Brooks • Enfatiza:
Las relaciones entre las clases Sus responsabilidades (operaciones públicas, su interfaz) 28 Francisco Ortín Soler

Francisco Ortín Soler

27

7

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Ejemplo Ficha CRC
Nombre de la Clase

Clases en UML
• Las operaciones y propiedades pueden tener visibilidad: + pública # protegida privada Clase abstracta Valor por omisión

Pedido
Revisa si hay elementos en existencia Determina precio Revisa si el pago es válido Despacha a la dirección de entrega Responsabilidades Colaboraciones Línea de Pedido Línea de Pedido Cliente

Ventana ered Trial Version EA 4. # # visible: boolean = true tamaño: int posición: Punto

ered Trial Version EA 4.

• Los tipos se separan del - calcularCoordenadaZ() : int identificador con : + eredcrear() : Ventana Trial Version EA 4. • Los atributos que producen + mover(int, int) : void asociaciones son se suelen + dibujar(int, int) : void explicitar (implementación)ered Trial Version EA 4 • Los valores por defecto de los atributos se pueden Método Método de abstracto especificar con = clase (static)
29
Francisco Ortín Soler

Francisco Ortín Soler

30

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Mecanismos de Extensibilidad
• UML no es un lenguaje cerrado, permitiendo extenderse de modo controlado mediante:
Estereotipos: Extiende el vocabulario de los elementos de un diagrama, permitiendo nuevos tipos de bloques de construcción. Sintaxis: <<estereotipo>> Valores etiquetados: Extiende las propiedades de un bloque de construcción añadiendo nueva información. Sintaxis: {Etiqueta=valor} Restricciones: Extiende la semántica de un bloque, añadiendo reglas o modificando las existentes. Sintaxis: Entre {} con lenguaje natural o con OCL (Object Constraint Language)
Francisco Ortín Soler

Mecanismos de Extensibilidad
Representación en Enterprise Architect Representación Estándar UML

Estereotipos

Trial Version EA 4.00 «exception»
FueraRango

«exception» FueraRango {Autor = Francisco Ortin, Versión = 1.0} + indice: int {indice>elementos} elementos: int mostrar(OutputStream) : void

Trial Version EA 4.00 - indice: int
elementos: int + mostrar(OutputStream) 4.00 Trial Version EA: void constraints {indice>elementos} Trial Version EA 4.00 tags Autor = Francisco Ortin

Versión = 1.0 Trial Version EA 4.00

Restricciones

Valores Etiquetados
Francisco Ortín Soler

31

32

8

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Relaciones entre Clases
• Las clases se pueden relacionar con las siguientes relaciones:
Asociación Agregación (todo parte) Composición (agreg. exclusiva) Generalización (herencia) Realización (implementación) Dependencia (uso)

Ejemplo de Relaciones
composición multiplicidades
Departamento 1 1..*

agregación A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Univ ersidad

asociación

A 4.00 Unregistered Trial Version 1..* 4.00 Unregistered Trial Version E EA 1..*
1..* Profesor roles A 4.00 Unregistered Trial Version1..* EA 4.00 Unregistered Trial Version E * -carrera Estudiante estudiar Titulación 1..* * A 4.00 Unregistered Trial1..* Version EA 4.00 Unregistered Trial Version E impartir -director

navegabilidad

docencia 1..*

• Cada asociación tiene dos papeles (roles) que pueden ser etiquetados (y se puede especificar su visibilidad) • Un papel puede tener una multiplicidad expresada con constantes_enteras, *, .. • Las asociaciones pueden denotar navegabilidad (sentido) mediante una flecha Francisco Ortín Soler 33

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E nombre 1..*
asociación
Contratado Funcionario Asignatura A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E

1

generalización

Francisco Ortín Soler

34

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Diagramas de Objetos
• Modelan las instancias de los elementos contenidos en los diagramas de clases • Muestra un conjunto de objetos y sus relaciones en un momento concreto del tiempo de ejecución • Son la base para los diagramas de colaboración • La sintaxis es: objeto:Clase El nombre o tipo son opcionales
No es necesario especificar los valores de los atributos
atributo1 = valor1 atributo2 = valor2
Francisco Ortín Soler

Ejemplo de Diagrama de Objetos
lógica :Asignatura programación : Asignatura

:Universidad

informática : Departamento

impartir docencia informática : Titulación impartir

estudiar

-director estudiar JABrugos : Funcionario

maría :Estudiante estudiar

juan :Estudiante

AAJuan : Contratado

manuel : Estudiante

35

Francisco Ortín Soler

36

9

Diagramas de Clases y Objetos

Diagramas de Clases y Objetos

Interfaces
• Interfaz (interface) es: Un tipo (conjunto de operaciones) Una capacidad de un conjunto de abstracciones Una colección de mensajes u operaciones • Hay lenguajes (Java), arquitecturas (CORBA), componentes (COM) y middlewares (RMI) que dan soporte a este concepto • Una clase (o componente) implementa (realiza) varios interfaces • En UML tiene representación de icono y un estereotipo <<interface>> 00 Unregistered Trial Version EA 4.00 Unregist
«interface» JApplet Runnable Planficador
JApplet

Asociaciones Cualificadas
• ¿Cómo podría establecerse una relación entre Directorio y Fichero? Un fichero tiene que estar en un directorio Un directorio tiene un conjunto de ficheros El nombre del fichero ha de ser único • Asociación Cualificada • En implementación: array asociativo, map, diccionario…

00 Unregistered Trial Version EA 4.00 Unregist

Planficador * 00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist + run() : void * Runnable

00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist «realize»
«realize» «realize» «realize»
«realize» «realize»

egistered Trial Version EA 4.00 Unregistered Directorio Fichero
nombre:String 1 0..1 egistered Trial Version EA 4.00 Unregistered

00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist MiApplet MiApplet Productor Productor Consumidor Consumidor
+ run() : void + run() : void + run() : void 00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist + run() : void
+ run() : void + run() : void 1

00 Unregistered Trial Version EA 4.00 Unregist00 Unregistered Trial Version EA 4.00 Unregist Productos Productos
Francisco Ortín Soler

1

1

1

37

Francisco Ortín Soler

38

Diagramas de Clases y Objetos

Clases de Asociación Asociació
• Cuando necesitemos que una asociación tenga estado, ésta se puede modelar como una clase de asociación Una persona puede tener muchos trabajos, pero sólo uno para una misma empresa El salario NO es un atributo de la empresa ni de la persona, sino de la asociación (contrato)
Persona Empresa egistered Trial Version EA 4.00 Unregistered T * *

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

egistered Trial Version EA 4.00 Unregistered T egistered Trial VersionTrabaj o 4.00 Unregistered T EA
salario: double

egistered Trial Version EA 4.00 Unregistered T
Francisco Ortín Soler

39

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 Version EA 4.00 Unregistered Trial Version E Sistema de Finanzas A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Establecer Límites Actualizar Cuentas

• Un caso de uso es una interacción típica entre un usuario y un sistema computacional [Fowler] • Un casos de uso especifican el comportamiento deseado del sistema (objetivos del usuario) [Jacobson] • Describe qué hace un sistema, pero no especifica cómo lo hace [Booch] • Un caso de uso da lugar a un conjunto de posibles escenarios

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Gerente Sistema de Contabilidad A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E Analizar Riesgo

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
«include» Ev aluar

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E

Actores

Comerciante

«include» Negociar Precio

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Capturar Negociación

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version E
Agente de Ventas «extend» A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version del Límites E Límite A 4.00 Unregistered Trial VersionExcedido4.00 Unregistered Trial Version E EA

Casos de Uso

Relaciones

sistema
i

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

E

Diagramas de Casos de Uso

Diagramas de Casos de Uso

Actores
• “Un actor representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con el sistema” [Jacobson] • Un actor es un rol jugado por personas (no una persona) u otros sistemas • Son externos al sistema. Pueden: Requerir al sistema el cumplimiento de un objetivo (primarios) Ser empleados para cumplir un objetivo (secundarios) Roles
Gerente

Include y Extend
• Además de los vínculos entre los actores y los casos de uso, hay otros dos tipos de vínculos entre los casos de uso • La relación include (anteriormente use) se da cuando dos CU tienen comportamiento compartido y se factoriza éste • La relación extend indica que un caso de uso aumenta la funcionalidad de otro con un(os) caso(s) particular(es) que extienden su funcionamiento (variación de comportamiento “normal”) Sólo se indica la interacción con los más generales
Analizar Riesgo «include»

Pueden ser la misma persona
Agente de Ventas

Sistema Externo
Sistema de Contabilidad

Funcionalidad común
Evaluar «include»

Capturar Negociación

«extend»

Caso particular
44

Secundario Primarios
Comerciante

Negociar Precio Límite Excedido

Francisco Ortín Soler

43

Francisco Ortín Soler

11

Diagramas de Casos de Uso

Diagramas de Casos de Uso

Escenarios
• Un escenario es una sola ruta a través de un caso de uso. Una ruta que muestra una particular combinación de condiciones, dentro de un caso de uso • Un escenario es una instancia de un caso de uso • Los escenarios suelen describirse mediante diagramas de secuencia (colaboración) • La descripción de escenarios y CUs suele realizarse con los siguientes datos:
Nombre, Precondiciones, Postcondiciones (objetivo), Excepciones, Actores, Detalle de Operaciones (Pasos en CU)
Francisco Ortín Soler

Escenario “Límite Operación” Operació
Nombre Escenario 1.1: Límite Operación. Precondiciones: No existe un límite previo a la En caso contrario, sería el operación en curso. escenario 1.2 Postcondiciones: La operación ha sido validada con límites superior y/o inferior. Excepciones: Cliente no encontrado, operación ya restringida. Establecer Límites Actor Principal: Gerente. Gerente Detalle Operaciones: Obtener cliente y operación. Si no, sería otro Cliente existente en la BD. escenario del mismo CU Comprobar solvencia del cliente. Operación no existente. Comprobar que los límites solicitados se encuentran dentro de los rangos del cliente. Confirmación alta.
Francisco Ortín Soler

45

46

Diagramas de Casos de Uso

Utilización de Diagramas CU Utilizació
• Jacobson define el RUP dirigido por los CU, porque éstos se pueden emplear para:
Capturar el comportamiento general deseado del sistema Comprender el sistema (desarrolladores, clientes) Validar y crear la arquitectura Obtener los requisitos del sistema (escenarios) Identificar inicialmente las clases (abstracciones) : análisis Tras la implementación, validación de los casos de usos identificados (pruebas) Crear el GUI del sistema
Francisco Ortín Soler

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

47

48

12

Diagramas de Interacción

Diagramas de Interacción

Diagramas de Interacción Interacció
• Forman parte del modelo dinámico • Describen el modo en el que un grupo de objetos interaccionan para lograr cierto comportamiento • Muestra el modelo de un sistema, desde el punto de vista del paso de mensajes entre objetos • Representan escenarios • Dos tipos:
Destacando la ordenación temporal de los mensajes: Diagramas de secuencia Destacando la organización estructural de los objetos: Diagramas de colaboración

Empleo de Diagramas de Interacción Interacció
• En análisis y especificación del modelo conceptual:
Se utilizan como representación (formalización) de escenarios Ayudan a la comprensión del sistema Facilitan el descubrimiento de objetos y clases

• En la fase de diseño:
Facilitan la documentación del código Facilitan el descubrimiento de mensajes (y métodos) y atributos de una clase Ayudan a comprender los roles de los objetos en cada comportamiento dinámico
Francisco Ortín Soler

• Poseen equivalencia semántica (de uno se puede obtener el otro)
Francisco Ortín Soler

49

50

Diagramas de Interacción

Diagramas de Interacción

Diagramas de Secuencia

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

• Enfatizan la temporalidad de los mensajes entre los objetos. Incluyen:
Objetos La línea de tiempo Mensajes con argumentos Ciclo de vida de los objetos Información devuelta por un método Especificación de procesos concurrentes

:ConsultaO :Existe :ConsultaNo :Primera Objetos A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version :Usuario

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
evaluar("hola mundo")

Mensajes

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versionvida de evaluar("hola mundo") A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version false A 4.00 Unregistered Trial boolean:= evaluar(frase) Version EA 4.00 Unregistered Trial Version A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
evaluar("hola mundo")

Línea

Foco de false A 4.00 Unregistered Trial Version control Unregistered Trial Version EA 4.00
true

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
true

Francisco Ortín Soler

51

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

Devolución

52

13

Diagramas de Interacción

Diagramas de Interacción

Ejemplo Diagrama Colaboración Colaboració
• En los diagramas de colaboración, los focos de control se especifican con numeración 1, 2, 2.1, 2.2, 3…
00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver 1.1 evaluar("hola mundo") palabra = "pepe" 00 Unregistered Trial Version 1.2EA 4.00 Unregistered Trial Ver false
:ConsultaO :Existe

Sincronización Sincronizació
• En los diagramas de interacción (secuencia y colaboración) se pueden especificar distintos envíos de mensajes
Simple: Un solo hilo de control, el objeto activo le pasa el control al objeto pasivo (que pasa a ser activo) Síncrono: El cliente se bloquea hasta que el servidor acepta o rechaza el mensaje Asíncrono: No se interrumpe la ejecución del cliente; no se sabe cuándo se llevará a cabo la petición
Mensaje Simple Síncrono Asíncrono Representación UML Representación EA

00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver 1.3 evaluar("hola mundo") 00 Unregistered Trial Version 1.4 true4.00 Unregistered Trial Ver EA :ConsultaNo
2 Unregistered Trialmundo") 1 evaluar("hola Version EA 4.00 Unregistered Trial Ver 00 true 1.3.2 00 Unregistered Trial Version 1.3.1 evaluar("hola mundo") EA 4.00 Unregistered Trialfalse Ver

00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver :Primera 00 Unregistered Trial Version EA 4.00 Unregistered Trial Ver Francisco Ortín Soler
::Usuario palabra = "adios"

53

Francisco Ortín Soler

54

Diagramas de Paquetes

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

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

55

14

Diagramas de Paquetes

Ejemplo
JSP AWT

Contenidos
stered Trial Version EA 4.00 Unregistered Tri

• Lo siguiente puede ser un diagrama de paquetes de stered Trial Version la estructura estática de la stered Trial Version implementación de la IU Consultas HTML aplicación de Consultas, stered Trial Version siguiendo una arquitectura MVC (Modelo / Vista / stered Trial Version Controlador)

stered Trial Version EA 4.00 Unregistered Tri EA 4.00 Unregistered Tri EA 4.00 Unregistered Tri
IU Consultas Applet

EA 4.00 Unregistered Tri EA 4.00 Unregistered Tri

stered Trial Version EA 4.00 Unregistered Tri
Consultas stered Trial Version EA 4.00 Unregistered Tri

stered Trial Version EA 4.00 Unregistered Tri
Francisco Ortín Soler

• • • • • • • • • • •

Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

57

58

Diagramas de Estados

Diagramas de Estados

Diagrama de Estados
• Se utilizan principalmente para representar el comportamiento de las instancias de una clase Son útiles en objetos con un comportamiento significativo basado en su estado (no para todos) • Describen el comportamiento de un solo objeto durante todo su ciclo de vida Se describe mediante los estados posibles en los que puede entrar un objeto particular y la manera en la que éste cambia • Representan autómatas de estados finitos, constando de: Estados: Situación en la vida de un objeto, satisfaciendo una condición, realizando una actividad o esperando algún evento Transiciones: Se cambia de un estado a otro, porque se produce un evento o se satisface una condición

Estados y Transiciones
• Las transiciones se representan con la sintaxis:
Evento [Condición] / Acción Evento: Acontecimiento significativo que ocupa un lugar en el tiempo (invocaciones, paso de tiempo o cambio de estado) Condición: Expresión lógica. Tienen que especificarse excluyentes ya que la máquina de estados ha de ser determinista Acción: Computación atómica (invocación a un método, creación o destrucción de un objeto)

• Para especificar el ciclo de vida de un objeto, se utilizan
Estados iniciales Estados finales
Francisco Ortín Soler

• Los estados están caracterizados parcialmente por los valores de algunos atributos del objeto
Francisco Ortín Soler

59

60

15

Diagramas de Estados

Diagramas de Estados

Ejemplo de Diagrama de Estados
Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
Final baja Logical View ::Cliente

Actividades y acciones de entrada y salida
• A veces se necesita que un objeto realice una actividad al encontrarse en un estado • Se puede definir ésta, para que se produzca ante un evento dentro del estado • Una actividad suele ser la invocación de un método • Los eventos predefinidos son: Entrada (entry): Al entrar en un estado, sin importar la transición ejecutada Salida (exit): Al abandonar un estado, sin importar la transición provocada Hacer (do): Mientras se está en el estado, hasta que sea interrumpido por un evento d Trial VersionPassw ord EA 4.00 Unr Introducir
d TrialAction / suppressEcho()4.00 Unr + Do Version EA
+ On Exit / buffer.compare(password) + On Entry / buffer.clear()

Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
Sin Préstamos + concederPréstamo() alta + cancelarPréstamo() Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 Initial

-

DNI: int nombre: String númeroPrestamos: int

Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
solicitarPrestamo /concederPréstamo amortizar [númeroPréstamos==0] /cancelarPréstamo

Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4
solicitarPréstamo /concederPréstamo Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4 amortizar [númeroPrestamos>0] /cancelarPréstamo Con Préstamos

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

61

Francisco Ortín Soler d Trial Version EA 4.00 Unr

62

Diagramas de Estados

Diagramas de Estados

Subestados Secuenciales
A 4.00 Unregistered Trial Activ o Version EA 4.00 Unregister
+ On Entry / leerTarjeta Opción • Si deseamos que seA 4.00 Unregistered Trial Version EA 4.00 Unregister + On Exit / expulsarTarjeta entre en cualquier Validación Tarj eta momento se puede A 4.00 Unregistered Trial Version EA 4.00 Unregister [continuar] [no continuar] cancelar la operación, podemosA 4.00 Unregistered Trial Version EA 4.00 Unregister [tarjetaCorrecta] Impresión jerarquizar estados A 4.00 Unregistered Trial Version EA 4.00 Unregister Selección Opción • Se introducen [tarjetaIncorrecta] A 4.00 Unregistered Trial Version EA 4.00 Unregister diagramas de estados dentro de un Unregister estado y de éste se A 4.00 Unregistered Trial Version EA 4.00 tarjetaIntroducida cancelar Inactiv o puede salir a partir A 4.00 Unregistered Trial Version EA 4.00 Unregister Diagrama de estados de las de un evento instancias de una clase Cajero • El flujo en el A 4.00 Unregistered Trial Version EA 4.00 Unregister reparación diagrama mostrado finalReparación A 4.00 Unregistered Trial Version EAMantenimiento 4.00 Unregister es secuencial Procesamiento

Subestados Concurrentes
• Pueden jerarquizarse los estados para denotar, dentro de un estado, concurrencia • En este caso, una vez dentro del superestado, existirán dos subestados activosVersion EA 4.00 Unregistered Trial Ve egistered Trial
Inactiv o

Diagrama de estados del

mantenimiento de un Cajero egistered Trial Version EA 4.00 Unregistered Trial Ve

egistered Trial Version finalReparación Unregistered Trial Ve EA 4.00 reparación egistered Trial Version EA 4.00 Unregistered Trial Ve Manenimiento
Pruebas

egistered Trial Version EA 4.00 Unregistered Trial Ve Probar Probar
Periféricos Monitor

egistered Trial Version EA 4.00 Unregistered Trial Ve
Órdenes pulsarTecla egistered Trial Version EA 4.00 Unregistered Trial Ve [noContinuar] Espera [continuar] Orden

egistered Trial Version EA 4.00 Unregistered Trial Ve
Francisco Ortín Soler

A 4.00 Unregistered Trial Version Soler 4.00 Unregister EA 63 Francisco Ortín

64

i t

dT i lV

i

EA 4 00 U

i t

dT i lV

16

Diagramas de Actividades

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

Diagramas de Actividades
• Es un diagrama de comportamiento dinámico • El significado de actividad depende de la perspectiva del diagrama: Conceptual: Una actividad es una tarea que debe ser llevada a cabo por una persona o computadora Especificación o Implementación: Una actividad es un método de una clase • Los diagramas de actividades son útiles para: La especificación y compresión de un flujo de trabajo Análisis de casos de uso y escenarios (es probable que sea muy difícil tener objetos) Aplicaciones multihilo • No son útiles para especificar: Colaboración entre objetos (diagramas de interacción) Comportamiento de objetos (diagramas de estados)
Francisco Ortín Soler

65

66

Diagramas de Actividades

Diagramas de Actividades

Ejemplo
inicial
EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0
Pedir Bebida

Calles
[refresco]

bifurcación [café] división Unregistered Trial Version EA 4.00 Unregistered secuencial EA 4.0 EA 4.00 Trial Version concurrente
EA 4.00 Unregistered Trial Version Obtener Taza Unregistered Trial Version EA 4.0 EA 4.00 [existe] Poner Filtro Añadir Agua

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

condición

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

actividades

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Seleccionar
Poner Café Bebida [agotada]

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

unión 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Hacer Café EA Explusar Bebida concurrente
Diagrama de actividades del funcionamiento de una final EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Av isar Version EA 4.0 máquina de bebidas
Serv ir Café Usuario

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

EA 4 00 Unregistered Trial Version EA 4 00 Unregistered Trial Version EA 4 0

Francisco Ortín Soler

67

Los diagramas de EA 4.00 Unregistered Trial Version Pedir Bebida actividades dicen qué sucede, pero EA 4.00 Unregistered Trial Version no quién lo [café] realiza EA 4.00 Unregistered Trial Version Dominio: No indica qué entidad realiza EA 4.00 Unregistered Trial Version Poner Filtro Añadir Agua la actividad Implementació EA 4.00 Unregistered Trial Version n: No se especifica la EA 4.00 Unregistered Trial Version Poner Café clase Las calles o EA 4.00 Unregistered Trial Version carriles (swimlanes) subsanan esta EA 4.00 Unregistered Trial Version deficiencia Combinan la EA 4.00 Unregistered Trial Version Hacer Café lógica de la secuencia con EA 4.00 Unregistered Trial Version las Diagrama de actividades del responsabilidad funcionamiento de una es de cada EA 4.00 Unregistered Trial Version máquina de bebidas calle EA 4.00 Unregistered Trial Version

Indicador

Cafetera

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
[existe] [refresco]

Expendedora

Voz

EA 4.00 Unregistered Trial Version
Obtener Taza

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
Seleccionar Bebida [agotada]

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version
Explusar Bebida

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version Av isar
Serv ir Café Usuario

EA 4.00 Unregistered Francisco Ortín Soler

Trial Version 68

17

Diagramas de Componentes

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

Diagramas de Componentes
• Componente: Parte física y reemplazable de un sistema
que conforma un conjunto de interfaces y Proporciona una implementación (clases)

• Modela ejecutables, bibliotecas, tablas, ficheros, documentos, componentes… • Modela parte de la vista física del sistema • Residirán en los nodos del sistema (diagrama de despliegue) • Las relaciones de dependencia se emplean para designar que un componente emplea los servicios de otro
69
Francisco Ortín Soler

70

Diagramas de Componentes

Diagramas de Componentes

Objetivos

Ejemplo
Assembly: Relación “requiere”
Comunicacion.dll «COM» A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio Compras.exe Comunicación MS CryptoAPI

• Básicamente su utilidad es a nivel de implementación y arquitectura
Implementación de componentes reales (COM+, EJB, CORBA). Futura sustitución binaria de versiones. Especificación de tablas (BD), archivos auxiliares o documentos utilizados. Modelado de un API en función de sus interfaces y módulos o componentes. Organización de la aplicación en archivos fuente

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio

Interfaces Dependencias A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio «send»
«artifact» Logo.gif

A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio

ArtefactosUnregistered Trial Version EAITransacciones A 4.00 4.00 Unregistered Trial Versio (elemento físico)
A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio JDBC Componentes (código fuente o ejecutable) A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio A 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Versio LDAP Datos

Transacciones

Autenticación

Francisco Ortín Soler

71

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

Francisco Ortín Soler

72

18

Diagramas de Despliegue

Contenidos
• • • • • • • • • • • Introducción Presentación de UML Un Primer Ejemplo Diagramas de Clases y Objetos Diagramas de Casos de Uso Diagramas de Interacción Diagramas de Paquetes Diagramas de Estados Diagramas de Actividades Diagramas de Componentes Diagramas de Despliegue
Francisco Ortín Soler

Diagrama de Despliegue
• Modela la topología hardware del sistema • Pertenece a la vista física del sistema • Un nodo es un elementos físico que representa un recurso con capacidad computacional • En los nodos se despliegan y ejecutan componentes • Los arcos (interconexiones) representan conexiones físicas entre nodos • Los estereotipos permiten precisar las características de los equipos y conexiones
73
Francisco Ortín Soler

74

Diagramas de Despliegue

Ejemplo EA 4.00 Unregistered Trial Version

Lenguajes y Sistemas Informáticos

EA 4.00 Unregistered Trial Version EA 4.0

Universidad de Oviedo

Departamento de Informática

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0
«oracle» EA 4.00 Unregistered Trial Version Component Unregistered Trial Version EA 4.0 EA 4.00 Serv idor LDAP Model:: Autenticación SGBD ATM Component Model::Datos

Serv idor Web

SSL EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 2 1 Model:: Transacciones Component EA 4.00 Unregistered Trial Version Component Unregistered Trial Version EA 4.0 EA 4.00 Model::LDAP

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Conexiones
IP:8080 EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 TCP/IP * EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Cliente Gráfico *

Lenguaje UML (Unified Modeling Language) Language)

Multiplicidad

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

Nodos

Cliente Web

EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0 Model::Compras.
exe iexplore.exe EA 4.00 Unregistered Trial Version EA 4.00 Unregistered Trial Version EA 4.0

Component

Componentes Trial Version Component EA 4.00 Unregistered
«COM» Model::MS CryptoAPI

EA 4.00 Unregistered Trial Version EA 4.0

Francisco Ortín Soler
ortin@lsi.uniovi.es

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

19

Sign up to vote on this title
UsefulNot useful