Temas Avanzados de Ingeniería de Datos II

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
ETSETB;FIB;FME;ESSI;ENTEL
La asignatura se estructura en dos partes diferenciadas: el estudio de la ingeniería del software dirigida por los datos y el estudio de aspectos relacionados con la privacidad y seguridad de los datos.

1. Ingeniería del Software. La disponibilidad de grandes volúmenes de datos provenientes tanto del desarrollo de sistemas software (obtenidos de herramientas tales como repositorios de código, gestores de calidad, etc.) como de su utilización (opiniones de los usuarios, calidad de servicio, trazas, etc. ) posibilita su utilización en diversas etapas y actividades de la ingeniería del software y, incluso yendo más allá, define una nueva aproximación que considera los datos como la piedra angular del ciclo de vida del software. La primera parte de la asignatura presenta esta nueva visión de la ingeniería del software y profundiza en tres actividades concretas que giran alrededor de los datos: gestión de la calidad del software, planificación de nuevas versiones y adaptación autónoma de los sistemas software conscientes del contexto en tiempo de ejecución.

2. Privacidad y seguridad de los datos. Las técnicas de análisis de datos pueden ayudar a obtener información para anticiparse a varios problemas, dar a conocer su fuente y ayudar a implementar soluciones, en contextos tan variados como competitividad empresarial, marketing, relaciones sociales, transporte, salud, educación y política. Sin embargo, a pesar de que el análisis de datos es extremadamente valioso, también tienen un inconveniente crucial: invaden cada vez más la privacidad de las personas sobre las que se recopilan datos. La segunda parte de la asignatura presenta conceptos básicos de privacidad de la información y profundiza en las principales tecnologías y métricas de privacidad, así como en los algoritmos de anonimización utilizados para evitar cualquier divulgación de información sensible de los individuos

Profesores

Responsable

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

Otros

  • Esteve Pallares Segarra ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.2
Aprendizaje autónomo
5.8

Competencias

Competencias Técnicas

Competencias técnicas

  • CE1 - Utilizar con destreza los conceptos y métodos matemáticos que subyacen los problemas de la ciencia y la ingeniería de los datos.
  • CE2 - Ser capaz de programar soluciones a problemas de ingeniería: Diseñar soluciones algorítmicas eficientes a un problema computacional dado, implementarlas en forma de Programa robusto, estructurado y mantenible, y comprobar la validez de la solución.
  • CE3 - Analizar fenómenos complejos mediante la probabilidad y estadística, y plantear modelos de estos tipos en situaciones concretas. Formular y resolver problemas de optimización matemática.
  • CE7 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los datos.
  • CE8 - Capacidad de elegir y emplear técnicas de modelización estadística y análisis de datos, evaluando la calidad de los modelos, validándolos e interpretándolos.

Competencias Transversales

Transversales

  • CT7 - Tercera lengua. Conocer una tercera lengua, preferentemente el inglés, con un nivel adecuado oral y escrito y en consonancia con las necesidades que tendrán los titulados y tituladas.

Básicas

  • CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Concebir sistemas computacionales que integren datos de procedencias y formas muy diversas, creen con ellos modelos matemáticos, razonen sobre dichos modelos y actúen en consecuencia, aprendiendo de la experiencia.
  • CG2 - Elegir y aplicar los métodos y técnicas más adecuados a un problema definido por datos que representen un reto por su volumen, velocidad, variedad o heterogeneidad, incluidos métodos informáticos, matemáticos, estadísticos y de procesado de la señal.
  • CG4 - Identificar oportunidades para aplicaciones innovadoras orientadas a datos en entornos tecnológicos en continua evolución.

Objetivos

  1. Entender los conceptos básicos de la Ingeniería del Software, especialmente en relación al uso y explotación de datos
    Competencias relacionadas: CG1, CB2,
  2. Entender y aplicar conceptos y métodos referentes al uso de datos provenientes del proceso de desarrollo en la gestión de la calidad del sistema software
    Competencias relacionadas: CE1, CE2, CE7, CT7, CG1, CG4, CB2, CB5,
  3. Entender y aplicar conceptos y métodos referentes al uso de datos obtenidos durante la utilización del sistema por parte de sus usuarios en la planificación de nuevas versiones evolutivas
    Competencias relacionadas: CE1, CE2, CE3, CT7, CG1, CB2, CB5,
  4. Entender y aplicar conceptos y métodos referentes al uso de datos de contexto obtenidos durante la utilización del sistema, para la adaptación autónoma de los sistemas en tiempo de ejecución en respuesta a cambios
    Competencias relacionadas: CE1, CE2, CE7, CE8, CT7, CG1, CG2, CG4, CB2, CB5,
  5. Conocer los riesgos de privacidad asociados a la navegación y en la publicación de datos. Profundizar en las diferentes métricas de privacidad y su aplicación en diferentes escenarios.
    Competencias relacionadas: CE1, CE3, CE8, CT7, CG2, CB3, CB5,
  6. Conocer los principales algoritmos de anonimización de bases de datos estadísticos.
    Competencias relacionadas: CE1, CE2, CE3, CE8, CT7, CG1, CG2, CG4, CB2, CB3, CB5,
  7. Evaluar el compromiso entre privacidad y usabilidad de los datos.
    Competencias relacionadas: CE1, CE3, CE8, CG1, CG4, CB2, CB3, CB5,
  8. Conocer los riesgos de privacidad en las comunicaciones y los sistemas de comunicación anónimas.
    Competencias relacionadas: CE1, CE3, CE8, CT7, CG1, CG4, CB2, CB5,

Contenidos

  1. Introducción a la Ingeniería del Software
    Primero, se presenta el concepto tradicional de ingeniería del software. Fases. Metodologías: en cascada, ágil; híbrida. Entorno de desarrollo: herramientas.

    Después, se analiza el impacto de la disponibilidad de datos sobre este concepto tradicional. Se muestra el ciclo de vida de software resultante al considerar datos.
  2. Gestión de la calidad del software y de su proceso de desarrollo
    Un problema clásico en el desarrollo de software es asegurar unos niveles básicos de calidad, tanto en referencia al sistema mismo (mantenibilidad, fiabilidad,...) como en el proceso de producción (productividad del equipo, gestión de recursos,...). El análisis de datos provenientes de los repositorios de software usados en el proceso de producción (p.e., repositorios de código, herramientas de gestión de problemas) permite descubrir de forma más rápida y fiable estos problemas y aplicar estrategias de mitigación.
  3. Planificación de versiones software
    Un problema clave en el desarrollo del software es la evolución del sistema en respuesta a nuevas necesidades. El análisis de los datos obtenidos durante la utilización del sistema por parte de sus usuarios, incluyendo sus comentarios explícitos, posibilita el descubrimiento de sus necesidades reales, que a veces ni ellos mismos conocen completamente. En este tema se describe la problemática y se revisan algunas técnicas básicas.
  4. Sistemas auto-adaptativos
    Cada vez nos encontramos más sistemas software que necesitan ser conscientes de su contexto para dar un servicio correcto. Esta restricción exige que monitoricen datos del contexto continuamente, descubran cambios significativos y reaccionen en tiempo de ejecución (eventualmente, casi en tiempo real). En este tema se describe la problemática y se revisan algunas técnicas básicas
  5. Introducción a la privacidad y seguridad de los datos
    Motivación. Definición de conceptos básicos. Atacantes y partes de confianza. Métricas de privacidad.
  6. Algoritmos de anonimización de datos
    Control de revelación estadística. Medida del riesgo de revelación. Algoritmos de microagregació de datos. Medida del compromiso privacidad-utilidad. Casos de estudio.
  7. Privacidad en sistemas de información personalizados
    Perfiles de usuario: medida del riesgo de privacidad. Tecnologías de privacidad.
  8. Seguridad y privacidad en las comunicaciones
    Algoritmos criptográficos. Autenticación y gestión de claves. Sistemas de comunicación anónimos.

Actividades

Actividad Acto evaluativo


Estudio de conceptos introductorios de la Ingeniería del Software dirigida por los datos


Objetivos: 1
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Estudio de métodos dirigidos por datos para la gestión de la calidad del software y de su proceso de desarrollo


Objetivos: 2
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Estudio de métodos dirigidos por datos para la evolución del software


Objetivos: 3
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Estudio de métodos basados en los datos para la adaptación autónoma de sistemas en tiempo de ejecución


Objetivos: 4
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Desarrollo práctico de un caso de estudio de métodos basados en datos en el contexto de la Ingeniería del Software

El estudiante desarrollará progresivamente una práctica que permita ejercitar los conceptos básicos introducidos en la parte de teoría. Se desarrollará en equipos de 2 (excepcionalmente, un equipo de 3 estudiantes si el grupo tiene dimensión impar). El software resultante, debidamente documentado, se subirá a un repositorio de código. El equipo presentará un informe, escrito en inglés, resumiendo los aspectos principales de la práctica, por ejemplo, el proceso de minería de datos usado, y una evaluación de la precisión de los modelos y algoritmos empleados.
Objetivos: 3 2 4
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
13h
Aprendizaje dirigido
0h
Aprendizaje autónomo
18h

Primer examen parcial: parte de Ingeniería del Software (PARC1)

Evaluación de la primera parte de la asignatura
Objetivos: 1 3 2 4
Semana: 7
Tipo: examen de teoría
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Examen Final (EXF)

Este examen evalúa las dos partes de la asignatura. Es obligado para los estudiantes que hayan suspendido alguna de las dos pruebas parciales. El resto de estudiantes también se puede presentar en caso de querer mejorar nota
Objetivos: 1 5 3 2 4 6 7 8
Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
0h

Segundo examen parcial: parte de Privacidad y Seguridad de datos (PARC2)

Evaluación de la segunda parte de la asignatura
Objetivos: 5 6 7 8
Semana: 14
Tipo: examen de teoría
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Estudio de conceptos introductorios de privacidad y seguridad de los datos


Objetivos: 5 6 7 8
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Desarrollo práctico de algoritmos de anonimización de datos


Objetivos: 6 7
Teoría
0h
Problemas
0h
Laboratorio
15h
Aprendizaje dirigido
0h
Aprendizaje autónomo
21h

Estudio de riesgos y tecnologías de privacidad para sistemas de información personalizados


Objetivos: 5 7
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Estudio de mecanismos y tecnologías para seguridad y privacidad de las comunicaciones



Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Metodología docente

Los contenidos teóricos de la asignatura se imparten en las clases de teoría. Estas clases se complementan con ejemplos prácticos y problemas que los estudiantes deben resolver en las horas de Aprendizaje Autónomo.

En las sesiones de laboratorio se consolidan los conocimientos adquiridos en las clases de teoría mediante la resolución de problemas y desarrollo de prácticas relacionados con los contenidos teóricos. Durante las clases de laboratorio, el profesor irá introduciendo nuevas técnicas y dejará una parte importante de la clase para que los estudiantes trabajen en los ejercicios propuestos.

Método de evaluación

La nota final se basa en cuatro pruebas:
- Examen al final del primer bloque de la asignatura (PARC1)
- Examen al final del segundo bloque de la asignatura (PARC2)
- Examen final, compuesto de dos partes, una para cada bloque de la asignatura (EXF1, EXF2)
- Entrega de práctica al final del primer bloque de la asignatura (LABO1)
- Entrega de prácticas del segundo bloque de la asignatura (LABO2)

La nota final de la asignatura, NOTA-FIN, se calcula como:

NOTA-FIN = 60% TEO + 20% LABO1 + 20% LABO2

La nota de teoría se calcula como:

1) Evaluación por parciales: mínimo de 4.0 a cada parcial y media aprobada. Entonces la nota será la media aritmética de las notas de cada parcial.

si (PARC1> = 4.0 y PARC2> = 4.0) y ((PARC1 + PARC2) / 2)> = 5.0 entonces TEO = (PARC1 + PARC2) / 2

2) De lo contrario: Evaluación por examen final: hay mínimo de 4.0 a cada bloque y media aprobada; los parciales liberan materia si aprobados.

si (NOTA-Bloque 1> = 4.0 y NOTA-BLOC2> = 4.0) y ((NOTA-Bloque 1 + NOTA-BLOC2) / 2)> = 5.0
entonces TEO = (NOTA-Bloque 1 + NOTA-BLOC2) / 2
de lo contrario TEO = min ((NOTA-Bloque 1 + NOTA-BLOC2) / 2, 4.5), donde:

si PARC {y}> = 5.0 entonces NOTA-BLOQUE {y} = max (PARC {y}, EXF {y})
de lo contrario NOTA-BLOQUE {y} = EXF {y}

Bibliografía

Básica:

Complementaria:

Capacidades previas

Las dadas por las asignaturas de los cuatrimestres anteriores del grado

Adenda

Contenidos

No hi ha canvis

Metodología docente

Les classes de teoria s'imparteixen en modalitat no presencial. Cada setmana, la primera hora de classe es farà amb material disponible online pregravat i la segona hora serà síncrona per vídeoconferència amb possibilitat de gravació.

Método de evaluación

No hi ha canvis

Plan de contingencia

Les classes de teoria ja estan preparades per a la no-presencialitat. Les classes de laboratori estan dissenyades amb comunicació via Racó / ATENEA i un espai Google Drive de l'assignatura, la qual cosa en facilitaria la transició a no-presencialitat total. En cas d'alarma sanitària, les sessions de laboratori es farien mitjançant google meet. Els exàmens també es farien telemàticament via ATENEA.