Title: UML (Unified Modeling Language) Lenguage Unificado de Modelado
1UML(Unified Modeling Language) Lenguage
Unificado de Modelado
2Índice
- Historia
- Introducción
- Objetivos del modelo
- Críticas
- Modelo Conceptual de UML
- Clases
- Diagrama de Clases
3Historia (I)
- Entre mitad de los setenta y finales de los
ochenta. - De 10 a 50 métodos orientados a objetos
(1989-1994) - 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
4Historia
5Introducción
- 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.
6Introducció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.
7Introducció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
8Objetivos 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.
9Crí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.
10Modelo 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
11Bloques 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
12Elementos estructurales
- Clase
- Interfaz
- Colaboración
- Caso de Uso
- Clase activa
- Componente
- Nodo
13Elementos Estructurales Las clases
Nombre (abstracta en cursiva)
Ventana
Nombres Simples de clases
público
origen altura Float -esMaestra Boolean
false
protegido
Cliente
atributos
privado
Nombre de Camino de clases
abrir() cerrar() mover() dibujar() ponerAlarma(tT
emperatura) valor() Temperatura
operaciones
javaawtRectangle
Responsabilidades -- descriptivo de lo que realiza
responsabilidades
14Atributos
- visibilidad nombre multiplicidadtipo
- 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
15Operaciones
- 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
16Ejemplos
Icono root
Cliente 3
Almacén
Producto
origenPunto
nombre dirección teléfono fechaNacimiento
id nombre precio ubicación
Mostrar()
Botón leaf
Factura
Envio
Mostrar()
Transacción
acciones
Responsabilidades --Mantener información
relativa a productos enviados
tuvoExito() deshacer()
17Elementos de comportamiento
- Interacción, mensaje intercambiados entre un
conjunto de objetos
- Máquina de estados, secuencia de estados por los
que pasa un objeto, una interacción durante su
vida en respuesta a eventos
Esperando
dibujar
18Elementos 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
Notas
Devuelve una copia del objeto receptor
Reglas del negocio
19Relación en 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/genera
lizació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
20Diagrama de Clases