Publicado el 18 de Diciembre del 2018
634 visualizaciones desde el 18 de Diciembre del 2018
1,9 MB
102 paginas
Creado hace 8a (03/12/2015)
Tema 11 –
Lenguaje Unificado de Modelado
Ingeniería del Software
Rubén Fuentes Fernández
Dep. Ingeniería del Software e Inteligencia Artificial
Facultad de Informática
Universidad Complutense Madrid
Trabajando con Antonio Navarro, Juan Pavón y Pablo Gervás
Contenidos
•
Introducción
– Modelado
• Lenguaje Unificado de Modelado
– Perspectiva general
– Modelo de casos de uso
– Modelo estructural
– Modelo de comportamiento
– Modelo de implementación
Rubén Fuentes Fernández
Ingeniería del Software
2
Modelar
• No se construye un edificio sin tener antes unos planos.
• Permite estructurar la solución a un problema.
– abstrayendo para gestionar la complejidad
– experimentando varias soluciones
– reduciendo los costes
– gestionando el riesgo de errores
• Ventajas de modelar:
– Permite ver el sistema desde varias perspectivas haciendo más sencillo su
entendimiento y desarrollo.
– Mejora la comunicación.
• con el cliente
• del equipo de desarrollo
• El mero hecho de modelar no constituye ni análisis ni diseño,
depende de la información que se incluye en los modelos.
Rubén Fuentes Fernández
Ingeniería del Software
3
Lenguajes de modelado
• Una buena notación libera al analista o diseñador de los
aspectos repetitivos del modelado para que se concentre en
el estudio de los aspectos específicos de su problema.
– Indica cuáles son las primitivas que se utilizan para modelar en un
dominio.
– Aunque a cambio restringe los conceptos con los que se puede
trabajar.
• Una notación estándar expresiva posibilita además:
– Describir un universo o formular una arquitectura y comunicar estas
decisiones de forma no ambigua.
– Permite comprobar la consistencia y corrección de las decisiones
adoptadas mediante herramientas automáticas.
Rubén Fuentes Fernández
Ingeniería del Software
4
Lenguaje Unificado de Modelado
• El Lenguaje Unificado de Modelado (Unified Modeling
Language, UML) [OMG, 2011a; OMG, 2011b] es un lenguaje
gráfico para el modelado de sistemas.
– Especificar, visualizar, construir, documentar
• Especificado como un estándar abierto por el Grupo para la
Gestión de Objetos (Object Management Group, OMG).
• Soportado por herramientas.
– Rational Software Architect (RSA), Together, Objecteering, Paradigm
Plus, Eclipse, ...
Rubén Fuentes Fernández
Ingeniería del Software
5
Ámbito de UML
• Se trata de un lenguaje de modelado de propósito general.
– No vinculado a dominios, tareas o entornos de desarrollo específicos.
• Soporta todo el ciclo de vida de desarrollo del software.
– Especificaciones de requisitos, análisis, arquitectura, diseño,
implementación e implantación
• Soporta distintas áreas de aplicación.
– Sistemas distribuidos, tiempo real, aplicaciones monoproceso…
– Sistemas de Información Corporativos (Management Information
Systems, MIS), Telecomunicaciones, Banca / Finanzas, Defensa /
Espacio, Transporte, Distribución, Electro‐medicina, Ciencia…
Rubén Fuentes Fernández
Ingeniería del Software
6
Ámbito de UML
• Metodologías de desarrollo de software Orientado a Objetos
(OO)
Proceso
Técnicas
de
Modelado
Notación
Recursos
Herramientas
...
Experiencia
Rubén Fuentes Fernández
Ingeniería del Software
7
Objetivos de UML
• Definir un lenguaje de modelado visual fácil de aprender pero rico en
significado.
Estándar, estable y configurable.
– Unificar las metodologías de análisis y diseño OO más conocidas.
•
•
•
•
• Notación Booch de G. Booch
• Técnica de Modelado de Objetos (Object Modeling Technique, OMT) de J. Rumbaugh et
al.
Ingeniería del Software Orientada a Objetos (Object‐Oriented Software Engineering ,
Objectory) de I. Jacobson
•
– E incluir ideas de otros lenguajes de modelado.
Ser independiente de lenguajes de programación o procesos particulares.
Soportar conceptos de desarrollo de alto nivel.
– Ej. colaboraciones, frameworks, patrones y componentes.
Tratar aspectos del desarrollo de software actual.
– Ej. escalabilidad, concurrencia, distribución, ejecutabilidad…
Rubén Fuentes Fernández
Ingeniería del Software
8
Evolución de UML
Revisiones en OMG,
1999, 2001, 2011 (v 2.4.1)
UML 2.0
UML 1.4
contribuciones
de múltiples
fuentes
Aceptación en OMG, Nov 1997
Propuesta final al OMG, Sep ‘97
Primera propuesta al OMG, Ene ´97
UML 1.3
UML 1.1
UML partners
En la Web - Jun ´96
UML 1.0
UML 0.9 & 0.91
OOPSLA, Oct ´95
Inicio, Ene ´95
Unified Method 0.8
Otros métodos
Método Booch
OMT
(Rumbaugh)
Rubén Fuentes Fernández
Ingeniería del Software
Guía de usuario
Manual de referencia
Proceso unificado
OOSE
(Jacobson)
9
Contribuciones a la definición de UML (OMG)
Aonix
Colorado State University
Computer Associates
Concept Five
Data Access
EDS
Enea Data
Hewlett-Packard
IBM
I-Logix
InLine Software
Intellicorp
Kabira Technologies
Klasse Objecten
Lockheed Martin
Microsoft
ObjecTime
Oracle
Ptech
OAO Technology Solutions
Rational Software
Reich
SAP
Softeam
Sterling Software
Sun
Taskon
Telelogic
Unisys
…
Rubén Fuentes Fernández
Ingeniería del Software
10
PERSPECTIVA GENERAL DE LA
NOTACIÓN
Rubén Fuentes Fernández
Ingeniería del Software
11
Lenguajes basados en grafos
•
•
Los lenguajes de modelado basados en grafos incluyen los siguientes
elementos básicos:
– Nodos / entidades
• Representan los conceptos del dominio
– Arcos / relaciones
• Representan las asociaciones de cualquier tipo entre nodos
• Ej. relaciones todo‐parte, semántica o requisito‐implementación
y opcionales:
– Extremos de los arcos / roles
• Caracterizan cada uno de los extremos de una relación
– Propiedades
– Grafos / diagramas
• Atributos y valores de cualquiera de los elementos anteriores
• Agrupaciones de los elementos anteriores
• UML es un lenguaje de modelado basado en grafos que incluye todos los
elementos anteriores.
Rubén Fuentes Fernández
Ingeniería del Software
12
Diagramas de la notación
Generalización
Fuente: http://en.wikipedia.org/wiki/Unified_Modeling_Language
Rubén Fuentes Fernández
Ingeniería del Software
13
Diagramas de la notación
Vistas
Lógica
Estructural
Diagrama de Casos de uso
Diagrama de Clases
Diagrama de Componentes
Diagrama de Estructura
compuesta
Diagrama de Objetos
Física
Diagrama de Despliegue
Dinámica
Diagrama de Actividades
Diagrama de Secuencia
Diagrama de Comunicación
(UML‐1.x Diagramas de
Colaboración)
Diagrama de Máquina de Estados
Diagrama de Tiempo
• UML se encuentra actualmente en la versión 2.4.1 (2011)
[OMG, 2011a; OMG, 2011b].
– Hay diferencias sustanciales entre las versiones 1.x y 2.x.
Rubén Fuentes Fernández
Ingeniería del Software
14
Modelos
• Casos de uso
• Clase
• Objetos
• Estructura compuesta
• Secuencia
• Comunicación
• Máquina de estados
• Actividades
• Tiempo
• Componentes
• Despliegue
Modelo de casos de uso
Modelo estructural
Modelo de comportamiento
Modelo de implementación
Rubén Fuentes Fernández
Ingeniería del Software
15
Elementos de UML
• Diagramas
• Entidades
– Estructurales
– Comportamiento
– Agrupamiento
• Relaciones
• Propiedades
Globalmente, los tipos de
entidades de UML se
denominan ”clasificadores”,
y sus elementos concretos
“instancias”.
• Elementos comunes
– Generalmente, entidades asociables a cualquier otro elemento.
Rubén Fuentes Fernández
Ingeniería del Software
16
Ejemplo: entidades estructurales
• Casos de uso
• Clases
•
Interfaces
• Colaboraciones
• Componentes
• Nodos
Se pueden emplear
representaciones
icónicas o con
estereotipos
(nombres entre <<
y >>).
La columna
izquierda muestra
representaciones
icónicas estándar, y
la derecha con el
icono al lado del
nombre. El icono al
lado del nombre se
puede omitir
siempre que figure
el estereotipo.
Rubén Fuentes Fernández
Ingeniería del Software
17
Ejemplo: entidades de comportamiento
• Máquinas de estado
•
o de comunicación
Interacciones
– Diagramas de secuencia
Cash Withdrawal
exit: cash delivered
Correct
PIN-code
Created
PIN code
Open
do: verify PIN-code
Wrong
PIN-code
Ready
Closed
exit: eject Card
Card
Trans-
action
Cash
Withdrawal
Cash
Bank
System
interface
Los diagramas
también se
manipulan como
parte de UML.
Ej. agrupación
en paquetes
Rubén Fuentes Fernández
Ingeniería del Software
18
Ejemplo: entidades de agrupamiento
• Paquete
• Modelo
• Subsistema
Rubén Fuentes Fernández
Ingeniería del Software
19
Ejemplo: relaciones
• Dependencia
• Asociación
• Generalización
Rubén Fuentes Fernández
Ingeniería del Software
20
Elementos comunes
• Comentarios
– Texto libre asociado a
cualquier elemento.
• Restricciones
– Representan condiciones que
han de cumplir los elementos
asociados.
– Pueden representarse dentro
de comentarios o asociados
directamente al elemento.
{}
• Flujo de información
– Paso de datos o mensajes
entre dos elementos.
Rubén Fuentes Fernández
Ingeniería del Software
21
Estereotipos
• Un estereotipo extiende el vocabulario de UML.
– Se usa en la propia definición de UML.
• Los estereotipos permiten crear nuevas primitivas de
modelado.
– Las nuevas primitivas derivan de las existentes.
– Pero son específicas para un problema.
• Se representan con el nombre del estereotipo encerrado
entre comillas angulares « y » .
– También puede asociársele un icono.
<<servidor>>
Extensión
UML estándar
Rubén Fuentes Fernández
Ingeniería del Software
22
Perfiles
• Un perfil es una extensión del UML para un propósito
específico.
– Ej. dominio, plataforma o metodología.
• Define una serie de nuevos elementos del lenguaje:
– Estereotipos para nuevas primitivas.
– Nuevas entidades, relaciones, propiedades y restricciones de
primitivas existentes.
– Sintaxis para constructoras que no la tienen o cambios para otras que
la tienen.
• Ej. para acciones o cambiar el icono de los nodos de los diagramas de
despliegue.
Rubén Fuentes Fernández
Ingeniería del
Comentarios de: Tema 11 - Lenguaje Unificado de Modelado - Ingeniería del Software (0)
No hay comentarios