Download - IDP 02 Modelos estructurales (I)
-
7/27/2019 IDP 02 Modelos estructurales (I)
1/74
Mster en Ingeniera del Software, Mtodos Formalesy Sistemas de Informacin
TEMA 2: MODELOSESTRUCTURALES
INGENIERA DE LA PROGRAMACIN
-
7/27/2019 IDP 02 Modelos estructurales (I)
2/74
Contenidos
1. Introduccin2. Clases3. Asociaciones yenlaces
4. Agregacin5. Generalizacin /Especializacin6. Clases abstractas
7. Herencia mltiple8. Restricciones yAsociaciones exclusivas
9 Interfaces10 Paquetes11 Diagramas deComponentes
12 Diagramas deDespliegue
2
-
7/27/2019 IDP 02 Modelos estructurales (I)
3/74
Introduccin13
-
7/27/2019 IDP 02 Modelos estructurales (I)
4/74
Modelos estructurales4
El modelo de objetos o diagrama de clasesrefleja la estructura esttica del sistema. Es la herramienta principal de la mayor parte de
los mtodos OO. Contiene clases relacionadas con otras clases,
mediante asociaciones y relaciones degeneralizacin / especializacin.
Cuando sea conveniente se pueden utilizartambin diagramas que contengan objetos,llamados diagramas de instancias.
-
7/27/2019 IDP 02 Modelos estructurales (I)
5/74
Objetos5
Un objeto es un concepto, abstraccin, ocosa que tiene sentido dentro delcontexto de una aplicacin. En definitiva,
una encapsulacin de datos yoperaciones. Los objetos aparecen como nombres
propios o como referencias especficasdentro de la descripcin del problema oen las discusiones con el usuario.
-
7/27/2019 IDP 02 Modelos estructurales (I)
6/74
Modelo de objetos
PersonaCasa Coche
Gap Semntico
Modelo
Mundo Real
vive conduce
6
-
7/27/2019 IDP 02 Modelos estructurales (I)
7/74
Identidad de los objetos7
El identificador de objetos (OID) es unacaracterstica que permite diferenciar dosocurrencias de un objeto con el mismoestado.
Durante la fase de anlisis se asume que losobjetos poseen identidad, en la fase deimplementacin se puede elegir unaaproximacin para realizarla: Direcciones de memoria: en lenguajes de
programacin. Combinacin de valores de atributos: en bases
de datos Nombres nicos (surrogates): en algunos
sistemas orientados a objetos.
-
7/27/2019 IDP 02 Modelos estructurales (I)
8/74
persona1
persona2
Surrogates:
Persona01, Persona02
Direcciones de memoria
Base de datos relacional
Nom: String
Edat: Integer
Persona
Id Nom Edat
1 Pepe 30
2 Pepe 30
Pepe:Persona30
Pepe:Persona30
Ejemplos de OID8
-
7/27/2019 IDP 02 Modelos estructurales (I)
9/74
Clases29
-
7/27/2019 IDP 02 Modelos estructurales (I)
10/74
Clases: notacin10
Una clase es la descripcin de un grupode objetos con estructura,comportamiento y relaciones similares.
Se puede aadir un 4 compartimiento para definir
responsabilidades, descripcin de la clases, etc.
Nombre de la clase
Atributos
Operaciones
NombreClase
+attribute1:type = defaultValue
+attribute2:type
-attribute3:type
+operation1(params):returnType
-operations2(params)
-operation3()
-
7/27/2019 IDP 02 Modelos estructurales (I)
11/74
Clases y instancias
Una clase es unaabstraccin
Un objeto es una
manifestacinconcreta de esaabstraccin.
11
Nombre: StringPoblacio: Integer
Ciutat
Houston: CiutatNombre: Houston TX
Poblacion: 3000000
-
7/27/2019 IDP 02 Modelos estructurales (I)
12/74
Atributos: notacin12
Un atributo es una propiedad de una clase identificadacon un nombre, y caracterizada por un rango de valoresque puede tomar (un tipo).
Notacin[visibilidad] Nombre [: Tipo] [= valor_inicial]
donde visibilidad puede ser:+ = Pblica# = Protegida- = Privada (por defecto)
= implementacin o paquete
Los tipos permitidos para los atributos son tiposbsicos (integer, real, char, string, etc.), no objetos.
+ nom: string# edad: int- direccion: string
~ telefono: string
Persona
-
7/27/2019 IDP 02 Modelos estructurales (I)
13/74
Atributos vs relaciones13
Los atributos no incluyen referencia a otrosobjetos, estas referencias se representanmediante relaciones (enlaces).
En el modelo de objetos no deben aparecer
atributos que acten como identificadores deobjetos. Salvo si son identificadores naturales
Coche
Matrcula
color
Aeropuerto
IDAeropuerto
CdigoAeropuerto
Nombre
ZonaHoraria
Bueno para anlisis y diseo Mal modelo para anlisis, bueno para diseo
-
7/27/2019 IDP 02 Modelos estructurales (I)
14/74
Operaciones14
Una operacin se corresponde con unservicio que puede ser requerido acualquier objeto de la clase.
Una operacin es una funcin otransformacin que puede ser aplicada alos objetos.
Un mtodo es la implementacin de unaoperacin.
-
7/27/2019 IDP 02 Modelos estructurales (I)
15/74
Operaciones: notacin15
Las operaciones se definen de la siguiente forma:[visibilidad] Nombre( [comalista_parmetros] ) [:
Tipo_Resultado]
donde visibilidad puede ser:+ = Pblica (opcin por defecto)#= Protegida- = Privada~ = Paquete
#Reiniciar()~ponerAlarma(t:float)+temperatura():float
SensorTemperatura
-
7/27/2019 IDP 02 Modelos estructurales (I)
16/74
Operaciones tpicas16
Las operaciones que cambian el estado deun objeto se dice que tienen efectoslaterales.
Las operaciones que no tienen efectoslaterales y que nicamente calculan unvalor funcional se llaman consultas.
Las consultas devuelven el valor de losatributos de los objetos.
-
7/27/2019 IDP 02 Modelos estructurales (I)
17/74
Atributos derivados17
Un atributo se dice que es derivado si puedecalcularse en cualquier momento a partir delvalor de otros atributos.
La notacin para la informacin derivada esla siguiente:/Nombre_Atributo: Tipo
Producto
-nombre:string
-id:string
-precio:float
/precioConIva
-
7/27/2019 IDP 02 Modelos estructurales (I)
18/74
Relaciones entre clases/objetos
Relacin
Agregacin
Composicin
Uso
Dependencia
Herencia
18
TIENE UN ES UN
-
7/27/2019 IDP 02 Modelos estructurales (I)
19/74
Relaciones entre clases
Relacin DescripcinAsociacin Objetos tipo X y tipo Y se relacionan entre s
Uso Objetos de clase X usan objetos tipo Y que no sonatributos de X
Dependencia Como uso, pero adems los objetos tipo Y noexisten independientemente de los de tipo X
Agregacin Objetos de tipo X tienen atributos de tipo Y
Composicin Como agregacin, pero adems los objetos tipo Y
no existen independientemente de los de tipo XHerencia Objetos de tipo X son un subconjunto de los
objetos de tipo Y
19
-
7/27/2019 IDP 02 Modelos estructurales (I)
20/74
Relaciones entre clases en Java
Relacin entreClases Mecanismo JavaUso ydependencia
Referencias a objetos en parmetros y variableslocales
Agregacin y
ComposicinReferencias a objetos en atributos
Herencia Herencia simple mediante derivacin (extends)Herencia mltiple mediante implementacin de
mltiples interfaces (implements)Otras relaciones Organizacin en paquetes y subpaquetes
(package)
20
-
7/27/2019 IDP 02 Modelos estructurales (I)
21/74
Relaciones entre clases en UML21
Asociacin Uso Dependencia Agregacin Composicin
Herencia Realizacin
TIENE UN
ES UN
-
7/27/2019 IDP 02 Modelos estructurales (I)
22/74
Asociaciones y enlaces322
-
7/27/2019 IDP 02 Modelos estructurales (I)
23/74
Asociaciones y enlaces23
Un enlace es una conexin fsica oconceptual entre objetos. Una asociacin es una relacin estructural
que especifica que los objetos de unelemento estn conectados con losobjetos de otro.
Las asociaciones aparecen en el diagramade clases, mientras que los enlacesaparecen en el diagrama de instancias.
-
7/27/2019 IDP 02 Modelos estructurales (I)
24/74
Asociaciones24
Cada asociacin en el diagrama de clasesse corresponde con un conjunto deenlaces en el diagrama de instancias.
Dada una asociacin entre dos clases, sepuede navegar en los dos sentidos, desdeobjetos de una clase a objetos de la otra.
Asociaciones binarias son aquellas queconectan dos clases.
-
7/27/2019 IDP 02 Modelos estructurales (I)
25/74
Madrid: Ciudad
Nombre Ciudad: Madrid
poblacin: 3.000.000
Ciudad
Nombre Ciudad
poblacin
Ba: Aeropuerto
Nombre Aeropuerto : Barajas
Ge: Aeropuerto
Nombre Aeropuerto: Getafe
Da servicio Da servicio
Aeropuerto
Nombre Aeropuerto
CodigoAeropuerto: BA CodigoAeropuerto: Ge
CodigoAeropuerto
Da servicio
Nombre Asociacin
multiplicidad
Diagrama de instancias
Modelo de objetos
**
Asociaciones y enlaces25
-
7/27/2019 IDP 02 Modelos estructurales (I)
26/74
Asociaciones y enlaces
Madrid: Ciutat
Nom Ciutat: Madrid
poblaci: 3.000.000
Ciutat
Nom Ciutat
poblaci
Ba: Aeroport
NomAeroport: Barajas
Ge: Aeroport
Nom Aeroport: Getafe
Dona servei Dona servei
Aeroport
NomAeroport
CodiAeroport: BA CodiAeroport: Ge
CodiAeroport
Dona servei* *
Diagrama de instancias
Diagrama de clases
26
-
7/27/2019 IDP 02 Modelos estructurales (I)
27/74
Asociaciones y enlaces27
Durante el anlisis las referencias a objetosse representan mediante enlaces, los enlacessimilares se representan medianteasociaciones.
Persona-Nom:String = ''
-Adrea: String;
+Departament:String;
+AssignarDepartament(d:String);
EmpresaTreballa Per a
* 1
p:Persona E:Empresa
AssignarDepartament(Vendes);
-
7/27/2019 IDP 02 Modelos estructurales (I)
28/74
Atributos vs asociaciones28
Durante el diseo las asociaciones se puedenrepresentar con punteros, claves ajenas, etc.
En el mbito conceptual no existe ningunadiferencia entre un atributo y una asociacin.
En el mbito de la implementacin lasemntica es distinta: Atributos: Semntica de valor Tipo: integer, float, string,..
Asociaciones: Semntica de referencia
-
7/27/2019 IDP 02 Modelos estructurales (I)
29/74
Anlisis vs diseo29
Ciudad
Nombre Ciudad
Poblacin
Aeropuerto
Nombre Aeropuerto
CdigoAeropuerto Da servicio
Modelo de anlisis
Aeropuerto
Nombre AeropuertoCdigoAeropuerto
Ciudad
Nombre Ciudad
Poblacin
Aeropuertos
Aeropuerto
Nombre Aeropuerto
CdigoAeropuertoCiudades
Ciudad
Nombre Ciudad
Poblacin
Modelos de diseo
* *
-
7/27/2019 IDP 02 Modelos estructurales (I)
30/74
Asociaciones no binarias30
Las asociaciones pueden ser binarias,ternarias o de orden mayor.
asociaciones
enlaces
Proyecto Persona
Lenguaje
Proyecto Lenguaje
Persona
LenguajeProyecto
Maria
Gestin
C
Cobol
Auto Cad
-
7/27/2019 IDP 02 Modelos estructurales (I)
31/74
Multiplicidad31
1 Uno y slo uno5 Necesariamente cinco0..1 Cero o unoM..N De M a N* De 0 a muchosn De 0 a muchos0..* De 0 a muchos
1..* De 1 a muchos
-
7/27/2019 IDP 02 Modelos estructurales (I)
32/74
Ejemplo32
Motor Vendedor de billetes
Avin
1..4
1
1..4
1
Piloto
Reserva
n
1
n
1
Lnea area
Vuelon1 n1
1..2
n
1..2
n
n1 n1
1
n
1
n
-
7/27/2019 IDP 02 Modelos estructurales (I)
33/74
Roles33
Los roles son nombres que identifican elpapel que juega una clase asociada a otradada.
Trabaja paraPersona CompaaNombreN SSDireccion
NombreDireccion
Empleado Empresa
Banco
Cliente
Roles
Nombre relacin
*
*
1
1
-
7/27/2019 IDP 02 Modelos estructurales (I)
34/74
Roles34
Los roles se utilizan para recorrer lasasociaciones. Se tratan comopseudoatributos.UnaCompaia.empleado
UnaPersona.empresa Son obligatorios para distinguir asociaciones
reflexivas.
Persona
0..n22
padres
hijos0..n
-
7/27/2019 IDP 02 Modelos estructurales (I)
35/74
Roles35
Son obligatorios para distinguirasociaciones distintas entre un mismo parde clases.
origenDescripcin
destinoDescripcin
1
1
-
7/27/2019 IDP 02 Modelos estructurales (I)
36/74
Asociaciones como clases36
Clases de asociacin: asignan una clase ala asociacin entre 2 clases Permiten aadir atributos a la asociacin
Compaia Persona
Trabajo
Fichero UsuarioAutorizacin
Accesible por
permiso acceso
fecha alta
salario
**
**
-
7/27/2019 IDP 02 Modelos estructurales (I)
37/74
Asociaciones cualificadas37
Los cualificadores o calificadores dentro de unarelacin de asociacin se utilizan para resolverbsquedas: dado un objeto en un extremo de larelacin, cmo identificar un objeto o conjunto
de objetos en el otro extremo? Actan como ndices para recorrer la relacin.
Banco + N de Cuenta da una Cuenta
Siempre que se pueda pensar en una estructura
de datos para efectuar una bsqueda en unextremo de una asociacin (una tabla hash, unrbol binario), se puede utilizar un cualificador.
-
7/27/2019 IDP 02 Modelos estructurales (I)
38/74
Ej. Asociacin cualificada38
Banco Cuenta
N de cuentaNombreBanco
N de cuenta
Banco Cuenta
NombreBanco*1
0..11
-
7/27/2019 IDP 02 Modelos estructurales (I)
39/74
Cualificacin39
La cualificacin aumenta la precisin delmodelo.
1
DescripcinDeVuelo
N de Vuelo
HoraSalida
Duracion
Vuelo
HoraSalidaActual
DuracionActual
FechaSalida
1
1
DescripcinDeVuelo
N de Vuelo
HoraSalida
Duracion
Vuelo
FechaSalida
HoraSalidaActual
DuracionActual
*
-
7/27/2019 IDP 02 Modelos estructurales (I)
40/74
Agregacin440
-
7/27/2019 IDP 02 Modelos estructurales (I)
41/74
Agregacin41
Es un tipo de relacin con unas propiedadessemnticas adicionales.
La relacin de agregacin se emplea cuandose desea modelar una relacin del tipo
Todo/Parte.Una empresa est formada por departamentos
Departamentos
Nombre
NumEmpleados
Empresa
NIF
Nombre
todo parte
simbolo agregacin
*
-
7/27/2019 IDP 02 Modelos estructurales (I)
42/74
Agregacin: propiedades42
Las propiedades ms significativas de laagregacin son: Transitiva (Si A es parte de B y B de C
entonces A es parte de C)Antisimtrica (si A es parte de B entonces B
no puede ser parte de A).
Documento Parrafo
n
Sentencia
nn n
-
7/27/2019 IDP 02 Modelos estructurales (I)
43/74
Tipos de agregacin43
Se pueden dar dos tipos de relaciones deagregacin.Inclusiva o fsica (composicin): cadacomponente puede pertenecer a lo sumo a uncompuesto. La destruccin del compuestoimplica la destruccin de las partes.Referencial o de catlogo: los componentesson reutilizables a lo largo de distintoscompuestos. No estn relacionados lostiempos de vida.
-
7/27/2019 IDP 02 Modelos estructurales (I)
44/74
Agregacin y composicin44
1..*
1..*
Polgono
Punto Apariencia
ColorRelleno
3+{ ordenado }
Polgono
Punto
AparienciaColorRelleno
3+{ ordenado }
-
7/27/2019 IDP 02 Modelos estructurales (I)
45/74
Referencial o inclusiva?45
Pieza de catlogo
n model0..n
0..n
Pieza fsica
n serie0..n
0..n
0..1
Describe0..1
-
7/27/2019 IDP 02 Modelos estructurales (I)
46/74
Generalizacin / Especializacin5
46
-
7/27/2019 IDP 02 Modelos estructurales (I)
47/74
Generalizacin47
Las jerarquas de clases permiten gestionar lacomplejidad mediante un ordenamientotaxonmico.
A partir de un conjunto de clases, si estas
tienen en comn una serie de atributos yoperaciones, por generalizacin se puedecrear una versin ms general (superclase) delas clases iniciales (subclases).
Los atributos y operaciones comunes a estasse sitan en la superclase y son compartidospor todas las subclases.
-
7/27/2019 IDP 02 Modelos estructurales (I)
48/74
Especializacin48
La especializacin es la relacin contraria, partede una superclase y se dirige hacia un conjuntode subclases.
Las subclases heredan los atributos y las
operaciones definidas en la superclase, pudiendoaadir atributos y operaciones propios. Cada instancia de una clase tambin cumple que
es una instancia de su superclase Discriminante: : atributo de enumeracin queindica qu propiedad de un objeto est siendo
abstrada por una relacin de generalizacin. Noson obligatorios.
-
7/27/2019 IDP 02 Modelos estructurales (I)
49/74
Ejemplo discriminantesEquip
nomfabricant
pes
cost
Bomba
pressi succi
pressi descrrega
mesura de flux
IntercanviadorCalor
rea superficial
dimetre del tub
longitud de tub
pressi del tub
pressi superficial
Tanc
volum
pressi
dimetre impulsor
nmero de fulles
eix rotaci
material diafragma
Bomba centrfuga
longitud del pist
dimetre del pist
nmero de cilindres
Bomba PistBomba Diafragma
tipus de bomba
tipus dequip
...
...
49
-
7/27/2019 IDP 02 Modelos estructurales (I)
50/74
Ejemplo discriminantes50
Equip
nom
fabricant
pes
cost
Bomba
pressi succi
pressi descrrega
mesura de flux
IntercanviadorCalor
rea superficial
dimetre del tub
longitud de tub
pressi del tub
pressi superficial
Tanc
volum
pressi
dimetre impulsor
nmero de fulles
eix rotaci
material diafragma
Bomba centrfuga
longitud del pist
dimetre del pist
nmero de cilindres
Bomba PistBomba Diafragma
tipus de bomba
tipus dequip
...
...
-
7/27/2019 IDP 02 Modelos estructurales (I)
51/74
Ejemplo reescritura51
Figura
color
posicin centro
grosor dibujo
Dimensin 0 Dimensin 1 Dimensin 2
Dimensin
mover
seleccionar
rotar
visualizar
orientacin orientacin
tipo llenado
llenar
cambiarEscala
cambiarEscala
Punto
visualizar
Linea
extremos
visualizar
Arco
radio
ngulo inicial
ngulo arco
visualizar
Polgono
nmerolados
vrtices
visualizar
Crculo
dimetro
visualizarrotar
-
7/27/2019 IDP 02 Modelos estructurales (I)
52/74
Especializacin vs Herencia52
La relacin de especializacin se emplea en la fase demodelado de un sistema, mientras que la relacin deherencia se ve como un mecanismo de reutilizacin decdigo en la fase de implementacin o diseo.
Figuracolorposicio
moureseleccionarvisualitzar
Punt
visualitzar
Cercle
visualitzar
Quadrat
visualitzar
costatdimetre
Puntcolorposicio
moureseleccionarvisualitzar
Cercle
visualitzar
Quadrat
visualitzar
costatdimetre
Anlisis Diseo
-
7/27/2019 IDP 02 Modelos estructurales (I)
53/74
Especializacin completa/incompleta
53
Dos tipos de restricciones: Completa: Todos los hijos de la generalizacin
se han especificado en el modelo
Incompleta: No se han especificado todos loshijos y se permiten hijos adicionales
Persona
Hombre Mujer
{ completa }sexo
rbol
Nogal Pino Olmo
{ incompleta }
l d
-
7/27/2019 IDP 02 Modelos estructurales (I)
54/74
Especializacin dinmica54
Se habla de especializacin dinmicacuando un objeto puede cambiar de clasedentro de una jerarqua de subclases.
Persona
Hombre Mujer
{ completa }sexo
Ingeniero
Director
Vendedor
trabajo
-
7/27/2019 IDP 02 Modelos estructurales (I)
55/74
Clases abstractas655
-
7/27/2019 IDP 02 Modelos estructurales (I)
56/74
Ej Cl b
-
7/27/2019 IDP 02 Modelos estructurales (I)
57/74
Ej. Clase abstracta57
Todas sus subclases concretas debensuministrar la implementacin de laoperacin.
Empleado
calcular sueldo {abstracto}
Empleado por
horas
paga por horas
paga horas extras
calcular sueldo
Empleado
autnomo
paga mensual
calcular sueldo
Empleado
asalariado
paga semanal
calcular sueldo
ganancias anuales
-
7/27/2019 IDP 02 Modelos estructurales (I)
58/74
Herencia mltiple758
H i l i l
-
7/27/2019 IDP 02 Modelos estructurales (I)
59/74
Herencia mltiple59
Cuando una clase tiene ms de una claseantecesora directa. La nueva clase hereda la unin de los
atributos y operaciones definidos en lasclases antecesoras. Una caracterstica de una clase que llegue
por distintas vas slo se heredar unavez.
-
7/27/2019 IDP 02 Modelos estructurales (I)
60/74
E i d l h i l i l
-
7/27/2019 IDP 02 Modelos estructurales (I)
61/74
Evitando la herencia mltiple61
Si el lenguaje de implementacin no poseeherencia mltiple se puede reestructurarel modelo de objetos para eliminarla.
Empleado
Empleado
por horas
Empleado
asalariado
Empleado
autonomo
Empleadocon pension
Empleadosin pension
Empleado
por horas
con pension
estado salario
estado pension
U d i
-
7/27/2019 IDP 02 Modelos estructurales (I)
62/74
Usando agregacin62
Una superclase con generalizacionesindependientes se refunde en forma deagregado, en el cual cada componentesustituye a una generalizacin.
Empleado
N. Empleado
por horas
N. Empleado
asalariado
N. Empleado
autonomo con pensin sin pensin
estado salario estado pension
Nomina
EmpleadoPensin
Empleado
U d d l i
-
7/27/2019 IDP 02 Modelos estructurales (I)
63/74
Usando delegacin63
Se puede heredar la clase ms importantey delegar el resto.Empleado
Empleado
por horasEmpleado
asalariadoEmpleado
autonomo con pensin sin pensin
estado salario estado pension
Pensin
Empleado
F t i i
-
7/27/2019 IDP 02 Modelos estructurales (I)
64/74
Factorizacin64
Se puede emplear una jerarqua deespecializacin anidada, primero sefactoriza por una generalizacin ydespus por otra.
Empleado
Empleado
por horas
Empleado
asalariado
Empleado
autonomo
estado salario
Empleado
por horas
con pensin
Empleado
por horas
sin pensin
Empleado
autonomo
con pensin
Empleado
autonomo
sin pensin
estado pension estado pension
estado pension
-
7/27/2019 IDP 02 Modelos estructurales (I)
65/74
Restricciones y asociacionesexclusivas
8
65
-
7/27/2019 IDP 02 Modelos estructurales (I)
66/74
Ej R t i i b t ib t
-
7/27/2019 IDP 02 Modelos estructurales (I)
67/74
Ej. Restricciones sobre atributos67
Tambin se utilizan entre relaciones de asociacin.
Empleado
Sueldo
Jefe
{ sueldo
-
7/27/2019 IDP 02 Modelos estructurales (I)
68/74
Asociaciones exclusivas68
Una asociacin exclusiva (or-asociacin) estformada por un conjunto de asociaciones querelacionan una clase inicial (fuente) con una serie declases destino (objetivo).
Tomado un objeto de la clase fuente ste estrelacionado a lo sumo con un objeto de una claseobjetivo.
Indice
Cluster Tabla
OR
ItemIndice
Cluster Tabla
Indice
**
0..10..1
0..1*
-
7/27/2019 IDP 02 Modelos estructurales (I)
69/74
Interfaces69
Interfaz
-
7/27/2019 IDP 02 Modelos estructurales (I)
70/74
Interfaz70
Coleccin de operaciones que se usa paraespecificar un servicio de una clase o unacomponente
No proporciona ni estructura (atributos[salvo constantes]) ni implementacin
Ejemplos notacin
-
7/27/2019 IDP 02 Modelos estructurales (I)
71/74
Ejemplos notacin71
+abrirConexin()
+analizarURL()
+establecerURL()
+aFormatoExterno()
interfaz
IGestorFlujoURL
+comer()
+dormir()
+evacuar()
interfaz
INio
IUnknown IOrtografa
ISensor
Red::IRouter
Sensores::IDestino
Vista como una clase estereotipada: Cuando las operaciones y/o susargumentos son importantes en el modelo
Relaciones entre interfaces
-
7/27/2019 IDP 02 Modelos estructurales (I)
72/74
Relaciones entre interfaces72
Generalizacin: herencia entre interfaces. Dependencia: cuando una
clase/componente necesita/hace uso de
los servicios proporcionados por unainterfaz. Realizacin: cuando una
clase/componente implementa/realiza losservicios definidos en una interfaz.
Realizacin
-
7/27/2019 IDP 02 Modelos estructurales (I)
73/74
Realizacin73
Una clase realiza o implementa un interfaz siimplementa todos los mtodos declaradospor ese interfaz (incluidos aquellos quepudiera heredar de otros interfaces)
ArrayList LinkedList
List
+get(int index):T
Ejemplo y notacin alternativa
-
7/27/2019 IDP 02 Modelos estructurales (I)
74/74
Ejemplo y notacin alternativa74