Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Modelado Estructural y Paquetes de Software (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Operaciones: Ejemplos
dibujar
+ dibujar
set (nombre : String)
getID(): Integer
arrancar() {guarded}

Formato parámetro:
[direccion] nombre : tipo [= valor-por-defecto]
direccion puede ser : in, out o inout

Monografias.com

Clases Parametrizadas
«bind»
G
Tabla
count
capacity
put(G)
item() : G
Empleados
(Gp:) Tabla

Clase
Parametrizada
Instanciación

Monografias.com

Clases Estereotipadas
Clases del modelo o entidad, controlador e interface

Monografias.com

Relaciones
Dependencia
Un cambio en la especificación de un elemento afecta a otro elemento

Monografias.com

Estereotipos para dependencias
<>: relación de uso, el más común entre clases y se da por
defecto
<>: cliente y proveedor representan el mismo concepto en diferentes modelos
<>: entre una clase genérica y una instanciación
<>: dependencia de clase amiga
<>: un paquete importa los elementos de otro.
<>: similar a <>
<>: para casos de uso
<>: para casos de uso

Monografias.com

Relaciones
Generalización
“Es-un-tipo-de”
En el caso de un modelo de diseño o implementación denota una relación de herencia

Monografias.com

Relaciones
Asociación
Relación estructural que especifica que los objetos de un tipo están conectados con los de otro.
Multiplicidad (mínimo..máximo)
Ejemplos: 0..1, 1, 0..*, *, 1..*, 1..10, 2..25

Monografias.com

Agregación
Caso especial de asociación
Relación estructural parte-de
(Gp:) Empresa
(Gp:) 1..1
(Gp:) *
(Gp:) Departamento
(Gp:) 1..1
(Gp:) *

Asociaciones

Monografias.com

Navegabilidad
Asociaciones son bidireccionales
Posibilidad de limitar la navegación de una asociación a una sola dirección
Determina si una clase de la asociación tiene “conocimiento” de la otra.
Nivel de diseño o implementación

Monografias.com

Navegabilidad
class Pedido {
private Hashtable _itemsPedido;
private Date fecha;
private boolean esCompleto;
…}
class ItemPedido {
private Producto producto;
private int cantidad;
…}
Class Producto {
private Money precio;
private String descripción;
}

Monografias.com

Navegabilidad (UML 2.0)
A
B
A
B
A
B
A
B
A
B
Navegabilidad indefinida
Navegable de A a B, de B a A indefinida
Navegable en ambos sentidos
Navegable sólo de A a B
No navegable en ningún sentido

Monografias.com

Navegabilidad (Práctica habitual)
A
B
A
B
A
B
A
B
A
B
Navegabilidad en ambos sentidos
Navegable sólo de A a B
No se usa
No se usa
No se usa

Monografias.com

Visibilidad
Pública: + propietario
Protegida: # propietario
Privada: – propietario
Paquete: ~ propietario

Monografias.com

Asociaciones calificadas
Nivel Conceptual: “Dentro del mismo pedido no pueden existir dos líneas con el mismo producto”
Nivel Análisis: “El acceso a ItemPedido es indexado por productos”
Nivel Implementación: “Se usa una tabla para almacenar las líneas de pedido”

Monografias.com

Asociaciones calificadas
Class Pedido {
private Hashtable _lineasPedido;

public ItemPedido getItemPedido(Producto unProducto);
public void addItemPedido (Integer cantidad,
Producto elProducto);

}

Monografias.com

Agregación
Dos criterios:
Dependencia:
¿La existencia de una parte va ligada a la del agregado?
Exclusividad:
¿Una parte puede pertenecer a más de un agregado?
Habría cuatro posibles tipos de agregación; en UML hay dos: agregación y composición

Monografias.com

Composición
Forma “fuerte” de agregación
Una parte pertenece a un único agregado (exclusividad)
Si se elimina un agregado se eliminan todas sus partes (dependiente)
Una parte se puede añadir o eliminar en cualquier instante al agregado.

Monografias.com

Composición
agregado
partes
2

Monografias.com

Clases Asociación
Una asociación que también es una clase
Una asociación que posee sus propias características.
Una clase asociación añade una restricción:
“Sólo puede existir una instancia de la asociación entre cualquiera par de objetos participantes”
No podríamos modelar que una persona tiene diferentes contratos para una misma compañía a lo largo del tiempo.

Monografias.com

Ejemplo de clase asociación
Distinta semántica

Monografias.com

Asociaciones derivadas
Asociación Derivada

Monografias.com

Restricciones para Asociaciones
{or}
{subset}

Monografias.com

Restricciones para Asociaciones
Persona
Empresa
*
0..1
empleado
*
0..1
{ Persona.patrón=
Persona.jefe.patrón }
patrón
jefe
operario
“Un empleado trabaja para la misma empresa que su jefe”

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter