Projecte d'Enginyeria del Software

Esteu aquí

Crèdits
6
Tipus
Obligatòria d'especialitat (Enginyeria del Software)
Requisits
  • Prerequisit: GPS
  • Prerequisit: AS
  • Prerequisit: ER
Departament
ESSI
El Projecte es l'activitat mes habitual de la enginyeria en el seu desenvolupament professional, fins i tot en moltes empreses tota la feina d'enginyeria s'organitza al voltant dels projectes. I l'enginyeria informàtica no està al marge d'aquesta tendència, ben al contrari, hi és ben present. Dins l'especialitat d'enginyeria del software, aquesta assignatura està pensada per reproduir, en la mesura del possible, l'activitat de desenvolupament de projectes de sistemes software tal com succeeix a l'entorn professional, es a dir, al voltant d'un equip de projecte amb rols diferenciats, i tenint en compte tots els aspectes de la gestió d'un projecte: planificació, costos, terminis, entregables, actes de reunions, presentacions orals, etc...Es tracta doncs d'una assignatura completament pràctica. Les tècniques necessàries ja han estat adquirides en assignatures prèvies (GPS, ER, AS i precedents), i a PES les posaran en pràctica en la realització d'un projecte sobre un cas que es presentarà.

Professors

Responsable

  • Maria Jose Casañ Guerrero ( )
  • Xavier Franch Gutiérrez ( )

Altres

  • Enric Mayol Sarroca ( )
  • Jordi Piguillem Poch ( )
  • Xavier Burgués Illa ( )

Competències

Competències Transversals

Treball en equip

  • G5 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
    • G5.3 - Identificar els rols, les habilitats i les carències dels diferents membres del grup. Proposar millores en l'estructura del grup. Interactuar amb eficàcia i professionalitat. Negociar i gestionar conflictes en el grup. Reconèixer i donar suport o assumir el paper de líder en el grup de treball. Avaluar i presentar els resultats del treball de grup. Representar el grup en negociacions amb terceres persones. Capacitat de col·laborar en un entorn multidisciplinar. Conèixer i saber aplicar les tècniques per a promoure la creativitat.

Comunicació eficaç oral i escrita

  • G4 - Comunicar de forma oral i escrita amb altres persones coneixements, procediments, resultats i idees. Participar en debats sobre temes propis de l'activitat de l'enginyer tècnic en informàtica.
    • G4.3 - Comunicar-se de manera clara i eficient en presentacions orals i escrites sobre temes complexos, adaptant-se a la situació, al tipus de públic i als objectius de la comunicació, utilitzant les estratègies i els mitjans adequats. Analitzar, valorar i respondre adequadament a les preguntes de l'auditori.

Competències Tècniques de cada especialitat

Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
    • CES1.1 - Desenvolupar, mantenir i avaluar sistemes i serveis software complexos i/o crítics.
    • CES1.3 - Identificar, avaluar i gestionar els riscos potencials associats a la construcció de software que es poguessin presentar.
    • CES1.7 - Controlar la qualitat i dissenyar proves en la producció de software.
  • CES2 - Valorar les necessitats del client i especificar els requisits software per a satisfer aquestes necessitats, reconciliant objectius en conflicte mitjançant la cerca de compromisos acceptables, dintre de les limitacions derivades del cost, del temps, de l'existència de sistemes ja desenvolupats i de les organitzacions.
    • CES2.1 - Definir i gestionar els requisits d'un sistema software.
    • CES2.2 - Dissenyar solucions apropiades en un o més dominis d'aplicació, utilitzant mètodes d'enginyeria del software que integrin aspectes ètics, socials, legals i econòmics.

Objectius

  1. Reforçar els conceptes ja adquirits en assignatures prèvies per mitjà de la seva posta en pràctica en un projecte
    Related competences: G5.3, CES1.1, CES2.1, CES2.2, CES1.7,
  2. Saber posar en pràctica els principis de la gestió de projectes
    Related competences: G5.3, CES1.1, CES2.2, CES1.3,
  3. Saber fer un seguiment sistemàtic i disciplinat d'un mètode
    Related competences: G5.3, CES1.1,
  4. Saber usar correctament eines de suport a la gestió i desenvolupament del projecte
    Related competences: CES2.2, CES1.7,
  5. Saber fer presentacions del projecte a públics diferenciats
    Related competences: G4.3, G5.3,
  6. Saber redactar la memòria tècnica del projecte, així com altres documents resultat del treball
    Related competences: G4.3, G5.3,

Continguts

  1. Presentació del projecte
    Descripció del funcionament, enunciat, guia del projecte, formació dels equips de projecte
  2. Antecedents
    Breu resum del coneixement adquirit en assignatures prèvies que és rellevant per a la realització del projecte
  3. Entorn de desenvolupament
    Descripció de les eines de desenvolupament necessàries per al projecte
  4. Fase d'incepció del projecte
    Desenvolupament dels artefactes propis de la fase d'incepció del projecte
  5. Fase inicial de desenvolupament del projecte
    Desenvolupament dels artefactes propis de des dues primeres iteracions de desenvolupament del projecte
  6. Fase final de desenvolupament del projecte
    Desenvolupament dels artefactes propis de des dues darreres iteracions de desenvolupament del projecte

Activitats

Activitat Acte avaluatiu


Posta en marxa del projecte

Llegeix el material, forma equips de projecte i assignen rols
  • Laboratori: Llegir i entendre el material, formar grups, assignar rols, primer contacte amb les eines
Objectius: 2 3
Continguts:
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Antecedents

Posar en clar els coneixements necessaris per a la realització del projecte
Objectius: 1
Continguts:
Teoria
0h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Configuració de l'entorn de desenvolupament

Familiaritzar-se amb les eines
Objectius: 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Fase d'incepció del projecte

Els equips de projecte desenvolupen el projecte amb el suport del professor tutor per dubtes i consultes
  • Laboratori: Es el treball setmanal de anar construint la fase inicial del projecte, inclou la presentació.
  • Aprenentatge autònom: Feina autònoma dels equips de projecte
Objectius: 1 2 3 4 6
Continguts:
Teoria
0h
Problemes
0h
Laboratori
16h
Aprenentatge dirigit
0h
Aprenentatge autònom
18h

Fase inicial de desenvolupament del projecte

Els equips de projecte desenvolupen el projecte amb el suport del professor tutor per dubtes i consultes
  • Laboratori: Es el treball setmanal de anar construint la fase intermitja del projecte.
  • Aprenentatge autònom: Feina autònoma dels equips de projecte
Objectius: 1 2 3 4 6
Continguts:
Teoria
0h
Problemes
0h
Laboratori
16h
Aprenentatge dirigit
0h
Aprenentatge autònom
18h

Fase final del projecte

Els equips de projecte desenvolupen el projecte amb el suport del professor tutor per dubtes i consultes
  • Laboratori: Es el treball setmanal de anar construint la fase final del projecte, inclou la presentació.
  • Aprenentatge autònom: Feina autònoma dels equips de projecte
Objectius: 1 2 3 4 6
Continguts:
Teoria
0h
Problemes
0h
Laboratori
16h
Aprenentatge dirigit
0h
Aprenentatge autònom
18h

Lliurament fase d'incepció

Documentació relativa a l'abast del projecte, els usuaris interessats i planificació inicial
Objectius: 1 2 3 4 6
Setmana: 4
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
6h

Presentació inicial del projecte

Presentació orientada a client, on cal explicar la funcionalitat del sistema software que es farà, sobre quina plataforma, i a qui va dirigida
Objectius: 5
Setmana: 4
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Control intermedi de la progressió del projecte

Avaluació de les dues primeres iteracions de desenvolupament del projecte segons uns criteris pre-establerts
Objectius: 1 2 3 4 6
Setmana: 10
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
2h

Presentació final del projecte

Presentació orientada a enginyers, on cal explicar el seu contingut tècnic
Objectius: 5
Setmana: 14
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Lliurament final del projecte

Entrega de la documentació final del projecte i demostració d'un prototip
Objectius: 1 2 3 4 6
Setmana: 14
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
6h

Metodologia docent

És una assignatura de projecte, i per tant de caire pràctic. Les classes seran sempre en aules de laboratori, amb un nombre esperat de 3 a 5 equips de projecte per aula. Els equips de projecte seran formats per 5 a 7 alumnes, per poder acabar implementant un prototipus no trivial.

Les explicacions de conceptes que cal fer (la major part al principi, però també en qualsevol moment quan cal) es faran a la mateixa aula. El professor, a l'aula, actuarà com tutor dels equips. Les dues presentacions previstes es faran també en hores de laboratori.

El projecte partirà d'una idea general, i tractarà de reproduir el cas d'un projecte real, amb tots els seus elements (terminis, entregables, gestió del projecte, etc.). La metodologia utilitzada serà àgil, organitzada en una fase inicial d'incepció i 4 iteracions de desenvolupament. Els aspectes tècnics que es posaran en pràctica corresponen a les assignatures precedents (IES, BD, ER, AS, GPS).

Mètode d'avaluació

En una assignatura de projectes, el que es qualifica és la realització del projecte. Aquest es desenvolupa en equip, però també els membres de l'equip han de complir les tasques assignades de forma individual. Com a resultat, la nota final de cada estudiant es determina a partir de la fórmula següent:

Nfinal = Nequip * FactIndiv

La nota global Nequip del projecte té en compte l'ambició del projecte, els artefactes informàtics produïts, la gestió d'equip, la documentació i les presentacions:

Nequip = (0.6*Artefactes + 0.2*GestióProjecte + 0.2*(Docum+Presentacions))*Ambició, on:

- La nota dels artefactes és una suma ponderada de tots els artefactes. Com a artefacte més important, el prototipus executable representa el 50% d'aquesta nota.
- En la gestió del projecte s'hi inclouen tant aspectes humans (p.e., repartició equilibrada de la feina, compliment de terminis, ...) com l'ús eficient de les eines de desenvolupament (p.e., repositori de codi –git–, ...).
- En la documentació i presentació s'hi inclouen sobretot aspectes comunicatius i de pulcritud (professionalitat en la feina feta).
- L'ambició mesura la complexitat final del software produït, i és un factor multiplicatiu entre 0.8 i 1.2 determinat pel professor. En tot cas, aquest factor multiplicatiu no pot fer créixer la nota de l'equip Nequip més enllà de 10.

El factor individual FactIndiv també és un factor multiplicatiu entre 0.8 i 1.2 (i similarment, no pot fer créixer la nota final Nfinal més enllà de 10). Aquest factor s'obté a partir de l'avaluació que fa el professor sobre la participació de l'estudiant al lliurament i de l'avaluació que fan la resta de companys del grup sobre la participació de l'estudiant al lliurament. En casos realment excepcionals, FactIndiv pot ser menor que 0.8 per aquells estudiants amb molt baixa dedicació al projecte al llarg de tot el curs

L'avaluació de les competències transversals s'obté directament dels factors del projecte:
Comunicació Oral i Escrita = (Docum+Presentacions)*FactorIndiv
Treball en equip = GestióProjecte*FactorIndiv

i tenen uns valors A, B, C, D, segons:
A si la nota es superior a 8.4
B si la nota està entre 7 i 8.4
C si la nota està entre 5 i 6.9
D si la nota és inferior a 5

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Les adquirides a les assignatures pre-requisit de PES