metodologia de la programación ii modelo estructural avanzado
DESCRIPTION
Modelado avanzado de clases Modelado avanzado de relaciones Interfaces, tipos y roles Paquetes Modelado de instancias ComponentesTRANSCRIPT
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