La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Modelamiento con UML Ingeniería de Software I. Temas Modelamiento UML Elementos básicos Relaciones Diagramas Relaciones.

Presentaciones similares


Presentación del tema: "Modelamiento con UML Ingeniería de Software I. Temas Modelamiento UML Elementos básicos Relaciones Diagramas Relaciones."— Transcripción de la presentación:

1 Modelamiento con UML Ingeniería de Software I

2 Temas Modelamiento UML Elementos básicos Relaciones Diagramas Relaciones

3 Modelamiento

4 Modelo Representación de una parte de un sistema (aspectos relevantes) Ejemplo: Un Plano Una maqueta Un prototipo etc.

5 Ventajas Explorar diferentes soluciones Realizar análisis de costos y estimaciones Minimizar los riesgos y errores Simplificar la complejidad del mundo real omitiendo aspectos no tan importantes

6 Modelamiento Visual Mecanismo de comunicación Claro Fácil de modificar Generar productos a partir del modelo Documentar las decisiones tomadas

7 UML Unified Modeling Language

8 UML Es un lenguaje para la especificación, visualización, construcción y documentación de los diferentes elementos de un sistema de software Especificación UML

9 UML Desarrollado inicialmente por un equipo de personas (Rumbaugh, Jacobson, Booch) Adoptado en 1997 por OMG Versión actual: 1.4

10 UML No es una metodología ni un proceso No define etapas No define cómo elaborar cada diagrama Puede usarse en diversas metodologías Notación Sintaxis Semántica

11 UML Componentes de UML Elementos Relaciones Diagramas

12 Elementos básicos

13 Clase Colección de objetos con estructura, comportamiento, relaciones y semántica común Representa un concepto dentro del sistema Deben tener un nombre único dentro del paquete al cual pertenecen

14 Clase Estructura Atributos Comportamiento Operaciones (Métodos) Relaciones con otros elementos Notación Rectángulo con tres partes: Nombre, Atributos, Operaciones

15 Clase Nombre Clase atributo: tipo … método (parámetos): tipo …

16 Clase Ejemplo: Municipio -nombre: String -extensión: double -habitantes: int +setHabitantes(cantidad:int):String +getDensidad():double

17 Interfaz Conjunto de operaciones que caracterizan el comportamiento de un elemento No especifica estructura interna No tiene atributos No implementa las operaciones que define No es origen de asociaciones

18 Interfaz Notación Un rectángulo con dos partes: Nombre precedido de: > Operaciones Un círculo con el nombre de la interfaz en la parte inferior Ejemplo:

19 Interfaz ItemInventario > ItemInventario +getCódigo():String +establecerFecha (fecha:Date):void

20 Objeto Instancia de una clase Tiene: Identidad Valores Notación Rectángulo con dos partes: Nombre - Clase Atributos - Valores

21 Objeto nombre: Clase atributo = valor …

22 Objeto Ejemplo: capitalDepto: Municipio nombre = Cali extensión = 564 habitantes = unMunicipio: Municipio

23 Componente Parte modular y reemplazable de un sistema, que encapsula una implementación y expone un conjunto de interfaces Puede ser implementado por uno o más productos de software (artifacts), como archivos binarios o ejecutables

24 Componente Notación Nombre

25 Nodo Objeto físico que representa un recurso de procesamiento Incluyen Dispositivos de cómputo Recursos humanos Recursos mecánicos …

26 Nodo Notación

27 Use Case (Caso de Uso) Unidad de funcionalidad proporcionada por un sistema, formada por: Secuencia de mensajes intercambiados entre el sistema y elementos externos, y Acciones llevadas a cabo por el sistema

28 Use Case Notación Nombre

29 Actor Conjunto coherente de roles que los usuarios ejecutan cuando interactúan con el sistema Notación Nombre

30 Diagramas

31 Diagrama de clases Representación visual de la estructura estática del sistema Clasificadores (clases, interfaces, paquetes) Relaciones estáticas

32 Diagrama de clases Relaciones Asociación Generalización Dependencia Realización

33 Asociación Relación entre dos clasificadores (clases) que implica conexión entre las instancias Notación: nombre

34 Asociación Multiplicidad Número de instancias de una clase relacionadas con UNA instancia de la otra Ejemplos: * 2..5,8,10..20

35 Asociación Navegabilidad Roles rol ClaseA ClaseA

36 Asociación Ejemplo: EmpresaEmpleado empleadorempleado Trabaja 1..*0..2

37 Asociación Agregación Asociación Todo-Parte Ejemplo: PolígonoPunto 1 3..* vértice

38 Asociación Composición Agregación más fuerte. Una parte está incluida en UNA sola composición La composición es responsable por la disposición de sus partes.

39 Asociación Ejemplo: MateriaCurso 1..*

40 Generalización Relación entre un elemento más general (padre) y otro más específico (hijo) Jerarquía - Relación es

41 Generalización Ejemplo: SerVivo AnimalPlanta

42 Realización Relación entre una especificación y su implementación Significa que el cliente soporta (al menos) todas las operaciones definidas en el proveedor

43 Realización Ejemplo: > ItemInventario +getvalor():double Libro +Libro() +getvalor():double … Libro ItemInventario

44 Dependencia Relación no estructural entre dos elementos, donde un cambio en uno de ellos (el independiente) puede afectar al otro (el dependiente)

45 Dependencia Ejemplos: Libro ItemInventario Venta MateriasMatrícula

46 Diagrama de objetos Representa instancias de las clases y relaciones entre ellas (pueden ser temporales) Foto del estado del sistema en un momento dado Sirve para ejemplificar algún elemento complejo del sistema

47 Diagrama de objetos Ejemplo: Icesi: Empresa Andrés:Empleado Alexandra:Empleado Daniel:Empleado

48 Diagrama de componentes Diagrama de implementación Muestra la organización y las dependencias entre los componentes de software Incluye: Componentes Relaciones de dependencia (usando interfaces)

49 Diagrama de componentes Ejemplo: > Catálogo A B > Sesión Catálogo

50 Diagrama de deployment (despliegue) Diagrama de implementación Configuración de los elementos de procesamiento y los componentes de software en tiempo de ejecución Muestra qué componentes pueden ejecutarse en cada nodo

51 Diagrama de deployment Ejemplo: :compB :compA :Cliente :Servidor

52 Diagramas de interacción Permiten modelar el comportamiento Colección de interacciones (mensajes) entre instancias (objetos) para lograr un objetivo específico Muestra llamados, creación y destrucción de instancias

53 Diagramas de interacción Tipos Diagrama de Secuencia Énfasis en el tiempo (secuencia de los mensajes) Diagrama de Colaboración Énfasis en la estructura (relaciones entre los objetos)

54 Diagrama de secuencia Dos dimensiones: Vertical tiempo Horizontal instancias (no tienen orden) Elementos Línea de vida Representa la existencia de la instancia

55 Diagrama de secuencia Elementos (cont.) Activación o Foco de control Período durante el cual una instancia está llevando a cabo una acción Mensaje – Estímulo Comunicación entre dos instancias Invocar una operación Creación Destrucción Envío de una señal

56 Diagrama de secuencia Mensaje – Estímulo Anidado: Asíncrono: De retorno:

57 Diagrama de secuencia objeto:Clase nuevo:Clase new(…) mensaje(…) X

58 Diagrama de colaboración Representa diferentes instancias, sus roles, las relaciones entre ellas y sus interacciones La secuencia se indica numerando los mensajes Los enlaces entre las instancias pueden tener información adicional

59 Diagrama de colaboración Formato mensajes: Predecesor / Expresión de secuencia Valor de retorno := Nombre (lista de parámetros) 3.6 [x>0]: mover(5,7) 5 repaint() 1.2 *[i:=1..n]: dibujarSegmento(i)

60 Diagrama de colaboración objeto:Clase otro:Clase2 1 mensaje(…) rol nuevo:Clase3 new()

61 Diagrama de estados Describen el comportamiento de instancias de un elemento Máquinas de estado Pueden incluir variables Modelar comportamiento discreto

62 Diagrama de estados Elementos Estado Estado inicial Estado final Transición Entradas/Salidas Variables

63 Diagrama de estados Listo Eliminado terminar eliminar / control=0

64 Diagrama de actividades Variación de diagrama de estados Modelar procesos de negocio y flujos de datos/trabajo (workflow) Elementos adicionales: Subactividad Decisiones Íconos de control Bifurcaciones Carriles (Swimlanes)

65 Diagrama de actividades Calcular costo total Autorizar [costo>=50] [costo<50]

66 Diagrama de use case Representa la funcionalidad de un sistema, de acuerdo a la interacción con el exterior Puede mostrar gráficamente el límite del sistema Sirve como herramienta de comunicación con los usuarios

67 Diagrama de use case Relaciones Asociación: Actor-Use Case Generalización: Actor, Use Case Extends: Use Case – Use Case El comportamiento de un caso de uso (extendido) puede ser incluido en otro (base) Include: Use Case – Use Case El comportamiento de un caso de uso contiene al otro

68 Diagrama de use case Empleado Actualizar perfil Actualizar beneficios Administrador Actualizar valor hora >

69 Bibliografía The Unified Modeling Language User Guide. Booch, Jacobson, Rumbaugh The Unified Modeling Language Reference Manual. Rumbaugh, Booch, Jacobson. Especificación UML:


Descargar ppt "Modelamiento con UML Ingeniería de Software I. Temas Modelamiento UML Elementos básicos Relaciones Diagramas Relaciones."

Presentaciones similares


Anuncios Google