Rúbrica d'Avaluació - Pràctica Videoclub
Mòdul: DWES - Desenvolupament Web en Entorn Servidor
Cicle: CFGS Desenvolupament d'Aplicacions Web (DAW)
Qualificació màxima: 10 punts
1. Implementació de les Classes (40%)
1.1 Classes Base i Herència (15 punts)
| Criteri |
Excel·lent (15-13p) |
Notable (12-10p) |
Aprovat (9-7p) |
Suspens (6-0p) |
| Classe Soport |
Implementada correctament amb tots els atributs, mètodes i constant IVA. Constructor ben definit. |
Implementada amb petits errors que no afecten la funcionalitat. |
Implementada però amb errors que afecten parcialment la funcionalitat. |
No implementada o amb errors greus. |
| Classes filles (CintaVideo, DVD, Joc) |
Herència correcta, constructors ben sobreescrits, mètodes específics implementats. |
Herència correcta però amb algun mètode específic incomplet. |
Herència amb errors menors o mètodes específics incomplets. |
No implementen correctament l'herència. |
| Encapsulació |
Totes les propietats privades amb getters/setters adequats. |
La majoria de propietats encapsulades correctament. |
Algunes propietats no encapsulades correctament. |
No s'utilitza encapsulació. |
1.2 Classe Client (10 punts)
| Criteri |
Excel·lent (10-9p) |
Notable (8-7p) |
Aprovat (6-5p) |
Suspens (4-0p) |
| Gestió de lloguers |
Mètodes llogar(), tornar(), teLlogat() funcionant perfectament amb totes les validacions. |
Mètodes implementats amb alguna validació que falla. |
Mètodes implementats però amb errors en la lògica. |
Mètodes no implementats o amb errors greus. |
| Control de quotes |
Control correcte de maxLloguerConcurrent i missatges informatius adequats. |
Control correcte però missatges poc clars. |
Control parcial de quotes. |
No controla les quotes. |
| Llistat de lloguers |
Mètode llistarLloguers() mostra informació completa i ben formatada. |
Mostra informació però amb formatació millorable. |
Mostra informació bàsica. |
No funciona o no està implementat. |
1.3 Classe Videoclub (10 punts)
| Criteri |
Excel·lent (10-9p) |
Notable (8-7p) |
Aprovat (6-5p) |
Suspens (4-0p) |
| Gestió de productes |
Mètodes per incloure tots els tipus de suports funcionant correctament. |
Funcionen però amb petites inconsistències. |
Alguns mètodes no funcionen correctament. |
No gestiona correctament els productes. |
| Gestió de socis |
Creació i gestió de socis completa, mètode llogarSociProducte() funcional. |
Funciona però amb alguna validació que falla. |
Funcionalitat bàsica implementada. |
No implementada o amb errors greus. |
| Llistats |
llistarProductes() i llistarSocis() mostren informació completa i ben organitzada. |
Mostren informació però amb formatació millorable. |
Mostren informació bàsica. |
No funcionen. |
1.4 Classes Abstractes i Interfícies (5 punts)
| Criteri |
Excel·lent (5p) |
Notable (4p) |
Aprovat (3p) |
Suspens (2-0p) |
| Classe abstracta Soport |
Transformada correctament a classe abstracta, tot continua funcionant. |
Transformada però amb petits ajustos necessaris. |
Transformada amb errors que afecten la funcionalitat. |
No implementada o amb errors greus. |
| Interfície Resumible |
Interfície creada i implementada correctament a totes les classes necessàries. |
Implementada però sense aplicar-la a totes les classes. |
Implementada amb errors. |
No implementada. |
2. Proves i Funcionament (20%)
2.1 Fitxers de prova (20 punts)
| Criteri |
Excel·lent (20-17p) |
Notable (16-13p) |
Aprovat (12-10p) |
Suspens (9-0p) |
| inici.php |
Executa correctament les proves de Soport, CintaVideo, DVD i Joc. Sortida coincideix amb l'esperada. |
Executa correctament amb petites diferències en la sortida. |
Executa però amb alguns errors. |
No funciona o té errors greus. |
| inici2.php |
Executa correctament les proves de Client amb tots els casos (llogar, tornar, validacions). |
Executa correctament però falla algun cas específic. |
Executa parcialment. |
No funciona. |
| inici3.php |
Executa correctament tot el sistema Videoclub integrat. Tots els casos de prova funcionen. |
Executa correctament però falla algun cas menor. |
Executa parcialment. |
No funciona. |
3. Organització i Estructura del Codi (15%)
3.1 Estructura del projecte (8 punts)
| Criteri |
Excel·lent (8-7p) |
Notable (6-5p) |
Aprovat (4-3p) |
Suspens (2-0p) |
| Organització de carpetes |
Estructura clara: classes/, tests/. Cada classe en el seu fitxer. |
Estructura correcta amb petites inconsistències. |
Estructura bàsica però desorganitzada. |
No segueix cap estructura. |
| Nomenclatura |
Noms de fitxers i classes segueixen convencions PHP (PascalCase per classes). |
Nomenclatura correcta amb alguna excepció. |
Nomenclatura inconsistent. |
Nomenclatura incorrecta. |
3.2 Qualitat del codi (7 punts)
| Criteri |
Excel·lent (7-6p) |
Notable (5-4p) |
Aprovat (3p) |
Suspens (2-0p) |
| Indentació i formatació |
Codi ben indentat, llegible, segueix estàndards PSR. |
Codi llegible amb petites inconsistències. |
Codi poc consistent en formatació. |
Codi mal formatat o il·legible. |
| Ús d'include/require |
Utilitza correctament include_once o require_once. |
Utilitza includes però amb alguna redundància. |
Includes desorganitzats. |
No gestiona correctament les dependencies. |
4. Documentació (15%)
4.1 README.md (8 punts)
| Criteri |
Excel·lent (8-7p) |
Notable (6-5p) |
Aprovat (4-3p) |
Suspens (2-0p) |
| Completitud |
README complet amb descripció, estructura, instruccions d'execució i tasques d'entrega. |
README complet però amb alguna secció poc detallada. |
README bàsic amb informació mínima. |
README incomplet o absent. |
| Claredat |
Instruccions clares, ben formatades amb markdown. |
Instruccions clares però formatació millorable. |
Instruccions confuses. |
README poc útil o absent. |
4.2 Documentació del codi (7 punts)
| Criteri |
Excel·lent (7-6p) |
Notable (5-4p) |
Aprovat (3p) |
Suspens (2-0p) |
| Comentaris |
Cada classe té comentaris explicatius dels mètodes principals. PHPDoc utilitzat correctament. |
Comentaris presents però incomplets. |
Comentaris escassos. |
Sense comentaris o molt escassos. |
| Explicació de funcionalitats |
Cada exercici està ben documentat explicant què fa. |
Documentació present però millorable. |
Documentació mínima. |
Sense documentació. |
5. Ús de Git i GitHub (10%)
5.1 Control de versions (10 punts)
| Criteri |
Excel·lent (10-9p) |
Notable (8-7p) |
Aprovat (6-5p) |
Suspens (4-0p) |
| Commits |
Commits freqüents amb missatges descriptius. Historial clar del desenvolupament. |
Commits regulars amb missatges acceptables. |
Pocs commits o missatges poc descriptius. |
Un sol commit o missatges inadequats. |
| Estructura del repositori |
Repositori ben organitzat, .gitignore adequat, sense fitxers innecessaris. |
Repositori organitzat amb petites inconsistències. |
Repositori desorganitzat o amb fitxers innecessaris. |
Repositori mal organitzat. |
| Ús correcte de GitHub Classroom |
Repositori clonat, desenvolupat i pujat correctament. Push regular de canvis. |
Repositori utilitzat correctament amb petits errors. |
Ús bàsic de GitHub. |
No utilitza correctament GitHub o un sol push final. |
Resum de Puntuació
| Apartat |
Punts |
| 1. Implementació de les Classes |
40 |
| 2. Proves i Funcionament |
20 |
| 3. Organització i Estructura |
15 |
| 4. Documentació |
15 |
| 5. Ús de Git i GitHub |
10 |
| TOTAL |
100 |
Conversió a Nota Final
| Puntuació |
Qualificació |
| 90-100 |
Excel·lent (9-10) |
| 75-89 |
Notable (7-8.9) |
| 50-74 |
Aprovat (5-6.9) |
| 0-49 |
Suspens (0-4.9) |
Criteris Addicionals
Penalitzacions (-0.5 a -2 punts)
- ❌ Codi no funcional que impedeix l'execució: -2 punts
- ❌ Plagi detectat (còpia d'altri sense citar): 0 punts (suspens automàtic)
- ❌ No segueix l'estructura UML proporcionada: -1 punt
- ❌ Entrega fora de termini (sense justificació): -1 punt per dia
Bonificacions (+0.5 a +1 punt)
- ✅ Funcionalitats extra ben implementades i documentades: +0.5 punts
- ✅ Ús de namespaces i autoload PSR-4: +0.5 punts
- ✅ Tests unitaris implementats (PHPUnit): +1 punt
- ✅ Documentació exemplar amb diagrames UML generats: +0.5 punts
Observacions
- És obligatori que el codi funcioni per obtenir una qualificació mínima de 5.
- Tots els exercicis (126-134) han de ser implementats per poder aprovar.
- La clarificació i llegibilitat del codi són tant importants com la funcionalitat.
- Es valorarà molt positivament la progressió en els commits (desenvolupament incremental).
Data d'entrega: [Especificar data]
Professor/a: [Nom del professor]