|
|||||
Consulta de les dades generals Descripció L'assignatura en el conjunt del pla d'estudis Camps professionals en què es projecta Coneixements previs Informació prèvia a la matrícula Objectius i competències Continguts Consulta dels recursos d'aprenentatge de la UOC per a l'assignatura Informació addicional sobre els recursos d'aprenentatge i eines de suport Informacions sobre l'avaluació a la UOC Consulta del model d'avaluació | |||||
Aquest és el pla docent de l'assignatura per al primer semestre del curs 2023-2024. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis. | |||||
Els continus avenços en informàtica i telecomunicacions estan canviant la manera com es desenvolupa el programari. En particular, l'incessant augment de la potència dels ordinadors personals i dispositius mòbils, l'abaratiment dels costos del maquinari i l'aparició de xarxes de dades de cobertura global han fet possible una infraestructura especialment favorable per a l'ús dels sistemes oberts i distribuïts.
Aquesta assignatura serveix com a introducció a les arquitectures de programari com a marc de treball pel disseny i desenvolupament d'aplicacions distribuïdes on s'estudien i es posa en pràctica els fonaments, tècniques i habilitats aplicables a la definició moderna d’arquitectures del programari, i es complementen els coneixements adquirits en les assignatures prèvies. El disseny de l’arquitectura dels sistemes de programari permet descriure d'una manera abstracta i d'alt nivell tant la funcionalitat del sistema com molts altres aspectes no funcionals d'aquest (distribució, fiabilitat, seguretat, adaptabilitat, prestacions, etc.). Aquesta descripció del sistema sol definir-se partint d'un estil arquitectònic, una classificació dels sistemes de programari en grans famílies que segueixen un patró estructural comú. Entre els estils arquitectònics més usuals per als sistemes distribuïts hi ha els sistemes organitzats en microserveis, múltiples capes, els sistemes client-servidor o els sistemes peer-to-peer.
El disseny de l'aplicació en termes de microserveis de programari ha de refinar-se, posteriorment, per adaptar-lo i implementar-lo en una tecnologia de programari distribuït concreta. Aquestes arquitectures poden implementar-se utilitzant qualsevol paradigma de programació (orientat a objectes, estructurat...). En el nostre cas concret, el llenguatge de referència serà Java que permet desenvolupar aplicacions distribuïdes amb arquitectures de microserveis. Aquests microserveis són els que serviran per a implementar i testejar els elements arquitectònics descrits en l'arquitectura del sistema.
Finalment, es recullen algunes bones pràctiques en el desenvolupament i posada en producció del programari en arquitectures distribuïdes. Es treballen alguns dels conceptes clau a l’hora de desenvolupar i posada en producció, com l’entrega contínua, la cultura DevOps i el desplegament amb contenidors. |
|||||
Aquesta assignatura està emmarcada dins l'itinerari d'Enginyeria del Programari del grau d'Enginyeria Informàtica constituint una extensió en diverses dimensions dels coneixements bàsics d'enginyeria del programari inclosos tant a l'itinerari concret com a les assignatures obligatòries del grau.
Per a poder cursar amb profit aquesta assignatura, cal que els estudiants tinguin coneixements previs sobre tecnologia orientada a objectes. Concretament, cal conèixer els fonaments de la programació orientada a objectes i les notacions bàsiques d'UML, tal i com es veuen, per exemple, a les assignatures Enginyeria del programari i Anàlisi i disseny amb patrons d'aquesta mateixa titulació. |
|||||
L'assignatura serà especialment útil a tots els futurs professionals dedicats al desenvolupament de programari segons una concepció actual. El camp del desenvolupament de programari canvia dia a dia, i com ja s'ha comentat al principi, tant els sistemes distribuïts com els sistemes de microserveis van prenent més i més importància.
Per altra part, també és important per tot enginyer informàtic adquirir les habilitats bàsiques en la instal·lació, configuració i ús de les diverses eines de suport existents pel desenvolupament, desplegament i execució d'aplicacions de programari. En aquesta assignatura es durà a terme una intensa tasca en aquest sentit per consolidar aquestes habilitats mitjançant el suport d'una aula de Laboratori especialitzada. Per tant, s'evitarà en el possible l'ús de màquines virtuals automàtiques amb entorns ja configurats i, en canvi, fomentar l'ús d'eines individuals que l'estudiant haurà d'aprendre a instal·lar i configurar manualment. |
|||||
Haver superat Enginyeria del programari i Anàlisi i disseny amb patrons o tenir els coneixements equivalents és la condició prèvia per poder cursar aquesta assignatura.
És també imprescindible que l'estudiant tingui un bon nivell de Java per a poder superar l'assignatura. L'assignatura té una part important de treball pràctic en Java que assumeix un coneixement i pràctica importants en aquest llenguatge. No és gens recomanable que l'estudiant cursi aquesta assignatura fins que s'hagi assolit un bon nivell en Java, ja que altrament es veurà abocat a repetir l'assignatura amb una alta probabilitat. |
|||||
És recomanable haver superat les següents assignatures del Grau: Enginyeria del programari i Anàlisi i disseny amb patrons. |
|||||
Competències transversals del Grau en Enginyeria Informàtica:
L'objectiu general de l'assignatura és que l'estudiant adquireixi els coneixements bàsics per al desenvolupament d'aplicacions distribuïdes basades en microserveis. Aquest objectiu es concreta en els següents objectius específics:
|
|||||
L'assignatura s'estructura en 5 activitats principals, cadascuna amb els seus continguts específics:
Activitat 1: "Arquitectures de programari distribuït: una solució per cada problema"
Activitat 2: "Arquitectures hexagonals i disseny de microserveis: una relació ben avinguda"
Activitat 3: "De la creació a la interconnexió de microserveis"
Activitat 4: "Qualitat del programari distribuït: inherent, transversal i crític"
Activitat 5: "DevOps, CD/CI i cultura àgil: bones pràctiques pel desenvolupament de programari distribuït"
|
|||||
El suport principal del material docent són els llibres esmentats més amunt, que es distribuiran en format digital segons els canals habituals de la UOC (Biblioteca) accessibles des de l'aula. Tots els llibres de l'assignatura són originals d'autors de referència mundial de l'àrea de desenvolupament de programari distribuït i per això estan escrits enterament en anglès. Es pressuposa competències de comprensió lectora en anglès al alumnat que arriba a aquesta etapa del grau, encara que donat el format digital d'aquests materials (lectura amb un navegador web), permet una fàcil lectura en altres idiomes mitjançant l'ús de les funcionalitats de traducció automàtica dels navegadors actuals. No obstant això, en cap cas l'equip docent es farà responsable de les fallades i problemes dels sistemes de traducció automàtica, i es recomana la lectura dels materials en l'idioma original, i especialment identificar i comprendre els conceptes i paraules clau en l'idioma original per evitar confusions amb la seva traducció a altres idiomes.
D'altra banda, l'assignatura disposa d'una aula de Laboratori amb material i eines de programari, i un consultor propi amb experiència en la part tècnica de l'assignatura, on l'alumne obtindrà tot el suport necessari per dur a terme les pràctiques. En particular, el Laboratori disposa de programari i manuals d'instal·lació, cursos de formació i casos d'estudi resolts sobre instal·lació i implementació, preguntes freqüents amb respostes i referències a fonts externes d'informació. A més, disposa de fòrums on enviar dubtes, consultes i problemes que el consultor respon el més ràpid possible, i que tots els alumnes poden compartir i participar. |
|||||
El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat dels exercicis realitzats. La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor; la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material, programari o dispositius no autoritzats durant l'avaluació, entre altres, són conductes irregulars en l'avaluació que poden tenir conseqüències acadèmiques i disciplinàries greus. Aquestes conductes irregulars poden comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent -incloses les proves finals- o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials, programari o dispositius no autoritzats durant les proves, com ara xarxes socials o cercadors d'informació a internet, perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, o perquè s'ha dut a terme qualsevol altra conducta irregular. Així mateix, i d'acord amb la normativa acadèmica, les conductes irregulars en l'avaluació també poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui, de conformitat amb l'establert a la normativa de convivència de la UOC. En el marc del procés d'avaluació, la UOC es reserva la potestat de:
|
|||||
|