Anda di halaman 1dari 53

Curso de UML

JEML

Definicin de UML
Es un conjunto de notaciones para la creacin de modelos de objetos. Es un lenguaje para la especificacin, visualizacin, construccin y documentacin de los artefactos de sistemas de software, as como para modelar negocios o cualquier sistema que no sea software.

M.C. Jorge Eduardo Macias Luevano

Razones de aparicin de UML


Necesidad de estandarizar los lenguajes de modelacin para la industria de software orientado a objetos. Necesidad del desarrollo de un buen modelo del sistema de software a desarrollar. Crear un conjunto de notaciones y semntica que abarque adecuadamente todas las escalas de arquitecturas complejas, de software, a travs de todos los dominios

M.C. Jorge Eduardo Macias Luevano

Metas del UML


Definir un lenguaje de modelacin visual fcil de usar y semnticamente rico. Estandarizar los lenguajes de modelacin orientados a objetos (Booch, OMT, OOSE) Suministrar mecanismos de especificacin extendibles. Integrar las mejores prcticas de la industria Fortalecer el crecimiento del mercado de herramientas orientadas a objetos.

M.C. Jorge Eduardo Macias Luevano

Metas del UML

Soportar conceptos contemporneos de desarrollo de software:


Componentes, colaboracin, estructuras, patrones, escalable, concurrencia, distribucin, etc.

Proveer flexibilidad para su aplicacin en diferentes procesos. Habilitar el intercambio de modelos y definir un depsito de interfaces.

M.C. Jorge Eduardo Macias Luevano

Alcance del UML

Es un lenguaje para especificacin, visualizacin y documentacin de los artefactos de un sistema de software. Fusiona los conceptos de Booch, OMT (Tcnica de Modelado de Objetos) y OOSE (Ing. de Software OO); resultando un lenguaje de modelacin sencillo, comn y ampliamente usado. Aumenta la cobertura de lo que se puede hacer con los mtodos existentes.
M.C. Jorge Eduardo Macias Luevano

Alcance del UML


Es un lenguaje de modelacin estndar no es un proceso estndar. Especifica un lenguaje de modelacin que incorpora el consenso de la comunidad OO. Permite desviaciones que estn expresadas en sus mecanismos de extensin.

M.C. Jorge Eduardo Macias Luevano

Alcance del UML

UML provee:
Una semntica y notacin con una amplia variedad de factores de modelacin. Una semntica que contenga ciertos factores de de modelacin esperados en el futuro; relacionados con componentes tecnolgicos, sist. distribuidos, estructuras. Mecanismos de extensin.

M.C. Jorge Eduardo Macias Luevano

Elementos fuera del UML


Lenguaje de programacin: UML es un lenguaje de modelacin visual. Herramientas: las herramientas se pueden basar en UML. Procesos: UML es intencionalmente independiente del proceso.

M.C. Jorge Eduardo Macias Luevano

I. Introduccin: UML

Situacin de Partida

Diversos mtodos y tcnicas OO, con muchos aspectos en comn pero utilizando distintas notaciones
Inconvenientes para el aprendizaje, aplicacin, construccin y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurs) Establecer una notacin estndar

M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

Historia de UML
Comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh. Se present en el OOPSLA95 El mismo ao se uni Ivar Jacobson. Los Tres Amigos son socios en la compaa Rational Software. Herramienta CASE Rational Rose
M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

Historia de UML
2001 2000 1999 1998 Nov 97
UML aprobado por el OMG

UML 2.0

UML 1.4
UML 1.3
Revisiones menores

UML 1.2

M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

Participantes en UML 1.0

Rational Software

Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond DSouza) Intellicorp and James Martin & co. (James Odell)
(Grady Booch, Jim Rumbaugh y Ivar Jacobson)

MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys

M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

UML aglutina enfoques OO


Rumbaugh Booch Odell Shlaer-Mellor
Object life cycles

Jacobson Meyer
Pre- and Post-conditions

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly
Singleton classes

Wirfs-Brock Fusion
Responsabilities

Operation descriptions, M.C. Jorge messageMacias Luevano Eduardo numbering

www.dsic.upv.es/~uml

I. Introduccin: UML

Aspectos Novedosos
Definicin semi-formal del Metamodelo de UML Mecanismos de Extensin en UML:

Stereotypes
Constraints Tagged Values Permiten adaptar los elementos de modelado, asignndoles una semntica particular
M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no es una metodologa

Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc. Ejemplos aislados
Monopolio de conceptos, tcnicas y mtodos en torno a UML
M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

I. Introduccin: UML

Perspectivas de UML
UML ser el lenguaje de modelado orientado a objetos estndar predominante los prximos aos Razones:

Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar

M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

Perspectivas de UML
Evidencias:

Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, camisetas, etc.

M.C. Jorge Eduardo Macias Luevano

www.dsic.upv.es/~uml

Artefactos del UML

JEML

Bloques de Construccin del UML


Elementos/Objetos Relaciones Diagramas

M.C. Jorge Eduardo Macias Luevano

Elementos en UML

Elementos estructurales
Las partes mas estticas del modelo clase, interface, colaboracin, caso de uso, clase activa, componente, nodo

Elementos de Comportamiento
Partes dinmicas de los modelos de UML interaccin, maquinas de estado

Elementos de Agrupacin
Partes organizacionales de UML Paquetes y subsistemas

Otros elementos
Partes explicativas de UML M.C. Jorge Eduardo Macias Luevano notas

Relaciones

Dependencia
Una relacin semntica entre dos elementos en donde un cambio en un elemento (el independiente) puede afectar la semntica del otro elemento (dependiente)

Asociacin
Una relacin estructural que describe un conjunto de ligas
M.C. Jorge Eduardo Macias Luevano

Relaciones

Generalizacin
Una relacin de especializacin/generalizacin en la cual el hijo le comparte, la estructura y el comportamiento al padre

Realizacin
Una relacin semntica entre clasificadores, donde un clasificadores especifica un contrato que otro clasificador se encarga de realizar.
M.C. Jorge Eduardo Macias Luevano

Diagramas en UML
Scenario Scenario Diagrams Statechart Diagrams Diagrams Use Case Use Case Diagrams Use Case Diagrams Diagrams State State Diagrams Class Diagrams Diagrams State State Diagrams Object Diagrams Diagrams

Scenario Scenario Diagrams Collaboration Diagrams Diagrams

Models

State State Diagrams Component Diagrams Diagrams

Use Case Use Case Diagrams Sequence Diagrams Diagrams

Component Component Diagrams Deployment Diagrams

Activity Diagrams
M.C. Jorge Eduardo Macias Luevano

Diagrams

Diagramas

Un diagrama es una vista dentro de un modelo


Presentado desde el aspecto de un punto de vista particular Provee una representacin parcial del sistema Es semnticamente consistente con otras vistas

M.C. Jorge Eduardo Macias Luevano

Diagramas
UML cuenta con nueve diagramas estndar

Vistas estticas:
Casos de uso Clases Objetos Componentes Despliegue

Vistas dinmicas:
Secuencia Colaboracin De estado Actividad

M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de Uso

Muestra un conjunto de casos de uso, sus actores y sus relaciones.

M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de Uso


Captura la funcionalidad del sistema como es vista por los usuarios. Se crean en etapas tempranas del desarrollo Propsito
especificar el contexto de un sistema Captura los requerimientos de sistema Validar la arquitectura del sistema Dirige la implementacin y genera casos de prueba

Desarrollados por analistas y expertos del dominio


M.C. Jorge Eduardo Macias Luevano

Diagrama de Clases

Muestra un conjunto de clases, interfaces, y colaboraciones y sus relaciones

M.C. Jorge Eduardo Macias Luevano

Diagrama de Clases

Captura el vocabulario de un sistema Conforma la vista esttica del diseo de un sistema Se crea y se redefine a travs de todo el desarrollo. Propsito:
Nombrar y modelar conceptos en el sistema Especifica colaboraciones Especifica esquemas lgicos de bases de datos

Desarrollado por analistas, diseadores, e implementadores


M.C. Jorge Eduardo Macias Luevano

Diagramas de Objetos

Muestra un conjunto de objetos y sus relaciones

M.C. Jorge Eduardo Macias Luevano

Diagramas de Objetos

Representa instantneas estticas de instancias de las cosas que se encuentran en los diagramas de clases. Comprende la vista esttica del diseo o la vista esttica del proceso de un sistema. Se crea durante el anlisis y el diseo. Propsito:
Ilustrar la estructura de datos/objetos Especificar instantneas

Desarrollado por analistas, diseadores e implementadores


M.C. Jorge Eduardo Macias Luevano

Diagramas de Componentes

Muestra la organizacin y dependencias entre un conjunto de componentes

M.C. Jorge Eduardo Macias Luevano

Diagramas de Componentes

Comprende la vista esttica de la implementacin de un sistema. Se construye como parte de especificacin arquitectnica. Propsito:
Organizar el cdigo fuente Construir una versin ejecutable. Especificar una Base de datos fsica.

Desarrollado por diseadores y programadores.


M.C. Jorge Eduardo Macias Luevano

Diagramas de Despliegue

Muestran la configuracin los nodos de procesos run-time y los componentes que viven en ellos.

M.C. Jorge Eduardo Macias Luevano

Diagramas de Despliegue
Captura la topologa del hardware del sistema Se crea como parte de la especificacin arquitectnica. Propsito:

Especificar la distribucin de componentes Identificar cuellos de botella del desempeo

Desarrollado por arquitectos, ingenieros de redes e ingenieros de sistemas


M.C. Jorge Eduardo Macias Luevano

Diagramas de Actividad

Muestra el flujo de actividades, dentro de un sistema. O la secuencia de actividades.

M.C. Jorge Eduardo Macias Luevano

Diagramas de Actividad
Captura el comportamiento dinmico (orientado a las actividades) Un tipo especial de diagrama de estado Propsito:

Modela la funcin de un sistema Modela el flujo de control entre objetos Modela el flujo de trabajo del negocio Modela las operaciones

M.C. Jorge Eduardo Macias Luevano

II. Breve Tour por UML

Otro Ejemplo (con swim lines)


Pasajero Vendedor Airline
Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios Seleccionar vuelo

Solicitar pago Reservar plazas Pagar pasaje Emitir billete M.C. Jorge Eduardo Macias Luevano Confirmar plaza reservada

Diagramas de Secuencia

Enfatiza el orden de los mensajes en el tiempo

M.C. Jorge Eduardo Macias Luevano

Diagramas de Secuencia
Captura el comportamiento dinmico (orientado al tiempo) Es un tipo de diagrama de interaccin Propsito:

Modelar el flujo de control Ilustra escenarios tpicos

M.C. Jorge Eduardo Macias Luevano

Diagramas de Colaboracin

Enfatiza la organizacin estructural de los objetos que envan y reciben mensajes.

M.C. Jorge Eduardo Macias Luevano

Diagramas de Colaboracin
Captura el comportamiento dinmico (orientado a los mensajes) Es un tipo de diagrama de interaccin Propsito:

Modelar el flujo de control Ilustrar la coordinacin de la estructura de objetos y el control

M.C. Jorge Eduardo Macias Luevano

Diagramas de Etado

Muestra una maquina de estado; compuesta de estados, transiciones, eventos y actividades.

M.C. Jorge Eduardo Macias Luevano

Diagramas de Estado

Captura el comportamiento dinmico (orientado a los eventos) El comportamiento es modelado en trminos del estado en el cual se encuentra el objeto, qu acciones se ejecutan en cada estado y cul es el estado al que transita despus de un determinado evento Propsito:
Modelar el ciclo de vida del objeto Modelar objetos reactivos (interfaces del usuario, dispositivos, etc.)
M.C. Jorge Eduardo Macias Luevano

II. Breve Tour por UML

Paquetes en UML
Los paquetes ofrecen un mecanismo general para la organizacin de los modelos/subsistemas agrupando elementos de modelado

Se representan grficamente como:


Nombre de paquete

M.C. Jorge Eduardo Macias Luevano

II. Breve Tour por UML

Paquetes en UML
Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)

Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete Una clase de un paquete puede aparecer en otro paquete por la importacin a travs de una relacin de dependencia entre paquetes
M.C. Jorge Eduardo Macias Luevano

II. Breve Tour por UML

Paquetes en UML
Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa

El operador :: permite designar una clase definida en un contexto distinto del actual

Prctica 1

M.C. Jorge Eduardo Macias Luevano

II. Breve Tour por UML

Paquetes en UML

Prctica 1

M.C. Jorge Eduardo Macias Luevano

Arquitectura y el UML
Vista Diseo
Clases, interfaces, colaboraciones

Vista Implementacin

Use cases

Componentes

Vista Proceso

Vista Caso de Uso Vista Despliegue

Clases Activas

Nodos

Organization Dynamics Package, subsystem Macias Luevano Interaction M.C. Jorge Eduardo State machine

UML Ciclo de Vida del Desarrollo de Software

Dirigido por Casos de Uso:


Los casos de uso son usados como primer artefacto para establecer el comportamiento deseado del sistema, para verificar y validar la arquitectura del sistema, para probar y para comunicar entre si a los interesados del en el proyecto.

Centrado en la Arquitectura:
La arquitectura del sistema es usada como un artefacto primario para conceptualizar, construir, administrar y evolucionar el sistema en el desarrollo
M.C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del Desarrollo de Software

Iterativo
Aquel que involucra la administracin de varias versiones ejecutables

Incremental
Aquel que involucra la continua integracin de la arquitectura del sistema para producir esas versiones.

M.C. Jorge Eduardo Macias Luevano

Fases del Ciclo de Vida


Inicio Elaboracin Construccin Transicin

time

Inicio

Define el plan del proyecto y desarrolla los casos del negocio

Elaboracin
Construccin Transicin

Plan del proyecto, especifica caractersticas, y la lnea base de la arquitectura.


Construye el producto Se entrega el producto a sus usarios
M.C. Jorge Eduardo Macias Luevano

Anda mungkin juga menyukai