Logo

Enginyeria del Software

Codi: 102743
Crèdits: 6
2026/2027
Titulació Tipus Curs
Enginyeria Informàtica OB 2

Professor/a de contacte

Nom :
Xavier Otazu Porter
Correu electrònic :
xavier.otazu@uab.cat

Equip docent

Joan Protasio Ramírez
Zakariae Majjouty Aouad
Victoria Montenegro Ruiz
Emanuel Adolfo Vallejo Canizales
Daniel Soto Alvarez

Idiomes dels grups

Podeu consultar aquesta informació al final del document.

Prerequisits

Atès que l’assignatura és d’introducció al bloc d'assignatures d'enginyeria del software, s’assumirà que no es posseeix cap tipus de coneixement previ sobre la matèria. És responsabilitat de la pròpia assignatura proporcionar als/les alumnes un mitjà per adquirir els coneixements descrits a l’apartat de continguts de l’assignatura (apartat 6 d’aquesta guia). Malgrat això és recomanable haver superat les assignatures de Programació 1 i de Programació 2 de primer curs, i l'assignatura de Bases de Dades de segon curs.

Objectius

Aquesta assignatura és introductòria del bloc d'assignatures sobre el procés d'enginyeria del software. L'objectiu general és donar una visió global i ordenada del procés de desenvolupament del software que no sigui simplement el de la programació (que constitueix, només, una fase dins de tot el procés de l'enginyeria del software). S'introduiran les activitats fonamentals que constitueixen el procés de desenvolupament (anàlisi de requisits, disseny, implementació, proves i manteniment), la majoria de les quals es tracten en més profunditat en assignatures posteriors. Es tracta, per tant, que l'alumne adquireixi una visió general de què és un procés de desenvolupament de software, com es modela software, quines eines s'utilitzen, com es gestiona la qualitat i com s'administra un projecte. 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 Agile/SCRUM com a paradigme de desenvolupament evolutiu més rellevant.

Resultats d'aprenentatge

  • CM16 (Integrar tècniques i metodologies adequades en el desenvolupament d’una solució informàtica que permetin una gestió correcta del treball en equips humans multidisciplinaris.) Integrar tècniques i metodologies adequades en el desenvolupament d’una solució informàtica que permetin una gestió correcta del treball en equips humans multidisciplinaris.
  • SM20 (Analitzar les diferents fases del procés de desenvolupament de programari per garantir la fiabilitat i qualitat d’aplicacions informàtiques, començant per una captura adequada dels requisits que permeti fer un modelatge de la solució, una programació eficient i el disseny del conjunt de proves.) Analitzar les diferents fases del procés de desenvolupament de programari per garantir la fiabilitat i qualitat d’aplicacions informàtiques, començant per una captura adequada dels requisits que permeti fer un modelatge de la solució, una programació eficient i el disseny del conjunt de proves.

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ó de software. Característiques del software. Aplicacions del software. Definició d'ES. 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. Model en espiral.


BLOC 2. MODELAT DE SOFTWARE

Tema 2. Anàlisi de Requisits 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 3. Disseny del Software.

  • Introducció. Procés de disseny. Disseny de dades, disseny arquitectònic, disseny de la interfície, disseny procedimental. Principis (objectius) del disseny.
  • Conceptes del disseny. Abstracció. Modularitat. Refinament.
  • Disseny modular efectiu. Independència funcional. Cohesió. Acoblament. Heurístiques per a un disseny modular efectiu.
  • Disseny d'Interfícies d'Usuari.

Tema 4. UML (Unified Modeling Language)

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


BLOC 3. ADMINISTRACIÓ DE LA QUALITAT DEL SOFTWARE

Tema 5. Qualitat del software.

  • Introducció. Conceptes de qualitat.
  • Prova del software. Models de prova del software.Estratègies de prova. Els problemes del mal disseny de software. Principis bàsics del disseny de software OO. TDD: Test-Driven Development.
  • Administració de la configuració del software.


BLOC 4. ADMINISTRACIÓ I DESENVOLUPAMENT DE PROJECTES DE SOFTWARE

Tema 6. SCRUM.

  • Introducció. Metodologia Àgil de gestió de projectes.
  • SCRUM. Característiques. Història.
  • Components de SCRUM. Rols. Artefactes. Processos.
  • Escalabilitat. Scrum de Scrums.
  • Eines Software.
  • Altres models àgils. Lean. Xtreme programming. Kanban.
  • Un cas d'estudi. Presentació de cas d'estudi a seguir durant el curs.

Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Tutories 15 0,6
Classes de teoria 30 1,2
Preparació i estudi 30 1,2
Entrevistes seguiment pràctica 15 0,6
Treball pràctic 38 1,52
Seminaris / Problemes 15 0,6

L’assignatura d’Enginyeria del Software té una forta component aplicada. Per aquest motiu, després d’introduir els conceptes teòrics fonamentals, l’assignatura es desenvolupa segons una metodologia ABP (Aprenentatge Basat en Problemes). D’aquesta manera, l’alumne adquirirà els coneixements a partir d’un cas pràctic (problema guia) de dimensió real. El problema guia dirigirà el procés d’aprenentatge al llarg del curs, de manera que el treball pràctic o els seminaris s’estructuraran entorn d’aquest cas. L’alumne haurà d’adquirir el perfil d’analista / arquitecte del software per prendre les decisions oportunes que concloguin en 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). Una vegada impartits els continguts teòrics, es dedicaran totes les sessions a treball basat en problemes, identificant algunes sessions d'assistència obligatòria on es durà a terme la pràctica en equips de 5 persones 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. No s'aprofundirà en els temes ja que en assignatures de cursos posteriors aquests ja es desenvolupen, però s'explicaran els conceptes necessaris per a que l'alumne/a entengui el procés de desenvolupament de software complet. Les sessions de teoria assumiran que l'alumnat segueix els materials distribuïts a través del campus virtual, de manera que s'orientaran a explicar els conceptes clau, i fomentar el debat crític sobre els continguts. Per fer les classes més dinàmiques, se sol distribuir materials previs a l'alumnat per autoaprenentatge (videos, enllaços web, presentacions, etc.) i es demana que es treballin abans de la classe, de manera que la classe s'adreça a debatre els coneixements, resoldre dubtes, incidir en el més essencial i treballar exemples pràctics.

SEMINARIS/PROBLEMES

Els seminaris són classes amb treball participatiu de l'alumnat. Segons l'objectiu dels seminaris, es dividirà l'alumnat del grup en subgrups més reduïts. 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 seran el marc de treball on 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. Atès que s'alternaran sessions de teoria, problemes i pràctiques al llarg del curs, per una millor organització, l'alumnat disposarà a principi de curs a través del campus virtual de la programació de totes les sessions.

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 (6 sessions de 2 hores durant el curs) consistiran en 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 considerara 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 utilitzar-lo com a exemple en les classes de teoria i 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 de 5 persones (segons nombre de matriculats). La resolució del treball la faran de manera autònoma, amb el seguiment setmanal abans descrit.

CLASSES ONLINE

Tot i que s'espera que tota la docència es pugui desenvolupar en modalitat presencial, les sessions de classe poden haver d'adaptar-se a modalitat on-line a través de plataformes de videoconferència. Qualsevol modificació que afecti el format i horaris, s'informarà a través del campus virtual i a l'inici de curs.

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ó col·lectiva (treball pràctic) 50 4 0,16 CM16, SM20
Avaluació individual (examen teoria) 50 3 0,12 CM16, SM20

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ó individual (AI). 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 5. En cas que la nota d'algun parcial sigui inferior a 5, s'haurà de recuperar a l'examen de recuperació. La nota corresponent a cada parcial té un pes del 50% en la nota final de l'avaluació individual.

Per tant, AI = 50% Nota_Parcial1 + 50% Nota_Parcial2.

  • Avaluació col·lectiva dels equips de treball (AC). Prova del rendiment conjunt dels diferents grups de treball per resoldre el problema guia i les diferents activitats presentades als seminaris. Consta de dos instruments:
  • AC1 (avaluació tècnica). Documentació lliurada per l'alumnat del seu treball pràctic. S’avaluarà la resolució tècnica del problema guia.
  • AC2 (avaluació de progrés i competències). 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(excés o defecte) respecte el seu grup.

Cal assenyalar que mentre els instruments AI i AC1 valoren el rendiment de l’alumne/a i el grau d’assoliment dels coneixements, l’instrument AC2 valora l’esforç de l’alumne/a.

La nota de la pràctica és AP = 60% AC + 40% AI

INDICADORS I VALORACIÓ:

La qualificació final s’obtindrà segons el següent barem:

QF = 50% AI + 50% AP

Per aprovar l’assignatura és necessari haver aconseguit una puntuació mínima de 5 en les dues qualificacions (AI i AC), així com en les proves parcials per alliberar matèria que s'estableixin al llarg del curs. A criteri del professor/a es podrà, però, establir compensacions entre les notes dels lliuraments parcials de les activitats (corresponents a AC).

  • 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à el valor menor entre 3.0 i la mitjana ponderada de les notes 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ó.

ACTIVITATS VOLUNTÀRIES D'AVALUACIÓ:

Durant el curs es proposarà a l'alumnat activitats de lliurament opcional que serviran per complementar les notes de les activitats obligatòries.

RECUPERACIONS:

  • Avaluació individual (AI). Es faran dos exàmens parcials de teoria alliberadors durant hores lectives. Els alumnes que no superin aquesta prova (amb nota igual o superior a 5), disposaran d'un examen de recuperació en la data d'avaluació final programada per la titulació.
  • Avaluació col·lectiva (AC). El treball 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 problema guia, el fet de no lliurara 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. Aquesta informació s'anunciarà el dia de la presentació de l'assignatura, i al campus virtual.

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). 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ó per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, 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ó teorico-pràctiques individuals (exàmens).

En resum: copiar, deixar copiar o plagiar en qualsevol de les activitats d'avaluació equival a un SUSPENS a tota la assignatura amb nota inferior a 3,0.

En aquesta assignatura, no es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) en cap de les seves fases. Qualsevol treball que inclogui fragments generats amb IA serà considerat una falta d'honestedat acadèmica i pot comportar una penalització parcial o total en la nota de l'activitat, o sancions majors en casos de gravetat.

CLARIFICACIÓ FINAL: Per a qualsevol dubte o discrepància, prevaldrà la informació més actualitzada que es comunicarà el dia de la presentació de l'assignatura i que es publicarà al campus virtual.

Bibliografia

Els continguts de l’assignatura explicats a classe s’extreuen de diferents fonts. Molts materials són en línia, extrets de materials multimèdia, vídeos, etc. Durant el curs, es proporcionaran els materials de confecció pròpia necessaris per al seguiment de l’assignatura a través del campus virtual. També es proporcionaran enllaços a documentació en línia, programari per als exercicis pràctics, etc. en format lliure. A continuació es referencien alguns llibres clàssics d'enginyeria del software. Es recomana a l'alumnat seguir l'assignatura amb els materials actualitzats que es recomanaran a classe.

  • G. Booch, J. Rumbaugh, I. Jacobson. El lenguaje unificado de modelado. Addison-Wesley, 2001.
  • I. Jacobson, G. Booch, J. Rumbaugh. El proceso unificado de desarrollo de software. Addison-Wesley, 2000.
  • J. Rumbaugh , I. Jacobson, G. Booch. El lenguaje unificado de modelado: manual de referencia. Addison-Wesley, 2007.
  • T. Quatrani. Visual Modeling with Rational Rose 2000 and UML. Addison-Wesley, 2000.
  • P. Krutchen. The Rational Unified Process. An Introduction. Addison-Wesley, 2000.
  • Roger S. Pressman, Ingeniería del software, un enfoque práctico.  Mc Grah-Hill, 7a. edició , 2010.
  • A. Álvarez García, R. de las Heras del Dedo, C. Lasa Gómez, Métodos Ágiles. Scrum, Kanban, Lean. Anaya Multimedia, 2017.
  • K. Pohl, C. Rupp. Requeriments Engineering Fundamentals. Rocky Nook Inc. 2011.
  • Alexey Krivitsky. Lego4Scrum. https://www.lego4scrum.com/

Programari

L'eina per comunicar-nos amb els estudiants serà el Campus Virtual

  • Scrum. Azure DevOps / Jira, Trello
  • UML. PlantUML
  • Gestió de la configuració. GitHub

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
(PAUL) Pràctiques d'aula 411 Català/Castellà segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 412 Català/Castellà segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 431 Català/Castellà segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 432 Català/Castellà segon quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 451 Català/Castellà segon quadrimestre tarda
(PAUL) Pràctiques d'aula 452 Català/Castellà segon quadrimestre tarda