Logo

Enginyeria de Software

Codi: 106561
Crèdits: 6
2026/2027
Titulació Tipus Curs
Intel·ligència Artificial / Bachelor in Artificial Intelligence OP 3

Professor/a de contacte

Nom :
Marc Castello Torrellas
Correu electrònic :
marc.castello@uab.cat

Idiomes dels grups

Podeu consultar aquesta informació al final del document.

Prerequisits

Atès que l’assignatura és introductòria a l’enginyeria del programari, no es pressuposa cap coneixement previ específic sobre aquesta matèria. Tanmateix, és recomanable haver superat les assignatures de Fonaments de Programació I i II, així com tenir capacitat bàsica per analitzar problemes, dissenyar solucions algorítmiques i treballar amb eines de desenvolupament de programari.


L’assignatura proporcionarà els conceptes, mètodes i eines necessaris per comprendre el procés complet de desenvolupament de programari, des de l’anàlisi de requisits fins al disseny, la implementació, les proves i el manteniment.

Objectius

Aquesta assignatura introdueix l’alumnat en el procés d’enginyeria del programari, entès com un procés sistemàtic, organitzat i verificable de desenvolupament de sistemes informàtics. L’objectiu general és donar una visió global del desenvolupament de programari més enllà de la programació, incloent-hi l’anàlisi de requisits, el disseny, la implementació, les proves, la qualitat, el manteniment i la gestió de projectes.

En el context del grau en Intel·ligència Artificial, es farà especial èmfasi en el disseny de sistemes de programari que incorporen components intel·ligents, dades, models d’IA o serveis algorítmics. L’alumnat haurà d’entendre com transformar una necessitat o problema en una proposta de sistema estructurada, documentada i avaluable.


Més concretament, els objectius són:

  • Proporcionar una visió general del procés de desenvolupament del software, els paradigmes, les activitats, i els objectius de cada activitat.
  • Conèixer què és el modelat del software, la importància i la dificultat de l'especificació de requeriments i el disseny en les seves diferents vistes.
  • Aprendre els conceptes bàsics d'UML per treballar de manera pràctica en el modelat del software.
  • Introduir a l'alumne/a en els principis, conceptes i tècniques que s'apliquen per administrar i controlar la qualitat del software.
  • Donar a conèixer les tècniques d'administració requerides per planificar, organitzar, monitoritzar i controlar projectes de software.
  • Familiaritzar-se amb el model SCRUM com a paradigma de desenvolupament evolutiu més rellevant.

Resultats d'aprenentatge

  • CM01 (Planificar i implementar projectes de programari en l’àmbit de la intel·ligència artificial que s’ajustin als requeriments de l’aplicació, abordant totes les fases de desenvolupament del projecte i seguint els principis i mètodes estàndards per a la gestió i el desenvolupament de projectes de programari.) Planificar i implementar projectes de programari en l’àmbit de la intel·ligència artificial que s’ajustin als requeriments de l’aplicació, abordant totes les fases de desenvolupament del projecte i seguint els principis i mètodes estàndards per a la gestió i el desenvolupament de projectes de programari.
  • KM05 (Identificar els conceptes bàsics de la programació estructurada i orientada a objectes i de la representació d’informació mitjançant estructures de dades.) Identificar els conceptes bàsics de la programació estructurada i orientada a objectes i de la representació d’informació mitjançant estructures de dades.
  • SM05 (Seleccionar les estructures algorítmiques i de representació de dades i les tècniques de programació apropiades per a la resolució eficient de problemes algorítmics.) Seleccionar les estructures algorítmiques i de representació de dades i les tècniques de programació apropiades per a la resolució eficient de problemes algorítmics.
  • SM06 (Desenvolupar el disseny, la codificació, la depuració i la prova de programes utilitzant les eines adequades per garantir la qualitat del programari.) Desenvolupar el disseny, la codificació, la depuració i la prova de programes utilitzant les eines adequades per garantir la qualitat del programari.

Continguts


BLOC 1. EL SOFTWARE I L'ENGINYERIA DEL SOFTWARE

Tema 1. Principis de l'enginyeria del software.

  • Definició i objectius de l'ES: Definició, característiques, aplicacions del software. Definició d'ES i objectius de l'ES.
  • Evolució del software: Etapes, Crisi del software, problemes i causes.
  • Procés, mètode i eina. Definicions, activitats en el procés de desenvolupament del software.
  • Paradigmes del desenvolupament del software: Model lineal seqüencial (cicle de vida clàssic), model de prototipat, model evolutiu i model en espiral.


BLOC 2. ADMINISTRACIÓ I DESENVOLUPAMENT DE PROJECTES DE SOFTWARE

Tema 2. SCRUM.

  • Introducció, metodologia Àgil de gestió de projectes.
  • SCRUM: Característiques i Història.
  • Components de SCRUM: Rols, artefactes, processos, escalabilitat i Scrum de Scrums.
  • Eines Software.
  • Altres models àgils: Lean, Xtreme programming, Kanban.
  • Un cas d'estudi: Construcció d’una ciutat amb Lego utilitzant Scrum.


BLOC 3. MODELAT DEL SOFTWARE

Tema 3. Anàlisi de Requeriments del Software.

  • Introducció: Tipus de requeriments, tasques a realitzar.
  • Comprensió del problema: tècniques de comunicació, problemes associats, principis de l'anàlisi.
  • Especificació de requeriments: Propietats desitjables d'una ER, estàndards d'ES, revisió i validació de l'especificació.


Tema 4. Disseny del Software.

  • Introducció: Procés de disseny, disseny de dades, disseny arquitectònic, disseny de la interfície, disseny procedimental i principis (objectius) del disseny.
  • Conceptes del disseny: Abstracció, modularitat i refinament.
  • Disseny modular efectiu: Independència funcional, cohesió, acoblament, heurístiques per a un disseny modular efectiu.
  • Disseny d'Interfícies d'Usuari.


Tema 5. UML (Unified Modeling Language)

  • Evolució i història d'UML.
  • Vistes d'UML: Vista de casos d'ús, vista lògica, vista de components i vista de desplegament.


BLOC 4. ADMINISTRACIÓ DE LA QUALITAT DEL SOFTWARE

Tema 6. Qualitat del software.

  • Introducció: Conceptes de qualitat.
  • Prova del software: Estratègies de prova, prova d'aplicacions convencionals, prova d'aplicacions web.
  • Administració de la configuració del software.


Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Tutoria 15 0,6
Entrevistes tutorització cas pràctic 15 0,6
Preparació y Estudi 30 1,2
Treball pràctic 38 1,52
Seminaris/problemes 14 0,56
Classes de teoria 30 1,2

L'assignatura d'Enginyeria del Software té una forta component aplicada, però també requereix d'una part teòrica, fruit de l'experiència, a partir de la qual s'implementen les decisions pràctiques. Per tant, l'assignatura no serà purament ABP (Aprenentatge Basat en Problemes) sinó una barreja de ABP i mètode tradicional. Es proposarà a l'alumne un cas pràctic (problema genèric) de dimensió real, al voltant del qual s'estructuraran les sessions de problemes i el treball pràctic. L'alumne haurà d'adquirir el perfil d'analista / arquitecte del software per prendre les decisions oportunes que portin a la construcció d'una proposta de disseny del sistema proposat. El professor farà el paper de tutor i, en situacions determinades, de client, fomentant simulacions de diàleg desenvolupador - client. 

L'assignatura consta de 4 hores setmanals presencials. No es distingeix entre horaris de teoria, problemes i pràctiques de laboratori. Durant les hores presencials s'alternaran classes de teoria, problemes o pràctiques segons la planificació que s'indicarà el dia de la planificació de l'assignatura. De manera general, es concentrarà l'explicació dels continguts teòrics fonamentals durant les primeres sessions del curs (aproximadament les 6 primeres setmanes), però també s'hi intercalaran de manera gradual algunes sessions de problemes i casos pràctics. Una vegada impartits els continguts teòrics, es dedicaran totes les sessions restants a treball basat en problemes, identificant algunes sessions d'assistència obligatòria on es durà a terme la pràctica (en equips den persones, on s'indicarà el nombre n a principi de curs) o es faran problemes a lliurar al final de la sessió. 

 

TEORIA 

Consisteix en classes magistrals amb material multimèdia disponible al Campus Virtual de la UAB. L'objectiu principal d'aquestes classes és introduir les nocions bàsiques sobre els processos, mètodes i eines relatius a la visió del cicle de vida del software des d'un punt de vista d'enginyeria. S'exposarà quins són els principis i paradigmes de l'Enginyeria del Software, les diferents activitats i les tasques a dur a terme a cada activitat. Les classes de teoria han de permetre a l'alumne/a agafar una visió real del rigor, planificació i la sistemàtica que requereix el desenvolupament professional del software.  

 

SEMINARIS/PROBLEMES 

Els seminaris són classes amb treball participatiu de l'alumnat. Tenen una doble funció, enllaçant per una banda amb les classes magistrals i per l'altra amb les sessions pràctiques sobre el problema a resoldre en equips. Per una banda, els seminaris complementaran els continguts tecnològics exposats a les classes magistrals, completant-ne la seva comprensió. Per l'altra banda seran el marc de treballon debatre, establir les bases i desenvolupar el problema guia. Se li donaran a l'estudiant els coneixements necessaris per tirar endavant el treball pràctic o se li indicarà on aconseguir-los. En els seminaris es promou fonamentalment la capacitat d'anàlisi i síntesi, així com el raonament crític i la presa de decisions de l'alumne front a la resolució del problema guia. Atès que es tracta d'una assignatura molt pràctica i on els continguts teòrics són de baixa complexitat, es reforça sovint el treball pràctic amb resolució de problemes o el treball d'activitats participatives. Es coordinaran els continguts dels seminaris amb les etapes a resoldre en el treball de la pràctica. 

 

SEGUIMENT TREBALL PRÀCTIC 

No hi haurà sessions presencials de laboratori. Els/Les estudiants resoldran el problema guia de manera autònoma en grups reduïts, i el seguiment es farà durant les hores de classe en l'horari regular. Les franges de pràctiques (12 hores durant el curs) consistiran de dues parts. Primer, cada equip de pràctiques presentarà a la resta de la classe el progrés del seu treball (l'encarregat de fer la presentació serà la persona que faci de scrum master en aquella iteració). En la segona part de la sessió el/la tutor/a de pràctiques tindrà una entrevista individual amb cada equip per fer el seguiment i l'avaluació. Se segueix un desenvolupament basat en SCRUM, on cada increment, anomenat sprint, correspon a una sessió. 

L'assistència a les entrevistes de seguiment serà OBLIGATÒRIA per a tots els/les alumnes. La no presència incidirà negativament en l'avaluació del treball pràctic, comportant no superar l'avaluació si el número de no presencies supera el 15% de les sessions. En cas d'absència justificada, el professorat considerarà mecanismes de compensació. La mida dels equips de pràctiques es determinarà a principi de curs. De manera orientativa seran equips de 5 persones. Atès que l'assistència a les sessions de seguiment és obligatòria, i es farà durant els horaris presencials, és important que totes les persones membres d'un equip de pràctiques estiguin matriculats i assisteixin al mateix grup. 

 

TREBALL PRÀCTIC 

Es lliurarà als alumnes a l'inici de curs un problema guia. Aquest problema tindrà dues funcions. En primer lloc, s'utilitzarà com a exemple en les classes de seminaris, resolent-ne parts adients als continguts de cada moment. En segon lloc, es pot entendre com l'enunciat d'una pràctica que es va resolent per etapes al llarg del curs. Els/Les alumnes s'organitzaran en equips de treball. La resolució del treball la faran de manera autònoma, amb el seguiment setmanal abans descrit. 

 

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè l'alumnat completi les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura.

Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Avaluació pràctica 60% 4 0,16 CM01, KM05, SM05, SM06
Avaluació teòrica 40% 4 0,16 CM01, KM05, SM05

INDICADORS I VALORACIÓ

Aquesta assignatura no preveu el sistema d'avaluació única.

L'avaluació es durà a terme en base al treball pràctic desenvolupat per l'alumne i inclòs en el seu portfoli (resolució final de problema guia, material generat en les activitats dels seminaris), el grau d'implicació en els seminaris i als coneixements tecnològics assolits de la matèria a estudi. Es contemplaran els següents instruments d'avaluació:

  • Avaluació Teòrica (AT). Prova escrita presencial per valorar el grau de coneixements assolits per l'alumne a nivell individual. Hi haurà dues proves parcials durant el curs que permetran alliberar matèria sempre i quan la nota obtinguda sigui igual o superior a 4. La nota corresponent a cada parcial té un pes del 50% en la nota final de l'avaluació individual.
  • Avaluació pràctica (AP). Prova del rendiment conjunt dels diferents grups de treball per resoldre el problema guia (projecte) i les diferents activitats presentades als seminaris (problemes). Consta de dos instruments:

Nota del Projecte. Documentació lliurada per l'alumnat del seu treball pràctic. S'avaluarà la resolució tècnica del problema guia. La defensa del treball per part dels alumnes en els lliuraments, el seguiment de l'evolució del treball i la participació activa en els seminaris.

S'avaluarà a partir de les entrevistes amb el professor, proves escrites de curta durada, lliuraments o exposicions de problemes i casos plantejats en les activitats. Tot i que aquest instrument és d'avaluació col·lectiva, a criteri del tutor/a, pot ser corregit individualment en casos en què la participació de l'alumne/a destaqui (per excés o defecte) respecte el seu grup.

Nota dels Problemes. Durant el curs el professor demanarà al alumnat que resolgui alguns problemes pel seu compte apart dels que es resolen en classe de problemes de forma conjunta, aquestes entregues son individuals.

La qualificació final s'obtindrà segons la següent taula:

Nota Nota Mínima Nota Mitjana Nota Mínima Nota Mitjana
Parcial 1 4
AT=0.5 Parcial_1+0.5 Parcial_2 5


QF = 0.4 AT + 0.6 AP
Parcial 2 4
Problemes 5
AP=0.5 Problemes+0.5 Projecte 5
Projecte 5

En el mateix moment de la publicació de cada avaluació es donarà un període per a revisar la nota. Es respectaran escrupolosament els períodes de revisió de qualificacions, és a dir, no es revisarà cap qualificació fora d'aquest període de revisió de nota.

L'assignatura serà avaluada com a No Avaluable només en el cas que l'alumne no s'hagi presentat a cap de les proves d'avaluació contemplades ni hagi lliurat totalment o parcialment els treballs.

En cas de no superar l'assignatura degut a que alguna de les activitats d'avaluació no arriba a la nota mínima requerida, la nota numèrica de l'expedient serà el valor menor entre 4.5 i la mitjana ponderada de les notes. Amb les excepcions de que s'atorgarà la qualificació de \"no avaluable\" als/les estudiants que no participin en cap de les activitats d'avaluació, i de que la nota numèrica de l'expedient serà zero (0) en cas que l'estudiant hagi comès irregularitats en un acte d'avaluació (i per tant no serà possible l'aprovat per compensació).

S'atorgaran les Matrícules d'Honor dins dels màxims admesos per la normativa de la UAB (en funció del número de matriculats) a les notes més altes iguals o superiors a 9.

Per a cada activitat d'avaluació, s'indicarà un lloc, data i hora de revisió en la que l'estudiant podrà revisar l'activitat amb el professor. En aquest context, es podran fer reclamacions sobre la nota de l'activitat, que seran avaluades pel professorat responsable de l'assignatura. Si l'estudiant no es presenta a aquesta revisió, no es revisarà posteriorment aquesta activitat.

Veure apartat \"PLAGI\" sobre mesures en casos d'irregularitats per plagi en les activitats d'avaluació.

RECUPERACIONS

  • Avaluació teorica (AT). Es faran dos exàmens parcials de teoria alliberatoris durant hores lectives. Els alumnes que no superin una o les dues proves, disposaran d'un examen de recuperació en la data d'avaluació final programada per la titulació.
  • Avaluació pràctica (AP). Eltreball pràctic s'avalua en forma d'avaluació continuada en les sessions de seguiment. Per tant no hi haurà cap activitat de recuperació al final del curs. Tanmateix i respecte a la resolució del projecte, el fet de no lliurar a temps o no superar un dels lliuraments intermedis pot ser recuperat reprogramant la planificació del treball de les sessions posteriors durant el curs, d'acord amb el professor.


DATES D'AVALUACIÓ

Les dates d'avaluació continuada i lliurament de treballs es publicaran al campus virtual i poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà al campus virtual sobre aquests canvis ja que s'entén que és el mecanisme habitual d'intercanvi d'informació entre professor i estudiants.


ALUMNES REPETIDORS

No es guarden notes parcials (teoria o pràctiques) d'un curs per l'altre. Tanmateix, a criteri del professor i en funció de les avaluacions de cursos previs, es podran establir compensacions.


PLAGI

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, les irregularitats comeses per un estudiant que puguin conduir a una variació de la qualificació es qualificaran amb un zero (0). Per exemple, plagiar, copiar, deixar copiar, ..., una activitat d'avaluació, implicarà suspendre aquesta activitat d'avaluació amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació pera provar l'assignatura, aquesta assignatura quedarà suspesa directament amb una qualificació de zero (0), sense oportunitat de recuperar-la en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe, o qualsevol altra activitat d'avaluació.
  • Deixar copiar.
  • presentar un treball de grup no fet íntegrament pels membres del grup.
  • presentar com a propis materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant.
  • tenir dispositius de comunicació (com telèfons mòbils, smart watches, etc.) accessibles durant les proves d'avaluació teòrico-pràctiques individuals (exàmens).

A un estudiant que hagi comès irregularitats en un acte d'avaluació no se li convalidarà cap de les activitats d'avaluació realitzades. En resum: copiar, deixar copiar o plagiar (o l'intent de) en qualsevol de les activitats d'avaluació equival a un SUSPENS, amb un zero (0) no compensable i sense convalidacions de parts de l'assignatura en cursos posteriors.

En aquesta assignatura, es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) com a part integrant del desenvolupament del treball, sempre que el resultat final reflecteixi una contribució significativa de l'estudiant en l'anàlisi i la reflexió personal. L'estudiant haurà d'identificar clarament quines parts hanestat generades amb aquesta tecnologia, especificar les eines emprades i incloure una reflexió crítica sobre com aquestes han influït en el procés i el resultat final de l’activitat. La no transparència de l’ús de la IA es considerarà falta d'honestedat acadèmica i pot comportar una penalització en la nota de l'activitat, o sancions majors en casos de gravetat.


ASSISTENCIA OBLIGATORIA

L’assistència a les sessions de seguiment del projecte és obligatòria. Aquestes sessions formen part del procés d’avaluació continuada del treball pràctic. La no assistència injustificada a més del 15% de les sessions de seguiment podrà comportar no superar l’avaluació del projecte. En cas d’absència justificada, el professorat podrà establir mecanismes de compensació adequats.


REPROGRAMACIONS

Existeix un protocol de sol·licitud de reprogramació d’activitats d’avaluació segons els casos especificats als criteris i instruccions d’avaluació de l’Escola d’Enginyeria. L’alumnat que no pugui assistir a una activitat d’avaluació per una causa justificada haurà de fer la sol·licitud corresponent a la gestió acadèmica de referència. La reprogramació només s’aplicarà en els supòsits previstos per la normativa i pels criteris de l’Escola.


ACLARIMENT FINAL

La planificació detallada de les activitats, lliuraments i sessions es publicarà al Campus Virtual, sempre dins del marc establert en aquesta guia docent

Bibliografia

Pressman, R. S.; Maxim, B. R. Software Engineering: A Practitioner’s Approach. 9th edition. McGraw-Hill, 2020.

Sommerville, I. Software Engineering. 10th edition. Pearson, 2015.

IEEE Computer Society. Guide to the Software Engineering Body of Knowledge — SWEBOK Guide V4.0. 2024.

Schwaber, K.; Sutherland, J. The Scrum Guide. 2020.

Winters, T.; Manshreck, T.; Wright, H. Software Engineering at Google. O’Reilly, 2020.

ISO/IEC/IEEE 29119-1:2022. Software and systems engineering — Software testing — Part 1: General concepts.

NIST. Artificial Intelligence Risk Management Framework. 2023.

OWASP. OWASP Top 10 Web Application Security Risks. Versió vigent publicada pel projecte OWASP.

Programari

Durant l’assignatura es podran utilitzar eines de suport a la gestió de projectes, modelatge, prototipatge i desenvolupament de programari, com ara Jira, Trello, GitHub, GitLab, Miro, Figma, Balsamiq, draw.io, PlantUML o eines equivalents.

No cal adquirir cap programari de pagament. Sempre que sigui possible s’utilitzaran eines gratuïtes, de codi obert o amb llicències educatives. Es recomana que l’alumnat disposi d’un ordinador portàtil per al treball en equip i el desenvolupament del projecte.

Jira (https://www.atlassian.com/)

Miro (https://miro.com/)

Figma (https://www.figma.com/)

Balsamiq (https://balsamiq.com/)

Grups i idiomes de l'assignatura

La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura

Tipus de docència Grup Idioma Semestre Torn
(TE) Teoria 71 Anglès segon quadrimestre tarda
(PAUL) Pràctiques d'aula 711 Anglès segon quadrimestre tarda