Diagramas de Estructura Definen la arquitectura estática de un modelo. Se utilizan para modelar las cosas que hace un modelo, las clases, los objetos, las interfaces y los componentes físicos. Además se utilizan para modelar las relaciones y las dependencias entre los elementos. Se centra en los aspectos independientes del tiempo, mostrando los tipos del sistema, sus instancias, las relaciones entre ellos e incluso su estructura interna.

1

Diagramas de Clases Clases: corresponden a la descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Aspectos importantes dentro de una clase :  Nombre.  Atributos.  Operaciones.  Responsabilidad.

2

Diagramas de Clases

Extraído de Notas de Clases de .EISULA. Dpto. De Computación. Isabel Besembel C. Base de Datos.

3

Diagramas de Clases 

Nombre : le permite a una clase poder distinguirla de otra. Una clase puede dibujarse sólo mostrando su nombre. Ejemplo: Estudiante



Atributos: propiedad de una clase identificada con un nombre que determina un rango de valores. Los atributos pueden tener diferente visibilidad. Es visible si puede ser referenciado desde otras clases diferentes a donde esta definido, se definen como públicos(+) ,privados(-) ó protegidos (#)

4

Diagramas de Clases Ejemplo Estudiante + Nombre: String + FechaNac: Date

Atributos

+ Direccion:String



Operaciones :son utilizadas para manipular los atributos o realizar otras acciones. Normalmente son llamadas funciones o métodos (dependiendo si retornan algún valor), pero están dentro de una clase y pueden aplicarse solo a objetos de esa clase.

5

Diagramas de Clases 

Responsabilidades : una responsabilidad es un contrato o una obligación de una clase. Al crear una clase, se está expresando que todos los objetos de esa clase tienen el mismo tipo de estado y el mismo tipo de comportamiento.

Gráficamente las responsabilidades se pueden expresar en un comportamiento separado al final del icono de la clase, como se presenta en la siguiente figura:

6

Diagramas de Clases Ejemplo Agente de Fraudes

Responsabilidades

Las responsabilidades son sólo texto libre

responsabilidades

-determinar el riesgo del pedido de un cliente. -gestionar los criterios de fraude específicos para cada cliente.

7

Diagramas de Clases Se conoce como la firma de la operación a el nombre de la Operación, su tipo de valor que regresa y los parámetros que utiliza. Un objeto se especifica con una firma o con precondición, post-condición algoritmo y el efecto que tiene sobre un objeto.  La precondición debe ser cierta antes de que la operación pueda ejecutarse.  La post-condición debe ser cierta después de que la operación sea ejecutada. 8

Diagramas de Clases Ejemplo Estudiante + Nombre: String + FechaNac: Date

Atributos

+ Direccion:String

+ CalcularProm() + CalcularEdad() :Edad

Operaciones

9

Diagramas de Clases Relaciones entre Clases: permiten modelar cómo se Relacionan las clases entre sí, refleja la conexión entre elementos. Gráficamente la relación se representa con una línea. Las relaciones más importantes son: 

Dependencia: refiere a la relación donde un elemento utiliza la información de otro elemento. En otras palabras, refiere a que un elemento usa a otro, pero no necesariamente a la inversa.

10

Diagramas de Clases Una dependencia puede tener:  Un nombre para indicar su rol.  Un estereotipo para distinguir diferentes variedades de dependencias. Se representa con una flecha discontinua entre los dos Elementos. Ejemplo Dependencia PeliculaVideo

Canal

11

Diagramas de Clases 

Generalización: es una relación entre un elemento general (superclase) y un caso más específico de ese elemento (subclase). Es una relación “es-un-tipo-de”. Se representa como una línea dirigida continua, con una punta de flecha vacía apuntando al padre. Se utilizará cuando se quiere mostrar relaciones de padre-hijo.

12

Diagramas de Clases Ejemplo de Generalización: Superclase (Padre) FIGURA

Rectangulo

Circulo

Poligono

Subclase (hijo) 13

Diagramas de Clases 

Asociación: corresponde a una relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro. Se emplea para agregar información extra sobre un enlace; por ejemplo, el tiempo en que el link fue creado. Cada enlace está asociado a un objeto de la clase de asociación.

Jugador

Participa en

Equipo Negociado por

Contrato

Director General

14

Diagramas de Clases 

Asociación binaria: conecta o asocia sólo dos clases.



Asociación Ternaria: conecta o asocia tres clases. Compañía Aseguradora

1 Asegurador

0..*

Contrato de Seguros 0..* 0..1 1..*

Póliza de Seguros

Asegurado

Persona

15

Diagramas de Clases Hay elementos que se aplican dentro de una Asociación: Nombre: describe la relación.  Rol: papel que la clase juega dentro de la relación.  Multiplicidad: cardinalidad de la relación. 

Asociación Persona

empleado

Empresa

patrón

16

Diagramas de Clases 

Agregación: es un caso especial de asociación, indica que la relación entre las clases es de alguna forma parte de un “todo”. Se describen diferentes niveles de abstracción. Se indica con rombo en blanco en el lado de la clase que agrupa a las demás.  Se puede tener una restricción en una agregación, como en la relación {O} que se indica con línea punteada

17

Diagramas de Clases Ejemplo

Comida 1

{O}

1

1

Comida

Ensalada

1

1

PlatoFuerte

Postre

Una composición es una agregación donde cada componente puede pertenecer tan solo a un todo. Se representa con diamante sólido. 1

Tablero

9

Cuadros

18

Diagramas de Clases Ejemplo: Diagrama de Clases de un Punto de Venta Registra-venta-de Descritas-por 1

Catalogo deProducto *

1 *

VentasLinea deProducto cantidad

0..1

1

1..*

1

Venta Fecha Hora Pagado-por 1

1

Pago Monto

1

1 1..*

1 Capturadas-en

Usado-por

1

1

Codigode barras 1 * Describe

Almacena *

Producto

1

Contiene

TPDV

1

*

1..*

Tienda Dirección Nombre

Capturas terminadas

Contenidas-en

Contiene

Especificacion deProducto Descripcion Precio

1

Iniciado-por

Registra-ventas-en

1

Gerente

Iniciado-por 1

Cliente

1

Cajero

19

Diagramas de Clases Notación de Diagramas de Clases

20

Diagramas de Comportamiento 

Capturan las variedades de interacción y de estado instantáneo dentro de un modelo en un determinado momento.



Se emplean para visualizar, especificar, construir y documentar los aspectos dinámicos de un sistema.



Los aspectos dinámicos de un Sistema software involucran cosas tales como flujo de mensajes a lo largo del tiempo y el movimiento físico de componentes en una red.

21

Diagramas de Casos de Uso 

Se utilizan para modelar interacciones usuario/sistema.



Definen comportamiento, requisitos y restricciones en la forma de posibles escenarios.



Muestra un conjunto de casos de uso, actores y sus relaciones.



Es una colección de situaciones que ocurren cuando un actor usa un sistema para completar un proceso.

22

Diagramas de Casos de Uso 

Cada caso de uso necesita representar una tarea, o una unidad coherente de funcionalidad, la cuál necesita ser soportada por el sistema.



El modelo de caso de uso captura los requerimientos de un sistema. Los casos de uso son los medios de comunicación con los usuarios y otros actores sobre lo que se piensa que debe hacer el sistema.

23

Diagramas de Casos de Uso Normalmente un Diagrama de Casos de Uso contiene: 

Sujeto: sistema que se modela.



Casos de Uso: unidades funcionales completas.



Actores: entidades externas que interactúan con el sistema.



Relaciones entre actores y casos de uso.  Asociación 24

Diagramas de Casos de Uso 

Relaciones entre casos de uso :



Generalización: Un caso de uso también se puede especializar en uno o más casos de uso hijos.



Inclusión: (Include)Un caso de uso puede incorporar el comportamiento de otros casos de uso como parte de su propio comportamiento.



Extensión: (Extend) Un caso de uso también se puede definir como una extensión de un caso de uso base.

25

Diagramas de Casos de Uso Ejemplo

Reabastecer Punto de extensión llenar los compartimientos

«include»

«include»

«extend» (llenar los Compartimientos)

Exhibir el interior

Cubrir el interior

Reabastecer de Acuerdo a las ventas

26

Diagramas de Casos de Uso Construcción de Casos de Uso  Un caso de uso debe ser simple, inteligible, claro y conciso  Generalmente hay pocos actores asociados a cada Caso de Uso  Preguntas clave: ¿cuáles son las tareas del actor? ¿qué información crea, guarda, modifica, destruye o lee el actor? ¿debe el actor notificar al sistema los cambios externos? ¿debe el sistema informar al actor de los cambios internos? 27

Diagramas de Casos de Uso Construcción de Casos de Uso (cont)  Cada actor y caso de uso debe tener un nombre único 

Los actores deben tener nombres y/o íconos representativos, los nombres deben indicar roles



Los casos de uso de un diagrama deben estar todos a un mismo nivel de abstracción



Evite el cruce de líneas

28

Diagramas de Casos de Uso Construcción de Casos de Uso (cont) 

Evite tener demasiados casos de uso en un mismo diagrama. Use la regla de 5±2



Evite el uso complejo de relaciones de extensión e inclusión. No más de tres niveles de relaciones consecutivas

29

Diagramas de Casos de Uso Ejemplo de un Diagrama de Casos de Uso Sist. de Información de Biblioteca

Recursos para Prestamo

Agregar recursos Usuario

Bibliotecario Regresar Recursos

30