3 - Modelado Estructural AvanzadoUML

July 19, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download 3 - Modelado Estructural AvanzadoUML...

Description

 

Curso de UML odelado "structural #van$ado

Facultad de Informática Departamento de Lenguajes y Sistemas Informáticos e Ingeniería de Software Universidad Ponticia de Salamanca en adrid

!

 

Resumen

     

odelado avan$ado de clases odelado avan$ado de relaciones Interfaces% tipos y roles Pa&uetes Instancias Diagramas de o'jetos

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

2

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Modelado Avanzado de Clases

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

3

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Introducción al modelado avanzado de clases 

La clase es el 'lo&ue de construcci(n más importante pero no el )nico*



Un clasifcador clasifcador es  es un mecanismo &ue descri'e características estructurales +atri'utos, y de comportamiento +operaciones,* +operacio nes,*

  -ipos

nt nterfa erfa$ $ de  Iclasicador. 

 -ip po de datos   -i Se/al   

  0omponente 1odo   0aso de Uso  





  Su'sistema



Son clasicadores los elementos de modelado &ue pueden tener instancias* ©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

4

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Visibilidad 

"specica si un elemento de un clasicador puede ser utili$ado por otros clasicadores*



2alores.  public

(+)

 protected(#)  private(-)*

CuentaCorriente #numero #saldo -interés +consultarSaldo() +ingresar(cantidad: +ingresar(cantid ad: real)()

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

5

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Alcance 

"specica si una característica aparece en cada instancia o si 3ay una )nica ocurrencia para todas las instancias*



2alores.  instancia.

sin adorno.  clasificador. aparece su'rayada* Proceso #numero #prioridad -numProcesos

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

6

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

 Jerarquía 

0lase u operaci(n a'stracta. 

 

0lase 3oja. {leaf} 'ajo el nom're de la clase*  propiedad 0lase raí$. 



nom're en cursiva*

propiedad {root} 'ajo el nom're de la clase*

4peraci(n 3oja.  

no es polim(rca y no puede ser redenida* propiedad {leaf}  junto al nom're de la operaci(n*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

7

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Multiplicidad  



1)mero de instancias &ue puede tener una clase*

0onsiste en una especicaci(n del rango de cardinalidades permitidas* "n una clase se muestra en la es&uina superior derec3a* $

ControladorRed puertoConsola[!!": Puerto

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

8

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Atributos 

Sinta5is completa. [visibilidad] nombre [multiplicidad] [:tipo] [=valor_inicial] [{propiedades}]



Propiedades Propied ades predenidas de los atri'utos.  can!eable.

Sin restricciones* 2 2alor alor por d defecto* efecto*  add"nl. Para atri'utos con multiplicidad mayor &ue uno% permite a/adir valores adicionales% pero una ve$ creado un valor no puede modicarse ni eliminarse*

 fro$en.

o'jeto*

 fro$en se

"l valor del atri'uto no se puede modicar tras iniciali$ar el

c orresponde correspond e con const en 066*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

9

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Operaciones     

Signatura. nom're de la operaci(n 6 parámetros 6 tipo retorno* 4peraci(n. especica un servicio &ue se puede re&uerir de cual&uier o'jeto de la clase* 7todo. implementaci(n de una operaci(n* "n una jerar&uía de 3erencia puede 3a'er varios m7todos para una misma operaci(n* Sinta5is de una operaci(n. [visibilidad] nombre [(lista par%metros)] [:tipo retorno] [{propiedades}] ©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

10

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Operaciones ( ll! 

Sinta5is de los parámetros de una operaci(n. [direcci&n] nombre :tipo [=valor_por_defecto]



Dirección. Dirección .  in: parámetro de entrada &ue no puede modicarse* parámetro de salida*  inout: parámetro de entrada &ue puede modicarse*  out:



Propiedades predenidas Propiedades  predenidas para las operaciones. 

 is'uer. su ejecuci(n no cam'ia el estado del sistema*

 seuential.

s(lo 3ay un 8ujo de control al mismo tiempo*  !uarded. si 3ay más de un 8ujo de control% se secuencian las llamadas*  concurrent. se garanti$a la e5istencia de m)ltiples 8ujos de control*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

11

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Clases plantilla (templates!   

"lemento parametri$ado &ue no se puede utili$ar directamente. necesita ser instanciado* instan ciado* "specican contenedores &ue se pueden instanciar para elementos especícos* 9epresentaci(n UL.   elemento tam: int Pila +pus%() +pop()

::'ind restricciones especícas* Estereotipo.. Estereotipo  implementation.

el 3ijo 3ereda 3ereda la implementaci(n del padre pero no soporta sus interfaces ni los 3ace p)'licos% violando la semántica de sustituci(n +derivaci(n privada de 066,*



Restricciones estándar .  complete.

no se permiten 3ijos adicionales a los ya especicados*

 incomplete. se permiten  disoint. los o'jetos del

3ijos adicionales* padre no pueden tener más de uno de los l os

3ijos como tipo*  overlappin!. los o'jetos del padre pad re pueden tener más de uno de los 3ijos como tipo* ©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

19

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Asociación  

#dornos 'ásicos. nom're% roles% multiplicidades y agregaci(n* 4tros adornos. 

Navegación.. permite indicar la direcci(n de navegaci(n más eciente* Navegación Usuario



&irectorio

Visibilidad.. visi'ilidad de los e5tremos +por defecto es p)'lica,* Visibilidad Usuario

Cla'e +propietario

 

-cla'e

Califcación. permite especicar cualicadores* 0omo en 4Califcación. 4-** Especifcador de interaz . permite especicar el rol &ue se desempe/a* nombre,ol : nombrenterfa$ 

  tra'ajador . I"mpleado



supervisor . I?estor

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

20

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Asociación (ll! 

Clases asociación: odelado de las propiedades de una asociación** asociación Usuario

&irectorio

Permiso



UL dene @ restricciones aplica'les a las asociaciones.  implicit. no

es una relaci(n maniesta sino conceptual*



 ordered. el conjunto de o'jetos del e5tremo sigue un orden*

 can!eable. se

pueden a/adir% modicar y eliminar enlaces*  add"nl. se pueden a/adir enlaces desde un o'jeto del e5tremo* e5tremo*  fro$en. los enlaces una ve$ a/adidos no se pueden modicar modicar**

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

21

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Realización 

9elaci(n semántica entre clasicadores% en la &ue uno 9elaci(n especica un contrato y otro garanti$a &ue lo cumplirá*



"n la representaci(n% la punta de 8ec3a apunta al clasicador &ue especica el contrato*



A usos 3a'ituales. 

ostrar la relaci(n entre un caso de uso y la cola'oraci(n &ue lo reali$a.

alidar contrasea Caso de Uso

alidaci*n Colaboración

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

22

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Realización (ll! 

ostrar la relaci(n entre una interfa$ y la clase o componente &ue proporciona sus servicios. ,,interace ChoiceBlock set&eault(c%oice: C%oice) set&eault(c%oice: getC%oice(): C%oice

RadioButtonrray set&eault(c%oice: C%oice) set&eault(c%oice: getC%oice(): C%oice

!op"p#enu set&eault(c%oice: set&eault(c%o ice: C%oice) getC%oice(): C%oice

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

23

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Realización ( lll! 

La reali$aci(n se puede mostrar de dos maneras.  

Forma can(nica. estereotipo 6 línea dirigida discontínua Forma Forma For ma a'reviada. notaci(n en forma de Bca'e$a de allerC ,,interace ChoiceBlock set&eault(c%oice) getC%oice(): C%oice

!op"p#enu

C%oice.loc/ !op"p#enu set&eault(c%oice) getC%oice(): C%oice Forma canónica

Forma abreviada

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

24

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

&'cnicas comunes de modelado de redes de relaciones      

#plicar los caso de uso y los escenarios para descu'rir las relaciones entre el conjunto de a'stracciones* 0omen$ar modelando las relaciones estructurales* Luego identicar posi'les generali$acionesespeciali$aciones usando la 3erencia m)ltiple con moderaci(n* Por )ltimo 'uscar dependencias como formas más sutiles de cone5i(n* Para todas las relaciones% comen$ar por su forma 'ásica para más adelante aplicar características avan$adas* 9esaltar los conjuntos interesantes de relaciones en diagramas aparte* ©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

25

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Interaces) &ipos  Roles

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

26

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Revisión de t'rminos  conceptos 

Interfa$. colecci(n de operaciones &ue especica un servicio de una clase o un componente*   -ipo. estereotipo estereotipo de una clase &ue especica un dominio de o'jetos y las operaciones aplica'les al o'jeto*  9o 9ol. l. comportamiento de una entidad participante en un conte5to particular*  9epr 9epresentaci(n esentaci(n de las interfaces. ,,interace $mpleado o1tenerSueldo() o1tener.eneicios()

!ersona

0mpleado

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

27

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Revisión de t'rminos  conceptos ( ll!   

Una interfa$ puede intervenir en relaciones de generali$aci(n% asociaci(n% dependencia y% o'viamente% de reali$aci(n* "specica un contrato para una clase o componente pero no su implementaci(n* UL permite ampliar la informaci(n &ue reci'e una interfa$.  





asociando pre y postcondiciones a cada operaci(n e invariantes a la clase o componente +se puede usar 40L,* asociando una má&uina de estados a la interfa$ para especicar el orden de las operaciones* asociando cola'oraciones a la interfa$ &ue especi&uen su comportamiento esperado*

Una interfa$ representa un rol de una clase en una asociaci(n*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

28

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Modelado de las ronteras de un sistema 



Las interfaces pueden utili$arse para modelar las fronteras de un sistema formado por componentes comprados% reutili$ados o nuevos* Para modelar las fronteras.    



di'ujar una línea alrededor de componentes &ue tienden a acoplarse* renar la agrupaci(n agrupando juntos los &ue cam'ian juntos* identicar las operaciones &ue cru$an las fronteras* empa&uetar como interfaces los conjuntos de operaciones y se/ales anteriores% utili$ando criterios l(gicos de agrupamiento* para cada cola'oraci(n identicar  



interfaces en &ue se 'asa +importa, interfaces &ue ofrece +e5porta,

documentar las interfaces con pre y postcondiciones% invariantes% etc*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

29

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Modelado de tipos din#micos 

La mayoría de lenguajes s(lo soporta tipos estáticos% pero muc3os o'jetos +p*e* de negocio, cam'ian sus roles en un 8ujo de tra'ajo*



Para modelar un tipo dinámico.  

especicar los tipos posi'les utili$ando una clase estereotipada* modelar todos los roles 

utili$ando la generali$aci(n% o







asociando un tipo a cada rol de la clase*

representar cada instancia dinámica en un diagrama de interacci(n* ostrar el cam'io para cada o'jeto% di'ujándolo una ve$ para cada rol*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

30

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

"*emplo de modelado de tipos

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

31

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

+aquetes

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

32

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Conceptos avanzados sobre paquetes     

Pa&uete. mecanismo de prop(sito general para organi$ar Pa&uete. elementos en grupos* Puede contener. clases% interfaces% componentes% nodos% cola'oraciones% casos de uso% diagramas y otros pa&uetes* Forma For ma un espacio e spacio de nom'res* "l pa&uete raí$ de un modelo es an(nimo* 2isi'ilidad de los elementos. 6 pu'lico Eprivado protegido

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

33

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Conceptos avanzados sobre paquetes ( ll!  

9elaciones. generali$aci(n y dependencia +acceso e 9elaciones. importaci(n,* "stereotipos estándar aplica'les a pa&uetes.  facade.

un pa&uete s(lo es una vista de otro*  frameor. pa&uete &ue consta principalmente de patrones*  stub. pa&uete Ba'reviadoC* Sirve de pro5y de otro*  subsstem. representa un su'sistema*  sstem. representa el sistema completo*

 facade y 



stub ayudan a manejar modelos muy grandes. los facade ofrecen vistas simples de modelos complejos* los stub se usan cuando 3ay e&uipos diferentes tra'ajando so're el mismo pa&uete*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

34

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

&'cnicas comunes de modelado 

odelado de grupos de elementos. 

'uscar grupos de elementos similares conceptual o semánticamente*



englo'ar cada grupo en un pa&uete* determinar en cada pa&uete las visi'ilidades de los elementos* esta'lecer las dependencias de importaci(n y acceso entre pa&uetes*

 

 import.

permiso de acceso de un solo sentido s entido sin a/adir nom'res al

pa&uete cliente% lo &ue o'liga a usar nom'res de ruta* permiso de acceso de un solo sentido s entido en el &ue los nom'res del pa&uete proveedor se a/aden al espacio de nom'res del cliente*

 access.



esta'lecer jerar&uías de generali$aci(n entre los pa&uetes si e5isten*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

35

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

&'cnica 'cnicas s comunes de model modelado ado (ll! 

odelado de vistas ar&uitect(nicas. 

identicar el conjunto de vistas ar&uitect(nicas signicativas en el conte5to del pro'lema* Usualmente. vista dise/o 6 v* procesos 6 v* implementaci(n 6 v* despliegue 6 v*

  

casos uso

colocar cada elemento y diagrama en el pa&uete adecuado* agrupar si es necesario estos elementos en pa&uetes* esta'lecer la visi'ilidad entre vistas. normalmente a'ierta entre las vistas de másista alto nivel* de diseo ista de implementaci*n

ista de casos de uso ista de procesos

ista de despliegue

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

36

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Instancias

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

37

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

Revisión de t'rminos  conceptos   

Instancia. manifestaci(n concreta de una a'stracci(n* 9epresentaci(n gráca. su'rayando su nom're* "stereotipos estándar aplica'les a las relaciones claseEo'jeto.  instance"f.

el o'jeto es una instancia del clasicador destino*

 instantiate.



la clase origen crea instancias de la clase destino*

"stereotipos estándar para instancias de mensajes y transiciones.  become.

el destino es el mismo &ue el origen en un instante posterior posterior**  cop. el destino es una copia igual del origen pero independiente* independiente*



9estricci(n estándar para o'jetos.  transient.

la instancia se crea y se destruye durante la cola'oraci(n*

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

38

Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software  

$ia,ramas de Ob*etos

©Luis Joyanes, Salvador Sánchez, Héctor Castán Universidad onti!icia de Sala"anca en #adrid Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software

Octubre 1999

 

39

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF