Tècniques avançades d'enginyeria del programari Codi:  M1.203    :  6
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 segon 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.

L'assignatura Tècniques Avançades de l'Enginyeria del Programari tracta diferents tècniques i metodologies d'última generació pensades per a diferents propòsits durant el desenvolupament de programari, que pels seus alts beneficis cada vegada es van incorporant més en els processos de desenvolupament habituals de les organitzacions. 

En particular, aquesta assignatura estudia les metodologies àgils com un paradigma per al desenvolupament de programari de forma ràpida i adaptable a situacions molt canviants, sense perdre el rigor de les metodologies clàssiques. Dins d'aquest àmbit s'estudia principalment la metodologia Scrum.

A més, s'estudien tècniques per al desenvolupament basat en models. Aquest paradigma persegueix utilitzar l'abstracció per reduir l'esforç necessari per desenvolupar programari, per exemple, generant part de la implementació automàticament. Algunes tècniques que es presentaran són l'ús de models independents de la plataforma, les transformacions de models i els llenguatges específics de domini.

Amunt

Aquesta assignatura és la única de l'àrea de coneixement d'enginyeria del programari dins del Màster en Enginyeria Informàtica.

Amunt

Els coneixements assolits en aquesta assignatura proporcionarà a l'estudiant competències sòlides pel desenvolupament de programari avançat que li permetran formar part d'equips de professionals del sector, principalment com arquitecte de programari, expert del domini o analista funcional. En general permetra als estudiants consolidar, actualitzar i ampliar els seus coneixements d'enginyeria del programari amb les darreres tècniques de desenvolupament de programari.

Amunt

Aquesta assignatura no necessita coneixements previs del propi Màster. Cal, no obstant això, que l'estudiant disposi d'una base adequada en l'àmbit de l'enginyeria del programari, com la que s'adquireix en els complements de formació "Enginyeria del Programari" i "Disseny i Programació Orientada a Objectes". Per poder participar al debat, basat en articles escrits en llengua anglesa, es recomana tenir un nivell suficient de lectura i comprensnió d'anglès tècnic.

Amunt

Aquesta assignatura no necessita coneixements previs del propi Màster. Cal, no obstant això, que l'estudiant disposi d'una base adequada en l'àmbit de l'enginyeria del programari, com la que s'adquireix en els complements de formació "Enginyeria del Programari" i "Disseny i Programació Orientada a Objectes".

Amunt

L'assignatura parteix de la base que la major part del seu contingut és d'aplicació directa en el futur treball professional dels estudiants. Així doncs, es posa més èmfasi en els conceptes més pràctics i, per tant, més avançats. A més, les activitats de tipus pràctic tenen un pes important dins del temps d'estudi, la qual cosa proporciona un bagatge de coneixements d'aplicació directa a les actuals o futures organitzacions on el professional desenvolupi la seva activitat.

L'assignatura permet aconseguir les següents competències del Màster Universitari en Enginyeria Informàtica:

  • CG1. Capacitat per projectar, calcular i dissenyar productes, processos i instal·lacions en tots els àmbits de l'enginyeria informàtica.
  • CT2. Capacitat per a l'aplicació dels coneixements adquirits i de resoldre problemes en entorns nous o poc coneguts dins de contextos més amplis i multidisciplinaris, sent capaços d'integrar aquests coneixements.
  • CE4. Capacitat per modelar, dissenyar, definir l'arquitectura, implantar, gestionar, operar, administrar i mantenir aplicacions, xarxes, sistemes, serveis i continguts informàtics.
  • CE6. Capacitat per assegurar, gestionar, auditar i certificar la qualitat dels desenvolupaments, processos, sistemes, serveis, aplicacions i productes informàtics.
  • CE8. Capacitat per analitzar les necessitats d'informació que es plantegen en un entorn i dur a terme en totes les seves etapes el procés de construcció d'un sistema d'informació.

Els objectius específics que es tractaran en aquesta assignatura són:

  • Conèixer les metodologies àgils de desenvolupament de programari (en particular Scrum) i saber com aplicar-les en projecte i equips determinats.
  • Conèixer i saber aplicar els principals estàndards de desenvolupament de programari dirigit per models, juntament amb els seus principals característiques i mecanismes (per exemple, els llenguatges específics de domini).

Amunt

1. Metodologies àgils
1.1. Ser àgil
1.2. Scrum
1.3. L'equip Scrum
1.4. Cerimònies Scrum
1.5. Artefactes Scrum
1.6. Més enllà d'àgil

2. Desenvolupament de programari dirigit per models
2.1 Introducció a MDA i MDE
2.2. El llenguatge de restriccions i consultes OCL
2.3. Llenguatges específics de domini
2.4. Transformacions de models

3. Desenvolupament de programari basat en reutilització
3.1. Introducció a la reutilització
3.2 Reutilització en disseny de programari orientat a objectes
3.3 Reutilització a petita escala: Solucions tècniques de reutilització
3.4 Reutilització a gran escala: Solucions metodològiques de reutilització

Les activitats de l'assignatura se centraran en els mòduls 1 i 2. El mòdul 3 es proporciona com a material de consulta per a l'estudiant però no serà utilitzat durant la docència.

Amunt

Amunt

Per als exercicis pràctics s'utilitzaran les següents eines:

Eclipse Modeling Tools: Comjunt d'eines per al modelatge de programari

Plug-in ATL per a Eclipse: Plug-in d'Eclipse per realitzar transformacions en ATL

Papyrus: Eina per al modelatge de programari en UML

Amunt

A la UOC, l'avaluació generalment és virtual. S'estructura entorn de l'avaluació contínua, que inclou diferents activitats o reptes; l'avaluació final, que es porta a terme mitjançant proves o exàmens, i el treball final de la titulació.

Les activitats o proves d'avaluació poden ser escrites i/o audiovisuals, amb preguntes aleatòries, proves orals síncrones o asíncrones, etc., d'acord amb el que decideixi cada equip docent. Els treballs finals representen el tancament d'un procés formatiu que implica la realització d'un treball original i tutoritzat que té com a objectiu demostrar l'adquisició competencial feta al llarg del programa.

Per verificar la identitat de l'estudiant i l'autoria de les proves d'avaluació, la UOC es reserva la potestat d'aplicar diferents sistemes de reconeixement de la identitat i de detecció del plagi. Amb aquest objectiu, la UOC pot dur a terme enregistrament audiovisual o fer servir mètodes o tècniques de supervisió durant l'execució de qualsevol activitat acadèmica.

Així mateix, la UOC pot exigir a l'estudiant l'ús de dispositius electrònics (micròfons, càmeres o altres eines) o programari específic durant l'avaluació. És responsabilitat de l'estudiant assegurar que aquests dispositius funcionen correctament.

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat de les activitats acadèmiques. Al web sobre integritat acadèmica i plagi de la UOC hi ha més informació respecte d'aquesta qüestió.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; la suplantació d'identitat; l'acceptació o l'obtenció de qualsevol activitat acadèmica a canvi d'una contraprestació o no; la col·laboració, l'encobriment o l'afavoriment de la còpia, o l'ús de material, programari o dispositius no autoritzats en el pla docent o l'enunciat de l'activitat acadèmica, inclosa la intel·ligència artificial i la traducció automàtica, 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 l'ús d'intel·ligència artificial no permesa, 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, per la compravenda d'activitats acadèmiques, 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 el que estableix la normativa de convivència de la UOC.

En el marc del procés d'avaluació, la UOC es reserva la potestat de:

  • Sol·licitar a l'estudiant que acrediti la seva identitat segons el que estableix la normativa acadèmica.
  • Sol·licitar a l'estudiant que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació, tant en l'avaluació contínua com en l'avaluació final, per mitjà d'una entrevista oral síncrona, que pot ser objecte d'enregistrament audiovisual, o pels mitjans que estableixi la Universitat. Aquests mitjans tenen l'objectiu de verificar els coneixements i les competències que garanteixin la identitat de l'estudiant. Si no és possible garantir que l'estudiant és l'autor de la prova, aquesta pot ser qualificada amb una D, en el cas de l'avaluació contínua, o amb un suspens, en el cas de l'avaluació final.

Intel·ligència artificial en el marc de l'avaluació

La UOC reconeix el valor i el potencial de la intel·ligència artificial (IA) en l'àmbit educatiu, alhora que posa de manifest els riscos que comporta si no s'utilitza de manera ètica, crítica i responsable. En aquest sentit, en cada activitat d'avaluació s'informarà l'estudiantat sobre les eines i els recursos d'IA que es poden utilitzar i en quines condicions. Per la seva banda, l'estudiantat es compromet a seguir les indicacions de la UOC a l'hora de dur a terme les activitats d'avaluació i de citar les eines utilitzades i, concretament, a identificar els textos o les imatges generats per sistemes d'IA, els quals no podrà presentar com si fossin propis.

Amb relació a fer servir o no la IA per resoldre una activitat, l'enunciat de les activitats d'avaluació indica les limitacions en l'ús d'aquestes eines. Cal tenir en compte que fer-les servir de manera inadequada, com ara en activitats en què no estan permeses o no citar-les en les activitats en què sí que ho estan, es pot considerar una conducta irregular en l'avaluació. En cas de dubte, es recomana que, abans de lliurar l'activitat, es faci arribar una consulta al professorat col·laborador de l'aula.

Amunt

L'assignatura només es pot aprovar amb el seguiment i la superació de l'avaluació contínua (AC). La qualificació final de l'assignatura és la nota obtinguda a l'AC.

 

Amunt