Uml

  • Uploaded by: AydeAlejosVega
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Uml as PDF for free.

More details

  • Words: 3,241
  • Pages: 57
Loading documents preview...
El Lenguaje Unificado de Modelado Ing. Romero Huayta,Alejandro

1

El Triángulo de Desarrollo de Software

Proceso

Notación

Herramienta Visual

2

El Lenguaje Unificado de Modelado Definición: El UML es un lenguaje gráfico para la especificación, visualización, construcción y documentación de modelos orientados a objetos que representan sistemas intensivos en software. = Unified Modeling Language

UML no es un método sino un lenguaje de modelamiento

3

Objetivo del UML Describir cualquier tipo de sistema en términos de diagramas orientados a objetos Algunas categorías de Sistemas Sistemas de Información Sistemas de Tiempo Real Sistemas Embebidos Sistemas Distribuidos Software de Sistemas Sistemas de Negocios

4

UML toma lo mejor de varios métodos Rumbaugh Jacobson

Booch Odell

Meyer

Clasificación

Pre y Post condiciones

Shlaer-Mellor Ciclo de vida de objetos

Harel

Máquinas de estado

Gamma et. al. Marcos de trabajo, patrones, notas

Embly Singleton clases

Wirfs-Brock Fusion

Responsabilidades

Descripción de operaciones, numeración de mensajes

5

Características del UML - Proporciona a los desarrolladores un lenguaje de modelamiento ampliamente aceptado y listo para usar. - Integra las mejores prácticas del desarrollo de software. - Permite el intercambio de modelos entre las diferentes herramientas de software. - Es independiente del lenguaje de programación y de métodos y procesos particulares de desarrollo de software. - Proporciona sus propios mecanismos de extensión - Agrupa los conceptos de orientación a objetos definiendo su significado.

6

Por qué aprender UML Porque UML es el lenguaje de modelado de objetos estándar dominante. -Porque es apoyado por metodólogos y empresas importantes en Tecnologías de Información. -Porque cuenta con la aprobación de la OMG como notación estándar. -Porque todas las herramientas modernas proporcionan soporte para UML. -Porque nos facilita el aprendizaje del enfoque orientado a objetos pues basta con aprender este estándar y no perdernos en toda la jungla de métodos y notaciones existentes. -

7

Breve historia del UML - Los lenguajes de modelado orientados al objeto comenzaron a aparecer a mediados de la década de '70. - El número de lenguajes que modelaban objetos aumentó de menos de 10 a más de 50 durante el período entre 19891994. - Muchos de los que utilizaban estos lenguajes no encontraban satisfacción completa en ninguno de ellos, esto motivó la llamada "Guerra de los Métodos".

8

. . . Breve historia del UML . . . La “Guerra de los Métodos” Existían muchos métodos y cada uno tenía un lenguaje de modelado propio. Esto dificultó el aprendizaje, aplicación, construcción, uso de herramientas, etc. Pugna entre los distintos gurús que defendían sus propios métodos y simbologías. Se observa la necesidad de una notación estándar.

9

. . . Breve historia del UML El desarrollo del UML comenzó en finales de 1994 en que Grady Booch y Jim Rumbaugh de Rational Software Corporation, comenzaron su trabajo sobre la unificación de los métodos de Booch y de OMT (Object Modeling Technique). A finales de 1995, Ivar Jacobson y su compañía de Objectory se unieron a Rational y combinaron sus métodos. Booch, Rumbaugh, y Jacobson, definieron el

UML 0,9 y 0,91 en junio y octubre de 1996.

10

. . . Breve historia del UML

UML 1.1

Sep ‘97 Ene ‘97

UML 1.0 Microsoft Oracle IBM, HP Etc.

Jun ‘96

UML 0.9

Oct ‘95

Método Unificado 0.8

Ivar Jacobson se une a Rational en otoño ‘95 James Rumbaugh se une a Rational en Oct ‘94

Use Case (OOSE) OMT

Booch

Otros métodos

11

Versiones del UML 1997 (Adoptada por OMG)

1998 (revisión editorial sin cambios significativos)

1999 (revisión menor públicamente disponible)

2000 (planificada una revisión menor)

2001 (planificada una revisión menor)

2002 (planificada una revisión mayor)

<<document>>

UML 1.1 <<document>> <<document>>

UML 1.2

ISO Publica especificación

<<document>>

UML 1.3 <<document>>

UML 1.4 <<document>>

UML 1.5 <<document>>

UML 2.0

12

Vistas de un modelo “Un modelo es una descripción completa de un sistema desde una perspectiva concreta”

Vista lógica

Vista de requerimientos

Vista de implementación

Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagrama de Secuencia Diagrama de Colaboración

Vista de despliegue

Vista de procesos

Diagrama de Estado Diagrama de Actividad Diagrama de Componentes Diagrama de Despliegue

13

Modelando con UML

Component Component Diagrams Diagramas Diagrams de

Use Case Use Case Diagramas de Diagrams Diagrams Casos de Uso

State State Diagramas de Diagrams Diagrams Clases

Despliegue

State State Diagramas de Diagrams Diagrams Componentes

Diagramas de Actividad

Modelo

Scenario Scenario Diagramas de Diagrams Diagrams Estados

State State Diagramas de Diagrams Diagrams Objetos Use Case Use Case Diagramas de Diagrams Diagrams Secuencia

Scenario Scenario Diagramas de Diagrams Diagrams Colaboración

14

1. Diagramas de Casos de Uso Definición Un Diagrama de Casos de Uso representa lo que hace el sistema y como se relaciona con su entorno. Representa los distintos requerimientos que hacen los usuarios de un sistema. Un diagrama de casos de uso esta compuesto por - Casos de uso - Actores - Relaciones entre ellos

15

Elementos Caso de Uso (Use Case) Es una secuencia de acciones realizadas por el sistema que producen un resultado observable y valioso para alguien en particular.

Nombre del Caso de Uso

Actor Un actor es un conjunto externo uniforme de personas, sistemas, o cosas que solicita un servicio al sistema que estamos modelando. Nombre

16

Relaciones entre los elementos Relaciones entre actores La única relación permitida entre los actores es la Relación de Generalización.

Director de Escuela

Usuario (Sist. Matrícula)

17

. . . Relaciones entre los elementos Relaciones entre un actor y un caso de uso La única relación permitida es una Asociación y se le conoce como Relación de Comunicación o <>.

<>

Registra Matrícula

Secretaria

18

. . . Relaciones entre los elementos Relaciones entre casos de uso Pueden ser de tres tipos: 1. Relación de generalización El Caso de Uso de A hereda la especificación del Caso de Uso B.

B

A

Cobranza en efectivo Realizar cobranza

Cobranza con tarjeta Cobranza con cheque

19

. . . Relaciones entre los elementos 2. Relación <> El caso de uso A siempre incluye (o usa) el comportamiento de B.

B

<> A

Ejemplo: Registrar matrícula

<> Validar usuario

Aperturar cursos

<>

20

. . . Relaciones entre los elementos 3. Relación <<extend>> El caso de uso A, extiende al caso de uso B. A ocurre en

casos especiales para extender B.

Ejemplo: <<extend>>

B

<<extend>> A

Registrar matrícula

Registrar matrícula extemporánea

21

Ejemplo de Diagrama de Casos de Uso Caso de uso Registrar Matrícula

Registrar matrícula extemporánea

<<extend>> Usuario

Registrar matrícula

<> <>

Secretaria

Validar usuario

<>

Aperturar cursos Director de <> Escuela

22

2. Diagramas de Clases Definición Un Diagrama de Clases muestra Clases (grupos de

objetos que tienen las mismas características y comportamiento) y sus relaciones. Estos diagramas son los más comunes en el modelado de sistemas orientados a objetos. Un diagrama de clases esta compuesto por: - Clases - Relaciones entre clases

23

Clases Definición: Es un conjunto de objetos que tienen los mismos atributos y comportamiento. Representación: Se representa mediante un rectángulo con tres partes: NombreClase Atributo1 Atributo2 ... Operacion1 operacion2

...

Automovil

Ejemplo: La Clase Automóvil Matricula

Color Velocidad Arrancar( ) Acelerar( ) Frenar( )

24

Relaciones entre Clases 1.- Relación de Dependencia 2.- Relación de Generalización 3.- Relación de Asociación 3.1.- Asociación de Agregación 3.2.- Asociación de Composición

25

. . . Relaciones entre Clases 1.- Relación de dependencia Es una relación semántica entre dos elementos en la cual un cambio en un elemento (el elemento independiente) puede afectar a la semántica del otro elemento (elemento dependiente). Video ... ... Grabar(c : canal)

Clase independiente

Clase dependiente

Televisión Canal

... ... cambiar(c : canal)

26

. . . Relaciones entre Clases 2.- Relación de generalización Es una relación entre dos clases en donde una de ellas, llamada subclase o clase hija (subclass o child), hereda los atributos y el comportamiento de otra, llamada superclase o clase padre (superclass o parent).

Clase Padre

Clase hija

Vehículo

Terrestre

camión

auto

Red

Aéreo

avión

helicóptero

WAN

LAN

27

. . . Relaciones entre Clases 3.- Relación de asociación Es una relación estructural que describe un conjunto de enlaces o conexiones entre dos o más objetos. Esta relación entre clases permite asociar objetos que colaboran entre si. Acta

0..*

1..*

Alumno

28

. . . Relaciones entre Clases 3.1.- Asociación de Agregación Es un tipo especial de asociación e indica que el objeto base utiliza al objeto incluido para poder funcionar. Si el objeto base desaparece no desaparecen los objetos incluidos. Muestra una relación todo - parte. Teclado Red

CPU Computadora

WAN

Monitor Mouse

LAN HUB

Hard Disk

29

. . . Relaciones entre Clases 3.2.- Asociación de Composición Es un tipo de asociación, en donde el tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. El objeto incluido sólo existe mientras exista el objeto base. El objeto se construye a partir de los objetos incluidos pero no podría existir si ellos. Ejemplo: El Hombre esta formado por cabeza, tronco y extremidades Hombre

Cabeza

Tronco

Extremidades

30

Ejemplo de diagrama de clases: Vuelo de un avion comercial

Motor Marca Año

Cliente Nombre Nacionalidad

1..4 1

1 1 Boleto Nro

* *

1

1

Avión NroPlaca Modelo

Vuelo IdVuelo FechaSal Destino

AvionCarga CapCarga

AviónPasajeros NroAsientos

31

3. Diagramas de Objetos Definición Un Diagrama de Objetos muestra una instancia prototípica de un Diagrama de Clases con el fin de ilustrar los objetos reales participantes en un determinado momento. Un Diagrama de Objetos tiene los mismos elementos que un Diagrama de Clase pero los objetos y sus atributos tienen valores conocidos.

32

Ejemplo de diagrama de objetos: Vuelo de un avion comercial :Cliente

:Motor Marca: General Motors Año: 1996

Nombre: Juan Pérez Nacionalidad: peruana

1..4

1 :AviónPasajeros 1 :Boleto Nro: 102030

* *

1

:Vuelo IdVuelo: 666 FechaSal: 01/01/2001 Destino: Lima

1 NroPlaca: XXX123 Modelo: Boeing 777 Nro: 555 Capacidad: 100

33

4. Diagramas de Secuencia Definición Un Diagrama de Secuencia muestra la interacción de un conjunto de objetos, poniendo énfasis en el orden cronológico del envío de mensajes entre objetos. Un diagrama de secuencia esta compuesto por: -

Objetos (o actores) Línea de vida de un objeto Activación o foco de Control Mensajes

34

Elementos de un Diagrama de Secuencia Objetos o actores objeto:Clase

Son las entidades que participan en la interacción para lograr una funcionalidad, éstas envían y o reciben mensajes.

Línea de vida de un objeto objeto:Clase

Indica la vida de un objeto durante la interacción y se representa mediante una línea vertical discontínua.

35

Elementos de un Diagrama de Secuencia Activación o foco de Control objeto:Clase

Muestra el periodo de tiempo en el cual el objeto se encuentra desarrollando una operación.

Mensajes objeto:Clase

objeto:Clase

Son las invocaciones que envia un objeto a otro para que realice una tarea.

36

Tipos de mensajes Mensaje Simple: Se usa cuando no se conocen detalles del tipo de comunicación o cuando no resulta relevante en el diagrama.

Mensaje Síncrono: El objeto que envia el mensaje espera a que el objeto que lo recibe le termine la operacion. El mensaje síncrono más comun es la llamada a procedimientos.

Mensaje Asíncrono: Cuando el objeto que envia el mensaje sigue con su trabajo sin esperar respuesta del objeto receptor del mensaje.

37

Ejemplo de Diagrama de Secuencia Un usuario desea imprimir un archivo para lo cual le envía la orden a la computadora, la cual a su vez se la envía al servidor de impresión siendo este el encargado de dirigirlo a la impresora. En caso de que la impresora este ocupada el archivo a imprimir se dirige hacia la cola de impresión, la cual en su momento le indicará al servidor de impresión que tiene el archivo pendiente por imprimir. Imprimir (arch)

:computadora

:ServidorImpresion

:impresora

:cola

Imprimir(arch) [ impresora OK] Imprimir(arch) [impresora !OK] Imprimir(arch)

38

5. Diagramas de Colaboración Definición: Un Diagrama de Colaboración muestra la interacción de un conjunto de objetos, poniendo énfasis en la estructura organizacional de los objetos que envían y reciben mensajes. Un diagrama de colaboración esta compuesto por: - Objetos - Enlaces - Flujo de Mensajes

39

Ejemplo de Diagrama de Colaboración Una nota de pedido contiene un renglón por cada artículo, que se está despachando. Si la cantidad del artículo que aún queda en almacén es menor que el punto de reorden, está lanza una orden de compra del artículo, si hay existencias el pedido se atiende. Prepara( )

:Pedido 1*[para cada renglón]: Prepara( ) :renglónPedido

1.3 reorden:=NecesitaReorden( )

1.1 Existe:=RevisaExistencia( )

:Artículo

1.2 [Existe]: descuenta( ) 1.5[Existe]:Entrega( ) :NotaSalida

1.4 [reorden]: colocarOrdenCompra( )

:OrdenCompra

40

Diagramas de Secuencia y Colaboración Ambos diagramas muestran la interacción entre objetos, pero el Diagrama de Secuencia reserva una dimension para el tiempo haciendo más fácil observar el orden de ejecución de los mensajes, mientras que el Diagrama de Colaboración los enumera. Ambos diagramas representan lo mismo y puede transformarse de uno a otro sin pérdida de información. Imprimir (arch)

:computadora

1: Imprimir(arch)

:impresora

1.1: [ impresora OK] Imprimir(arch) 1.2: [impresora !OK] Imprimir(arch)

:ServidorImpresion

:cola

41

6. Diagramas de Estados Definición: Describe el comportamiento de un elemento del modelo, mostrando la posible secuencia de estados en los que puede entrar el objeto y como cambia al reaccionar ante un evento durante su ciclo de vida. Un Diagrama de Estados esta compuesto por: - Estados - Eventos

evento

- Transiciones

42

Elementos de un Diagrama de Estados Estado: Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto esta esperando alguna condición, operación u evento, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Evento: Es una ocurrencia que puede causar la transición del objeto de un estado a otro. Transición: Una transición es una relación entre dos estados que indica que un objeto en un primer estado puede entrar a un segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre. Se representa como una línea sólida entre dos estados

Estado inicial

Estado1 Evento( ) Transición

Estado2

Estado final

43

Ejemplo de Diagrama de Estados Una cuenta bancaria puede estar activa, suspendida o cerrada. Cuando esta en activa puede a su vez estar en azul (si el saldo es +) o en rojo (si el saldo es -). Muestre su diagrama de estados. Activa en azul

retiro [saldo<0] / poner en rojo

en rojo

depósito [saldo>0] / poner en azul

suspender cuenta activar cuenta

Cerrada

cerrar cuenta

Suspendida

44

7. Diagramas de Actividad Definición: Muestra las operaciones que se realizan para conseguir un objetivo. Se utilizan para dar detalle a un caso de uso, modelando los flujos de trabajo u operaciones. Un Diagrama de Actividad esta compuesto por: - Estados de actividad o simplemente Actividad - Estados de acción o simplemente Acción - Transiciones

45

Elementos de un Diagrama de Actividad Actividad.- Conjunto de acciones que buscar cumplir un objetivo. No son atómicos es decir pueden descomponerse. Pueden ser interrumpidos y se consideran que toman algún tiempo en completarse. Acción.- Es una actividad que no se puede descomponer y permiten modelar un paso dentro de un algoritmo. Se considera que su ejecución toma un tiempo insignificante. Transiciones.- Es el paso de una actividad a otra, una transición ocurre al finalizar una actividad. Otros elementos Decisión Barra de Sincronización

Carriles

Estados inicial y final

46

Ejemplo de Diagrama de Actividad Muestre un proceso común de una solicitud de servicio.

Cliente Sol. de servicio

Vendedor

Jefe Ventas

Pide datos cliente Pide datos Servicio

Decide costo

Consulta tarifa [Tarifa no OK] [Tarifa OK]

Negoc. condiciones

Consulta disponib. Ingresa orden

47

8. Diagramas de Componentes Definición: Un diagrama de componentes muestra las dependencias lógicas entre componentes software, tales como archivos de código fuente, binarios, ejecutables, tablas, etc. Un Diagrama de Componentes esta compuesto por: - Componentes - Interfaces - Relaciones de realización y dependencia

48

Elementos de un Diagrama de Componentes Componentes.Son cada una de las partes físicas y reemplazable de un sistema. Se dice que es parte física en el sentido en que viven en el mundo de bits y no son sólo esquemas conceptuales. Se dice que es reemplazable pues puede ser reemplazado por un nuevo componente que mejore la funcionalidad o añada alguna sin que afecte a otros componentes. Esto se logra mediante el uso de interfaces bien definidas las cuales son implementadas por los componentes.

nombre

49

. . . Elementos de un Diag. de Componentes Interfaces.- Es una colección de operaciones que son usadas para especificar un servicio provisto por una clase o un componente. Esto permite utilizar los servicios sin abrumarnos con sus detalles de implementación asimismo se puede cambiar los componentes pero si sus interfaces son las mismas entonces este cambio es inmediato y no afecta al resto del sistema.

Interface

<>

50

Relaciones entre Componentes Relación de realización.- El componente que realiza o implementa la interfaz es conectado mediante una línea discontínua terminada en una cabeza de flecha hueca.

<>

Relación de dependencia.Ocurre entre las componentes que utilizan la interfaz implementada por otra componente y la respectiva interfaz. Se representa con una línea discontínua con cabeza de flecha abierta.

51

Estereotipos de Componentes executable.- son componentes que pueden ejecutarse en un nodo. library.- son las librerías estáticas o dinámicas. table.- un componente que es una tabla de una base de datos. file.- un componente que es un archivo de código fuente o datos. document.- un componente que es un documento.

52

Ejemplo de un Diagrama de Componentes Se tiene un robot que es manejado mediante la librería manejo.dll, la cual implementa dos grupos de interfaces Imanejo e Iautoprueba. La interfaz Imanejo es utilizada por camino.dll, la cual proporciona el comportamiento a seguir cuando el robot se desplaza sin contratiempos. Si el robot encuentra algún obstáculo, camino.dll utiliza a colision.dll. Periódicamente, el robot se autocomprueba, para ello manejo.dll, cuenta con la interfaz Iautoprueba la cual es utilizada por test.dll que le ordena las pruebas que debe realizar. Muestre los componentes y sus interfaces mediante un Diagrama de Componentes

Manejo.dll

Imanejo

Camino.dll

Iautoprueba Test.dll

Colisión.dll

53

9. Diagramas de Despliegue Definición: Muestra el hardware en donde será desplegado los componentes de nuestro sistema. Esto significa que muestra las relaciones fisicas entre el software y el hardware. Un Diagrama de Despliegue esta compuesto por: - Nodos - Conexiones entre nodos

54

Elementos de un Diagrama de Despliegue Nodos: Representación de cualquier tipo de hardware sobre el cual correrá o del que se servirá nuestro sistema. Será un Procesador, si tiene capacidad de proceso como una PC. <<procesador>>

Será un Dispositivo si no tiene capacidad de proceso. Vienen a ser los equipos que sirven de interfaz con el mundo real como teléfono, impresora, sensores, etc. <>

Conexiones: Los nodos se conectan mediante asociaciones de comunicación fisica o no, como conexión satelital, cable serial, señal infraroja, etc.

55

Ejemplo de un Diagrama de Despliegue Un usuario que se conecta vía Internet a un Servidor de Aplicaciones de una empresa. En este instante el componente CLIENTE viaja desde el Servidor de Aplicaciones hacia la PC del usuario, luego el componente CLIENTE puede solicitar algún servicio al componente APLICACION el cual buscará los datos necesarios en el componente BD ubicado en el Servidor de Base de Datos.

<<procesador>> PC usuario

<>

<<procesador>> Servidor de Aplicaciones

<>

<<procesador>> <>Servidor de BD

Cliente BD

Cliente Aplicación

56

Conclusiones: 1. El UML es el lenguaje estándar a nivel mundial para representar modelos orientados a objetos de sistemas intensivos en software. 2. Debemos utilizarlo en todos nuestros modelos para poder comunicarnos con otros desarrolladores.

57

Related Documents

Uml
February 2021 7
Uml
February 2021 7
Uml
January 2021 4
Cours Uml
January 2021 1
Apostila Uml
January 2021 4
Exercitando Uml
January 2021 1

More Documents from "tobydf"

Uml
February 2021 7