CC61J / CC5404 - Taller de UML Apuntes de Clase Prof. Andrés Muñoz Ordenes
14 de marzo de 2012
Agenda
Presentaciones
Docente Participantes Curso
Introducción
Motivación ¿Qué es UML? Historia Características Diagramas Conclusiones
Presentaciones
¿Quién soy yo?
[email protected]
… y ahora ustedes ¿En qué año están?
¿Cuáles son es su experiencia?
¿Por qué tomaron el curso?
¿Qué esperan del curso?
El Curso
Objetivos:
Comprender los conceptos más importantes del modelamiento orientado a objetos. Obtener la experiencia de utilizar una herramienta CASE para el modelamiento de UML.
Metodología
Uso intensivo del lenguaje de modelamiento UML 2.x. Desarrollo de ejercicios prácticos que serán modelados usando este lenguaje. Autoaprendizaje durante cada sesión del curso.
El Curso
Contenidos
Introducción al UML Gestión de Requerimientos
Diagramas Proceso de Desarrollo
Casos de Uso Estereotipos y Patrones
El Proceso Unificado de Desarrollo de Software
Herramientas CASE
El Curso
Evaluaciones
4 ejercicios prácticos Desarrollo en clase (papel o computador) Trabajo en grupos (3 a 4 integrantes) Apoyo en lecturas Presentación ante el curso Nota = 50% técnica + 50% de pares
El Curso
Bibliografía G. Booch, J. Rumbaugh, I. Jacobson
Perdita Stevens
Guía del Usuario del Lenguaje Unificado de Modelado UML
Utilización de UML en Ingeniería de Software
Addison Wesley
Prentice Hall
Craig Larman
Kim Hamilton, Russell Miles
UML y Patrones
Learning UML 2.0
Prentice Hall
O’Really
Martin Fowler / Scott Kendall
Paul Kimmel
UML Gota a Gota
Manual de UML
Prentice Hall
Mc Graw Hill
Paul Kimmel
Mike O’Docherty
UML DeMistifyed: A Self Teaching Guide
Object Oriented Analysis and Design
Mc Graw Hill
Prentice Hall
Introducción
Motivación
Motivación
Motivación
Actividad: “Mapa de Ideas” o “Mapa Conceptual”
“El mapa conceptual aparece como una herramienta de asociación, interrelación, discriminación, descripción y ejemplificación de contenidos, con un alto poder de visualización” Castillo y Olivares Barberán
Motivación
Actividad (continuación):
Ejemplo de Mapa Conceptual: “Java”
Motivación
Actividad (continuación):
Realizar un mapa conceptual en torno al concepto “UML”. Algunos conceptos que pueden utilizar:
Lenguaje Modelamiento Diagrama Componente Clase Objeto Colaboración Secuencia Patrones
Artefactos Factoría Sintaxis Creador Notación Caso de Uso Diseño
Unified Modelling Language
Definición: “The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components. The UML represents the culmination of best practices in practical objectoriented modeling. The UML is the product of several years of hard work, in which we focused on bringing about a unification of the methods most used around the world, the adoption of good ideas from many quarters of the industry, and, above all, a concentrated effort to make things simple.” Especificación UML 1.5, Foreword Booch, Jacobson, Rumbaugh
Unified Modelling Language
¿Qué es UML?
UML es un lenguaje principalmente gráfico. Se desarrolla a través de diagramas y artefactos. Permite modelar sistemas de software a todo nivel:
Negocio Comportamiento Capas Arquitectura Base de Datos Despliegue
Unified Modelling Language
¿Qué es UML? (continuación)
Cada artefacto posee una notación y una sintaxis. No se requiere un software:
se puede modelar con papel y lápiz.
Es intrínsecamente orientado al objeto. Es versátil, lo que le permite ser aplicable con diferentes metodologías de desarrollo de software.
Historia de UML
Antes de UML:
A comienzos de los años '90 aparecieron múltiples metodologías y notaciones gráficas para análisis y diseño orientados a objetos:
Grady Booch James Rumbaugh: OMT (Object Modeling Technique) Ivar Jacobson: OOSE (Object-Oriented Software Engineering) Peter Coad y Edward Yourdon Sally Shlaer y Stephen Mellor
En 1994 Rumbaugh se unió a Rational (donde se desempeñaba Booch), y comenzaron a trabajar en la unificación de sus métodos
Historia de UML
Biografía de UML:
En 1995 Booch y Rumbaugh presentaron el “método unificado”, basado en la unión de sus métodos Posteriormente Jacobson se unió a Rational, y en 1997 Rational entregó una definición de Unified Modeling Language a OMG (Object Management Group, http://www.omg.org) la cual fue adoptada el año 1997 y desarrollada a partir de ahí:
En 2000, se publicó la versión 1.3 de UML . En 2001, se publicó la versión 1.4 de UML. En 2004, se publicó la versión 1.4.2 de UML, la que fue aprobada como un estándar por la ISO (ISO/IEC 19501:2005 Information technology - Open Distributed Processing - Unified Modeling Language).
Historia de UML
Biografía de UML (continuación):
El 2005, se publicó el estándar 2.0 de UML, el cual fue desarrollado en los años siguientes:
La versión 2.1 nunca se publicó, pero si las versiones 2.1.1 y 2.1.2 (2007). La versión 2.2 fue publicada el 2009. La versión 2.3 del estándar es la que se publicó el año 2010 . La última versión disponible fue formalmente lanzada en agosto del 2011.
OMG Formally Released Versions of UML (http://www.omg.org/spec/UML/)
Características de UML
Metodologías
UML no es una metodología es un lenguaje. Se puede aplicar en diferentes metodologías de desarrollo. IBM Rational Unified Process fue creado utilizando UML.
Diagramas de UML
2 tipos: de Estructural y de Comportamiento
Diagramas de Estructura • Cosas presentes • Se relacionan con la arquitectura
Diagramas de Comportamiento • Secuencia de eventos o acciones • Se relacionan con las funcionalidades
Diagramas de UML
Jerarquización de los diagramas:
UML versión 2.2
CASE Tools
Existen muchas herramientas en el mercado.
ArgoUML Dia Enterprise Architect MagicDraw UML Modelio PowerDesigner Rational Software Architect StarUML Umbrello Entre otras
Conclusiones
Ventajas
Permite el modelamiento a diferentes niveles. Lenguaje único de comunicación. Simplicidad en sus artefactos. Muchas herramientas de apoyo (CASE). Compatibilidad con las metodologías de desarrollo orientadas al objeto.
Conclusiones
Críticas
Solo es un lenguaje. Requiere de capacidades técnicas. Lenguajes adecuados a las capacidades del UML. Estándar muy estricto.
¡Hasta la Próxima!