You are on page 1of 46

Introduccin a UML

Contenidos
1. 2. 3.

UML: qu es UML Parte Esttica Taller

1. UML: Qu es
Lo que implica que sea unificado Componentes: Vistas y Diagramas Ejemplos

Unified Modeling Language

Lenguaje de Modelado Visual de Propsito general Usos:

Especificar, visualizar, construir y documentar artefactos de un sistema software.

Se dise de manera de independizarlo del mtodo de desarrollo, y se intenta que sea aplicable a todas las etapas del ciclo de vida del software

UML: Unificado

Cruza los mtodos y notaciones anteriores Cruza los ciclos de desarrollo Cruza los dominios de aplicacin Cruza las plataformas y lenguajes de implantacin Cruza los procesos de desarrollo Cruza los conceptos internos

UML: Componentes

Vista Esttica Vista de Casos de Uso Vista de Interaccin Diagrama de Secuencia Diagrama de Colaboracin Vista de la Mquina de Estados Vista de Actividades Vista Fsica Vista de la Gestin del Modelo Constructores de Extensibilidad

UML Esttico
Vista
Vista Esttica

Diagramas
Diagrama de Clases

Conceptos Principales
Clase, Asociacin, Generalizacin Dependencia, Realizacin, Interfase Caso de uso, Actor, Asociacin, Extensin, Inclusin, Generalizacin de caso de uso Componente, Interfaz, Dependencia, Realizacin

Vista de Casos de Uso

Diagrama de Casos de Uso

Vista de Implementacin

Diagrama de Componentes

Vista del despliegue (deployment)

Diagrama de Despliegue

Nodo, Componente, Dependencia, Locacin

Diagrama de Clases

Diagrama de Casos de Uso

Diagrama de Componentes

Diagrama de Despliegue

UML Dinmico
Vista Diagramas Conceptos Principales
Estado, Evento, Transicin, Accin Estado, Actividad, Transicin de complecin, Juntura (join), Bifurcacin (fork) Interaccin, Objeto, Mensaje, Activacin Colaboracin, Interaccin, Rol de colaboracin, Mensaje Vista de Mquina de Estados Vista de actividades Diagrama de Estados (statechart) Diagrama de Actividades

Vista de Interaccin

Diagrama de Secuencia Diagrama de Colaboracin

Diagrama de Estados

Diagrama de Actividades

Diagrama de Secuencia

Diagrama de Colaboracin

UML Gestin del Modelo


Vista Diagramas Conceptos Principales
Paquete, Subsistema, Modelo

Vista de la gestin del modelo

Diagrama de Clases

Extensibilidad
Vista
Diagramas

Conceptos Principales
Restriccin, Estereotipo, Valores tagged (etiquetados)

Todas

Todos

Vista de la Gestin del Modelo

Extensibilidad

2. UML Parte Esttica


Diagrama

de Casos de Uso Diagrama de Clases

Diagrama de Casos de Uso

Modela la funcionalidad de un sistema percibido desde el usuario externo (actor). Un caso de uso es una unidad de funcionalidad coherente expresado como una transaccin entre actores y el sistema. Pueden describirse en varios niveles de detalle. Un caso de uso se implementa como una colaboracin en la vista de interaccin.

Diagrama de Casos de Uso: Elementos


Actor: rol que juega un usuario con respecto al sistema. un Actor no necesariamente representa a una persona en particular, sino ms bien la labor que realiza frente al sistema.
Caso de Uso:

Operacin o tarea especfica que se realiza tras una orden de algn agente externo, originada por una peticin de un actor o bien desde la invocacin desde otro caso de uso

Diagrama de Casos de Uso: Relaciones


Asociacin: Dependencia o Instanciacin: Es el tipo de relacin Es una forma muy ms bsica que indica particular de relacin la invocacin desde un entre clases, en la cual actor o caso de uso a una clase depende de otra operacin (caso de otra, es decir, se uso). instancia (se crea).

Diagrama de casos de Uso: Relaciones de Generalizacin

Este tipo de relacin esta orientado exclusivamente para casos de uso (y no para actores). Se diferencian por el estereotipo <<uses>> (uso) o (<<extends>>) (herencia).

extends: Se recomienda utilizar cuando un caso de uso es similar a otro (en sus caractersticas). uses: Se recomienda utilizar cuando se tiene un conjunto de caractersticas que son similares en ms de un caso de uso y no se desea mantener copiada la descripcin de la caracterstica.

Diagrama de Casos de Uso: Ejemplo Mquina Recicladora


El sistema debe : 1. Registrar el nmero de temes ingresados. 2. Imprimir un recibo cuando el usuario lo solicita, que incluye (a) una descripcin de lo depositado, (b) el valor de cada item y (c) el total 3. El usuario/cliente presiona el botn de comienzo 4. Existe un operador que desea saber lo siguiente: (a) Cuntos temes han sido retornados en el da y (b) al final de cada da, un resumen de todo lo depositado. 5. El operador debe adems poder cambiar informacin asociada a temes y dar una alarma en el caso de que (a) un item se atore o (b) no hay ms papel.

Mquina Recicladora: Identificacin de Actores

Mquina Recicladora: Diagrama Completo

Diagrama de Clases

Modela los conceptos del dominio de la aplicacin. Permite visualizar las relaciones entre las clases que involucran el sistema Un diagrama de clases est compuesto por los siguientes elementos:

Clases: atributos, operaciones y visibilidad. Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso. Responsabilidades

Diagrama de Clases: Elementos Clase

Es la unidad bsica que encapsula toda la informacin de un Tipo de Objeto (un objeto es una instancia de una clase).

Diagrama de Clases: Elementos Atributo

Los atributos describen a una clase. Pueden ser Pblicos, Privados o Protegidos. public (+, ): Indica que el atributo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

private (-, ): Indica que el atributo slo ser accesible desde dentro de la clase (slo sus mtodos lo pueden acceder). protected (#, ): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accesado por mtodos de la clase adems de las subclases que se deriven (herencia)

Diagrama de Clases: Elementos Operaciones (mtodos)

Las operaciones o mtodos de una clase describen la forma en la cual sta interacta con su entorno. Pueden ser Pblicas, Privadas o Protegidas. public (+, ): Indica que el mtodo ser visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.

private (-, ): Indica que el mtodo slo ser accesible desde dentro de la clase (slo otros mtodos de la misma clase lo pueden acceder). protected (#, ): Indica que el atributo no ser accesible desde fuera de la clase, pero si podr ser accesado por mtodos de la clase adems de las subclases que se deriven (herencia)

Diagrama de Clases: Elementos Relaciones entre Clases

Las clases interrelacionadas modelan un sistema en su dimensin esttica. Existen tres tipos de relaciones bsicas:

Dependencia Generalizacin Asociacin

Relaciones entre Clases: Dependencia (instanciacin o uso)

Un cambio en la clase independiente (Aplicacin) puede afectar a la clase dependiente (Ventana)

La interpretacin ms frecuente es la de uso: una clase usa a otra como argumento de una operacin. El objeto creado no se almacena en el objeto que lo crea.

Relaciones entre Clases: Generalizacin

Relaciona una abstraccin general (superclase) con una ms concreta del mismo tipo (subclase) Una clase puede tener cero, una (herencia simple) o ms superclases (herencia mltiple)

Una clase sin superclases es una clase raz Una clase sin subclases es una clase hoja

Relaciones entre Clases: Generalizacin - Polimorfismo

Una generalizacin da a lugar al polimorfismo entre clases de una jerarqua de generalizaciones.

Un objeto de una subclase puede sustituir a un objeto de la superclase en cualquier contexto. Lo inverso no es cierto Una operacin de la subclase con igual signatura que una operacin de la superclase la anula y sustituye.

El polimorfismo es muy til en la programacin.

Relaciones entre Clases: Generalizacin

Relaciones entre clases: Asociacin


Relacin estructural entre las clases. En general es simtrica Tiene un nombre, que la describe (verbo, con direccin de lectura) Puede tener un rol que describe el papel especfico que una clase juega en una asociacin.

Tiene multiplicidad, que especifica por cada clase el nmero de objetos de la clase opuesta que se relacionan con un solo objeto de dicha clase a travs de la asociacin:
1 : uno 0..1 : cero o uno 3 : tres *: muchos 1..*: al menos uno 2,6,7: dos, seis o siete 2-4, 10-12 : de dos a cuatro y de diez a doce

Relaciones entre clases: Asociacin

Relaciones entre Clases Agregacin y Composicin


Permite modelar objetos complejos, en base a relaciones todo parte.

Composicin Relacin esttica, en donde el tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. El Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo, como un parmetro pasado por valor.

Agregacin Relacin dinmica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. El objeto base utiliza al incluido para su funcionamiento, como un parmetro pasado por referencia.

Relaciones entre Clases: Agregacin y Composicin

Agregacin (Por referencia)

Composicin (Por valor)

Diagrama de Clases: Elementos Responsabilidades


La distribucin de responsabilidades en un sistema, se realiza identificando un conjunto de clases que colaboran entre s para llevar a cabo algn comportamiento. Luego hay que identificar el conjunto de responsabilidades para cada clase

Diagrama de Clases

3. Caso
Para el caso descrito, desarrolle: Diagrama de Casos de Uso Diagrama de Clases

Gestin de Proyectos de Informtica


El sistema debe manejar lo siguiente:

Unidad organizacional que solicita el proyecto Nombre del proyecto Organizacin del proyecto Planificacin del proyecto (actividades, responsables, plazos, recursos asignados) Control del proyecto (nivel de avance, productos entregados) Se debe, adems, manejar informacin de los recursos humanos involucrados ( nombre, perfil, filiacin ) . Plan del proyecto Avance del proyecto

El sistema debe entregar:


Bibliografa y Referencias: Fundamental

James Rumbaugh, Ivar Jacobson, Grady Booch, The Unified Modeling Language Reference Manual, Addison Wesley, 1999 Craig Larman, UML y Patrones, Prentice Hall, 1999 OMG www.omg.org

Bibliografa y Referencias Complementaria


Rational www.rational.com Robert Muller, Database Design For Smarties: Using UML for Data Modeling, Morgan Kaufmann, 1999 Luis Guerrero, Taller de UML, DCC, Universidad de Chile, 2002, www.dcc.uchile.cl/~luguerre/cc61j Patricio Salinas, Tutorial de UML, DCC, Universidad de Chile, 2000, www.dcc.uchile.cl/~psalinas/uml

You might also like