UML (Unified Modeling Language) Lenguage Unificado de

Anuncio
UML
(Unified Modeling Language)
Lenguage Unificado de Modelado
Antonio J. Sierra
UML
1
Área de Ingeniería Telemática
Universidad de Sevilla
Índice
Historia
Introducción
Objetivos del modelo
Críticas
Modelo Conceptual de UML
Clases
Diagrama de Clases
UML
Área de Ingeniería Telemática
2
Universidad de Sevilla
1
Historia (I)
Entre mitad de los setenta y finales de los ochenta.
 De 10 a 50 métodos orientados a objetos (19891994)
No cubrían las necesidades completamente.
De la experiencia de estos:
 El método Booch,
 El método OOSE (Object-Oriented Software
Engineering) de Jacobson
 El método OMT (Object Modeling Technique)
Rumbaugh
UML
3
Área de Ingeniería Telemática
Universidad de Sevilla
Historia
UML
Área de Ingeniería Telemática
4
Universidad de Sevilla
2
Introducción
UML
 Unified Modeling Language (UML) es un lenguaje de modelado de
propósito general estándarizado en el campo de la ingeniería software.
 UML incluye un conjunto de técnicas de notación gráfica para crear
modelos abstractos de sistemas específicos, referidos como modelo
UML.
 UML es un lenguaje gráfico de modelado de sistemas de software más
conocido y utilizado en la actualidad;
 Respaldado por el OMG (Object Management Group).
 Es un lenguaje gráfico para visualizar, especificar, construir y
documentar un sistema de software.
 UML ofrece un estándar para describir un "plano" del sistema (modelo):

incluyendo aspectos conceptuales tales como procesos de negocios
y funciones del sistema,
 y aspectos concretos como expresiones de lenguajes de
programación,
 esquemas de bases de datos y componentes de software
reutilizables.
Área de Ingeniería Telemática
5
Universidad de Sevilla
Introducción
UML es un "lenguaje" para especificar y no para
describir métodos o procesos.
Se utiliza para definir un sistema de software, para
detallar los artefactos en el sistema y para documentar
y construir.
 Es el lenguaje en el que está descrito el modelo.
Se puede aplicar en una gran variedad de formas para
dar soporte a una metodología de desarrollo de
software (tal como el Proceso Unificado Racional o
RUP), pero no especifica en sí mismo qué metodología
o proceso usar.
UML
Área de Ingeniería Telemática
6
Universidad de Sevilla
3
Introducción
UML no puede compararse con la programación
estructurada, pues UML significa (Lengua de
Modelación Unificada),
UML no es un programa, solo se representa en forma
de diagrama la realidad de una utilización en un
requerimiento.
La programación estructurada, es una forma de
programar como lo es la orientación a objetos,
La orientación a objetos viene siendo un complemento
perfecto de UML, pero no por eso se toma UML sólo
para lenguajes orientados a objetos
UML
7
Área de Ingeniería Telemática
Universidad de Sevilla
Objetivos del modelo
Visualizar como es o queremos que sea un sistema.
Especificar la estructura y el comportamiento.
Proporcionar plantillas que nos guíen en la
construcción de un sistema.
Documentar las decisiones que hemos adoptado.
UML
Área de Ingeniería Telemática
8
Universidad de Sevilla
4
Críticas a UML
 A pesar de estar ampliamente reconocido y utilizado, UML
siempre ha sido muy criticado por su carencia de una semántica
precisa, lo que ha dado lugar a que la interpretación de un modelo
UML no pueda ser objetiva.
 Otro problema de UML es que no se presta con facilidad al diseño
de sistemas distribuidos.
 En tales sistemas cobran importancia factores como
transmisión, serialización, persistencia, etc. UML no cuenta
con maneras de describir tales factores.
 No se puede, por ejemplo, usar UML para señalar que un objeto
es persistente o remoto, o que existe en un servidor que corre
continuamente y que es compartido entre varias instancias de
ejecución del sistema analizado. Sin embargo, UML si acepta la
creación de nuestros propios componentes para este tipo de
modelado.
UML
9
Área de Ingeniería Telemática
Universidad de Sevilla
Modelo Conceptual de UML
Bloques básicos de construcción de UML
 Elementos
 Relaciones
 Diagramas
Reglas de UML
Mecanismos comunes
 Especificaciones
 Adornos
 Divisiones comunes
 Mecanismos de extensibilidad
UML
Área de Ingeniería Telemática
10
Universidad de Sevilla
5
Bloques básicos de construcción de
UML
 Elementos
 Elementos estructurales
 Elementos de
comportamiento
 Elementos de agrupación
 Elementos de anotación
 Relaciones
 Dependencia
 Asociación
 Generación
 Realización
 Diagramas
 clases
 objetos
 casos de uso
 de secuencia
 de colaboración
 de estados
 de actividades
 de componentes
 de despliegue
UML
11
Área de Ingeniería Telemática
Universidad de Sevilla
Elementos estructurales
Clase
Interfaz
Colaboración
Caso de Uso
Clase activa
Componente
Nodo
UML
Área de Ingeniería Telemática
12
Universidad de Sevilla
6
Elementos Estructurales: Las clases
público
protegido
privado
Nombre
(abstracta
en cursiva)
Ventana
+origen
#altura : Float
-esMaestra : Boolean = false
abrir()
cerrar()
mover()
dibujar()
ponerAlarma(t:Temperatura)
valor() : Temperatura
UML
Responsabilidades
-- descriptivo de lo que
realiza
Nombres
Simples de clases
Cliente
atributos
Nombre de
Camino de clases
operaciones
java::awt::Rectangle
responsabilidades
Área de Ingeniería Telemática
13
Universidad de Sevilla
Atributos
[visibilidad] nombre
{multiplicidad}[:tipo]
[=valor inicial] [{propiedades}]
Propiedades predefinidas
 changeable No hay restricciones para modificar el
valor del atributo
 addOnly Una vez creado un valor no puede ser
eliminado o modificado (con multiplicidad mayor
que 1)
 frozen El valor del atributo no se puede modificar
tras inicializar el objeto
UML
Área de Ingeniería Telemática
14
Universidad de Sevilla
7
Operaciones
UML
[visibilidad] nombre [(lista de parámetros)][:tipo
de retorno] [{propiedades}]
 En la lista por parámetros
[dirección] nombre : tipo [= valor por defecto]
 dirección puede ser in para parámetro de entrada (no
modificable), out para salida (modificable) e inout para entrada
(modificable).
 propiedades puede ser
 leaf no puede ser polimórfica
 isQuery sin efectos laterales
 sequential los invocadores deben coordinarse para que en
el objeto sólo haya un único flujo
 guarded se puede invocar exactamente una operación a un
mismo tiempo sobre el objeto
 concurrent operación concurrente
15
Área de Ingeniería Telemática
Universidad de Sevilla
Ejemplos
Cliente 3
nombre
dirección
teléfono
fechaNacimiento
Almacén
Producto
id
nombre
precio
ubicación
Icono
{root}
origen:Punto
Mostrar()
Botón
{leaf}
Factura
Envio
Mostrar()
Transacción
acciones
tuvoExito()
deshacer()
Responsabilidades
--Mantener información
relativa a productos enviados
UML
Área de Ingeniería Telemática
16
Universidad de Sevilla
8
Elementos de comportamiento
 Interacción, mensaje
intercambiados entre un
conjunto de objetos
dibujar
 Máquina de estados,
secuencia de estados por los
que pasa un objeto, una
interacción durante su vida en
respuesta a eventos
Esperando
UML
17
Área de Ingeniería Telemática
Universidad de Sevilla
Elementos de agrupación, y
Elementos de anotación
 Los elementos de agrupación, son partes organizativas
 Los elementos de anotación, son partes explicativas
Paquetes
Reglas del negocio
Notas
Devuelve una
copia del objeto
receptor
UML
Área de Ingeniería Telemática
18
Universidad de Sevilla
9
Relación en UML
UML
Dependencia, es una relación semántica
entre dos elementos, en la cual un
cambio a un elemento puede afectar a
la semántica del otro
Asociación, relación estructural que
describe un conjunto de enlaces, los
cuales son conexiones entre objetos
Generalización, relación de
especialización/generalización en la
cual los objetos del elemento
especializado (hijo) puede sustituir a
los objetos del elemento general
(padre)
Realización, relación semántica entre
clasificadores, en donde un
clasificador especifica un contrato que
otro clasificador garantiza que
cumplirá.
0..1
*
patrón
empleado
19
Área de Ingeniería Telemática
Universidad de Sevilla
Diagrama de Clases
UML
Área de Ingeniería Telemática
20
Universidad de Sevilla
10
Descargar