Temes Avançats d'Enginyeria de Dades II

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ETSETB;FIB;FME;ESSI;ENTEL
L'assignatura s'estructura en dues parts diferenciades: l'estudi de l'enginyeria del software dirigida per les dades i l'estudi d'aspectes relacionats amb la privadesa i seguretat de les dades.

1. Enginyeria del Software. La disponibilitat de grans volums de dades provinents tant del desenvolupament dels sistemes software com de la seva utilització possibilita la seva utilització en diverses etapes i activitats de l'enginyeria del software i, fins i tot anant més enllà, defineix una nova aproximació que considera les dades com la pedra angular del cicle de vida del software. La primera part de l'assignatura presenta aquesta nova visió de l'enginyeria del software i aprofundeix en tres activitats concretes que giren al voltant de les dades: gestió de la qualitat del software, construcció de sistemes basats en intel·ligència artificial, i planificació de noves versions i adaptació dels sistemes basats en intel·ligència artificial conscients del context en temps d'execució.

2. Privadesa i seguretat de les dades. Les tècniques d'anàlisi de dades poden ajudar a obtenir informació per anticipar-se a diversos problemes, donar a conèixer la seva font i ajudar a implementar solucions, en contextos tan variats com competitivitat empresarial, màrqueting, relacions socials, transport, salut, educació i política. No obstant això, tot i que l'anàlisi de dades és extremadament valuós, també tenen un inconvenient crucial: envaeixen cada cop més la privadesa de les persones sobre les quals es recopilen dades. La segona part de l'assignatura presenta conceptes bàsics de privadesa de la informació i aprofundeix en les principals tecnologies i mètriques de privadesa, així com en els algorismes d'anonimització utilitzats per evitar qualsevol divulgació d'informació sensible dels individus

Professorat

Responsable

  • Jordi Forne Muñoz ( )
  • Silverio Juan Martínez Fernández ( )
  • Xavier Franch Gutiérrez ( )

Altres

  • Esteve Pallares Segarra ( )
  • Javier Parra Arnau ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques

  • CE1 - Utilitzar amb destresa els conceptes i mètodes matemàtics subjacents els problemes de la ciència i l'enginyeria de les dades.
  • CE2 - Ser capaç de programar solucions a problemes d'enginyeria: Dissenyar solucions algorítmiques eficients a un problema computacional donat, implementar-les en forma de programari robust, estructurat i mantenible, i comprovar la validesa de la solució.
  • CE3 - Analitzar fenòmens complexos mitjançant la probabilitat i l'estadística, i plantejar models d'aquests tipus en situacions concretes. Formular i resoldre problemes d'optimització matemàtica.
  • CE7 - Demostrar coneixement i capacitat d'aplicació de les eines necessàries per a l'emmagatzematge, el processament i l'accés a les dades.
  • CE8 - Capacitat de triar i emprar tècniques de modelització estadística i anàlisi de dades, avaluant la qualitat dels models, validant-los i interpretant-los.

Competències Transversals

Transversals

  • CT4 [Avaluable] - Treball en equip. Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles.

Bàsiques

  • CB2 - Que els estudiants sàpiguen aplicar els seus coneixements al seu treball o vocació d'una manera professional i posseeixin les competències que solen demostrar-se mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins la seva àrea d'estudi.
  • CB3 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.
  • CB5 - Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

Competències Tècniques Generals

Genèriques

  • CG1 - Concebre sistemes computacionals que integren dades de procedències i formes molt diverses, construeixen amb ells models matemàtics, raonen sobre aquests models i actuen en conseqüència, aprenent de l'experiència.
  • CG2 - Elegir i aplicar els mètodes i tècniques més adequats a un problema definit per dades que representin un repte pel seu volum, velocitat, varietat o heterogeneïtat, inclosos mètodes informàtics, matemàtics, estadístics i de processament del senyal.
  • CG4 - Identificar oportunitats per a aplicacions innovadores orientades a dades en entorns tecnològics en contínua evolució.

Objectius

  1. Interpretar els concepts bàsics de l'Enginyeria del Software, especialment en relació a l'ús i explotació de dades
    Competències relacionades: CG1, CB2,
  2. Aplicar i analitzar conceptes i mètodes referents a l'ús de dades provinents del procés de desenvolupament en la gestió de la qualitat del sistema software
    Competències relacionades: CE1, CE2, CE3, CE7, CT4, CG1, CG4, CB2, CB5,
  3. Aplicar i analitzar bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic
    Competències relacionades: CE1, CE2, CT4, CG1, CG4, CB2, CB5,
  4. Descriure conceptes i mètodes referents a l'ús de dades obtingudes durant l'utilització de sistema (p.ex., un sistema basat en intel·ligència artificial), per a planificació de noves versions evolutives o per a l'adaptació autònoma dels sistemes en temps d'execució en resposta a canvis.
    Competències relacionades: CE1, CE2, CE7, CE8, CG1, CG2, CB2, CB5,
  5. Conèixer els riscos de privadesa associats a la navegació i a la publicació de dades. Aprofundir en les diferents mètriques de privadesa i la seva aplicació en diferentes escenaris.
    Competències relacionades: CE1, CE3, CE8, CT4, CG2, CB3, CB5,
  6. Conèixer els principals algorismes d'anonimització de bases de dades estadístiques.
    Competències relacionades: CE1, CE2, CE3, CE8, CT4, CG1, CG2, CG4, CB2, CB3, CB5,
  7. Avaluar el compromís entre privadesa i usabilitat de les dades.
    Competències relacionades: CE1, CE3, CE8, CT4, CG1, CG4, CB2, CB3, CB5,
  8. Conèixer els riscos de privadesa en les comunicacions i els sistemes de comunicació anònimes.
    Competències relacionades: CE1, CE3, CE8, CG1, CG4, CB2, CB5,

Continguts

  1. Introducció a l'Enginyeria del Software
    Primer, es presenta el concepte tradicional d'enginyeria del software. Fases. Aproximacions: dirigida per pla, àgil; híbrid. Entorn de desenvolupament: eines.

    Després, s'analitza l'impacte de la disponibilitat de dades sobre aquest concepte tradicional. Es mostra el cicle de vida del software resultant de considerar-les.
  2. Gestió de la qualitat del software i del seu procés de producció
    Un problema clàssic en el desenvolupament de software és assegurar uns nivells bàsics de qualitat, tant en referència al sistema mateix (mantenibilitat, fiabilitat, ...) com al procés de producció (productivitat de l'equip, gestió de recursos, ...). L'anàlisi de dades provinents dels repositories de software usats en el procés de producció (p.e., repositoris de codi, eines de gestió de problemes) permet descobrir de forma més ràpida i fiable aquests problemes i aplicar-ne estratègies de mitigació
  3. Bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic
    La complexitat i diversitat dels projectes de ciència de dades i els sistemes basats en aprenentatge automàtic requereixen tècniques d'enginyeria per garantir que es construeixin d'una manera sòlida i preparada per al futur. En aquest capítol abordem bones pràctiques d'enginyeria de programari per a projectes de ciència de dades, i programari amb components d'aprenentatge automàtic.
  4. Planificació de versions software i sistemes auto-adaptatius
    Un problema clau en el desenvolupament del software és l'evolució del sistema en resposta a noves necessitats. L'anàlisi de les dades obtingudes durant la utilització del sistema per part dels seus usuaris, incloent-ne comentaris explícits dels usuaris, possibilita el descobriment de les seves necessitats reals, que de vegades ni ells mateixos coneixen completament. En aquest tema es descriu la problemàtica i es revisen algunes tècniques bàsiques. Cada vegada ens trobem més sistemes software que necessiten ser conscients del seu context per donar un servei correcte. Aquesta restricció exigeix que monitoritzin dades del context continuament, descobreixin canvis significatius i reaccionin en temps d'execució (eventualment, quasi en temps real). En aquest tema es descriu la problemàtica i es revisen algunes tècniques bàsiques
  5. Introducció a la privadesa i seguretat de les dades
    Motivació. Definició de conceptes bàsics. Atacants i parts de confiança. Mètriques de privadesa.
  6. Algorismes d'anonimització de dades
    Control de revelació estadística. Mesura del risc de revelació. Algorismes de microagregació de dades. Mesura del compromís privadesa-utilitat. Casos d'estudi.
  7. Privadesa a sistemes d'informació personalitzats
    Perfils d'usuari: mesura del risc de privacitat. Tecnologies de privadesa.
  8. Seguretat i privadesa a les comunicacions
    Algorismes criptogràfics. Autenticació i gestió de claus. Sistemes de comunicació anònims.

Activitats

Activitat Acte avaluatiu


Estudi de conceptes introductoris de l'Enginyeria del Software dirigida per les dades


Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Estudi de mètodes dirigits per les dades per a la gestió de la qualitat del software i del seu procés de desenvolupament


Objectius: 2
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi de bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic


Objectius: 3
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi de mètodes basats en les dades per a l'evolució del software i l'adaptació autònoma de sistemes en temps d'execució


Objectius: 4
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Desenvolupament pràctic d'un cas d'estudi de mètodes basats en dades en el context de l'Enginyeria del Software

L'estudiant desenvoluparà progressivament una pràctica que permeti exercitar els conceptes bàsics introduïts a la part de teoria. Es desenvoluparà en equips de 3 (excepcionalment, un equip de 4 estudiants si el grup té dimensió senar). El software resultant, degudament documentat, es pujarà a un repositori de codi. L'equip presentarà un informe, escrit en anglès, resumint els aspectes principals de la pràctica, per exemple, el procés de construcció d'un component IA d'un sistema basat en IA, i una avaluació de la precisió dels models i algoritmes emprats.
Objectius: 3 2
Continguts:
Teoria
0h
Problemes
0h
Laboratori
13h
Aprenentatge dirigit
0h
Aprenentatge autònom
18h

Primer examen parcial: part d' Enginyeria del Software (PARC1)

Avaluació de la primera part de l'assignatura
Objectius: 1 3 2 4
Setmana: 7
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5.5h

Examen Final (EXF)

Aquest examen avalua les dues parts de l'assignatura. És obligat per als estudiants que hagin suspès alguna de les dues proves parcials. La resta d'estudiants també s'hi pot presentar en cas de voler millorar nota
Objectius: 1 5 3 2 4 6 7 8
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
3h
Aprenentatge autònom
0h

Segon examen parcial: part de Privadesa i Seguretat de dades (PARC2)

Avaluació de la segona part de l'assignatura
Objectius: 5 6 7 8
Setmana: 14
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5.5h

Estudi de conceptes introductoris de privadesa i seguretat de les dades


Objectius: 5 6 7 8
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Desenvolupament pràctic d'algorismes d'anonimització de dades


Objectius: 6 7
Teoria
0h
Problemes
0h
Laboratori
15h
Aprenentatge dirigit
0h
Aprenentatge autònom
21h

Estudi de riscos i tecnologies de privadesa per a sistemes d'informació personalitzats


Objectius: 5 7
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Estudi de mecanismes i tecnologies per a seguretat i privadesa de les comunicacions



Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Metodologia docent

Els continguts teòrics de l'assignatura s'imparteixen a les classes de teoria. Aquestes classes es complementen amb exemples pràctics i problemes que els estudiants han de resoldre en les hores d'Aprenentatge Autònom.

En les sessions de laboratori es consoliden els coneixements adquirits a les classes de teoria mitjançant la resolució de problemes i desenvolupament de pràctiques relacionats amb els continguts teòrics. Durant les classes de laboratori, el professor anirà introduint noves tècniques i deixarà una part important de la classe per tal que els estudiants treballin en els exercicis proposats.

Mètode d'avaluació

L'avaluació s'estructura en funció de les dues parts de l'assignatura: enginyeria del software (PART1) i privadesa de les dades (PART2).

Per la primera part, la nota es calcula ponderant la nota d'un examen teòric (pes 40%) amb la nota de les pràctiques d'aquesta part de l'assignatura (pes 60%)
PART1 = 40% PARC1 + 60% LABO1
- PARC1: Examen al final del primer bloc de l'assignatura
- LABO1: Entrega de pràctica al final del primer bloc de l'assignatura

Per la segona part, la nota se calcula ponderant la nota d'un examen teòric (pes 50%) amb la nota de les pràctiques d'aquesta part de l'assignatura (pes 50%)
PART2 = 50% PARC2 + 50% LABO2
- PARC2: Examen al final del segon bloc de l'assignatura
- LABO2: Entrega de pràctiques del segon bloc de l'assignatura

La nota final de l'assignatura, NOTA-FIN, es calcula com la mitjana aritmètica de les dues parts de l'assignatura:
NOTA-FINAL = 50% PART1 + 50% PART2

Cas de no superar l'assignatura per avaluació per parcials, hi ha una avaluació per examen final, on els parcials alliberen matèria si aprovats.

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Les donades per les assignatures dels quadrimestres anteriors del grau