Metodologia de la Programación II Modelo Estructural Avanzado

Preview:

DESCRIPTION

Modelado avanzado de clases Modelado avanzado de relaciones Interfaces, tipos y roles Paquetes Modelado de instancias Componentes

Citation preview

ESCUELA:

NOMBRES:

Metodología y Tecnología de la Programación II

CICLO:

Ing. Patricio Abad Espinoza

Octubre- Febrero 2009

1

Ciencias de la Computación

BIMESTRE I Bimestre

CAPÍTULO 3: MODELADO ESTRUCTURAL AVANZADO

Modelado avanzado de clases Modelado avanzado de relaciones Interfaces, tipos y roles Paquetes Modelado de instancias Componentes

3.1 Modelado avanzado de clases ..

Las clases constituyen el bloque de construcción más importante de cualquier sistema Orientado a Objetos.

A pesar de su importancia, las clases son solo uno de los clasificadores que forman parte del modelo.

3

3.1 Modelado avanzado de clases

El proceso de desarrollo de software OO es incremental, es decir se agregan detalles conforme se avanza en el proceso.

4

Clasificadores

En UML hay dos tipos de elementos, los que no pueden tener instancias como los paquetes y los que pueden tener instancias, a los cuales se los conoce como clasificadores porque abstraen características comunes a todas sus instancias.

5

Clasificadores..

Interfaz Tipo de datos Asociación Señal Componente Nodo Caso de uso Subsistema

6

Clasificadores

7

Visibilidad

public + protected # private - package ~

8

Artículo

-Codigo- Nombre# Precio_compra

+ Crear()+ Listar_Precio()# Actualizar_costos()~ Listar_articulos()

Alcance

instance static

9

venta

- Codigo:Identificador- valor:moneda# iva_pct:numero

Mas elementos de las clases

10

Elementos abstractos, hojas y polimórficos

Otros elementos de la clases

Multiplicidad (restringe las instancias)

Atributos (características) [visibilidad] nombre [‘:’ tipo] [ ‘[’ multiplicidad ‘]’] [‘=’ valor inicial] [propiedad {‘,’ propiedad}]

11

ControladorRed

Puerto:consola[2..*]

3 Multiplicidad

Ejemplos de atributos

origen + origen origen:Punto origen : Punto =(0,0) id: Integer {readonly}

12

Operaciones

Sintaxis de la declaracióm[visibilidad] nombre [‘(’ lista parametros ‘)’]

[‘:’ tipo de retorno][propiedad {‘,’ propiedad}]

EjemploMostrar

+mostrar Set (n:nombre, s:string)obtenerID():Integer {guarded}

13

Parámetros de una operación

Signatura de una operación. Está dada por la lista de parámetros y el

tipo de datos que retorna.

Sintaxis de los parámetros [direccion] nombre:tipo[=valor def]

in out inout

14

Propiedades de una operación

leaf: no se puede implementar en sc.

query: no cambia el estado del sist.

sequential:único flujo al mismo tiempo

guarded:reduce semántica secuencial

concurrent:operación atómica

static: Operación global

15

Clases y operaciones abstrac.

16

3.2 Modelado avanzado de relaciones

Documenta redes de relaciones entre componentes a diferentes niveles de detalle, soportando ingeniería directa e inversa.

17

Dependencia

Relación de uso que especifica que un cambio en la especificación de un elemento puede afectar a otro elemento que lo utiliza, pero no necesariamente a la inversa.

Estereotipos bind - instantiate derive - powertype permit - refine instanceOf - use

18

Generalización

Es la relación más representativa del modelo orientado a objetos.

Establece la relación entre un elemento general y un tipo más específico.

La herencia simple normalmente es suficiente para la mayoría de los casos.

La herencia múltiple no es soportada por todos los lenguajes de programación.

19

Generalización..

20

Asociación

Navegación: Elimina la navegación bidireccional

Visibilidad Controla el acceso a objetos externos

Calificación Reduce la multiplicidad

Composición Agregación estructural

21

Asociación..

Clases asociación Contiene propiedades de las

asociaciones

22

Asociación..

Restricciones ordered set bag ordered set list o sequence readonly

23

Realización

24

Relaciones avanzadas

25

Componentes

26

Recommended