INGENIERIA DE SOFTWARE
ING. FRANCISCO RODRIGUEZ
3
¿Qué 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.
El 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
6
Historia de UML
Nov ‘97 UML aprobadopor el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2005 UML 2.0
Revisiones menores
UML 1.52003
7
Participantes 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 D’Souza)
Intellicorp and James Martin & co. (James Odell)
MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys
8
UML “aglutina” enfoques OO
UML
Rumbaugh
Jacobson
Meyer
Harel
Wirfs-Brock
Fusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions,
message numbering
Singleton classes
Frameworks, patterns,
notes
Object life cycles
9
Inconvenientes 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”
10
Perspectivas 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.
Metas del UML
1. 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.
2. Proporcionar mecanismos de extensibilidad y especialización para extender los conceptos centrales.
3. Ser independiente de lenguajes de programación particulares y procesos de desarrollo.
4. Proporcionar una base formal para entender el lenguaje de modelaje.
5. Integrar las mejores prácticas en la industria.
¿Dó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
Bloques de construcción de UML
UML tiene tres clases de bloques de construcción:
Clase, Interfaz, Colaboracion, Caso de Uso,
Clase activa, Componente, Nodo
Dependencia, Asociacion, Generalizacion,
Realizacion
Diagramas de Clases, Objetos, Casos de
Uso, Secuencia, Colaboracion,Estados,
Actividades, Componentes, Despliegue
Elementos
Relaciones
Diagramas
Bloques de Construcción UML
Elementos Relaciones Diagramas
Estructurales
ClaseVentana
O rigenT amaño
A brir( )Cerrar()M over( )D ibujar( )
interfaz
Cadena de
responsabilidad
Casos de uso
Realizar Pedido
Clase activaGestorEventos
Suspender ()VaciarCola()
nodo
servidor
Esperando
Estados
ComportamientoDibujarMensajes
AgrupaciónReglas del negocio
Anotación
componente
Interacción
16
Diagramas de UML 1.5
Use CaseDiagrams
Use CaseDiagrams
Diagramas de Casos de Uso
ScenarioDiagrams
ScenarioDiagrams
Diagramas deColaboración
StateDiagrams
StateDiagrams
Diagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribución
StateDiagrams
StateDiagrams
Diagramas de Objetos
ScenarioDiagrams
ScenarioDiagrams
Diagramas deEstados
Use CaseDiagrams
Use CaseDiagrams
Diagramas deSecuencia
StateDiagrams
StateDiagrams
Diagramas deClases
Diagramas deActividad
Modelo
Los diagramas expresan gráficamente partes de un modelo
17
Relación entre Diagramas
Casos deUso
Diagramas deSecuencia
Diagramas deColaboración
Diagramas deClases
Diagramas deEstados
Diagramas deActividad
Diagramas deComponentes
Diagramas deDistribución
C
Ó
D
I
G
O
18
4+1 vistas de Kruchten (1995)
Vista Lógica
Vista de Procesos
Vista de Distribución
Vista deRealización
Vista de los Casos de Uso
Organización de Modelos
19
Visión y Diagramas - Estructura
Visión de casos
de uso
Diagrama de
casos de uso
Casos de uso, actores,
mensajes, relacionamientos
Visión estática Diagrama
de claseClases, relacionamientos,
interface
Visión de
implementación
Diagrama de
componentesComponentes, interface,
dependencia, realización
Visión de
despliegue
Diagrama de
despliegueNodo, componente,
dependencia, realización
VISION DIAGRAMA ELEMENTOS
20
Visión y Diagramas - Dinámico
Visión de
estados
Diagrama de
estadosEstado, evento, transición,
acción
Visión de
actividades
Diagrama de
actividadesEstado, actividad, transición,
decisión, unión
Visión de
interacción
Diagrama de
secuencia
Objetos, mensajes,
interacción, actores
Diagrama de
colaboración
Objetos, mensajes,
colaboración
VISION DIAGRAMA ELEMENTOS
21
Rational Unified Process (RUP) y UML Desarrollados en armonía por Rational
RUP y Unified Modeling Language (UML)