Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Ingeniería de Software I
Modelamiento con UML Ingeniería de Software I
2
Temas Modelamiento UML Elementos básicos Relaciones Diagramas
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 Generar productos a partir del modelo
Mecanismo de comunicación Claro Fácil de modificar Generar productos a partir del modelo Documentar las decisiones tomadas
7
Unified Modeling Language
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 Notación 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 Comportamiento Relaciones con otros elementos
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 Ejemplo: Un rectángulo con dos partes:
Nombre precedido de: <<interface>> Operaciones Un círculo con el nombre de la interfaz en la parte inferior Ejemplo:
19
<<interface>>
Interfaz <<interface>> ItemInventario +getCódigo():String +establecerFecha (fecha:Date):void ItemInventario
20
Objeto Instancia de una clase Tiene: Notación Identidad Valores
Rectángulo con dos partes: Nombre - Clase Atributos - Valores
21
Objeto nombre: Clase atributo = valor …
22
Objeto Ejemplo: capitalDepto: Municipio unMunicipio: 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: 1 0..4 1..* 2..5,8,10..20
35
Asociación Navegabilidad Roles rol ClaseA ClaseA
36
Asociación Ejemplo: Empresa Empleado empleador empleado Trabaja 1..*
0..2
37
Asociación Agregación Asociación Todo-Parte Ejemplo: Polígono Punto 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: Materia Curso 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 Animal Planta
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
<<interface>>
Realización Ejemplo: <<interface>> ItemInventario +getvalor():double Libro +Libro() … 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 Materias Matrí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: Alexandra:Empleado Icesi: Empresa
Andrés: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: A B <<EJBSession>> Sesión Catálogo <<EJBEntity>> 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: :Servidor :Cliente :compA :compB
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: Elementos 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
Actualizar beneficios
Diagrama de use case Empleado Actualizar perfil Actualizar beneficios Administrador Actualizar valor hora <<include>>
69
Bibliografía The Unified Modeling Language User Guide. Booch, Jacobson, Rumbaugh The Unified Modeling Language Reference Manual. Rumbaugh, Booch, Jacobson. Especificación UML:
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.