Lenguajes de programación: UML

44
Lenguajes de Programación: UML Autor(es ): Mtr. Luis Fernando Aguas

Transcript of Lenguajes de programación: UML

Lenguajes de Programación:UML

Autor(es):

• Mtr. Luis Fernando Aguas

INTRODUCCIÓN A UML

•QUE ES UML?

•PARA QUE SE UTILIZA

•COMPONENTES

•DIAGRAMAS

QUE ES UML?

• UML es un lenguaje de modelado, es decir, es un lenguaje cuyo vocabulario y reglas se centran en la representación conceptual y física de un sistema.

• Prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas mediante orientación a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan.

PARA QUE SIRVE?

Visualizar el sistema:

•Cada símbolo tiene una semántica bien definida•Cualquier desarrollador puede interpretar un

modelo en UML sin ambigüedad•UML facilita la comunicación

PARA QUE SIRVE?

Especificar el sistema:

• Permite construir modelos precisos no ambiguos y completos

• UML permite documentar las especificaciones de todas las decisiones de análisis, diseño e implementación

PARA QUE SIRVE?

Construir aplicaciones:

• UML no es un lenguaje de programación visual, pero sus modelos pueden conectarse de forma directa a lenguajes de programación orientados a objetos

• Es posible establecer una correspondencia desde un modelo UML y una implementación en un lenguaje de programación como JAVA o C++, mediante generación de código e ingeniería inversa

PARA QUE SIRVE?

Documentar sistemas:

• Requisitos• Diseño• Estructura estática• Interacciones• Implementaciones

ELEMENTOS DEL UML

EstructuralesClaseInterfazColaboraciónCaso de usoComponenteNodoActor

ELEMENTOS DEL UML

De comportamientoInteracciónEstados

De agrupaciónPaquete

ELEMENTOS DEL UML

De anotaciónNota

RelacionesDependenciaAsociaciónGeneralizaciónRealización

ELEMENTOS DEL UML

DiagramasClasesObjetosCasos de usoSecuenciaColaboraciónEstadosActividadesComponentesImplementación

Elementos Estructurales

Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica.

Una interfaz es una colección de operaciones que especifican un servicio de una clase o un componente. Describe el comportamiento visible de ese elemento.

Ventanaorigentamaño

abrir()cerrar()mover()dibujar()

Dibujable

Elementos Estructurales

Un caso de uso es una descripción de un conjunto de secuencias de acciones de un sistema y que produce un resultado observable de interés para un actor particular.

Una colaboración define una interacción y es una sociedad de roles y otros elementos que colaboran para proporcionar un comportamiento cooperativo

Realizar Pedido

Cadena de responsabilidad

Elementos Estructurales

Un componente es una parte física y reemplazable de un sistema (COM+, JavaBeans, dll, . . .)

Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional.

orderform.java

Servidor

Elementos Estructurales

Los actores representan usuarios y otros sistemas que interactúan con el sistema.

Elementos de comportamiento

Una interacción es un comportamiento que consiste en un conjunto de mensajes intercambiados entre un conjunto de objetos para alcanzar un propósito especifico

Un estado especifica unos valores de las variables en el tiempo para un objeto particular esperando

Elementos de agrupamiento

Un paquete es un mecanismo de propósito general para organizar elementos en grupos.

GUI

Elementos de anotación

Una nota es un elemento explicativo de los modelos UML. Sirve para hacer claridad sobre elementos del modelo.

devuelve una copia del objeto receptor

Elementos de relación

Una dependencia es una relación semántica entre dos elementos, en la cual un cambio a un elemento (elemento independiente) puede afectar la semántica del otro elemento (elemento dependiente).

Una asociación es una relación estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos. La agregación es un tipo especial de asociación, que representa una relación estructural entre un todo y sus partes.

Elementos de relación

Una generalización es una relación en la cual los objetos del elemento especializado (el hijo) pueden sustituir a los objetos del elemento general (el padre). De esta forma, el hijo comparte la estructura y el comportamiento del padre

Una realización especifica que una clase implementara un conjunto de métodos especificados por una interfaz .

DIAGRAMAS DE UML

Colaboración, interacción, rol de colaboración, mensaje.

Diagramas de Colaboración

Interacción, objeto, mensaje, activación.

Diagramas de Secuencia

Vista física

Estado, actividad, transición, determinación, división, unión.

Diagramas de Actividad

Estado, evento, transición, acción.Diagramas de Estados

Vista lógica

Dinámica

Nodo, componente, dependencia, localización.

Diagramas de Implementación

Componente, interfaz, dependencia, realización.

Diagramas de Componentes

Vista física

Caso de Uso, Actor, asociación, extensión, generalización.

Diagramas de Casos de Uso

Clase, asociación, generalización, dependencia, realización, interfaz.

Diagrama de Clases

Vista lógica

Estática

CONCEPTOS PRINCIPALESDIAGRAMASVISTAÁrea

DIAGRAMAS DE UML

• Diagramas de Clases para modelar la estructura estática de las clases en el sistema.

• Diagramas de Casos de Uso para modelar los procesos 'business'.• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.• Diagramas de Colaboración para modelar interacciones entre objetos.• Diagramas de Estado para modelar el comportamiento de los objetos en el

sistema.• Diagramas de Componentes para modelar componentes.• Diagramas de Implementación para modelar la distribución del sistema.• Diagramas de Actividad para modelar el comportamiento de los Casos de Uso,

objetos u operaciones.• Diagramas de Objetos para modelar la estructura estática de los objetos en el

sistema.

CASO DE ESTUDIO

Se desea modelar un sistema de reserva de tiquetes de avión

DIAGRAMA DE CASOS DE USO

El modelado de Casos de Uso es la técnica más efectiva y a la vez la más simple para modelar los requisitos del sistema desde la perspectiva del usuario.

Se utilizan para modelar cómo funciona realmente un sistema, o cómo los usuarios desean que funcione. No es realmente una aproximación a la orientación a objetos; es realmente una forma de modelar procesos.

DIAGRAMA DE CASOS DE USO

DIAGRAMA DE CASOS DE USO

DIAGRAMAS DE CLASES

Muestra un conjunto de clases, interfaces y colaboraciones, así como sus relaciones

Los diagramas de clases cubren la vista de diseño estática de un sistema

DIAGRAMAS DE CLASES

DIAGRAMAS DE CLASES

DIAGRAMAS DE OBJETOS

Muestra un conjunto de objetos, interfaces y colaboraciones, así como sus relaciones.

Los diagramas de objetos muestran las relaciones entre un conjunto de objetos determinados. Tiene una representación muy similar al diagrama de clases, pero los atributos tienen valores establecidos correspondientes al objeto que representan.

DIAGRAMA DE SECUENCIA

Un diagrama de secuencia se modela para cada caso de uso. Mientras que el diagrama de caso de uso permite el modelado de la funcionalidad del sistema, el diagrama de secuencia contiene detalles de implementación del escenario (objetos y clases, mensajes)

DIAGRAMA DE SECUENCIA

DIAGRAMA DE COLABORACIONES

El Diagrama de Colaboración presenta una alternativa al diagrama de secuencia para modelar interacciones entre objetos en el sistema.

Mientras que el diagrama de secuencia se centra en la secuencia cronológica del escenario, el diagrama de colaboración se centra en estudiar todos los efectos de un objeto dado durante un escenario.

DIAGRAMA DE COLABORACIONES

DIAGRAMA DE ESTADOS

El diagrama de estados se usa para modelar el comportamiento dinámico de un objeto en particular, o de una clase de objetos.

DIAGRAMA DE ESTADOS

DIAGRAMA DE COMPONENTES

El Diagrama de Componentes se usa para modelar la estructura del software, incluyendo las dependencias entre los componentes de software, los componentes de código binario, y los componentes ejecutables.

DIAGRAMA DE COMPONENTES

DIAGRAMA DE IMPLEMENTACIÓN

Los Diagramas de Implementación se usan para modelar la configuración de los elementos de procesamiento en tiempo de ejecución y de los componentes, procesos y objetos de software que viven en ellos.

DIAGRAMA DE IMPLEMENTACIÓN

DIAGRAMA DE ACTIVIDADLos diagramas de actividad se pueden usar para modelar

un caso de uso, o una clase, o un método complicado.

Son parecidos a un diagrama de flujo; la diferencia clave es que los diagramas de actividad pueden mostrar procesamiento paralelo

Es importante cuando se usan para modelar procesos que pueden actuar en paralelo, y para modelar varios hilos en los programas multihilo

DIAGRAMA DE ACTIVIDAD

ESTEREOTIPOS

Los estereotipos son un mecanismo de extensibilidad incorporado de UML.

Un estereotipo representa una distinción de uso. Puede ser aplicado a cualquier elemento de modelado, incluyendo clases, paquetes, relaciones de herencia, etc.

Por ejemplo, una clase con estereotipo 'actor' es una clase usada como un agente externo en el modelado del sistema.

REFERENCIAS

• http://es.tldp.org/Tutoriales/doc-modelado-sistemas-UML/multiple-html/

• http://delta.cs.cinvestav.mx/~pmejia/softeng/tutorial.ppt

• http://mailweb.pue.udlap.mx/~ayalasan/programacionDeSistemas/uml/oo.1.1.html