Modelo estructural

Solo disponible en BuenasTareas
  • Páginas : 10 (2431 palabras )
  • Descarga(s) : 40
  • Publicado : 20 de abril de 2010
Leer documento completo
Vista previa del texto
Contenidos
• Modelado Estructural – Diagramas de clases – Paquetes

1

Modelado estructural
• Se describen los tipos de objetos de un sistema y las relaciones estáticas que existen entre ellos.
– Clases – Interfaces – Relaciones de dependencia, realización, generalización y asociación (agregación, composición) – También pueden incluir paquetes y colaboraciones

• Un diagrama de clase esuna representación gráfica de un modelo estructural.
2

Modelado estructural
• Diferentes perspectivas. • Modelado Conceptual
– Conceptos del dominio del problema: atributos, restricciones y relaciones entre ellos.

• Modelo del Análisis
– Clases que corresponden a conceptos del dominio – Atributos y métodos

• Modelo del Diseño
– Incluye clases que corresponden a decisiones deldiseño

• Modelo de Implementación
– Clases que corresponden a un lenguaje de programación
3

Del Modelo Conceptual a las clases
• Los modelos de análisis se obtienen a partir del modelo conceptual:
– Conceptos se convierten en clases – Atributos de un concepto a atributos de la clase – Añadir comportamiento (métodos)

4

Del Análisis al Diseño
• Aparecen las clases del diseño
– – – – –Interfaces Patrones de diseño Estructuras de datos Persistencia Distribución

5

Pedido Desayuno dirección fecha hora descuento calcularPrecio() +pedido 1

Modelo del Análisis
+pedidos 1.. n +cliente 1

Cliente numeroCuent a direccion crearPedido()

+des ayuno

1.. n Desayuno numero 0..n

Desayuno Estandar nombre precio estilo 0.. n Comestible nombre cantidadMinima precio 1..nformaTransporte Parte cantidad

Cambio canti dad

0..n

6

Modelo del Diseño
IteradorCuenta

Cuenta 1 0..n

Domiciliacion

Ahorro

Corriente Operacion Periodica

7

Modelado estructural y del comportamiento
• Colaboraciones y Patrones de diseño tienen una parte estructural y otra de comportamiento.

Realizar Compra

Realizar Compra

8

Colaboración (parte estática)Usuario nombre nif email login 1 clave 1 Pedido numero tipoPago estado 1 caducidad ItemPedido unidades total 0..n

0..n

1..n

1 CarroCompra precio items 1 1.. n ItemCarro unidades total 0..n 1

1 Producto nombre desc ripcion precio

9

Colaboración (parte dinámica)
: Usuario 11: recalcularTotal() 1: añadirItem(codigo) 4: añadirItem(codigo) 2: añadirItem(codigo) 3: [primer producto]crear()

: MostrarProductos

: Añadir

: CarroCompras

6: [!nuevoItem]incrementarUnidades()

10: [nuevoItem]put(codigo,i)

5: i:=getItemCarro(codigo)

7: [nuevoItem]p:=get(codigo)

9: [nuevoItem]i:=creaItem(p)

: ItemCarro

: CatalagoProductos i : ItemCarro 8: [nuevoItem]p:=buscar(codigo)

: Producto

10

Patrón de diseño (parte estática)
Subject subjectState Attach()Detach() Notify() +observers 1..1 1..* Observer Update()

for all o in observers {o.update()}

ConcreteSubject subjectState getState() setState() +subject

ConcreteObserver observerState update() observerState= subject.getState()

11

Patrón de diseño (parte dinámica)
: Subject 1. setState() 1.1. notify() 1.1.1. update() 1.1.2. update() o1 : Observer o2 : Observer

12

IngenieríaDirecta e Inversa
• Ingeniería directa
– Transformar modelos en código en un lenguaje de programación determinado.

• Ingeniería inversa
– Obtener un modelo a partir de código. – Más difícil ya que hay pérdida de información al pasar de los modelos al código.

13

Clases
Cuenta ultimoCodigo codigo cliente saldo ultimasOperaciones getSaldo() getUltimasOperaciones() nuevoCodigo()Atributos

Operaciones

• No se tienen por qué mostrar todos los atributos y métodos • Agrupar los métodos usando estereotipos: , ,...

14

Interfaces
• Una interfaz es una colección de operaciones que especifica los servicios de una clase o componente.
Coll ection add() remove() size() contains() iterator()

Iterator next() hasNext()

15

Atributos
[visibilidad] nombre [: tipo]...
tracking img