![Page 1: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/1.jpg)
PATRONS GRASP Enginyeria del Software II Àlex Garcia
Salvi Pi
![Page 2: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/2.jpg)
ÍNDEX
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
2
![Page 3: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/3.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
3
![Page 4: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/4.jpg)
QUÈ SÓN?
Acrònim de General Responsibility
Assignment Software Patterns
Regles generals per assignar responsabilitats
Conjunt de bones pràctiques i consells
Filosofia de Treball
Basat en experiència acumulada 4
![Page 5: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/5.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
5
![Page 6: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/6.jpg)
RESPONSABILITATS
Base dels GRASP
Acció i/o obligacions d’un determinat objecte
Preguntes bàsiques:
De què és responsable un objecte?
Fins on arriba la seva responsabilitat?
Amb qui he de col·laborar?
Relacionat amb els mètodes dels objectes 6
![Page 7: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/7.jpg)
RESPONSABILITATS (II)
7
Responsabilitat
Col·laboració
![Page 8: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/8.jpg)
RESPONSABILITATS (III)
Dos tipus bàsics de responsabilitats:
Conèixer
Dades privades
Objectes relacionats
Coses calculables o derivables
Fer
Fer quelcom ell mateix
Iniciar o coordinar quelcom 8
![Page 9: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/9.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
9
![Page 10: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/10.jpg)
PER QUÈ SERVEIXEN?
Dissenyar correctament les classes
Identifiquen solucions recurrents a
problemes coneguts
Assignar responsabilitats a les classes
Deriven en la creació de mètodes dels objectes
10
![Page 11: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/11.jpg)
PER QUÈ SERVEIXEN? (II)
11
la responsabilitat de prestar un video recau
sobre la classe WinPrestamos
la classe col·labora/reparteix
responsabilitats amb altres classes
![Page 12: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/12.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
12
![Page 13: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/13.jpg)
COM S’USEN?
Seleccionar un Diagrama de Seqüència
D’un cas d’ús
Seleccionar el primer missatge, que indica una
Responsabilitat del Sistema.
Identificar la classe
Seleccionar el missatge següent.
Revisar les assignacions
al assignar una nova Responsabilitat, algunes regles ens
poden haver canviat. 13
![Page 14: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/14.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
14
![Page 15: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/15.jpg)
TIPUS DE PATRONS ESTRUCTURA
15
Nom del patró ...
Solució ...
Problema que resol
...
Descripcions de problemes específics acompanyades de les seves solucions i identificats
amb un nom.
![Page 16: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/16.jpg)
TIPUS DE PATRONS
Expert en Informació Creador Alta Cohesió Baix Acoblament Controlador Polimorfisme Fabricació Pura Indirecció Variacions Protegides
16
![Page 17: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/17.jpg)
TIPUS DE PATRONS EXPERT EN INFORMACIÓ
17
Nom del patró Expert en Informació (o Expert)
Solució Assignar una responsabilitat a la classe experta en aquesta informació.
Problema que resol
A quina classe d’objectes li hem d’assignar una responsabilitat?
Propietats: Classes cohesionades Baix Acoblament Encapsulació
![Page 18: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/18.jpg)
TIPUS DE PATRONS EXPERT EN INFORMACIÓ
18
Responsabilitat de conèixer el Total de la
Factura
Responsabilitat de conèixer el SubTotal de la Linia de Factura
![Page 19: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/19.jpg)
TIPUS DE PATRONS CREADOR
19
Nom del patró Creador
Solució Assignar a la classe B la responsabilitat de crear una instància de la classe A si compleix un o més dels següents requisits: • la classe B "agrega" objectes de Epus A • B conté objectes de Epus A • B "enregistra" instàncies de Epus A • B fa servir "ínEmament" objectes de Epus A • B té la informació d’inicialització d’un objecte
de Epus A quan aquest és creat.
Problema que resol Qui és el responsable de crear una instància d’una classe?
![Page 20: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/20.jpg)
TIPUS DE PATRONS CREADOR (II)
20
Factura és una agregació de Linies de
Factura
![Page 21: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/21.jpg)
TIPUS DE PATRONS CREADOR (III)
21
Factura conté Linies de Factura
![Page 22: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/22.jpg)
TIPUS DE PATRONS CREADOR (IV)
22
La classe fa servir íntimament una altra classe (std::vector)
![Page 23: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/23.jpg)
TIPUS DE PATRONS BAIX ACOBLAMENT
23
Nom del patró Baix Acoblament
Solució Assignar una responsabilitat de manera que l’acoblament sigui baix.
Problema que resol C om a c o n s e g u i r a b a i x a r l a dependència, disminuir l‘impacte dels canvis i incrementar la reu?lització?
![Page 24: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/24.jpg)
TIPUS DE PATRONS BAIX ACOBLAMENT (II)
Acoblament
Mesura el grau de connexió entre classes
Poca afectació dels canvis en altres classes si l’acoblament és baix
Derivar d’una classe provoca alt acoblament
Reutilitzables si l’acoblament és baix
24
![Page 25: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/25.jpg)
TIPUS DE PATRONS BAIX ACOBLAMENT (III)
25
1: crearPagament()
:Registre p:Pagament
:Venda
pagar()
2: addPagament(p)
1.1: crearPagament()
1: pagar() :Registre :Venda
:Pagament
pagar()
Acoblament alt: Registre molt connectat
amb Pagament
Acoblament baix: Registre no connectat
amb Pagament
![Page 26: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/26.jpg)
TIPUS DE PATRONS ALTA COHESIÓ
26
Nom del patró Alta Cohesió
Solució Assignar una responsabilitat de manera que la cohesió es manEngui alta.
Problema que resol
C om a co n s e g u i r q u e l a complexitat es manEngui gesEonable?
![Page 27: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/27.jpg)
TIPUS DE PATRONS ALTA COHESIÓ (II)
Cohesió Mesura la intensitat amb que es relacionen les
responsabilitats.
Problemes si no tenim Alta Cohesió: Difícils d’entendre (funcions molt variades) Difícil de reutilitzar (molt lligades a altres classes) Difícil manteniment Molta afectació als canvis d’altres classes
Genera classes “autocontingudes” 27
![Page 28: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/28.jpg)
TIPUS DE PATRONS ALTA COHESIÓ (III)
28
Baixa Cohesió
Alta Cohesió
![Page 29: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/29.jpg)
TIPUS DE PATRONS CONTROLADOR
29
Nom del patró Controlador
Solució Assignar la responsabilitat de gesEonar els esdeveniments del sistema a una classe que represenE: • tot el sistema (facade controller). • tots els esdeveniments d’un cas d’ús
parEcular del sistema.
Problema que resol Qui és el responsable de gesEonar un esdeveniment del sistema?
![Page 30: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/30.jpg)
TIPUS DE PATRONS CONTROLADOR (II)
Esdeveniment del sistema Senyal que rebem quan es detecta una entrada:
Teclat Ratolí Rellotge ...
Globals (tot el sistema) o Locals (associats a un sol cas d’ús)
Coordina i controla l’activitat Beneficis:
Separa interfície de la gestió dels esdeveniments Facilita la reutilització Permet controlar el flux de missatges 30
![Page 31: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/31.jpg)
TIPUS DE PATRONS POLIMORFISME
31
Nom del patró Polimorfisme Solució Sempre que s’hagi d’implementar una
responsabilitat que depengui del ?pus o classe, s’ha d’usar polimorfisme. Assignar la responsabilitat pel comportament (usant operacions polimòrfiques) als Epus en els que aquest varia.
Problema que resol Com gesEonar alterna?ves basades en el ?pus de les dades? Com crear components soUware connectables (pluggable)?
![Page 32: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/32.jpg)
TIPUS DE PATRONS POLIMORFISME (II)
32
El limit és diferent
depenent del tipus de classe
![Page 33: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/33.jpg)
TIPUS DE PATRONS POLIMORFISME (III)
Aplicar polimorfisme quan variï el comportament a causa del tipus de dades.
Avantatges: Facilitat d’afegir noves extensions Es poden afegir sense canviar la interfície
33
![Page 34: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/34.jpg)
TIPUS DE PATRONS FABRICACIÓ PURA
Nom del patró Fabricació Pura Solució Assignar un conjunt cohesionat de
responsabilitats a una classe ar?fic ia l (és inventada, no representa cap concepte del domini del problema i està dissenyada exclusivament per a aquesta finalitat).
P ro b l ema q ue resol
Què cal fer quan les solucions de disseny trobades comprometen la Alta Cohesió i el Baix Acoblament? 34
![Page 35: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/35.jpg)
TIPUS DE PATRONS FABRICACIÓ PURA (II)
35
Expert i Alta Cohesió ens dirien
que han de contenir els seus propis
mètodes per accedir a la BDD
Val més inventar-se
una classe que mantingui
Baix Acoblament i Alta Cohesió
BDD
BDD
![Page 36: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/36.jpg)
TIPUS DE PATRONS INDIRECCIÓ
36
Nom del patró Indirecció Solució Assignar la responsabilitat a un
objecte intermedi que interactuï entre altres components o serveis de manera que no s’acoblin directament.
P r o b l em a q u e resol
On assignar la responsabilitat per evitar l’acoblament directe entre dos elements? Com desacoblar els objectes de manera que es suporE Baix Acoblament i el potencial de reuElització conEnuï alt?
![Page 37: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/37.jpg)
TIPUS DE PATRONS INDIRECCIÓ (II)
Concepte semblant al de Fabricació Pura
Interposem un nou objecte entre dos objectes: Baixa l’acoblament entre els dos objectes
primers Augmenta la reutilització dels primers
37
A B indirecció
![Page 38: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/38.jpg)
TIPUS DE PATRONS VARIACIONS PROTEGIDES
38
Nom del patró Variacions Protegides Solució IdenEficar els punts on hi ha
previstes variacions o poden ser inestables . L lavors ass ignar responsabilitats per crear una inter4cie al voltant d’elles.
P ro b l ema q ue resol
Com dissenyar objectes de manera que les variacions o inestabilitats en aquests elements Enguin poc impacte en els altres elements?
![Page 39: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/39.jpg)
TIPUS DE PATRONS VARIACIONS PROTEGIDES (II)
Protecció contra els canvis o variacions On pugui haver-hi problemes o variacions hi
posarem una interfície Fàcil d’estendre
39
A
B
interfície
C
![Page 40: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/40.jpg)
Què són? Responsabilitats Per què serveixen? Com s’usen? Tipus de Patrons Bibliografia
40
![Page 41: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/41.jpg)
BIBLIOGRAFIA
Larman, C. (2003). UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid: Pearson Educación, S.A.
Sellarès, T. (2006). Web Enginyeria del Software I. Consultat el 07 / 03 / 2010, a Presentació Patrons GRASP: http://ima.udg.edu/Docencia/06-07/3105200727/index.html
Wikipedia. Consultat el 07 / 03 / 2010, a http://en.wikipedia.org/wiki/GRASP_%28Object_Oriented_Design%29
41
![Page 42: Patrons GRASP - UdGima.udg.edu/~sellares/einf-es2/prsent0910/TranspesGRASP.pdfUML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid:](https://reader033.vdocuments.mx/reader033/viewer/2022043003/5f8340438ab6430176119c53/html5/thumbnails/42.jpg)
PATRONS GRASP Enginyeria del Software II Àlex Garcia
Salvi Pi
Gràcies