El lenguaje unificado de modelado, UML
A mediados de los noventa existían muchos métodos de análisis y diseño OO
Mismos conceptos con distinta notación
Mucha confusión.
En 1994, Booch, Rumbaugh y Jacobson deciden unificar las notaciones de sus métodos:
Unified Modeling Language (UML)
Proceso de estandarización promovido por el OMG
http://www.omg.org
Explosión de métodos OO en los noventa
OMT Coad/Yourdon
Booch Champeaux
Jacobson Martin/Odell
Shlaer-Mellor OOram
Wirfs-Broks BON
Fusion Open
Catalysis
¡Y muchos más!
¡Guerra de métodos!
Evolución UML
Grady Booch y Jim Rumbaugh comenzaron a unificar sus métodos (Octubre, 1994).
Borrador de UML (versión 0.8) (Octubre, 1995)
Ivar Jacobson se une al proyecto (Noviembre, 1995).
UML 0.9 y se crea un consorcio (Junio, 1996)
OMG lanza una petición para un lenguaje unificado (1996)
UML 1.0 es ofrecido al OMG (Enero, 1997)
Se extiende el consorcio (Enero-Julio, 1997)
UML 1.1 es ofrecido al OMG (Julio, 1997)
OMG adopta UML 1.1 (Noviembre, 1997)
Se crea el UML RTF (1998)
UML 1.3 (Mayo 1999)
UML 2.0 (principios de 2005)
OMG (Object Management Group)
Propone, elabora y mantiene especificaciones para aplicaciones empresariales distribuidas e interoperables.
Estándares OMG
Corba
UML y perfiles UML
OCL
MOF, XMI
MDA
Ventajas de la unificación
Reunir los puntos fuertes de cada método
Idear nuevas mejoras
Proporcionar estabilidad al mercado
Proyectos basados en un lenguaje maduro
Aparición de potentes herramientas
Eliminar confusión en los usuarios
Objetivos en el diseño de UML
Modelar sistemas, desde los requisitos hasta los artefactos ejecutables desplegados en nodos, utilizando técnicas OO.
Cubrir las cuestiones relacionadas con el tamaño propias de los sistemas complejos y críticos.
Lenguaje utilizable por las personas y las máquinas
Encontrar equilibrio entre expresividad y simplicidad.
Modelado del Software
El modelado es el análisis y diseño de aplicaciones software antes de escribir el código.
Se crean un conjunto de modelos (“planos del software”) que permiten especificar aspectos del sistema como los requisitos, la estructura y el comportamiento.
Los modelos
ayudan a razonar sobre el sistema
favorecen la comunicación
permiten documentar las decisiones
permiten una generación automática de código
Modelos en otras áreas
¿Qué es un modelo?
“Un modelo es una simplificación de la realidad”
“Un modelo es resultado de un proceso de abstracción y ayuda a comprender y razonar sobre una realidad.
¿Qué es un modelo software?
Es una descripción de un aspecto del sistema, escrita en un lenguaje bien definido.
El lenguaje unificado de modelado, UML
UML es un lenguaje para visualizar, especificar, construir y documentar los artefactos (modelos) de un sistema software, desde una perspectiva orientada a objetos.
“Of the 14 million or so software professionals around the world, many know of the existence of the UML yet only a modest percent use the UML on a daily basis” (Grady Booch, 2002)
Utilidad del modelado
(Gp:) ¿Por qué no escribo código
directamente?
Sería lo ideal pero ….
…. necesitamos escribir modelos,
aunque la mayoría de desarrolladores
todavía no practican el modelado
Modelo de
Estructural
Modelo de
Comportamiento
Utilidad del modelado
Hay estructuras que no son visibles en los programas.
Ayuda a razonar sobre el cómo se implementa.
Se facilita la comunicación entre el equipo al existir un lenguaje común.
Se dispone de documentación que trasciende al proyecto.
Generación de código a partir de modelos
Ha surgido un nuevo paradigma de desarrollo de software a partir de modelos (p.e. MDA de OMG)
Utilidad del modelado
Los modelos:
visualizan cómo es o queremos que sea el sistema
especifican la estructura y comportamiento del sistema.
guían la construcción del sistema.
documentan las decisiones.
Página siguiente |