Logo UAB
2021/2022

Laboratori Integrat de Software

Codi: 102788 Crèdits: 9
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OB 3 2
2502441 Enginyeria Informàtica OT 4 2
La metodologia docent i l'avaluació proposades a la guia poden experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.

Professor/a de contacte

Nom:
Antonio Manuel López Peña
Correu electrònic:
AntonioManuel.Lopez@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
espanyol (spa)
Grup íntegre en anglès:
No
Grup íntegre en català:
No
Grup íntegre en espanyol:
No

Altres indicacions sobre les llengües

Hi ha diversos professors. Un/a professor/a pot utilitzar castellà i un altre/a català per dirigir-se a l'alumnat, però tots entenen castellà i català. La documentació pot estar o bé en castellà, o en català, o en anglès.

Equip docent

Jose Luis Gomez Zurita

Equip docent extern a la UAB

Pablo Torrellas Pérez

Prerequisits

Aquesta assignatura té un caràcter molt pràctic, però es basa en els fonaments teòrics impartits a d'altres assignatures de la menció en Enginyeria del Software. Per tant, si es vol cursar aquesta assignatura amb èxit, és necessari haver cursat prèviament:

(1) Requisits del software,
(2) Disseny de software,
(3) Gestió i Administració de Bases de Dades,
(4) Test i Qualitat del Software,
(5) Gestió del Desenvolupament de Software (aquesta es pot cursar paral·lelament, no és necessari haver-la cursat prèviament).

Objectius

Aquesta assignatura vol proporcionar una experiència útil a l'alumnat respecte el que es poden trobar a l’hora de desenvolupar projectes software professionalment. Per tant, des del punt de vista de l'alumnat, es tracta de desenvolupar un projecte software complet i relativament llarg. A més a més, el procés de desenvolupament serà tan o més important que el resultat final (producte software). Per tant, el software s’haurà de desenvolupar de la forma més professional possible, en particular, aplicant les millors pràctiques i treballant en equip.

Així, els objectius de l’assignatura són:

1. Treballar en un equip relativament gran, composat de sub-equips amb diferents responsabilitats.
2. Aplicar els coneixements teòrics que constitueixen les millors pràctiques del desenvolupament de software.
3. Desenvolupar un software complet, és a dir, anant des del paper en blanc fins a una aplicació, amb la seva documentació interna i externa, que satisfà els requisits d’un client.
4. Que el desenvolupament d’aquest software també serveixi per adquirir experiència en entorns SW actuals.

L’aplicació feta, i la manera en que s’ha fet, hauria de poder servir com a “carta de presentació” curricular.

Competències

    Enginyeria Informàtica
  • Adquirir hàbits de pensament.
  • Adquirir hàbits de treball personal.
  • Capacitat d'identificar, avaluar i gestionar els riscos potencials que puguin presentar-se.
  • Capacitat de solucionar problemes d’integració en funció de les estratègies, estàndards i tecnologies disponibles.
  • Capacitat per dissenyar, desenvolupar, avaluar i assegurar l'accessibilitat, l'ergonomia, la usabilitat i la seguretat dels sistemes, serveis i aplicacions informàtiques, així com de la informació que gestionen.
  • Capacitat per resoldre problemes amb iniciativa, presa de decisions, autonomia i creativitat. Capacitat per saber comunicar i transmetre els coneixements, habilitats i destreses de la professió d'enginyer tècnic en informàtica.
  • Treballar en equip.

Resultats d'aprenentatge

  1. Adaptar-se a situacions imprevistes.
  2. Assumir i respectar el rol dels diversos membres de l'equip, així com els diferents nivells de dependència de l'equip.
  3. Avaluar de manera crítica el treball dut a terme.
  4. Definir i gestionar la documentació que es genera durant el desenvolupament d'una aplicació software.
  5. Desenvolupar el pensament sistèmic.
  6. Dissenyar una arquitectura d'un sistema informàtic basat en components.
  7. Dissenyar una arquitectura que permeti solucionar de manera òptima el problema especificat, tenint en compte els riscos associats.
  8. Gestionar el temps i els recursos disponibles. Treballar de manera organitzada.
  9. Identificar, gestionar i resoldre conflictes.
  10. Planificar la integració de les diferents components desenvolupades en el procés de codificació.
  11. Prendre decisions pròpies.
  12. Resoldre problemes d'integració del software amb iniciativa i autonomia.
  13. Saber comunicar i transmetre coneixements, habilitats i destreses relatives a la integració del software.
  14. Seleccionar i utilitzar les eines CASE adequades a cada fases de desenvolupament del software.
  15. Treballar cooperativament.

Continguts

En aquesta assignatura no busquem afegir més contingut teòric al que ja es desenvolupa a les altres assignatures de la menció d’Enginyeria del Software. És a dir, ja s’assumeixen els coneixements teòrics de la captura de requisits, el disseny i codificació orientat a objecte, la gestió i administració de bases de dades, el test i qualitat del software, i la gestió del desenvolupament. Es tracta de posar tot això en pràctica per desenvolupar una aplicació concreta. Per tant, com a continguts nous hi ha dos aspectes:

1. El treball en equip: rols i responsabilitats d’un equip software, reunions, presentacions, etc.
2. Mètodes àgils de desenvolupament de software. 

Metodologia

Aquesta assignatura s’enfoca a desenvolupar una aplicació software de la forma més realista possible. Per tant, es fa un aprenentatge basat en un cas pràctic. De fet hi haurà un cas pràctic per a cada equip de pràctiques. Un equip estarà format per un conjunt d'entre 6 i 9 estudiants. D’una banda això vol dir que hi haurà molt de treball autònom, però, d’altra banda, també hi haurà molt treball d’equip. Així, la tipologia de les classes donarà suport al treball d’equip i al desenvolupament de software basat en un procés àgil. En particular, tindrem:

Classes de teoria. Estan destinades a complementar els aspectes no coberts per les altres assignatures de la menció d’Enginyeria del Software, principalment el treball en equip.

Reunions de projecte. Qualsevol equip que desenvolupi una aplicació determinada, estarà dividit en sub-equips amb diferents responsabilitats (p.e., caps de projecte, responsables de proves, responsables de disseny i codificació, etc.). Aquests sub-equips s’han de reunir i discutir l’estat del projecte des dels diferents punts de vista.

Classes de presentació. Cada equip ha de fer presentacions públiques (a la resta d'equips) regulars sobre l’estat del seu projecte.

Totes les comunicacions amb l'alumnat es faran mitjançant els mecanismes habilitats al campus virtual.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.

Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes de teoria 15 0,6 2, 15
Presentacions 16 0,64 3, 13
Reunions de projecte 40 1,6 1, 2, 3, 4, 7, 9, 10, 12, 14, 15
Tipus: Autònomes      
Estudi pels exàmens individuals 16 0,64 3
Tasques assignades a la pràctica 134 5,36 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15

Avaluació

L’avaluació es basarà en les notes següents:

1) Desenvolupament de l’aplicació: Cal destacar que no només es valora el resultat final, és a dir, l’aplicació en si mateixa, sinó que també es valora, i molt, el procés de desenvolupament d’aquesta. Per tant, tindrà molta importància l’avaluació continuada del treball fet a les reunions de projecte i, especialment, a l’estat del desenvolupament en fites preestablertes. En general, la major part d'aquesta nota serà comuna a tot l’equip, però s’establiran mecanismes per garantir que tots els membres de l’equip realment mereixen la nota. Això es farà a partir d'avaluacions entre companys/yes, que també serviran per acabar de configurar el total de la nota DA. Si es detecta algun cas en que un/a estudiant no hagi fet la seva feina o té una contribució marginal, l'estudiant involucrat pot rebre una nota inferior, fins i tot, donat que estem davant una avaluació continuada, l'estudiant directament pot suspendre l’assignatura (nota de zero). En particular hi ha dues proves parcials d’aquest tipus, DA1 i DA2.

2) Presentacions d’equip: A més a més del material requerit per fer l’avaluació tipus DA, hi haurà presentacions públiques regulars del treball (setmanals o quinzenals) per a tota la classe. Aquestes presentacions seran avaluades com a tal, i poden ser enteses com a una prova d’equip, per tant, la nota serà per tot l’equip. Respecte a la implicació dels membres de l’equip, s’aplica el mateix criteri que al cas DA. En particular hi ha dues proves parcials d’aquest tipus, PE1 i PE2.

3) Exàmens individuals: Es faran exàmens individuals per tal d’avaluar els coneixements teòric-pràctics que cada estudiant assoleix. En particular hi ha dues proves parcials d’aquest tipus, EI1 i EI2.

Per tal d’aprovar l’assignatura, s’han d’aprovar per separat tots aquests apartats. És a dir, DA >= 5 i PE >= 5 i EI1 >=5 i EI2 >= 5,  on DA, PE, EI1 i EI2 són notes sobre 10. Si això es compleix, llavors la nota final, NF, es calcula com:

[Oportunitat 1] NF =  0.3 DA1 + 0.5 DA2 + 0.05 PE1 + 0.05 PE2 + 0.05 EI1 + 0.05 EI2 + Extra.

ATENCIÓ: Si EI1 < 5 o EI2 < 5, l'estudiant pot tenir una segona oportunitat d’aprovar l’assignatura mitjançant un examen individual de recuperació, però, sempre que es compleixin certes condicions. En particular, si DA = (5/4)*(0.3 DA1 + 0.5 DA2) i PE = 0.5*(PE1+PE2), per poder fer aquest examen s’exigeix que DA >= 5 i PE>= 5. Llavors, si ER és la nota de l’examen de repesca, la nota final de l’assignatura la calcularem com:

[Oportunitat 2, per recuperar Exàmens Individuals] NF =  min (6, 0.5 DA + 0.5 ER).

ATENCIÓ: Si DA < 5 o PE < 5 l'estudiant rebrà una nota final (NF) de entre 0 i 4.5 (suspens) depenent del cas. Aquest/a estudiant no tindria "segona oportunitat". Noteu, que la nota màxima que pot rebre un/a estudiant en “segona oportunitat” és un 6.

S’entén que els/les estudiants “No Avaluables” només són aquells/es que no s’han sotmès a cap activitat d’avaluació.

El nombre de MH (Matrícula d'Honor) que es pot concedir és proporcional al nombre d'estudiants matriculats. Per poder obtenir MH l'estudiant ha de complir NF>9.5 al moment de l'Oportunitat 1. Diguem que es poden atorgar "N" MH. A partir d'aquí, si hi ha més de N candidats/es, el professor examinarà la trajectòria dels/de les estudiants candidats/es a MH i seleccionarà els/les N. Per tant, és el professor qui avalua les evidències que consideri més oportunes (treball continuat, rellevància dins l'equip, NF, etc.) per prendre la decisió final.

Les aplicacions que es desenvolupen són proposades per l'alumnat de forma individual i surten d'un procés de selecció basat en presentacions i votacions. Per tant, durant aquesta primera fase, les competències transversals T01 i T02 són molt importants. De fet, l'estudaint que proposa una aplicació tal que passa tot el procés (és a dir, esdevé una aplicació que es portarà a terme per un equip), és nomenat/da cap d'equip i rep 1 punt "Extra" (veure NF en Oportunitat 1). Parlant de competències transversals, noteu que tota l'assignatura està inherentment lligada a T03. Però, DA i PE quantifiquen aquesta competència en particular. A més a més, el cap d'equip pot distribuir 1 punt "Extra" (veure NF en Oportunitat 1) entre els membres de l'equip amb una contribució més significativa vista des de dins de l'equip. 

Cal destacar també que els/les repetidors/es no rebran cap tracte especial, han de fer l'assignatura com la resta d'estudiants.

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, es qualificaran amb un zero les irregularitats comeses per l'estudiant que puguin conduir a una variació de la qualificaciód'unacte d'avaluació. Per tant, plagiar, copiar o deixar copiaruna pràctica o qualsevol altra activitat d'avaluació implicarà suspendre‐la amb un zero i no es podrà recuperar en el mateix curs acadèmic. Si aquesta activitat té una nota mínima associada, aleshores l'assignatura quedarà suspesa.

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Desenvolupament de l'aplicació (DA1 i DA2) 80% (DA1: 30% , DA2: 50%) 0 0 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Exàmens individuals (EI1 i EI2) 10% (EI1: 5% , EI2: 5%) 4 0,16 4, 6, 7, 10, 12, 13, 14
Presentacions d'Equip (PE1 i PE2) 10% (PE1: 5%, PE2: 5%) 0 0 13

Bibliografia

A la bibliografia pròpia de la resta de les assignatures de la menció d’Enginyeria del Software, s’ha d’afegir: "Crystal Clear: A Human-Powered Methodology for Small Teams",  A. Cockburn.

 

Programari

Cada equip buscarà el que més li convingui per desenvolupar la seva aplicació.