INTRODUCCION UML

48
Introducción al UML INGENIERIA DE SOFTWARE II

description

Lenguaje de Modelado Unificado - Diagramas

Transcript of INTRODUCCION UML

Page 1: INTRODUCCION UML

Introducción al UML

INGENIERIA DE SOFTWARE II

Page 2: INTRODUCCION UML

Contenido

Qué es UML?.

Diagramas Utilizados en UML.

Ejemplos.

Page 3: INTRODUCCION UML

Qué es UML

UML es un Lenguaje de Modelado Unificadobasado en una notación gráfica la cual permite:especificar, construir, visualizar y documentar losobjetos de un sistema programado.

Este lenguaje es el resultado de la unificación delos métodos de modelado orientados a objetos deBooch, Rumbaugh (OMT: Object ModelingTechnique) y Jacobson (OOSE: Object-OrientedSotfware Engineering) .

Page 4: INTRODUCCION UML

Qué es UML ?

El UML modela sistema mediante el uso deobjetos que forman parte de él así como, las relaciones estáticas o dinámicas que existen entre ellos.

UML puede ser utilizado por cualquier metodología de análisis y diseño orientada por objetos para expresar los diseños.

Page 5: INTRODUCCION UML

Diagramas empleados por UML

1. Diagrama de Casos de Uso

2. Diagrama de Clases

3. Diagrama de Actividades

4. Diagrama de Iteración

4.1. Diagrama de Secuencia

4.2. Diagrama de Colaboración

Page 6: INTRODUCCION UML

Diagramas empleados por UML

5. Diagrama de Estados

6. Diagrama de Implementación

6.1. Diagrama de Componentes

6.2 Diagrama de Despliegue

Page 7: INTRODUCCION UML

Diagramas empleados por UML (Casos de Usos)

Un diagrama de Casos de Uso muestra ladistintas operaciones que se esperan de unaaplicación o sistema y cómo se relaciona consu entorno (usuario u otras aplicaciones).

Es una herramienta esencial para la capturade requerimientos y para la planificación ycontrol de un proyecto interactivo.

Page 8: INTRODUCCION UML

Diagramas empleados por UML (Casos de Usos)

Los casos de Uso Se representa en eldiagrama por una elipse que denota unrequerimiento solucionando por el sistema.

Cada caso de uso de uso es una operacióncompleta desarrollada por los actores y por elsistema en un diálogo.

El conjunto de casos de uso representa latotalidad de operaciones desarrolladas por elsistema.

Page 9: INTRODUCCION UML

Diagramas empleados por UML (Casos de Usos)

Comunica

<<extend>>

Actor <<use>>

Profesor

Fig. 1 Ejemplo de Diagramas de Casos de Uso.

Page 10: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

Actor: Es un usuario del sistema, quenecesita o usa alguno de los casos de uso. Unusuario puede jugar más de un rol. Un soloactor puede actuar en muchos casos de uso;recíprocamente, un caso de uso puede tenervarios actores. Los actores no necesitan serhumanos pueden ser sistemas externos quenecesitan alguna información del sistemaactual.

Page 11: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

También se puede encontrar tres tipos derelaciones, como son:

Comunica: (comunicates): entre un actor yun caso de uso, denota la participación delactor en el caso de uso determinado. En la

Fig. 1 el actor profesor se relaciona con loscaso de uso pedir permiso, Actualizar cargaadministrar y Actualizar carga Académica.

Page 12: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

Usa (uses): Relación entre dos casosde uso, denota la inclusión delcomportamiento de un escenario enotro. Se utiliza cuando se repite un casode uso en dos o más casos de usoseparados. Frecuentemente no hayactor asociado con el caso de usocomún.

Page 13: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

Extiende (extends): Relación entre doscasos, denota cuando un caso de usoes una especialización de otro. Se usacuando se describe una variación sobreel normal comportamiento.

Page 14: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

En la Fig. 1 la relación extend se utilizapara denotar que los escenariosactualizar carga administrativa yactualizar carga académica sonespecializaciones del caso de usoelaborar informe de actividades.

Page 15: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Casos de Usos)

ACTUALIZAR LibrosFT

InsertarFT

EliminarFT

ModificarFT

<<usa>

<<usa>>

<<usa>>

Fig. 3.4.- Diagrama de casos de uso Actualizar librosFT

Page 16: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de clases)

Un diagrama de clases o estructura estáticamuestra el conjunto de clases y objetoimportantes que forman parte de un sistema,junto con las relaciones existentes entreclases y objetos. Muestra de una maneraestática la estructura de información delsistema y la visibilidad que tiene cada unade las clases, dada por sus relaciones conlos demás en el modelo [Int-2].

Page 17: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Clase: representa un conjunto de entidadesque tienen propiedades comunes.

Una clase es un constructo que define laestructura y comportamiento de unacolección de objeto denominados instancia dela clase.

En UML la clase está representada por unrectángulo con tres divisiones internas, sonlos elementos fundamentales del diagrama.

Page 18: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Ejemplo:

Publicación Nombre de la clase

Nombre de

Clase

Atributos

# Código P: Cadena [2]

-Ncopias: Entero

+Actor: Cadena [30]

-MontoA: Monetario

+Fecha: Date

-Agregar ()

-Consultar ()

+Listar()

Método

Fig.2 Representación de una clase

Page 19: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Atributo: Representa una propiedad de unaentidad. Cada atributo de un objeto tiene unvalor que pertenece a un dominio de valoresdeterminado.

Las sintaxis de una atributo es:

Visibilidad <nombre>: tipo = valor incial {propiedades}

Donde visibilidad es uno de los siguientes:

+ público.

# protegido.

- privado.

Page 20: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Operación: El conjunto de operacionesque describen el comportamiento de losobjetos de una clase. La sintaxis de unaoperación en UML es:

Visibilidad nombre (lista deparámetros): tipo que retorna {propiedades}

Page 21: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Objeto: es una instancia de una clase. Secaracteriza por tener una identidad única, unestado definido por un conjunto de valores deatributos y un comportamiento representadopor sus operaciones y métodos.

Asociación (rol, multiplicidad, calificador):representan las relaciones entre instancias declase. Una asociación es una línea que unedos o más clases.

Page 22: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Rol: Identificado como un nombre a losfinales de la línea, describe la semántica de larelación en el sentido indicado. Cadaasociación tiene dos roles; cada rol es unadirección en la asociación. El rol puede estarrepresentado en el nombre de la clase.

Multiplicidad: Describe la cardinalidad de larelación, es decir, cuanto objetos de esa clasepueden participar en la relación dada [ Int-2].

Page 23: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

La multiplicidad puede ser:

1 Clase Exactamente uno

* Clase Cero o más

O ..1 Clase Cero o uno

m..n Clase Especificada numéricamente

Fig. 3 Tipos de Multiplicidad

Page 24: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Dependencia: Es una relación dondeexisten entidades independientes yotras dependientes, lo que implica quecambiar el elemento independientepuede requerir cambios en losdependientes. Se representa con unalínea punteada direccional, indicando elsentido de la dependencia.

Page 25: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Los tipos de asociaciones entre clasespresentes en un diagrama estático son:

Asociación binaria.

Asociación n-aria.

Composición.

Generalización.

Refinamiento.

Page 26: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Asociación Binaria: Representa unarelación sencilla entre dos clases, no muyfuerte (es decir, no se exige dependenciaexistencial ni encapsulamiento). Se indicacomo una línea sólida que une dos clases.

Asociación n-aria: Es una asociación entretres o más clases. Se representa como undiamante del cual salen líneas de asociación alas clases.

Page 27: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Composición: Es una asociación fuerte, queimplica tres cosas:

Dependencia existencial. El elementodependiente desaparece al destruirse el quelo contiene y, si es de cardinalidad 1, escreado al mismo tiempo.

Hay una pertenencia fuerte. Se puede decirque el objeto contenido es parte constitutivay vital del que lo contiene.

Page 28: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Los objetivos contenidos no soncompartidos, esto es, no hacen partedel estado de otro objeto.

Se denota dibujando un rombo del ladode la clase que contiene a la otra en larelación.

Page 29: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Agregación: Relaciona una clase yaensamblada con una clase componente.Es también una relación de composiciónmenos fuerte (no se exige dependenciaexistencial) y se denota por un rombosin rellenar en un o de los extremos.

Page 30: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Generalización: es un proceso deabstracción en el cual un conjunto de clasesexistentes, que tienen atributos y métodoscomunes, es referido por una clase genérica aun nivel mayor de abstracción. La relación degeneralización denota una relación deherencia entre clases. Se representadibujando un triángulo sin rellenar en el ladode la superclase. La subclase hereda todoslos atributos y mensajes descritos en lasuperclase [Int-2, FMAR97].

Page 31: INTRODUCCION UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)

Refinamiento: Es una relación que representa la especificación completa de lago que ya ha sido especificado con cierto nivel de detalle. Por ejemplo, una clase del diseño es un refinamiento de una clase de análisis.

Page 32: INTRODUCCION UML

Diagramas empleados por UML (Diagrama de Actividades)

Un diagrama de actividades es un caso especialde un diagrama de estados en el cual casitodos los estados son estados de acción(identifican que acción se ejecuta al esta enél ) y casi todas las transiciones son enviadasal terminar la acción ejecutada en el estadoanterior.

Generalmente modelan los pasos de unalgoritmo y puede dar detalle a un caso deuso, un objeto o un mensaje en un objeto.

Page 33: INTRODUCCION UML

Diagramas empleados por UML (Diagrama de Actividades)

Sirven para representar transicionesinternas, sin hacer mucho énfasis entransiciones o eventos externos

Los elementos que conforman eldiagrama son: acción y transición.

Page 34: INTRODUCCION UML

Diagramas empleados por UML (Elementos que forman el Diagrama de Actividades)

Estado de Acción: representa unestado con acción interna, con lo menosuna transición que indica laculminación de la acción (por medio deun evento implícito).

Permite modular un paso dentro delalgoritmo. Se representan por unrectángulo con bordes redondeados.

Page 35: INTRODUCCION UML

Diagramas empleados por UML (Elementos que forman el Diagrama de Actividades)

Transición: Es la relación entre dos estados y se encuentran unidos por flechas; indicando que un objeto que está en el primer estado realizará una acción especificada y entrará en el segundo estado cuando un evento implícito ocurra y unas condiciones especificas sean satisfechas [FMAR97].

Page 36: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Interacción)

Estos son modelos que describen como losgrupos de objetos que colaboran en algunosambientes. Por lo general, un diagrama deinteracción captura el comportamiento de unúnico caso de uso.

Hay dos tipos de diagramas de interacción:diagramas de secuencia y diagramas decolaboración.

Page 37: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Interacción)

Diagrama de secuencia:

Un diagrama de secuencia muestra la interacciónde un conjunto de objetos de una aplicación através del tiempo. Esta descripción es importanteporque puede dar detalle a los casos de uso,aclarándolos al nivel de mensajes de los objetosexistentes, como también muestra el uso de losmensajes de las clases diseñadas en el contexto deuna operación [Int-2].

Page 38: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Interacción)

Un objeto se representa como una línea verticalpunteada línea de vida con un rectángulo deencabezado y con rectángulo a través de la líneaprincipal que denotan la activación, es decir elperíodo de tiempo en el cual el objeto se encuentradesarrollando alguna operación. El rectángulo deencabezado contiene el nombre del objeto y el de suclase, en un formato nombreObjeto: nombrClase. Elenvío de mensajes entre objetos se denotanmediante una línea sólida dirigida, desde el objetoque emite el mensaje hacia el objeto que lo ejecuta[Int-2, FMAR97].

Page 39: INTRODUCCION UML

ACTUALIZAR DEPOSITO F.T.

:USUARIO AUTORIZADO

:DEPOSITO F.T.

:TOTAL_D

ACTUALIZAR TOTAL_D.

ACTUALIZAR DEPOSITO F.T.

OK

ACTUALIZAR TOTAL_D

OK

FIG. 3.9 Diagrama de secuencias asociadas al proceso “Actualizar Depósito”

Page 40: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Interacción)

Diagramas de Colaboración:

Es una forma de representar interacción entre losobjetos, es decir, las relaciones entre ellos y lasecuencia de los mensajes de las iteraciones queestán indicadas por un número A diferencia de losdiagramas de secuencia, pueden mostrar elcontexto de la operación (cuáles objetos sonatributos, cuáles temporales,…) y ciclos en laejecución. Muestra como varios objetos colaboranen un solo caso de uso [Int-2, FMAR97].

Page 41: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Estados)

.- Diagrama de Estados:

Muestra el conjunto de estado por los cualespasa un objeto durante su vida en unaaplicación junto con los cambios quepermiten pasar de un estado a otro [Int-2].Esta representado principalmente por lossiguientes elementos: estado, elemento ytransición.

Page 42: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Estados)

Estado: Identifica un período detiempo del objeto (no instantáneo) enel cual el objeto esta esperando algunaoperación, tiene cierto estadocaracterístico o puede recibir cierto tipode estímulos.

Page 43: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Estados)

Eventos: Es una ocurrencia que puede causarla transición de un estado a otro de unobjeto. Esta ocurrencia puede ser una devarias cosas [Int-1]:

-Condición que toma el de verdadero o falso.

-Recepción de una señal de otro objeto en elmodelo.

-Recepción de un mensaje.

-Paso de cierto período de tiempo, después deentrar al estado o de cierta hora y fechaparticular.

Page 44: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Estados)

Transición: Es una relación de tres o más estados en una transición de múltiples fuentes o múltiples destinos.

Page 45: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Implantación)

Muestran aspectos de la implementación delsistema, donde se incluyen la estructura delcódigo fuente y su implementación en tiemporeal con la estructura física del sistema.

Hay dos tipos de diagramas deimplementación: diagrama decomponentes y diagrama de despliegue

Page 46: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Implantación)

Diagrama de componentes:

Representa las componentes físicas de la aplicación.

LISTADO

Reservación

AGENCIA DE VIAJES Actualizar

INTERFAZ

- Ejemplo diagrama de componentes. Fuente [RSOF98]

Page 47: INTRODUCCION UML

Diagramas empleados por UML (Diagramas de Implantación)

Diagrama de despliegue:

Representa la visualización de los componentes sobre losdispositivos físicos.

SERVIDOR reservaciones

:listado

<<Base de Datos >>

CLIENTE: PC

:Agencia de Viajes

Ejemplo diagrama de despliegue . Fuente [RSOF98]

Page 48: INTRODUCCION UML

Bibliografía

Apuntes del Prof. Jonás Montilva.

Apuntes de la Prof. Isabel Besembel

Apuntes del Prof. Domingo Hernández

J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy y W. Lorensen. Object-oriented modeling and design. Prentice- Hall.

1991. P. Muller Modelaje con UML. Eyrolles, 1997.