L'objectiu de l'assignatura és capacitar a l'estudiantat per dissenyar i implementar sistemes software mitjançant l'aplicació d'un conjunt de tècniques, principis i patrons de disseny.
Professorat
Responsable
Cristina Gómez Seoane (
)
Altres
Claudia Patricia Ayala Martinez (
)
Pau Duran Manzano (
)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6
Competències
Competències Tècniques
Competències tècniques comunes
CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
CT2.1
- Demostrar coneixement i capacitat d'aplicació dels principis, metodologies i cicles de vida d'enginyeria del software.
CT2.3
- Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
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.4
- Desenvolupar, mantenir i avaluar serveis i aplicacions distribuïdes amb suport de xarxa.
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.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.
Competències Transversals
Raonament
G9 [Avaluable] - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
G9.3
- Capacitat crítica, capacitat d'avaluació.
Objectius
Explicar què és l'arquitectura lògica i física d'un sistema software i les relacions entre elles.
Competències relacionades:
CT2.1,
Explicar les característiques d'una arquitectura en capes i els principis de disseny que regeixen la construcció de sistemes software amb aquest tipus d'arquitectura.
Competències relacionades:
CT2.1,
Explicar les característiques d'una arquitectura orientada a objectes i els principis de disseny que regeixen la construcció de sistemes software amb aquest tipus d'arquitectura.
Competències relacionades:
CT2.1,
Dissenyar sistemes software utilitzant una arquitectura en capes i orientada a objectes i usant serveis software, partint de l'especificació dels seus requisits (funcionals i no funcionals).
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES1.4,
CES2.2,
CT2.3,
Representar el disseny dels sistemes software utilitzant el llenguatge UML.
Competències relacionades:
CT2.1,
Aplicar correctament els principis de disseny en fer el disseny de sistemes software.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES2.2,
CT2.3,
Dissenyar la capa de domini (negoci) d'un sistema software utilitzant metodologies clàssiques i àgils.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES1.4,
CES2.2,
CT2.3,
Dissenyar la capa de presentació d'un sistema software identificant els patrons a aplicar i aplicant-los correctament.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES2.2,
CT2.3,
Explicar les característiques de les diferents estratègies de persistència.
Competències relacionades:
CT2.1,
Dissenyar la capa de gestió de dades d'un sistema software aplicant els patrons d'accés o de traducció de dades.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES2.2,
CT2.3,
Identificar i usar correctament serveis software existents en fer el disseny de sistemes software.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES1.4,
CES2.2,
CT2.3,
Avaluar i criticar els dissenys dels sistemes software i proposar dissenys alternatius que millorin la seva qualitat.
Competències relacionades:
G9.3,
CT2.1,
CES1.1,
CES1.4,
CES2.2,
CT2.3,
Explicar què és l'arquitectura i el disseny del software i en què consisteixen les diferents vistes de l'arquitectura del software.
Competències relacionades:
CT2.1,
Continguts
Introducció
Metodologies de desenvolupament de software. Arquitectura i disseny de software. Arquitectura lògica i física d'un sistema software. Rol dels patrons de disseny en el disseny del software. Arquitectura i disseny del software en metodologies clàssiques i àgils.
Arquitectura en capes i orientada a objectes
Patró arquitectònic en capes. Aplicació del patró arquitectònic en capes als sistemes i serveis software. Principis de disseny de l'arquitectura en capes. Patró arquitectònic orientació a objectes. Aplicació del patró arquitectònic orientació a objectes al disseny dels sistemes software. Principis de disseny de l'arquitectura orientada a objectes.
Disseny de sistemes software
Disseny del software. Disseny de la capa de domini. Patrons Domain Model i Transaction Script. Patrons de disseny de la capa de domini. Code Smells i Refactorings. Ús de serveis software. Disseny de la capa de presentació. Disseny extern d'un sistema software. Disseny intern de la capa de presentació. Disseny de la capa de dades. Tecnologia de bases de dades relacionals. Estratègies de gestió de la persistència. Generació automàtica de la persistència. Disseny directe de la persistència.
Activitats
ActivitatActe avaluatiu
C1
Control 1 de teoria i problemes on s'avaluen tots els objectius dels temes 1 fins a part del tema 3 Objectius:131234567 Setmana:
4
Teoria
0h
Problemes
2h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
C2
Control 2 de teoria i problemes on s'avaluen part dels objectius del tema 3. Objectius:45612 Setmana:
9
Teoria
0h
Problemes
2h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Introducció
Escolta amb atenció, pren els apunts que considera necessaris i pregunta els dubtes que tingui. A més, estudia autònomament els continguts que el professor indica Objectius:131 Continguts:
Escolta amb atenció, pren els apunts que considera necessaris i pregunta els dubtes que tingui. A més, estudia autònomament els continguts que el professor indica Objectius:2 Continguts:
Escolta amb atenció, pren els apunts que considera necessaris i pregunta els dubtes que tingui. A més, estudia autònomament els continguts i fa els exercicis que el professor indica Objectius:3512 Continguts:
Escolta amb atenció, pren els apunts que considera necessaris i pregunta els dubtes que tingui. A més, estudia autònomament els continguts i fa els exercicis que el professor indica Objectius:4567891011 Continguts:
Control 3 de problemes on s'avaluen tots els objectius del tema 3 Objectius:67891011 Setmana:
15 (Fora d'horari lectiu)
Teoria
0h
Problemes
2h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Revisió de C1 (Control 1) amb feedback formatiu (lliurament solució amb comentaris grupals)
Revisió de C1 (Control 1) amb feedback formatiu (lliurament solució) en grups de 10 estudiants (via meet o amb aula assignada, depenent de la disponibilitat d'aules). Objectius:1234567 Continguts:
Revisió de C2 (Control 2) amb feedback formatiu (lliurament solució amb comentaris grupals)
Revisió de C1 (Control 2) amb feedback formatiu (lliurament solució) en grups de 10 estudiants (via meet o amb aula assignada, depenent de la disponibilitat d'aules). Objectius:46891011 Continguts:
Revisió de C3 (Control 3) amb feedback formatiu (lliurament solució amb comentaris grupals)
Revisió de C3 (Control 3) amb feedback formatiu (lliurament solució) en grups de 10 estudiants (via meet o amb aula assignada, depenent de la disponibilitat d'aules). Objectius:6712 Continguts:
La docència de l'assignatura està estructurada en classes de teoria, classes de problemes i classes de laboratori.
Classes de teoria. En les classes de teoria el professorat presenta alguns continguts essencials de l'assignatura. El professorat usa transparències que l'estudiantat té disponibles abans de les classes. Altres continguts de l'assignatura s'han d'estudiar de forma autònoma.
Classes problemes. En les classes de problemes es practiquen els continguts de l'assignatura presentats o adquirits autònomament prèviament a la classe. Durant la classe es resolen els problemes proposats prèviament a la classe, i es comenten possibles solucions alternatives. En alguns casos, l'alumnat entrega els problemes resolts. També en algunes sessions, a l'inici de la classe l'estudiantat contesta un qüestionari sobre els continguts de l'assignatura presentats i practicats i/o sobre els problemes resolts prèviament a la classe.
Classes laboratori. En les classes de laboratori els estudiants treballen en equips de 2 estudiants. Durant la classe els estudiants es fan exercicis de laboratori proposats pel professor. A l'inici d'algunes classes l'estudiantat resol un qüestionari sobre els continguts presentats, practicats o adquirits autònomament prèviament a la classe.
L'estudiantat ha d'assistir a les classes del GRUP ON ESTAN MATRICULATS.
Mètode d'avaluació
La Nota Final (NF) de les competències tècniques de l'assignatura s'obté amb la fórmula següent:
NF= 0,15*C1 + 0,35*C2 + 0,35*C3 + 0,1*NT + NPP
C1 és la nota del primer control
C2 és la nota del segon control
C3 és la nota del tercer control
NT és la nota de les tasques/qüestionaris realitzats a les classes de problemes o laboratori. Durant el curs l'estudiantat podrà realitzar 5 tasques/qüestionari:
- Si s'entreguen 4 o menys tasques, NT serà igual al sumatori de les notes de totes les tasques entregats dividit per 4.
- Si s'entreguen les 5 tasques, NT serà igual al sumatori de les 4 millors notes de les tasques entregades dividit per 4.
NPP és la nota de problemes fets i entregats a classe i de la participació a classe. Aquesta nota tindrà com a màxim un valor de 0,5. Per obtenir aquesta nota es consideraran els següents aspectes:
- L'entrega d'un 75% o més dels problemes proposats per entregar.
- La participació activa a classe.
NOTA: L'assignació dels continguts a cada control es publicarà a l'inici del quadrimestre i pot variar respecte al que està publicat en aquesta guia docent, en funció del calendari d'exàmens.
L'estudiantat NOMÉS PODRÀ SER AVALUAT SI ASSISTEIX a les classes del SUBGRUP ON ESTÀ MATRICULAT.
La competència transversal s'avalua amb una pregunta en els controls, on els alumnes han de demostrar la seva capacitat crítica i d'avaluació dels dissenys proposats. La Nota Final de la competència transversal s'obté fent la mitjana de les notes obtingudes en aquestes preguntes i té una qualificació de:
A si la nota està entre 8.5 i 10
B si la nota està entre 7 i 8.4
C si la nota està entre 5 i 6.9
D si la nota està entre 0 i 4.9
Saber què és una especificació (formal) en UML/OCL dels requisits funcionals i no funcionals d'un sistema.
Saber el context en què es pot fer el disseny d'un sistema i, en particular, quines són les activitats prèvies i següents.
Conèixer la programació orientada a objectes i (almenys) un llenguatge de programació orientat a objectes.