Aprendre plegats
divendres, de febrer 25, 2005
 
ES2(40) Java Modeling Language
El Java Modeling Language é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:
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.

A qui li agradi el tema (i pugui i vulgui dedicar-hi més temps) li proposo un treball opcional:
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).
Espero que ho trobeu útil.
dijous, de febrer 24, 2005
 
ES2(40): Interfícies versus classes abstractes en UML
En l'UML 2.0 (podeu trobar-ne l'especificació de la superestructura aquí ) es manté la distinció entre classes abstractes i interfícies. Sobre les classes abstractes, diu -entre d'altres coses- que són:
"A class that cannot be directly instantiated" (p. 4 i 61).

Sobre les interfícies, diu -també entre d'altres coses- que són:
"A named set of operations that characterize the behavior of an element" (p. 10).
Però diu també que:
"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).

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?)
(Nota: Si voleu afegir un comentari, poseu-hi el vostre nom i cognom. Així ajudem a crear una comunitat de gent que està aprenent).

dimarts, de febrer 22, 2005
 
ES2(40) Què és la robustesa?
A classe, hem explicat la definició de robustesa que dóna el Meyer en el seu llibre (pàgina 5):
Robustness: Is the ability of software systems to react appropriately to abnormal conditions.
Coneixes alguna definició diferent d'aquesta?. Qui la va donar?. On es pot trobar?. En què es diferencia?. La consideres millor?. Per què?.
 
ES2(40) Pla de la primera setmana
Aquesta setmana farem tres temes (que són curtets):
1. Qualitat del programari
2. Arquitectura del programari
3. Disseny per contracte
Començarem a fer diversos exercicis sobre aquests temes.

dimecres, de febrer 16, 2005
 
ES2(40) Participar és important
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.

Fixeu-vos amb el resum dels resultats obtinguts pels estudiants d'ES2 del quadrimestre anterior:

Matriculats (158)

  • Participen (95)

    • Aproven la participació (79)

      • Aproven l'assignatura (68)
      • Suspenen l'assignatura (11)

    • No aproven la participació (16)


  • No participen (63)

    • Aproven l'assignatura (5)
    • Suspenen l'assignatura (28)
    • No es presenten (30)



Powered by Blogger