ingenieria de software · uml es un lenguaje de modelado para visualizar, especificar, construir y...
TRANSCRIPT
INGENIERIA DE SOFTWARE
ING. FRANCISCO RODRIGUEZ
Ingeniería de Software
Ing. Francisco Rodríguez
Tema 4
Lenguaje de Modelado
Unificado UML
3
¿Qué es UML?
UML = Unified Modeling Language
Un lenguaje de propósito general para el modelado orientadoa objetos
Documento “OMG Unified Modeling LanguageSpecification”
UML ayuda a especificar, visualizar y documentar modelosdel sistema software.
También se puede usar para modelar el negocio y otrossistemas no software.
CARACTERÍSTICAS
UML es un lenguaje de modelado para visualizar, especificar,
construir y documentar partes de un sistema software desde
distintos puntos de vista
•Puede usarse con cualquier proceso de desarrollo, a lo largo de todo el ciclo
de vida y puede aplicarse a todos los dominios de aplicación y plataformas de
implementación
•También puede usarse en tres áreas, como la ingeniería de negocio y
modelado de procesos gracias a los mecanismos de adaptación/extensión
mediante perfiles
CARACTERÍSTICAS
Lo que no es
•UML no es una notación propietaria
•UML no es un método, ni un proceso ni una metodología
El objetivo de UML es la unificación de los métodos de modelado
de objetos (Booch, OMT y OOSE) por medio de la:
•Identificación y definición de la semántica de los conceptos fundamentales y
elección de una representación gráfica con una sintaxis simple, expresiva e
intuitiva
La especificación UML se define usando el enfoque de un
metamodelo
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
UML 7
Ingeniería de Software I
Análisis Orientado a Objetos
Génesis y evolución
• En 1994 Rumbaugh y Booch crean El Método Unificado
• En 1995 se incorpora Jacobson y los tres autores publican un documento titulado Unified Method V0.8 [Booch y Rumbaugh, 1995]
• El método unificado se reorienta hacia la definición de un lenguaje universal para el modelado de objetos, transformándose en UML (Unified Modeling Language for Object-Oriented Development)
• En 1996 se crea un consorcio de colaboradores para trabajar en la versión 1.0 de UML
• En 1997 se produce la estandarización de UML 1.0 por la OMG [Booch et al., 1997]
• La siguiente versión oficial de UML es la versión 1.1 [Rational et al., 1997]
• En julio de 1998 aparece una revisión interna de UML que recoge diversos cambios editoriales, pero no técnicos. Esta versión es la que se conoce como UML 1.2 [OMG, 1998]
• Casi un año más tarde, en junio de 1999 aparece OMG UML 1.3 [OMG, 1999] con algunos cambios significativos, especialmente en lo tocante a la semántica
• En septiembre de 2001 aparece UML 1.4 [OMG, 2001a] y en enero de 2005 OMG UML 1.4.2 (OMG document: formal/05-04-01) es aceptado como un estándar ISO (ISO/IEC 19501) [OMG, 2005a]
• En julio de 2005 se libera UML 2.0 [OMG, 2005b] siendo la última versión 2.5.1 [OMG, 2017]
Ingeniería de Software I
Análisis Orientado a Objetos
Génesis y evoluciónD
ocu
men
tos
pú
blic
os
OOSE
Método Unificado ver. 0.8
Booch’94 OMT-2 Otros
métodos Booch’91
OMT-1
UML 0.9 & 0.91
UML 1.1
UML 1.0
OMG UML 1.2
OMG UML 1.1
OMG UML 1.3
OMG UML 2.4.1
OMG UML 2.0
OMG UML 1.5
Junio 96 y Octubre 1996…..................…..
Enero 1997 (publicación UML 1.0)……........….
Septiembre 1997 (publicación UML 1.1) ………
Noviembre 1997 (aceptación por OMG)……....
Julio 1998 (modificaciones editoriales) .............
Junio 1999 ………………………………………..
Septiembre 2001 ………………………...............
Marzo 2003 …………………………………….….
Julio 2005 …………………………………………
Agosto 2011 ………………………………………
ISO/IEC 19501(enero 2005)
Fragmentación
Unificación
Estandarización
Colaboradores expertos
OMG UML v1.4.2
OMG UML 2.5.1Diciembre 2017 ………………………………….
9
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
10
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
11
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”
12
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 modelajevisual listo para usarse y expresivo de tal forma quepermita desarrollar e intercambiar modelos consignificado.
2. Proporcionar mecanismos de extensibilidad yespecialización para extender los conceptos centrales.
3. Ser independiente de lenguajes de programaciónparticulares y procesos de desarrollo.
4. Proporcionar una base formal para entender el lenguajede 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
DIAGRAMAS Y VISTAS
UML define varios modelos para la representación de los sistemas que
pueden verse y manipularse mediante un conjunto de diagramas diferentes:
•Diagramas de estructura
• Diagrama de clases
• Diagrama de estructuras compuestas
• Diagrama de componentes
• Diagrama de despliegue
• Diagrama de objetos
• Diagrama de paquetes
•Diagramas de comportamiento
• Diagrama de casos de uso
• Diagrama de actividad
• Diagramas de interacción
• Diagrama de secuencia
• Diagrama de comunicación o colaboración
• Diagrama de visión global de la interacción
• Diagrama de tiempo
• Diagrama de maquina de estados
DIAGRAMAS Y VISTAS
Una vista es un subconjunto de las construcciones de modelado de UML querepresenta un aspecto del sistemaLos diagramas UML se pueden organizar en las siguientes vistas [Rumbaughet al., 2007]
• Vista estática
• Diagramas de clases
• Vista de casos de uso
• Diagramas de casos de uso
• Vista de interacción
• Diagramas de secuencia
• Diagramas de comunicación
• Vista de actividad
• Diagramas de actividad
• Vista de la máquina de estados
• Diagramas de máquina de estados
7
• Vista de diseño
• Diagramas de estructuras
• compuestas
• Diagramas de colaboración
• Diagramas de componentes
• Vista de despliegue
• Diagramas de despliegue
• Vista de gestión del Modelo
• Diagramas de paquetes
• Perfiles
• Diagramas de paquetes
DIAGRAMAS Y VISTAS
Las vistas se pueden agrupar en áreas conceptuales
8
Área Vista
Estructural
Vista estática
Vista de diseño
Vista de casos de uso
Dinámica
Vista de máquina de estados
Vista de actividad
Vista de interacción
Física Vista de despliegue
GestiónVista de gestión del modelo
Perfiles
18
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
19
Rational Unified Process (RUP) y UML
Desarrollados en armonía por Rational
RUP y Unified Modeling Language (UML)
20
FIN