Story Transcript
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