<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10768633</id><updated>2011-04-22T00:02:21.759+02:00</updated><title type='text'>Aprendre plegats</title><subtitle type='html'>Diari destinat als meus estudiants de disseny de programari, enginyeria de requisits i modelització conceptual. Aquí hi trobareu informacions d'interès, idees i suggeriments per continuar estudiant i aprenent més enllà de les hores de classe. Aquest quadrimestre dono el grup 40 d'enginyeria del software 2 (ES2-40) i el curs de doctorat en modelització conceptual (DMC).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10768633.post-111694376680876516</id><published>2005-05-24T16:02:00.000+02:00</published><updated>2005-05-24T16:09:26.813+02:00</updated><title type='text'>ES2(40) Pla de la tretzena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Ja estem acabant el quadrimestre. Aquesta setmana farem:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 24: Recollim l'exercici 16.14 del recull, i demanarem voluntaris per explicar-nos les seves solucions.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 26: Problemes a classe.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres dia 27: Darrera classe de teoria. És el Tema 8, Proves. No farem problemes d'aquest tema, però "entra" a la teoria del segon exercici de control (previst per al dia ) i a la de l'examen final. Ull. Abans es deia "qui avisa no és traïdor".&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111694376680876516?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111694376680876516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111694376680876516'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/05/es240-pla-de-la-tretzena-setmana.html' title='ES2(40) Pla de la tretzena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111649608883048922</id><published>2005-05-19T11:42:00.000+02:00</published><updated>2005-05-19T11:48:08.833+02:00</updated><title type='text'>ES2(40) Pla de la dotzena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana és més curta perquè el dimarts no era dimarts. La FIB dixit. Només ens veurem dos dies:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 19. EJB: Farem els BMP i les relacions. Exercicis.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres dia 20. Transaccions. Preguntes i exercicis.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span style="font-size:85%;"&gt;Aquesta setmana no recollim cap exercici. Cal fer pel proper dimarts dia 24 l'exercici 14 del tema 16 del recull d'exercicis. Serà el novè exercici del curs, el darrer dels fets a casa.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111649608883048922?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111649608883048922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111649608883048922'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/05/es240-pla-de-la-dotzena-setmana.html' title='ES2(40) Pla de la dotzena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111588888175267051</id><published>2005-05-12T10:57:00.000+02:00</published><updated>2005-05-12T11:08:01.790+02:00</updated><title type='text'>ES2(40) Què són els Session Contexts?</title><content type='html'>&lt;span style="font-size:85%;"&gt;Uns dels objectes importants dels Enterprise Java Beans (i que a l'assignatura no tenim gaire temps per explicar-los) són els anomenats EJB Context Objects. En particular, hi ha els EJB Session Context Objects. Us proposo que respongueu el següent:&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Què són els EJB Session Context Objects?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Com estan definits? (atributs, operacions).&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Qui els defineix?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Qui els usa?. Per a què?. S'han d'usar sempre?.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Expliqueu un exemple concret (i raonable) d'ús d'aquests objectes en un cas particular.&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111588888175267051?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111588888175267051/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111588888175267051&amp;isPopup=true' title='62 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111588888175267051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111588888175267051'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/05/es240-qu-sn-els-session-contexts.html' title='ES2(40) Què són els Session Contexts?'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>62</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111571671679930166</id><published>2005-05-10T11:11:00.000+02:00</published><updated>2005-05-10T11:18:36.860+02:00</updated><title type='text'>ES2(40) Pla de l'onzena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana iniciem el tema 7 (Disseny sobre plataformes de sistemes distribuïts). És el tema central de la segona part de l'assignatura. Esperem que us agradi. La teoria l'acabarem la setmana propera.&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 10: Introducció, i fins a beans de sessió. Exercicis.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 12: Beans d'entitat. Exercicis.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres dia 13: Farem un exercici a classe, que recollirem (serà el viutè).&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111571671679930166?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111571671679930166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111571671679930166'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/05/es240-pla-de-lonzena-setmana.html' title='ES2(40) Pla de l&apos;onzena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111513329501007743</id><published>2005-05-03T17:11:00.000+02:00</published><updated>2005-05-03T17:14:55.010+02:00</updated><title type='text'>ES2(40) Pla de la desena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana només fem classe dos dies (el divendres és la festa de la FIB):&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 3 de maig. Recollim els problemes de persistència en base de dades relacionals. Comentem solucions. Fem ampliacions dels exercicis.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 5 de maig. Teoria: Acabem el tema 6 amb la capa de presentació. Exercicis a classe.&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111513329501007743?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111513329501007743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111513329501007743'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/05/es240-pla-de-la-desena-setmana.html' title='ES2(40) Pla de la desena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111469866307328379</id><published>2005-04-28T16:19:00.000+02:00</published><updated>2005-04-28T16:31:03.076+02:00</updated><title type='text'>ES2(40) Exercicis per al dia 3 de maig</title><content type='html'>&lt;span style="font-size:85%;"&gt;L'objectiu dels dos exercicis és el mateix: Dissenyar l'esquema d'una base de dades per a la persistència del sistema. Indiqueu les claus, les claus alternatives, les claus foranes i els atributs amb possible valor nul.&lt;br /&gt;Els dos sistemes els hem fet durant el curs, a classe. El primer, concretament, és el de l'exercici de control. Suposem que els articles (matèries primeres o compostos) s'identifiquen pel codi de barres (Char(13)). Els diagrames de classe de sistema que hem d'usar són:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Composicions sense quantitat&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;&lt;img alt="Diagrama de classes" src="http://www-lsi.upc.es/%7Eolive/fotos/Comp.gif" /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Composicions amb quantitat&lt;br /&gt;   &lt;/span&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;&lt;img alt="Diagrama de classes" src="http://www-lsi.upc.es/%7Eolive/fotos/CompQ.gif" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111469866307328379?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111469866307328379/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111469866307328379&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111469866307328379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111469866307328379'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-exercicis-per-al-dia-3-de-maig.html' title='ES2(40) Exercicis per al dia 3 de maig'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111452829955592624</id><published>2005-04-26T16:50:00.000+02:00</published><updated>2005-04-26T17:11:39.556+02:00</updated><title type='text'>ES2(40) Patró Data Transfer Object (DTO)</title><content type='html'>&lt;span style="font-size:85%;"&gt;El tercer, i darrer, patró que us demanem d'aprendre autònomament és l'anomenat Data Transfer Object (DTO). També s'anomena Transfer Object o Value Object. Hi ha diversos llocs on podreu trobar informació d'aquest patró. Per exemple:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/DesDTO.asp"&gt;MSDN Library&lt;/a&gt;.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html"&gt;Sun&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span style="font-size:85%;"&gt;Si voleu, podeu usar aquesta entrada del blog per compartir el vostre estudi del tema. En particular, podeu mirar de respondre aquesta pregunta:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="CA" style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;blockquote&gt;Expliqueu els trets principals del Patró de Disseny Data &lt;u style=""&gt;Transfer&lt;/u&gt; &lt;u style=""&gt;Object&lt;/u&gt; (&lt;u style=""&gt;DTO&lt;/u&gt;): en quin context s’aplica, quin problema vol resoldre i en què consisteix la solució que proposa. Ajudeu-vos d’un exemple il·lustratiu.&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111452829955592624?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111452829955592624/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111452829955592624&amp;isPopup=true' title='3 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111452829955592624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111452829955592624'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-patr-data-transfer-object-dto.html' title='ES2(40) Patró Data Transfer Object (DTO)'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111452360713331464</id><published>2005-04-26T15:49:00.000+02:00</published><updated>2005-04-26T15:53:27.133+02:00</updated><title type='text'>ES2(40) Pla de la novena setmana</title><content type='html'>Aquesta setmana farem:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 26: Disseny de la capa del domini. Exercicis.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 28: Disseny de la capa de gestió de dades/persistència. Exercicis. Anunci d'un exercici per al dimarts 3 de maig.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres dia 29: Exercicis.&lt;/span&gt;&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111452360713331464?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111452360713331464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111452360713331464'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-pla-de-la-novena-setmana.html' title='ES2(40) Pla de la novena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111390629647083150</id><published>2005-04-19T12:18:00.000+02:00</published><updated>2005-04-19T12:24:56.470+02:00</updated><title type='text'>ES2(40) Pla de la vuitena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana farem:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 19: El primer exercici de control.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous 21: Comentaris i discussions sobre les diverses solucions del problema de l'exercici de control.  A continuació farem un exercici a classe, que recollirem (serà el sisè dels 10 que hem de recollir).&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres 22: Comencem el tema 6 (Disseny orientat a objectes en UML). Farem la introducció i estudiarem l'arquitectura en capes.&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111390629647083150?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111390629647083150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111390629647083150'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-pla-de-la-vuitena-setmana.html' title='ES2(40) Pla de la vuitena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111331484636302502</id><published>2005-04-12T16:02:00.000+02:00</published><updated>2005-04-12T16:07:26.363+02:00</updated><title type='text'>ES2(40) Pla de la setena setmana</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Aquesta setmana farem exercicis per practicar els temes vistos fins ara, i per preparar-nos de cara a l'exercici de control del dimarts dia 19 d'abril:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 12: Exercici a classe.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 14: Exercici a classe.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres 15: Recollim exercici 9 del tema 12 del Recull d'exercicis. Es demanaran voluntaris per explicar la seva solució.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111331484636302502?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111331484636302502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111331484636302502'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-pla-de-la-setena-setmana.html' title='ES2(40) Pla de la setena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111296448359080780</id><published>2005-04-08T14:40:00.000+02:00</published><updated>2005-04-08T14:48:03.593+02:00</updated><title type='text'>ES2(40) Estratègies</title><content type='html'>&lt;span style="font-size:85%;"&gt;Com ja sabeu, el programa de l'assignatura ES2 inclou tres patrons de disseny que els estudiants han d'aprendre pel seu compte. Un d'aquests patrons és el patró estratègia. Segons el diccionari, en esports l'estratègia és "Conjunt de regles, de jugades i de decisions mitjançant les quals un jugador o un equip de jugadors intenta d'aconseguir la vistòria o la solució" Què és en patrons de disseny de programari?.&lt;br /&gt;&lt;br /&gt;Si voleu, podeu usar aquesta entrada del blog per "aprendre plegats" aquest patró de disseny. Idees de coses que podeu comentar (si ho creieu útil):&lt;br /&gt;&lt;/span&gt;&lt;ol&gt; &lt;li&gt;&lt;span style="font-size:85%;"&gt;Bibliografia que considereu bona.&lt;br /&gt; &lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Descriure què fa el patró.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Indicar exemples d'utilització del patró.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Quines alternatives hi ha a l'ús del patró. Val la pena usar el patró?.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt; &lt;span style="font-size:85%;"&gt;Mireu d'aprendre el patró abans del proper exercici de control (poden sortir-ne preguntes). Per altra banda, aviat el farem servir en els exercicis del curs.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111296448359080780?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111296448359080780/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111296448359080780&amp;isPopup=true' title='3 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111296448359080780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111296448359080780'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-estratgies.html' title='ES2(40) Estratègies'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111295901389113843</id><published>2005-04-08T13:10:00.000+02:00</published><updated>2005-04-08T13:16:53.893+02:00</updated><title type='text'>ES2(40) Exercici per al dia 15 d'abril</title><content type='html'>&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size:85%;"&gt;El dia 15 d'abril farem l'exercici 9 del Tema 12 (patró Observador) del recull d'Exercicis. L'exercici va de fans i d'ídols.  S'ha d'usar el patró Observador. Maco de fer (espero). Farem tots els punts: (a), (b) i (c).  Recollirem l'exercici en començar la classe, i demanarem voluntaris per explicar-nos llur solució. Aquest serà el tercer exercici dels fets a casa. En total n'hi haurà cinc d'aquests.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111295901389113843?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111295901389113843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111295901389113843'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-exercici-per-al-dia-15-dabril.html' title='ES2(40) Exercici per al dia 15 d&apos;abril'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111271134872733054</id><published>2005-04-05T16:24:00.000+02:00</published><updated>2005-04-05T16:29:08.726+02:00</updated><title type='text'>ES2(40) Pla de la sisena setmana</title><content type='html'>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Aquesta setmana farem:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 5 d'abril: Patró representant (amb exercici).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Dijous dia 7: Patró estat (amb exercici).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Divendres 8: Recollim l'exercici 3 del tema 12 del Recull d'exercicis. Es demanaran voluntaris per explicar la seva solució. Ànim.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111271134872733054?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111271134872733054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111271134872733054'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-pla-de-la-sisena-setmana.html' title='ES2(40) Pla de la sisena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111236272833251536</id><published>2005-04-01T15:28:00.000+02:00</published><updated>2005-04-01T15:38:48.333+02:00</updated><title type='text'>ES2(40) Exercici per al dia 8 d'abril</title><content type='html'>&lt;span style="font-size:85%;"&gt;El dia 8 d'abril farem l'exercici 3 del Tema 12 (patró Observador) del recull d'Exercicis. L'exercici va de Comissions i Reunions. S'ha d'usar el patró Observador. L'aplicació del model empenta (i altres patrons -que ja coneixeu-, i una mica d'imaginació -que ja teniu) permet solucions molt elegants. Qui vulgui, s'hi pot lluir. Farem només els punts (a), (b) i (c). El punt (d) i l'ampliació ho deixem per un altre dia.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;El dia 8 recollirem aquest exercici i en comentarem les solucions a la classe.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111236272833251536?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111236272833251536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111236272833251536'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-exercici-per-al-dia-8-dabril.html' title='ES2(40) Exercici per al dia 8 d&apos;abril'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111234689987727333</id><published>2005-04-01T10:59:00.000+02:00</published><updated>2005-04-01T11:14:59.880+02:00</updated><title type='text'>ES2(40) Singletons</title><content type='html'>&lt;span style="font-size:85%;"&gt;El programa de l'assignatura ES2 inclou tres patrons de disseny que els estudiants han d'aprendre pel seu compte. La justificació és que hi ha molts patrons de disseny, que no els podem explicar tots a classe i que, per tant, és important que sapiguem aprendre nous patrons de manera autònoma.&lt;br /&gt;&lt;br /&gt;Un d'aquests patrons és el patró &lt;span style="font-style: italic;"&gt;singletó&lt;/span&gt;. En Matemàtiques, un singletó és un conjunt format per un sol element. Què és en patrons de disseny de programari?.&lt;br /&gt;&lt;br /&gt;Si voleu podeu usar aquesta entrada del blog per "aprendre plegats" aquest patró de disseny. Idees de coses que podeu comentar (si ho creieu útil):&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Bibliografia que considereu bona.&lt;br /&gt;    &lt;/span&gt;  &lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Descriure què fa el patró.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Indicar exemples d'utilització del patró.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;És pot garantir que una classe no tindrà mai més d'una instància?. Com?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;És millor un singletó que una classe amb operacions (i atributs) de classe?. Per què?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Té sentit definir subclasses de singletons?&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;&lt;span style="font-size:85%;"&gt;Mireu d'aprendre el patró abans del proper exercici de control (poden sortir-ne preguntes). Per altra banda, aviat el farem servir en els exercicis del curs.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111234689987727333?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111234689987727333/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111234689987727333&amp;isPopup=true' title='3 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111234689987727333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111234689987727333'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/04/es240-singletons.html' title='ES2(40) Singletons'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111211023731375402</id><published>2005-03-29T17:21:00.000+02:00</published><updated>2005-03-29T17:30:37.316+02:00</updated><title type='text'>ES2(40) El patró observador i el principi Obert-Tancat</title><content type='html'>&lt;span style="font-size:85%;"&gt;El principi Obert-Tancat, establert per en Bertrand Meyer diu que "Els mòduls haurien de ser alhora oberts i tancats". En el disseny orientat a objectes, les classes són la forma bàsica dels mòduls.  Per tant, també podem dir que "Les classes haurien de ser alhora obertes i tancades".&lt;br&gt;&lt;br /&gt;La pregunta és: hi ha alguna relació entre aquest principi i el patró observador?. Argumenteu-ho i exemplifiqueu-ho.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111211023731375402?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111211023731375402/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111211023731375402&amp;isPopup=true' title='2 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111211023731375402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111211023731375402'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-el-patr-observador-i-el-principi.html' title='ES2(40) El patró observador i el principi Obert-Tancat'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111210618590601805</id><published>2005-03-29T16:19:00.000+02:00</published><updated>2005-03-29T16:23:05.906+02:00</updated><title type='text'>ES2(40) Pla de la cinquena setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana farem:&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;Dimarts dia 29 de març: Patró observador (amb exercici).&lt;br /&gt;Dijous dia 31: Recollirem l'exercici anunciat. Es demanaran voluntaris per explicar la seva solució.&lt;br /&gt;Divendres dia 1: Patró mètode plantilla (amb exercici).&lt;br /&gt;  &lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111210618590601805?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111210618590601805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111210618590601805'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-pla-de-la-cinquena-setmana.html' title='ES2(40) Pla de la cinquena setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111162617244172076</id><published>2005-03-24T01:44:00.000+01:00</published><updated>2005-03-24T02:11:51.136+01:00</updated><title type='text'>ES2(40) Exercici per al dia 31 de març</title><content type='html'>&lt;span style="font-size:85%;"&gt;Considereu el diagrama de classes següent:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="Diagrama de classes" src="http://www-lsi.upc.es/%7Eolive/fotos/DiagramaCinema1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Suposeu que el sistema inclou (entre d’altres) els dos casos d’ús (operacions del sistema) següents: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;novaSessió (títol:String, sala:Sala, dia:Date, hora:Hora)&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;pre: --en el cinema fan la pel·lícula&lt;br /&gt;sala.cinema.pel·lícula.títol -&gt; includes(títol)&lt;br /&gt;post: --creem una sessió&lt;br /&gt;let peli:Pel·lícula = Pel·lícula.allInstances ()-&gt; any (p p.títol = títol) &lt;/span&gt;&lt;span style="font-size:85%;"&gt;in&lt;br /&gt;s.oclIsNew() and s.oclIsTypeOf(Sessió) and&lt;br /&gt;s.entradesDisponibles = sala.capacitat and s.dia = dia and s.hora = hora and s.sala = sala and s.pel·lícula = peli&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;OnLaFan (títol: String, dia:Date, preuMàxim:Diner) : Set(String)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;body: -- dóna els noms dels cinemes (amb preu de les entrades inferior a preuMàxim) on fan la pel·lícula del títol indicat en el dia indicat i amb sessions on encara hi ha entrades&lt;br /&gt;Pel·lícula.allInstances()-&gt;&lt;br /&gt;select(p p.títol = títol).sessió -&gt; select(s s.hiHaEntrades() and s.dia = dia).sala.cinema -&gt; select(c preuMàxim &gt; c.preuEntrada).nom  -&gt;asSet()&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;(Observeu que aquests contractes provenen de l’especificació del sistema i, per tant, no tenen en compte els aspectes propis del disseny com són la navegabilitat de les associacions o la visibilitat de les operacions, atributs i rols).&lt;br /&gt;&lt;br /&gt;Es demana:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;1. Dissenyeu dos controladors del tipus transacció per a aquestes dues operacions del sistema.&lt;br /&gt;2. Analitzeu la responsabilitat de les operacions executar dels dos controladors anteriors. Decidiu quins altres objectes intervindran en la seva execució. Documenteu amb diagrames de seqüència l’execució de les operacions executar. Aquests diagrames han de mostrar tots els objectes que intervenen directament o indirecta en l’execució, i les operacions que s’invoquen dels objectes que intervenen.&lt;br /&gt;3. Completeu el diagrama de classes de disseny, mostrant totes les operacions que heu decidit en el punt anterior. Hi heu d’incloure les operacions constructores que hagueu definit (si és el cas), amb els seus paràmetres.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Notes:&lt;br /&gt;Per fer aquest exercici es pot usar com a màxim un diccionari (per a les pel·lícules).&lt;br /&gt;Les quatre associacions indicades al diagrama de classes tenen doble navegabilitat. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;El dia 31 recollirem aquest exercici i en comentarem les solucions a la classe.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111162617244172076?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111162617244172076/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111162617244172076&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111162617244172076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111162617244172076'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-exercici-per-al-dia-31-de-mar.html' title='ES2(40) Exercici per al dia 31 de març'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111105338588544545</id><published>2005-03-17T10:43:00.000+01:00</published><updated>2005-03-17T11:09:23.156+01:00</updated><title type='text'>ES2(40) Disseny clar o provable?</title><content type='html'>&lt;span style="font-size:85%;"&gt;No fa gaire, Michael Feathers ha publicat un &lt;a href="http://www.martinfowler.com/ieeeSoftware/beforeClarity.pdf"&gt;article&lt;/a&gt; a IEEE Software sobre la importància de la claredat en el disseny. Presenta un cas de disseny clar, però que és poc provable (en anglès "testable"). Conclou que la claredat és important, però que encara ho és més la capacitat de ser provable.&lt;br /&gt;Us proposo que estudieu l'article i que comenteu quin és exactament el problema que descriu, per què es produeix el problema i com el resol. Esteu d'acord en la solució al problema concret?. Esteu d'acord en les conclusions generals que en treu l'autor?.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111105338588544545?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111105338588544545/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111105338588544545&amp;isPopup=true' title='1 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111105338588544545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111105338588544545'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-disseny-clar-o-provable.html' title='ES2(40) Disseny clar o provable?'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111090409578982037</id><published>2005-03-15T17:24:00.000+01:00</published><updated>2005-03-15T17:28:15.790+01:00</updated><title type='text'>ES2(40) Pla de la quarta setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana començarem el tema dels patrons de disseny. Estudiarem els patrons Iterador, Controlador i Assignació de responsabilitats a objectes. També estudiarem la normalització de l'esquema conceptual. Farem diversos exercicis. El divendres (dia 18) farem un exercici a classe que recollirem. Serà el segon dels exercicis que es recullen.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111090409578982037?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111090409578982037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111090409578982037'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-pla-de-la-quarta-setmana.html' title='ES2(40) Pla de la quarta setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111046717019803552</id><published>2005-03-10T15:53:00.000+01:00</published><updated>2005-03-10T16:06:10.203+01:00</updated><title type='text'>ES2(40) Anem al cinema?</title><content type='html'>&lt;span style="font-size:85%;"&gt;Considereu l'exemple següent (totes les associacions tenen doble navegabilitat):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://www-lsi.upc.es/%7Eolive/fotos/DiagramaCinema1.gif" alt="Diagrama de classes" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;amb l'operació que, de moment, té el contracte:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Context&lt;/span&gt; Sessió::novaEntrada():Diner&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    pre&lt;/span&gt;: hiHaEntrades()&lt;br /&gt;   &lt;span style="font-weight: bold;"&gt;post&lt;/span&gt;: entradesDisponibles = entradesDisponibles@pre-1&lt;br /&gt;   &lt;span style="font-weight: bold;"&gt;post&lt;/span&gt;: &lt;span style="font-weight: bold;"&gt;return &lt;/span&gt;= sala.dónaCinema().dónaPreuEntrada()&lt;br /&gt;&lt;br /&gt;En el futur, és possible que alguns cinemes vulguin que el preu de l’entrada no sigui el mateix per a totes les sessions, sinó que depengui de la pel·lícula que es projecta a la sessió. Alguns cinemes voldran continuar venent  a preu únic, mentre que d'altres voldran vendre a preu diferent, segons quina pel·lícula s'emeti a la sessió.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Redissenyeu el sistema aplicant el principi Obert-Tancat (respecte d’aquest possible canvi). Especifiqueu les operacions que siguin noves, o que hagin canviat. Naturalment, no heu d'introduir encara el canvi indicat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Indiqueu quin canvi caldrà introduir en el futur si és que, efectivament, algun dia algun cinema vol començar a vendre entrades amb preu diferent per pel·lícula.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111046717019803552?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111046717019803552/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111046717019803552&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111046717019803552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111046717019803552'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-anem-al-cinema.html' title='ES2(40) Anem al cinema?'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111029235304975250</id><published>2005-03-08T14:57:00.000+01:00</published><updated>2005-03-08T15:32:33.053+01:00</updated><title type='text'>ES2(40) Una mica d'OCL</title><content type='html'>&lt;span style="font-size:85%;"&gt;Considereu el mateix exemple del dia anterior:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www-lsi.upc.es/%7Eolive/fotos/Es2Dem.gif" alt="Diagrama de classes" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;amb les operacions:&lt;br /&gt;context Persona::onVius():String&lt;br /&gt;body: llocDeResidència.dónaNom()&lt;br /&gt;&lt;br /&gt;context Persona::onTreballes():String&lt;br /&gt;body: empresa.onSituada().dónaNom()&lt;br /&gt;&lt;br /&gt;context Població::dónaNom():String&lt;br /&gt;body: nom&lt;br /&gt;&lt;br /&gt;context Empresa::onSituada():Població&lt;br /&gt;body: població&lt;br /&gt;&lt;br /&gt;Comenteu, si voleu, la resposta a almenys una (no és imprescindible totes) de les preguntes següents&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;br /&gt;(Nota: En algun cas, potser s'han de fer canvis en el diagrama (o afegir-hi altres operacions) per tal de respectar les regles de navegabilitat i visibilitat, i la llei de Demeter. Indiqueu quins són)&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1- Suposeu que les poblacions s'identifiquen pel seu nom. Com s'expressa això en OCL?.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2- Considereu l'operació: Empresa::hiTreballaGentDeFora():Boolean, que dóna True si l'empresa té un o més treballadors que viuen en una població diferent de la d'on està situada l'empresa. Com s'expressaria en OCL la postcondició d'aquesta operació?.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3- Considereu l'operació: Empresa::hiTreballaTotElPoble():Boolean, que dóna True si totes les persones que viuen a la població de l'empresa, treballen en l'empresa (hi pot haver també treballadors d'altres poblacions). Com s'expressaria en OCL la postcondició d'aquesta operació?.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4- Considereu l'operació: quantesPersonesViuenOnTreballen():Natural, que dóna el nombre de persones (pot ser zero) que tenim al sistema i que viuen i treballen a la mateixa població, sigui quina sigui aquesta població. Indiqueu en quina classe definiríeu aquesta operació, si seria operació de classe o d'instància, i com s'expressaria en OCL.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111029235304975250?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/111029235304975250/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=111029235304975250&amp;isPopup=true' title='1 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111029235304975250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111029235304975250'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-una-mica-docl.html' title='ES2(40) Una mica d&apos;OCL'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-111028932338813282</id><published>2005-03-08T14:37:00.000+01:00</published><updated>2005-03-08T14:42:03.390+01:00</updated><title type='text'>ES2(40) Pla de la tercera setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana ens dedicarem a fer exercicis sobre els quatre primers temes de l'assignatura.&lt;br /&gt;El divendres (dia 11) farem un exercici a classe que recollirem (de qui el vulgui donar), i en comentarem les solucions. Aquest serà el primer exercici que recollirem, d'un total de 10 durant el quadrimestre (uns cinc fets a casa, i els altres a classe). Recordeu que per poder ser avaluats de participació cal presentar un mínim de cinc problemes.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-111028932338813282?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111028932338813282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/111028932338813282'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-pla-de-la-tercera-setmana.html' title='ES2(40) Pla de la tercera setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110994620839457098</id><published>2005-03-04T15:03:00.000+01:00</published><updated>2005-03-04T15:23:28.396+01:00</updated><title type='text'>ES2(40) La llei de Demeter i l'acoblament</title><content type='html'>&lt;span style="font-size:85%;"&gt;Considereu l'exemple següent&lt;/span&gt;&lt;br /&gt;&lt;img src="http://www-lsi.upc.es/%7Eolive/fotos/Es2Dem.gif" ALT = "Diagrama de classes"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;amb les operacions:&lt;br /&gt;context Persona::onVius():String&lt;br /&gt; body: llocDeResidència.dónaNom()&lt;br /&gt;&lt;br /&gt;context Persona::onTreballes():String&lt;br /&gt; body: empresa.onSituada().dónaNom()&lt;br /&gt;&lt;br /&gt;context Població::dónaNom():String&lt;br /&gt; body: nom&lt;br /&gt;&lt;br /&gt;context Empresa::onSituada():Població&lt;br /&gt; body: població&lt;br /&gt;&lt;br /&gt;Les preguntes són:&lt;br /&gt;1. Alguna d'aquestes operacions vulnera la llei de Demeter?.&lt;br /&gt;2. Si és així, quines modificacions caldria fer per evitar-ho?.&lt;br /&gt;3. (Si hi ha hagut modificacions) El disseny resultant té menys acoblament que l'original?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110994620839457098?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110994620839457098/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110994620839457098&amp;isPopup=true' title='3 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110994620839457098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110994620839457098'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-la-llei-de-demeter-i-lacoblament.html' title='ES2(40) La llei de Demeter i l&apos;acoblament'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110986234681193323</id><published>2005-03-03T15:59:00.000+01:00</published><updated>2005-03-03T16:05:46.813+01:00</updated><title type='text'>ES2(40) Mètriques per mesurar l'acoblament</title><content type='html'>&lt;span style="font-size:85%;"&gt;A classe expliquem què és l'acoblament (coupling), però no proposem una manera concreta de mesurar-lo. Podria ser interessant veure quines mètriques s'han proposat per mesurar l'acoblament. Mireu de trobar-ne almenys una i digueu-nos:&lt;br /&gt;- Qui la proposa?. Doneu les referències bibliogràfiques.&lt;br /&gt;- En què consisteix?.&lt;br /&gt;- Es pot calcular automàticament?.&lt;br /&gt;- Us  sembla útil mesurar l'acoblament d'aquesta manera?. Per què?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110986234681193323?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110986234681193323/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110986234681193323&amp;isPopup=true' title='1 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110986234681193323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110986234681193323'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-mtriques-per-mesurar-lacoblament.html' title='ES2(40) Mètriques per mesurar l&apos;acoblament'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110969422243781817</id><published>2005-03-01T17:16:00.000+01:00</published><updated>2005-03-01T17:23:42.440+01:00</updated><title type='text'>ES2(40) Principi de constant simbòlica</title><content type='html'>&lt;span style="font-size:85%;"&gt;Un dels (molts) principis de disseny proposats per en Bertrand Meyer és el Principi de constant simbòlica. Us proposo que trobeu una resposta a les preguntes següents:&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Què diu aquest principi?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Què vol dir exactament?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Quina és la justificació del principi?.&lt;br /&gt;    &lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Té alguna relació amb algun principi de disseny que hem vist a classe?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Podeu donar algun exemple on es respecti aquest principi?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Podeu donar algun exemple on no es respecti el principi?.&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;&lt;span style="font-size:85%;"&gt;Esteu d'acord en seguir-lo en els vostres dissenys?.&lt;/span&gt;&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110969422243781817?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110969422243781817/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110969422243781817&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110969422243781817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110969422243781817'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-principi-de-constant-simblica.html' title='ES2(40) Principi de constant simbòlica'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110969366191697441</id><published>2005-03-01T17:12:00.000+01:00</published><updated>2005-03-01T17:14:21.916+01:00</updated><title type='text'>ES2(40) Pla de la segona setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana farem:&lt;br /&gt;- L'exercici 3.2&lt;br /&gt;- El tema 4 (Principis de disseny)&lt;br /&gt;- Diversos exercicis sobre els temes vistos fins ara.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110969366191697441?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110969366191697441/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110969366191697441&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110969366191697441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110969366191697441'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/03/es240-pla-de-la-segona-setmana.html' title='ES2(40) Pla de la segona setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110932629310448853</id><published>2005-02-25T10:50:00.000+01:00</published><updated>2005-02-25T11:11:33.106+01:00</updated><title type='text'>ES2(40) Java Modeling Language</title><content type='html'>&lt;span style="font-size:85%;"&gt;El &lt;a href="http://www.cs.iastate.edu/%7Eleavens/JML/index.shtml"&gt;Java Modeling Language&lt;/a&gt; és un llenguatge que permet definir precondicions, postcondicions i invariants en el context de classes i operacions escrites en Java. Per als encuriosits us proposo que feu i comenteu un exercici senzillet: &lt;blockquote&gt;Passar a Java l'exemple de Article, PrimeraMatèria i Comanda que hi ha a les transparències (i que hem fet a classe), amb les operacions potsServir i serveix (aquesta redefinida) i afegir-hi les anotacions de les precondicions i postcondicions en JML.&lt;/blockquote&gt;&lt;br /&gt;A qui li agradi el tema (i pugui i vulgui dedicar-hi més temps) li proposo un treball opcional: &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;Implementar l'exemple anterior i fer-ne unes proves usant almenys les eines jmlunit i jmlc. Ho acceptaré com a treball opcional (envieu-lo via correu electrònic) si ho feu abans del 10 de març (després ja estarem embrancats en altres afers).&lt;br /&gt;  &lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Espero que ho trobeu útil.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110932629310448853?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110932629310448853/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110932629310448853&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110932629310448853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110932629310448853'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/02/es240-java-modeling-language.html' title='ES2(40) Java Modeling Language'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110923763917428105</id><published>2005-02-24T09:59:00.000+01:00</published><updated>2005-02-24T10:39:07.256+01:00</updated><title type='text'>ES2(40): Interfícies versus classes abstractes en UML</title><content type='html'>&lt;span style="font-size:85%;"&gt;En l'UML 2.0 (podeu trobar-ne l'especificació de la superestructura&lt;a href="http://www.omg.org/cgi-bin/doc?ptc/2004-10-02"&gt; aquí&lt;/a&gt; ) es manté la distinció entre classes abstractes i interfícies. Sobre les classes abstractes, diu -entre d'altres coses- que són: &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;"A class that cannot be directly instantiated" (p. 4 i 61).&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Sobre les interfícies, diu -també entre d'altres coses- que són: &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;"A named set of operations that characterize the behavior of an element" (p. 10).&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Però diu també que: &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;"An interface declares a set of public features and obligations that constitute a coherent service offered by a classifier...An interface does not specify how it is to be implemented, but merely what needs to be supported by realizing instances. That is,such instances must provide a a public facade (attributes, operations, externally observable behavior) that conforms to the interface. Thus, if an interface declares an attribute, this does not necessarily mean that the realizing instance will necessarily have such an attribute in its implementation, only that it will appear so to external observers. Because an interface is merely a declaration it is not an instantiable model element; that is, there are no instances of interfaces at run time...Properties owned by interfaces are abstract and imply that the conforming instance should maintain information corresponding to the type and multiplicity of the property and facilitate retrieval and modification of that information. There will not necessarily be a property implementing the classifier corresponding to the property of the interface...An association between an interface and any other classifier implies that a conforming association must exist between any implementation of that interface and that other classifier. In particular, an association between interfaces implies that a conforming association must exist between implementations of the interfaces. An interface cannot be directly instantiated (p.114).&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Les preguntes que ens podem fer són: Quines diferències principals hi ha entre classes abstractes i interfícies en UML 2.0?. Es poden substituir les interfícies per classes abstractes?. I a l'inrevés? (on hi hagi una classe abstracta, es pot posar una interfície?)&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(Nota: Si voleu afegir un comentari, poseu-hi el vostre nom i cognom. Així ajudem a crear una comunitat de gent que està aprenent).&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110923763917428105?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110923763917428105/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110923763917428105&amp;isPopup=true' title='5 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110923763917428105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110923763917428105'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/02/es240-interfcies-versus-classes.html' title='ES2(40): Interfícies versus classes abstractes en UML'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110908660500775624</id><published>2005-02-22T16:29:00.000+01:00</published><updated>2005-02-22T16:38:25.496+01:00</updated><title type='text'>ES2(40) Què és la robustesa?</title><content type='html'>&lt;span style="font-size:85%;"&gt;A classe, hem explicat la definició de robustesa que dóna el Meyer en el seu &lt;a href="http://www.phptr.com/title/0136291554"&gt;llibre&lt;/a&gt; (pàgina 5):&lt;br /&gt;&lt;/span&gt; &lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;Robustness: Is the ability of software systems to react appropriately to abnormal conditions.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;Coneixes alguna definició diferent d'aquesta?. Qui la va donar?. On es pot trobar?. En què es diferencia?. La consideres millor?. Per què?.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110908660500775624?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110908660500775624/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110908660500775624&amp;isPopup=true' title='2 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110908660500775624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110908660500775624'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/02/es240-qu-s-la-robustesa.html' title='ES2(40) Què és la robustesa?'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110908023730619735</id><published>2005-02-22T14:46:00.000+01:00</published><updated>2005-02-22T14:52:56.373+01:00</updated><title type='text'>ES2(40) Pla de la primera setmana</title><content type='html'>&lt;span style="font-size:85%;"&gt;Aquesta setmana farem tres temes (que són curtets):&lt;br /&gt;1. Qualitat del programari&lt;br /&gt;2. Arquitectura del programari&lt;br /&gt;3. Disseny per contracte&lt;br /&gt;Començarem a fer diversos exercicis sobre aquests temes.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110908023730619735?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110908023730619735/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110908023730619735&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110908023730619735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110908023730619735'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/02/es240-pla-de-la-primera-setmana.html' title='ES2(40) Pla de la primera setmana'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10768633.post-110855710093509362</id><published>2005-02-16T13:19:00.000+01:00</published><updated>2005-02-17T09:22:46.630+01:00</updated><title type='text'>ES2(40) Participar és important</title><content type='html'>&lt;span style="font-family:times new roman;"&gt;La participació a l'assignatura (fer el nombre mínim d'exercicis requerit i participar activament a la classe) dóna bons resultats. Requereix mantenir un ritme, un esforç i uns horaris continuats durant un quadrimestre, però val la pena.&lt;br /&gt;&lt;br /&gt;Fixeu-vos amb el resum dels resultats obtinguts pels estudiants d'ES2 del quadrimestre anterior:&lt;br /&gt;&lt;br /&gt;Matriculats (158)&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;    &lt;li&gt;Participen (95)&lt;br /&gt;        &lt;ul&gt;&lt;br /&gt;            &lt;li&gt;   Aproven la participació (79)&lt;br /&gt;                &lt;ul&gt;&lt;br /&gt;                    &lt;li&gt;      Aproven l'assignatura (68)&lt;br /&gt;                    &lt;li&gt;      Suspenen l'assignatura (11)&lt;br /&gt;                &lt;/ul&gt;   &lt;br /&gt;            &lt;li&gt;No aproven la participació (16)&lt;br /&gt;&lt;br /&gt;        &lt;/ul&gt;&lt;br /&gt;     &lt;li&gt;No participen (63)&lt;br /&gt;         &lt;ul&gt;   &lt;br /&gt;             &lt;li&gt;Aproven l'assignatura (5) &lt;br /&gt;             &lt;li&gt;   Suspenen l'assignatura (28) &lt;br /&gt;             &lt;li&gt;   No es presenten (30) &lt;br /&gt;          &lt;/ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10768633-110855710093509362?l=aolive.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aolive.blogspot.com/feeds/110855710093509362/comments/default' title='Comentaris del missatge'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10768633&amp;postID=110855710093509362&amp;isPopup=true' title='0 comentaris'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110855710093509362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10768633/posts/default/110855710093509362'/><link rel='alternate' type='text/html' href='http://aolive.blogspot.com/2005/02/es240-participar-s-important.html' title='ES2(40) Participar és important'/><author><name>Antoni</name><uri>http://www.blogger.com/profile/04179674020928991731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www-lsi.upc.es/~olive/fotos/FotoPet.JPG'/></author><thr:total>0</thr:total></entry></feed>
