1. MÉTODOS DE INGENIERÍA DEL SOFTWARE
PARA LA WEB
Perfiles UML
José R. Hilera
MÁSTER EN INGENIERÍA DEL SOFTWARE PARA LA WEB
2. Contenido
1. Perfiles UML
2. Algunos perfiles estándar
– SPEM (Software Process Engineering
Metamodel)
– IFML (Interaction Flow Modeling Language)
– UTP (UML Testing Profile)
– BPMN (Business Process Model and
Notation). [En preparación]
2
3. 3
1. Perfiles UML
Extensión de UML con perfiles
• UML: lenguaje de propósito general
• Mecanismos de extensión permiten adaptarlo a dominios específicos
• La extensión de UML con Perfiles “mecanismo de extensión ligera”
(lightweight)
Perfiles UML contienen:
– Stereotypes nuevos elementos
– Tagged values nuevas propiedades
– Constraints nueva semántica
Ejemplo: Modelado Multidimensional
4. 4
Perfiles UML
• UML incluye un mecanismo de extensión en el propio lenguaje que permite
definir lenguajes de modelado que son derivados de UML.
• Un Perfil se define en un paquete UML, estereotipado «profile», que
extiende a un metamodelo o a otro Perfil. Tres son los mecanismos que se
utilizan para definir Perfiles: estereotipos (stereotypes), restricciones
(constraints), y valores etiquetados (tagged values).
Fuentes, L., Valecillo, A. (2004).
“Una introducción a los perfiles
UML”. Revista Novática, no. 168.
http://www.lcc.uma.es/~av/Publicaci
ones/04/UMLProfiles-Novatica04.pdf
5. 5
Proceso de creación
de un perfil UML
1. Antes de crear el perfil:
– Definir el metamodelo (por ejemplo con notación MOF)
2. Creación del perfil
– Crear un un estereotipo (<<stereotype>>) por cada uno de los
elementos del metamodelo que deseamos incluir en el Perfil.
– Unir con relación de extensión, cada estereotipo con el elemento del
metamodelo de UML (<<metaclass>>) más parecido.
– Definir como valores etiquetados de los elementos del Perfil los
atributos que aparezcan en el metamodelo. Incluir la definición de
sus tipos, y sus posibles valores iniciales.
– Definir las restricciones que forman parte del Perfil (con notación
OCL)
Fuentes, L., Valecillo, A. (2004). “Una introducción a los perfiles UML”.
Revista Novática, no. 168.
http://www.lcc.uma.es/~av/Publicaciones/04/UMLProfiles-Novatica04.pdf
6. 6
Ejemplo de creación
de un perfil UML
1. Antes de crear el perfil:
– Definir el metamodelo (por ejemplo con notación MOF)
Perfil para modelar las conexiones
entre los elementos de ciertos
sistemas de información según la
topología en estrella, donde los nodos
centrales de cada estrella pueden estar
conectados entre sí.
Fuentes, L., Valecillo, A. (2004). “Una introducción a los perfiles UML”.
Revista Novática, no. 168.
http://www.lcc.uma.es/~av/Publicaciones/04/UMLProfiles-Novatica04.pdf
7. 7
Ejemplo de creación
de un perfil UML
2. Definición del Perfil UML,
valor etiquetado (location)
y restricción OCL
Fuentes, L., Valecillo, A. (2004). “Una introducción a los perfiles UML”. Revista Novática, no. 168.
http://www.lcc.uma.es/~av/Publicaciones/04/UMLProfiles-Novatica04.pdf
8. Ejemplo de perfil UML
Diagrama de Objetivos de Negocio
Elemento: Estereotipo
de:
Simbolo: Descripción:
Objetivo Clase
Representan los estados
deseados de los recursos.
Objetivos motivan acciones
que llevan a cumplimiento de
este estado.
Problema Nota
Algo que impide cumplimiento
de objetivo. Se pueden
relacionar con las causas,
acciones, etc.
Dependencia de
Objetivo
Dependencia
Objetivos se organizan en las
estructuras jerarquicas de
tipo objetivo-subobjetivo
Contradicción de
objetivo
Asociación
Objetivos pueden ser
contradictorios
Descomposición
incompleta de
objetivo
Restricción
de
Dependencia
Dependencias incompleta
Descomposición
completa de
objetivo
Restricción
de
Dependencia
Dependencias completas
Objetivo
Cuantitativo
Instancia de
Objetivo
Objetivo cuantitativo puede
tener valores bien definidos.
Objetivo
Cualitativo
Instancia de
Objetivo
Objetivo cualitativo puede
tener una descripción.
«goal»
Nombre
«problem»
Descripción de problema
«contradictory»
{incomplete}
{complete}
«goal»
Quantitative Goal
- Tasa: float
«goal»
Qualitative Goal
+ Descripción() : string
http://sergiomerino.files.wordpress.com/2008/11/modelo-procesos-on-uml.ppt
9. Ejemplo de perfil UML
Diagrama de Objetivos de Negocio (ejemplo de diagrama)
«goal»
Muchos Clientes :
Quantitative Goal
Goal_Value = 500.000
Actual_Value = 0
«goal»
Muchas visitas en
Internet :
Quantitative Goal
«goal»
Enlaces de otros
sitios :
Quantitative Goal
«goal»
Sitio revisado en
otro medio :
Qualitative Goal
«goal»
Visible en los
buscadores :
Quantitative Goal
«goal»
Muchos clientes
registrados :
Qualitative Goal
«goal»
Ofrecer
registración
beneficiosa :
Qualitative Goal
«goal»
Muchos clientes
inscritos :
Qualitative Goal
«goal»
Servicios
adicionales para
inscritos :
Qualitative Goal
«goal»
Ofrecer precios
atractivos :
Quantitative Goal
«problem»
Clientes no quieren
registrarse
«problem»
El sitio desconocido
«problem»
Otros sitios no quieren
colocar aviso
«cause»
Otros sitios no tienen
interes en redireccionar
los clientes a este sitio
«action»
Ofrecer incentivos a
otros sitios
http://sergiomerino.files.wordpress.com/2008/11/modelo-procesos-on-uml.ppt
10. Ejemplo de perfil UML
Diagrama de Procesos
Elemento: Estereotipo
de:
Simbolo: Descripción:
Proceso Actividad
Proceso es una descripción de
las actividades relacionadas,
que, ejecutadas correctamente,
satisfacen un objetivo
explícitamente definido.
Actividad
(proceso atómico)
Actividad
Un proceso puede ser dividido
en varios procesos. Si estos
procesos son atómicos, se
llaman actividades.
Inicio de proceso Inicio Inicio de un proceso
Fin de proceso Fin Fin de un proceso
Proceso
Actividad
Inicio
Fin
http://sergiomerino.files.wordpress.com/2008/11/modelo-procesos-on-uml.ppt
11. Ejemplo de perfil UML
Diagrama de Procesos (ejemplo de diagrama)
Ventas de Publicidad
«goal»
250.000 Ventas :
Quantitative Goal
«people»
Jim :Gerente de
Ventas
«information»
:Cliente Potencial
«information»
:Directivas
Corporativas de
Ventas
«physical»
:Material de
Ventas
«people»
:Personal de
Ventas
«abstract»
:Orden
«resource flow»
«process control»
«process control»
«supply» «supply»
«achieve»
«resource flow»
http://sergiomerino.files.wordpress.com/2008/11/modelo-procesos-on-uml.ppt
12. Ejemplo de perfil UML
Diagrama de Procesos (ejemplo de diagrama)
Ventas Producción Entrega
Ventas de Publicidad Diseño WEB Instalación de sitios WEB
«abstract»
:Orden
«people»
:Webmaster
«people»
:Webmaster
«people»
:Representante de
Cliente
«information»
:Empresa de
Cliente
«abstract»
:Plan de
Publicidad
«abstract»
:Banner
«abstract»
:Sitio WEB
«process flow»«process flow»
«resource flow»
«resource flow»
«process control» «process control»
«supply» «supply»
«resource flow» «resource flow»
«resource flow»
«resource flow»
«resource flow»
http://sergiomerino.files.wordpress.com/2008/11/modelo-procesos-on-uml.ppt
14. 14
2. Algunos perfiles estándar
• SPEM (Software Process Engineering Metamodel)
– Lenguaje de modelado del ciclo de vida de procesos software
– http://www.omg.org/spec/SPEM/2.0/
15. 15
2. Algunos perfiles estándar
• Ejemplos de modelos SPEM
– Using SPEM/UML profile to specification of IS development
processes (Master Thesis)
– Modelado de los procesos de Metrica V3 con SPEM (UCLM)
16. 16
2. Algunos perfiles estándar
• IFML (Interaction Flow Modeling Language)
– Lenguaje de modelado de interacción en interfaces de usuario
– http://www.ifml.org
18. 18
2. Algunos perfiles estándar
• UTP (UML Testing Profile)
– “Extensions to UML to support the design, visualization,
specification, analysis, construction, and documentation of the
artifacts involved in testing”
– http://utp.omg.org
– http://www.omg.org/spec/UTP/1.2/
20. 20
2. Algunos perfiles estándar
• BPMN (Business Process Model and Notation)
– Lenguaje de modelado de procesos de negocio
– http://www.omg.org/spec/BPMN/2.0/
– Perfil: http://www.omg.org/spec/BPMNProfile/1.0/Beta1/PDF/
21. 21
2. Algunos perfiles estándar
• Ejemplos de modelos BPMN: BPMN by example (OMG)
Ordering and
delivering
pizza