760 likes | 1.61k Views
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.
E N D
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
Dibujable 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.
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
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.
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
GUI Elementos de agrupamiento Un paquete es un mecanismo de propósito general para organizar elementos en grupos.
Elementos de anotación Una nota es un elemento explicativo de los modelos UML. Sirve para hacer claridad sobre elementos del modelo.
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 .
Área VISTA DIAGRAMAS CONCEPTOS PRINCIPALES Clase, asociación, generalización, dependencia, realización, interfaz. Estática Vista lógica Diagrama de Clases Diagramas de Casos de Uso Caso de Uso, Actor, asociación, extensión, generalización. Vista física Diagramas de Componentes Componente, interfaz, dependencia, realización. Diagramas de Implementación Nodo, componente, dependencia, localización. Dinámica Vista lógica Diagramas de Estados Estado, evento, transición, acción. Estado, actividad, transición, determinación, división, unión. Diagramas de Actividad Vista física Diagramas de Secuencia Interacción, objeto, mensaje, activación. Diagramas de Colaboración Colaboración, interacción, rol de colaboración, mensaje. DIAGRAMAS DE UML
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.
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 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 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 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 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 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 ACTIVIDAD Los 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
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