introducciÓn a uml
DESCRIPTION
INTRODUCCIÓN A UML. Oscar Miguel Alonso Moreno. 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. - PowerPoint PPT PresentationTRANSCRIPT
INTRODUCCIÓN A UML
Oscar Miguel Alonso Moreno
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
Estructurales Clase Interfaz Colaboración Caso de uso Componente Nodo Actor
ELEMENTOS DEL UML
De comportamiento Interacción Estados
De agrupación Paquete
ELEMENTOS DEL UML
De anotación Nota
Relaciones Dependencia Asociación Generalización Realización
ELEMENTOS DEL UML
Diagramas Clases Objetos Casos de uso Secuencia Colaboración Estados Actividades Componentes Implementació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.
Ventana
origentamañ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 comportamientoUna 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 agrupamientoUn 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
EstadosVista 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 USOEl 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 SECUENCIAUn 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 COLABORACIONESEl 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 COMPONENTESEl 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ÓNLos 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