introduccion a uml

121
COORDINACIÓN GENERAL DE TECNOLOGÍAS DE LA INFORMACIÓN UNIVERSIDAD DE GUADALAJARA LI JOSÉ JIMÉNEZ CABRERA Uml

Upload: jose-jimenez-cabrera

Post on 15-Jun-2015

6.778 views

Category:

Technology


0 download

DESCRIPTION

mi presentacion del curso de introduccion a UML

TRANSCRIPT

Page 1: Introduccion a Uml

C O O R DIN AC IÓ N GEN ERAL DE TEC N O LO GÍAS DE LA IN FO RMAC IÓ N

U NIVER S IDAD DE GUADALAJARALI J O S É J IMÉN EZ C ABRERA

Uml

Page 2: Introduccion a Uml

Presentación

Nombre  Institución a la que pertenecen Título, función y responsabilidad en el trabajo  Tu Experiencia relacionada con el análisis y la

recopilación de requerimientos  Tu experiencia relacionadas con el diseño y la

arquitectura de software  Experiencia relacionada con las notaciones de

modelado, tales como la OMT y UML  Razones para inscribirse en este curso  Las expectativas para este curso

Page 3: Introduccion a Uml

Contenido del Curso

IntroducciónDiagramas de casos de

usoDiagramas de clasesDiagramas de objetosDiagramas de

paquetes

Diagramas de estadoDiagrama de

ActividadesDiagrama de secuenciaDiagrama de

comunicaciónDiagrama de

componentesDiagrama de

despliegue

Page 4: Introduccion a Uml

Diagramas UML

Page 5: Introduccion a Uml

Introducción General

Page 6: Introduccion a Uml

¿Qué es Uml?

UML = Unified Modeling Language. El Lenguaje de Modelado Unificado (UML) es un

lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema de software independiente del lenguaje de programación utilizado.

Page 7: Introduccion a Uml

¿Qué es Uml?

Uml esta hecho por notaciones y diagramas. Las notaciones consisten en elementos que colaboran

juntos en un diagrama. Por Ejemplo símbolos, conectores, notas, valores. Etc.

Los diagramas son representaciones graficas de un proceso, el sistema o una parte de el.

UML es extensible.UML es escalable.

Page 8: Introduccion a Uml

Notaciones UML

Elementos Relaciones

Page 9: Introduccion a Uml

¿Por que usar UML?

Crisis del Software

Page 10: Introduccion a Uml

Creadores del UML

Dr. James Rumbaugh

Grady Booch Dr. Ivar Jacobson

Page 11: Introduccion a Uml

Ventajas de UML

Es útil para comunicar concepto y sistemas.

Reduce costos y riesgos al permitir la

experimentación con modelos.

Reduce la complejidad.

Aumenta la calidad de los sistemas.

Productividad y eficiencia en los desarrollos.

Facilita el re-uso de artefactos.

Page 12: Introduccion a Uml

Ventajas de UML

Hemisferio Izquierdo

• Análisis•Detalle•Pensamiento Lógico•Comunicación Verbal

Hemisferio Derecho

• Intuición•Creatividad•Pensamiento Emocional•Comunicación no Verbal

Page 13: Introduccion a Uml

Resumen

Uml Es un lenguaje Visual Que nos permite, diseñar, comunicar y documentar entre otras cosas.

Un modelo nos permite realizar una representación de la realidad.

Uml nos permite usar ambos hemisferios de nuestro cerebro.

Page 14: Introduccion a Uml

Modelado de Objetos:Un VISTAZO GENERAL

Page 15: Introduccion a Uml

13 de abr de 2023(c) 2010 Universidad de Guadalajara. Prohibida su reproducción.

¿Que es un modelo?

“Un modelo es una simplificación de la realidad”

Un modelo es una abstracción de alguna entidad (como un edificio) o de un sistema (como el software)

Diferentes vistas muestran el modelo de diferentes perspectivas

Page 16: Introduccion a Uml

Un objeto es algo que existe en el contexto de un sistema.

Orientación de objetos

Page 17: Introduccion a Uml

Un objeto es algo que existe en el contexto de un sistema.

Un objeto es la instancia de una clase.

Orientación de objetos

Page 18: Introduccion a Uml

Clases

Una clase es "un conjunto de objetos que comparten una estructura común y un comportamiento común." (Booch Objeto página Soluciones 303)

 

es un molde con el que los objetos pueden ser creados.

es una categoría en la que los objetos pueden ser organizados.

Es también una plantilla en la que los objetos pueden ser creados.

Page 19: Introduccion a Uml

Atributos y operaciones

Las clases (y los objetos que perteneces a la clase) tienen: Atributos: Propiedades

Tamaño, color, genero Operaciones: Funcionalidad

Nadar, comer, correr, dormir

Page 20: Introduccion a Uml

Herencia

La herencia es "un mecanismo por el cual se define una clase, en referencia a los demás, sumando todas sus características a las suyas." (Página Meyer, 1197)

   

Características de la herencia: 

• Atributos y métodos de la superclase se incluyen en la subclase

 

• Subclase métodos puede reemplazar los métodos de superclase  • Una subclase puede heredar de múltiples superclases (llamada

herencia múltiple) o una subclase puede sólo heredar de una superclase única (herencia simple)

Page 21: Introduccion a Uml

Relaciones entre objetos

Los objetos no existen aislados; existen en relación con otros objetos.

Page 22: Introduccion a Uml

Generalización

En la Generalización, la clase hijo esta basado en la clase padre. Esta relación indica que dos clases son similares pero tienen algunas diferencias.

Page 23: Introduccion a Uml

Asociación

La asociación significa que dos clases estas conectadas (o relacionadas) de alguna manera. La información de una clase esta ligada a los datos de

la otra clase. Una clase trabaja con otra para elaborar una tarea. Una clase actúa sobre otra clase.

Page 24: Introduccion a Uml

Agregación

Una Agregación indica una relación entre un todo y sus partes

Equipo de Futbol

Page 25: Introduccion a Uml

Composición

La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.

Page 26: Introduccion a Uml

Composición

La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.

La característica principal es que no se puede compartir.

Compartir

Page 27: Introduccion a Uml

Composición

Cuando el objeto principal es destruido, sus partes también son destruidas

Page 28: Introduccion a Uml

Multiplicidad

La multiplicidad muestra el numero de objetos que pueden participar en una relación

Ejemplos: Una clase ocurre en un salón. Un maestro enseña muchas clases. Un maestro enseña a muchos estudiantes Un estudiante aprende de muchos maestros.

Page 29: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Page 30: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

El polimorfismo puede aplicar Objetos Operaciones

Page 31: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Page 32: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Page 33: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Objeto Volador

Page 34: Introduccion a Uml

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Objeto Volador volar()volar()

Page 35: Introduccion a Uml

PANORAMA GENERAL

Tipos de Diagramas

Page 36: Introduccion a Uml

Diagramas UML

Page 37: Introduccion a Uml

Modelo 4+1

Vista lógica

Vista de proceso

Vista Física

Vista de

desarrollo

Vista de casos de

uso

Page 38: Introduccion a Uml

Vista lógica

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Clase Colaboración

Page 39: Introduccion a Uml

Vista de procesos

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Page 40: Introduccion a Uml

Vista Física

Vista logica

Vista de proceso

Vista Fisica Vista de

desarrollo

Vista de casos de

uso

Page 41: Introduccion a Uml

Vista de desarrollo

Vista logica

Vista de proceso

Vista Fisica Vista de desarrollo

Vista de casos de

uso

componentes

paquetes

Page 42: Introduccion a Uml

Vista de casos de uso

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Page 43: Introduccion a Uml

Modelo estático vs dinámico

Modelos estáticos: muestra la estructura del sistema.

Modelos Dinámicos: Muestra las características del comportamiento del sistema.

Modelos de implementación: muestra los elementos necesarios para la implementación del sistema.

Page 44: Introduccion a Uml

Modelos Estáticos

Page 45: Introduccion a Uml

Modelos Estáticos

Un modelo estático de un sistema muestra la estructura del sistema.

Se hace hincapié en las partes que componen el sistema.

Los modelos estáticos se usan para definir los nombres de las clases, los atributos, asignación de los métodos y los paquetes.

Los diagramas que representas el modelo estático incluyen los diagramas de clases, diagramas de objetos y los diagramas de casos de uso.

Page 46: Introduccion a Uml

Modelos Dinámicos

Page 47: Introduccion a Uml

Modelos Dinámicos

Un modelo dinámico muestra el comportamiento del sistema, por ejemplo, cómo se comporta el sistema en respuesta a los acontecimientos externos.

permite identificar los objetos necesarios y cómo esos objetos trabajan juntos a través de los métodos y los mensajes

Util para diseñar la lógica y el comportamiento del sistema.

Los diagramas UML que representan los modelos dinámicos son los diagramas de secuencia, diagramas de comunicación,diagramas de estado y diagramas de actividad.

Page 48: Introduccion a Uml

Modelo de implementación

Este modelo muestra las diferentes elementos de un sistema que se requieren para su implementación.

Se muestra la organización física de los componentes de software y otros recursos físicos, tales como las rutas de hardware y de conexión.

Los diagramas que representan el modelo de implementación son los diagramas de componentes y los diagramas de despliegue.

Page 49: Introduccion a Uml

Estático vs Dinámico

Los diagramas estáticos (especialmente los diagramas de clases) dan a los desarrolladores información detallada sobre las clases, tipos de datos y parámetros.

Los diagramas dinámicos, tales como los diagramas de secuencia y comunicación, ayudará a definir los objetos y cómo interactúan.

La practica del modelado ágil recomienda el desarrollo de ambos modelos en paralelo, trabajando en modelos estáticos y dinámicos al mismo tiempo.

Page 50: Introduccion a Uml

Casos de uso

Page 51: Introduccion a Uml

Clases

Page 52: Introduccion a Uml

Objetos

Page 53: Introduccion a Uml

Paquetes

Page 54: Introduccion a Uml

Estados

Page 55: Introduccion a Uml

Diagrama de Actividades

Page 56: Introduccion a Uml

Diagramas de Casos de uso

Page 57: Introduccion a Uml

Actor

"Un actor es un rol que un usuario representa con relación al sistema." (Fowler, UML Gota a Gota) 

Un actor también es "Un conjunto coherente de roles que los usuarios de los casos de uso juegan al interactuar con estos casos de uso.”

Agente de Viajes

Page 58: Introduccion a Uml

Actor

Este icono representa un actor humano (usuario) del sistema. También puede representar a un sistema externo.

Agente de Viajes

Page 59: Introduccion a Uml

Caso de uso

Un caso de uso describe lo que el sistema hace para lograr una meta desde la perspectiva del cliente. 

CU01: Gestionar Almacén

Page 60: Introduccion a Uml

Una asociación en un caso de uso representa "La participación de un actoren un caso de uso”

Asociación

E2: Registrar Huésped

Recepcionista

• Un actor debe ser asociados con uno o más casos de uso.• Un caso de uso debe ser asociados con uno o más

actores.• Un asociación es representado por una línea solida sin

puntas de flecha.

Caso de uso: asociaciones

Page 61: Introduccion a Uml

La dependencia <<include>>

El caso de uso depende de la invocación de caso de uso incluido con el fin de ser completada.

Siempre es llamado por el caso de uso que lo incluye.

Puede ser llamado por mas de un caso de uso. uc Use Case View

Bibliotecario

Registrar PrestamosConocer

Disponibilidad de un Libro«include»

Page 62: Introduccion a Uml

La dependencia <<extend>>

Un caso de uso extiende a otro cuando le agrega tareas adicionales al primero.

Identifica escenarios que ocurren en casos alternos.

uc Use Case View

Bibliotecario

Registrar Dev oluciones

Cobrar multa«extend»

Page 63: Introduccion a Uml

Generalización uc Casos de Uso de la Biblioteca

Bibliotecario

Administrador del Inv entario

Registrar Prestamo

Registrar Dev oluciones

Mantener Actualizado el inv entario de Libros

Page 64: Introduccion a Uml

Puntos de extensión

Page 65: Introduccion a Uml

Casos de uso

Para cada caso de uso ...Describir los pasos involucrados en la

interacción entre un actor y el sistema, empezando por el actor principal.

Comienza con éxito el escenario principal.Puedes buscar caminos alternativos:

Excepciones: ¿Qué podría salir mal aquí?

Extensiones: ¿Qué otro objetivo podría entrar aquí?

Page 66: Introduccion a Uml

Diagramas de clase

Page 67: Introduccion a Uml

Clasificadores: Clases y Objetos

Page 68: Introduccion a Uml

Atributos y operaciones

Atributos son las propiedades que tiene un objeto de una determinada instancia

Page 69: Introduccion a Uml

Los estereotipos

class System

«interface»Interface2

«enumeration»Enumeration1

Page 70: Introduccion a Uml

Asociaciones y Multiplicidad

Las clases tienen una relación con otras clases

Page 71: Introduccion a Uml

Asociaciones y Multiplicidad

Las clases tienen una relación con otras clases

Las clases pueden estar relacionada con otras múltiples veces, a eso le llamamos multiplicidad.

Page 72: Introduccion a Uml

Asociación de Clases

Un Asociación de clases permite

class System

Clase1 Clase2

Clase3

Page 73: Introduccion a Uml

Agregación y Composición

Page 74: Introduccion a Uml

Generalización

class System

Persona

Empleado Estudiante

Page 75: Introduccion a Uml

Realización

class System

Animal

Av e Av ion

Maquina«interface»ObjetoVolador

Page 76: Introduccion a Uml

Dependencia

class System

Automov il Gasolina

Page 77: Introduccion a Uml

Restricciones y notas

Las restricciones muestran las restricciones que un elemento tiene.

Le da condiciones y restricciones en varios aspectos.

Las notas permiten incluir información adicional a un elemento UML.

class System

Esto es una nota

Page 78: Introduccion a Uml

Clases Abstractas e Interfaces

Las Clases Abstractas permite que sea heredada por sus hijos pero no se puede instanciar directamente.

Las interfaces especifican la implementación pero no especifican como implementarlas.

class System

«interface»Interface2

«abs»Class6

Page 79: Introduccion a Uml

Diagramas de objetos

Page 80: Introduccion a Uml

Objetos e instancias

Page 81: Introduccion a Uml

Diagramas de paquetes

Page 82: Introduccion a Uml

Paquetes

class System

Package1

Page 83: Introduccion a Uml

Visibilidad

Los paquete puede guardar la visibilidad de los elementos que la componen

Al igual que los atributos y las operaciones pueden ser Públicos Privados Protegidos Paquetes

Page 84: Introduccion a Uml

Las relaciones entre los paquetes

Los paquetes al igual que las clases no trabajan aisladamente

pkg Diagrama de paquetes

Package1

+ Class1

Package2

Package3 Package4

+ Package6

Package5

«import»

Page 85: Introduccion a Uml

Paquetes de Casos de Uso

Page 86: Introduccion a Uml

Paquetes de Casos de Uso

Page 87: Introduccion a Uml

Cuándo utilizar los diagramas de paquetes

Cuando el proyecto es muy complejo y contiene muchas clases o casos de uso.

Mantener un registro de las dependencias.Para organizar clases que tienen elementos

comunes.Para indicar dependencias entre paquetes .Para crear una estructura jerárquica.Para dividir los sistemas complejos en

modulos.

Page 88: Introduccion a Uml

Diagramas de actividad

Page 89: Introduccion a Uml

conceptos básicos

Page 90: Introduccion a Uml

Caminos paralelos y alternativos

Bifurcación: Barra de color negra. sirve para indicar cuando se realizan actividades paralelas.

Decisión/Combinar : diamante, para indicar cuando se toman caminos diferentes

act Diagra...

Bifurcación

Decisión

Page 91: Introduccion a Uml

Diagramas de Subactividades

Son diagramas que se encuentran dentro de una actividad mayor

Page 92: Introduccion a Uml

Uso de Carriles (Swimlines)

Page 93: Introduccion a Uml

Diagramas de secuencia

Page 94: Introduccion a Uml

Tipos de mensajes

Page 95: Introduccion a Uml
Page 96: Introduccion a Uml

Diagrama de secuencia

Page 97: Introduccion a Uml

Diagramas de Estado

Page 98: Introduccion a Uml
Page 99: Introduccion a Uml

seudoestados

Page 100: Introduccion a Uml

seudoestados

Page 101: Introduccion a Uml

Diagramas de componentes

Page 102: Introduccion a Uml

La introducción de componentes

La representación gráfica es la siguiente:

Page 103: Introduccion a Uml

estereotipos

UML define cinco estereotipos estándar que se aplican a los componentes:

Executable: Especifica un componente que se puede ejecutar en un nodo.

Library: Especifica una biblioteca de objetos estática o dinámica.

Table: Especifica un componente que representa una tabla de una base de datos.

File: Especifica un componente que representa un documento que contiene código fuente o datos.

Document: Especifica un componente que representa un documento.

Page 104: Introduccion a Uml

Diagramas de Distribución

Page 105: Introduccion a Uml

¿Qué un diagrama de distribución?

Los Diagramas de Distribución muestran la disposición física de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos

Page 106: Introduccion a Uml

Nodos

Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene algo de memoria y, a menudo, capacidad de procesamiento.

Los nodos se utilizan para modelar la topología del hardware sobre el que se ejecuta el sistema. Representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes.

Page 107: Introduccion a Uml

Componentes

Los componentes son los elementos que participan en la ejecución de un sistema. Los nodos son los elementos donde se ejecutan los componentes.

Los componentes representan el empaquetamiento físico de los elementos lógicos. Los nodos representan el despliegue físico de los componentes.

La relación entre un nodo y el componente que despliega puede mostrarse con una relación de dependencia, o listando los nodos desplegados en un

compartimiento adicional dentro del nodo.

Page 108: Introduccion a Uml

Ejemplo

Page 109: Introduccion a Uml

Otros Diagramas

Page 110: Introduccion a Uml

Diagrama de requerimientos

Page 111: Introduccion a Uml

Diagrama de procesos

Page 112: Introduccion a Uml

Diagrama de interfaces

Page 113: Introduccion a Uml

Diagrama de navegación

Page 114: Introduccion a Uml

Diagrama entidad-relacion

Page 115: Introduccion a Uml

Notas finales

Page 116: Introduccion a Uml

Grado de complejidad

Page 117: Introduccion a Uml

Herramientas de desarrollo

Page 118: Introduccion a Uml

Herramientas de desarrollo

Page 119: Introduccion a Uml

Herramientas de desarrollo

Page 120: Introduccion a Uml
Page 121: Introduccion a Uml