Title: INGENIERIA DE SOFTWARE
1INGENIERIA DE SOFTWARE
ING. FRANCISCO RODRIGUEZ
2Ingeniería de Software
Tema 4 Lenguaje de Modelado Unificado UML
3Qué es UML?
- UML Unified Modeling Language
- Un lenguaje de propósito general para el modelado
orientado a objetos - Documento OMG Unified Modeling Language
Specification - UML ayuda a especificar, visualizar y documentar
modelos del sistema software. - También se puede usar para modelar el negocio y
otros sistemas no software.
3
4Situación de Partida
- Diversos métodos y técnicas OO, con muchos
aspectos en común pero utilizando distintas
notaciones - Inconvenientes para el aprendizaje, aplicación,
construcción y uso de herramientas, etc. - Pugna entre distintos enfoques (y
correspondientes gurús) - Establecer una notación estándar
4
5El desarrollo del UML comenzó en finales de 1994
en que Grady Booch y Jim Rumbaugh de Rational
Software Corporation, comenzaron su trabajo sobre
la unificación de los métodos de Booch y de OMT
(Object Modeling Technique).A finales de 1995,
Ivar Jacobson y su compañía de Objectory se
unieron a Rational y combinaron sus
métodos.Booch, Rumbaugh, y Jacobson, definieron
el UML 0,9 y 0,91 en junio y octubre de 1996.
. . . Breve historia del UML
6Historia de UML
UML 2.0
2005
2003
UML 1.5
2000
UML 1.4
1999
UML 1.3
Revisiones menores
1998
UML 1.2
UML aprobado por el OMG
Nov 97
6
7Participantes en UML 1.0
- Rational Software
- (Grady Booch, Jim Rumbaugh y Ivar Jacobson)
- Digital Equipment
- Hewlett-Packard
- i-Logix (David Harel)
- IBM
- ICON Computing
- (Desmond DSouza)
- Intellicorp and James Martin co. (James Odell)
- MCI Systemhouse
- Microsoft
- ObjecTime
- Oracle Corp.
- Platinium Technology
- Sterling Software
- Taskon
- Texas Instruments
- Unisys
7
8UML aglutina enfoques OO
Rumbaugh
Jacobson
Booch
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly
Wirfs-Brock
Singleton classes
Responsabilities
Fusion
Operation descriptions,
8
message numbering
9Inconvenientes en UML
- Definición del proceso de desarrollo usando UML.
UML no es una metodología - Falta integración con respecto de otras técnicas
tales como patrones de diseño, interfaces de
usuario, documentación, etc. - Ejemplos aislados
- Monopolio de conceptos, técnicas y métodos en
torno a UML
9
10Perspectivas de UML
- UML es el lenguaje de modelado orientado a
objetos estándar predominante ahora y en los
próximos años - Razones
- Participación de metodólogos influyentes
- Participación de importantes empresas
- Estándar del OMG
- Evidencias
- Herramientas que proveen la notación UML
- Edición de libros (más de 300 en
www.amazon.com) - Congresos, cursos, camisetas, etc.
10
11Metas del UML
- Proporcionar a los usuarios un lenguaje de
modelaje visual listo para usarse y expresivo de
tal forma que permita desarrollar e intercambiar
modelos con significado. - Proporcionar mecanismos de extensibilidad y
especialización para extender los conceptos
centrales. - Ser independiente de lenguajes de programación
particulares y procesos de desarrollo. - Proporcionar una base formal para entender el
lenguaje de modelaje. - Integrar las mejores prácticas en la industria.
12Dónde puede utilizarse UML?
- Sistema de Información Institucionales
- Bancos y Servicios Financieros
- Telecomunicaciones
- Transporte
- Comercio
- Electrónica médica
- Ámbito científico
- Servicios distribuidos basados en la Web
13Bloques de Construcción UML
Elementos
Bloques
Relaciones
Diagramas
14Bloques de construcción de UML
- UML tiene tres clases de bloques de
construcción -
Clase, Interfaz, Colaboracion, Caso de Uso, Clase
activa, Componente, Nodo
Elementos
Dependencia, Asociacion, Generalizacion,
Realizacion
Relaciones
Diagramas de Clases, Objetos, Casos de Uso,
Secuencia, Colaboracion,Estados, Actividades,
Componentes, Despliegue
Diagramas
15Bloques de Construcción UML
Elementos
Relaciones
Diagramas
Clase
Casos de uso
Ventana
O
rigen
Estructurales
T
amaño
A
brir(
)
Cerrar()
M
over(
)
D
ibujar(
)
Cadena de responsabilidad
Interacción
Estados
Comportamiento
Dibujar
Esperando
Mensajes
Agrupación
Reglas del negocio
Anotación
16 Diagramas de UML 1.5
Los diagramas expresan gráficamente partes de un
modelo
16
17Relación entre Diagramas
C Ó D I G O
Diagramas de Distribución
Diagramas de Clases
Casos de Uso
Diagramas de Secuencia
Diagramas de Componentes
Diagramas de Colaboración
Diagramas de Estados
Diagramas de Actividad
17
18Organización de Modelos
- 41 vistas de Kruchten (1995)
Vista de Realización
Vista Lógica
Vista de los Casos de Uso
Vista de Distribución
Vista de Procesos
18
19Visión y Diagramas - Estructura
VISION DIAGRAMA ELEMENTOS
Visión de casos de uso
Diagrama de casos de uso
Casos de uso, actores, mensajes, relacionamientos
Diagrama de clase
Visión estática
Clases, relacionamientos, interface
Visión de implementación
Diagrama de componentes
Componentes, interface, dependencia, realización
Diagrama de despliegue
Visión de despliegue
Nodo, componente, dependencia, realización
19
20Visión y Diagramas - Dinámico
VISION DIAGRAMA ELEMENTOS
Diagrama de estados
Visión de estados
Estado, evento, transición, acción
Visión de actividades
Diagrama de actividades
Estado, actividad, transición, decisión, unión
Diagrama de secuencia
Objetos, mensajes, interacción, actores
Visión de interacción
Diagrama de colaboración
Objetos, mensajes, colaboración
20
21RUP y Unified Modeling Language (UML)
- Rational Unified Process (RUP) y UML
Desarrollados en armonía por Rational
21
2222