DATOS IDENTIFICATIVOS 2023_24
Asignatura (*) SISTEMAS DISTRIBUIDOS Código 17234106
Titulación
Grado en Ingeniería Informática (2010)
Ciclo
Descriptores Cr.totales Tipo Curso Periodo
6 Obligatoria Tercer 2Q
Lengua de impartición
Castellà
Departamento Ingeniería Informática y Matemáticas
Coordinador/a
GARCÍA LÓPEZ, PEDRO ANTONIO
Correo-e pedro.garcia@urv.cat
marc.ruiz@urv.cat
germantelmo.eizaguirre@urv.cat
usama.benabdelkrim@urv.cat
Profesores/as
GARCÍA LÓPEZ, PEDRO ANTONIO
RUIZ RODRÍGUEZ, MARC
EIZAGUIRRE SUÁREZ, GERMÁN TELMO
BENABDELKRIM ZAKAN, USAMA
Web http://moodle.urv.cat
Descripción general e información relevante <p>DESCRIPCIÓ GENERAL DE L'ASSIGNATURA: Aquesta assignatura tracta conceptes importants de sistemes distribuïts. En particular, un objectiu clar és adquirir la capacitat de programació de serveis i aplicacions telemàtiques, en xarxa i distribuïdes. </p>

Competencias
Tipo A Código Competencias Específicas
 A4 Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
 A5 Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
 CM1 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
 CM11 Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas.
 CM12 Conocimiento y aplicación de las características, funcionalidades y estructura de las bases de datos, que permitan su adecuado uso, y el diseño y el análisis e implementación de aplicaciones basadas en ellos.
 CM13 Conocimiento y aplicación de las herramientas necesarias para el almacenamiento, procesamiento y acceso a los Sistemas de información, incluidos los basados en web.
 CM14 Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real.
Tipo B Código Competencias Transversales
Tipo C Código Competencias Nucleares

Resultados de aprendizaje
Tipo A Código Resultados de aprendizaje
 A4 Diseña una arquitectura distribuida con middleware de comunicación entre objetos remotos
 A5 Conoce las diferentes arquitecturas distribuidas existentes.
Estudia los diferentes tipos de middleware para diferentes arquitecturas distribuidas.
Diseña una arquitectura distribuida con middleware de comunicación entre objetos remotos.
 CM1 Conoce la programación de servicios distribuidos en entornos Internet de gran escala.
 CM11 Conoce las diferentes arquitecturas distribuidas existentes.
Comprende los diferentes modelos de comunicación entre procesos remotos.
Comprende los fundamentos básicos de sistemas distribuidos (sincronización, consistencia, tolerancia a fallos, seguridad).
Resuelve problemas básicos de consistencia y tolerancia a fallos.
 CM12 Resuelve problemas básicos de consistencia y tolerancia a fallos.
Estudia los diferentes tipos de middleware para diferentes arquitecturas distribuidas.
 CM13 Estudia los diferentes tipos de middleware para diferentes arquitecturas distribuídas.
 CM14 Comprende los diferentes modelos de comunicación entre procesos remotos.
Comprende los fundamentos básicos de sistemas distribuidos (sincronización, consistencia, tolerancia a fallos, seguridad).
Tipo B Código Resultados de aprendizaje
Tipo C Código Resultados de aprendizaje

Contenidos
tema Subtema
Introducción y conceptos generales Tipos de sistemas distribuidos
Modelos de sistemas
Comunicación entre procesos
Fundamentos de sistemas distribuidos Sincronización de procesos
Coordinación y acuerdo
Transacciones y control de la concurrencia
Replicación y tolerancia a fallos
Seguridad
Middleware y casos de uso Invocación remota
Comunicación indirecta
Servicios de Nombres
Sistemas distribuidos de gran escala

Planificación
Metodologías  ::  Pruebas
  Competencias (*) Horas en clase
Horas fuera de clase
(**) Horas totales
Actividades introductorias
4 7 11
Sesión magistral
A4
20 25 45
Prácticas en laboratorios
A5
CM12
CM13
CM14
25 40 65
Atención personalizada
4 4 8
 
Pruebas prácticas
A4
CM1
CM11
CM12
7 14 21
 
(*) En el caso de docencia no presencial, serán las horas de trabajo con soporte virtual del profesor.
(**) Los datos que aparecen en la tabla de planificación son de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías
  descripción
Actividades introductorias Repaso de conceptos de orientación a objetos
Ejemplos de laboratorio
Sesión magistral Explicación de conceptos de teoría
Interacción con preguntas y respuestas con los alumnos
Prácticas en laboratorios Introducción de tecnologías y herramientas
Trabajo en grupo
Atención personalizada Entrevistas individuales en horario de tutorías.
Seguimiento de resultados parciales.


Atención personalizada
descripción

Entrevistas individuales en horario de tutorías. Seguimiento de resultados parciales.


Evaluación
Metodologías Competencias descripción Peso        
Prácticas en laboratorios
A5
CM12
CM13
CM14
Desarrollo de problemas de sistemas distribuidos en el lenguaje Python
Examen teórico
50%
Pruebas prácticas
A4
CM1
CM11
CM12
Diseño y desarrollo de algoritmos y sistemas distribuidos 50%
Otros  
 
Otros comentarios y segunda convocatoria

La segunda convocatoria consiste en un examen teórico y la entrega de prácticas de laboratorio.


Fuentes de información

Básica George Colouris, Distributed Systems: Concepts and Design , Addison-Wesley Educational Publishers Inc; Edición: 5th Revised edition, 2011
Francesco Cesarini, Erlang Programming: A Concurrent Approach to Software Development, O'Reilly Media, 2009

Complementaria

Recomendaciones

Asignaturas que continúan el temario
SISTEMAS DE INFORMACIÓN EN LAS ORGANIZACIONES/17234122
SISTEMAS DE COMERCIO ELECTRÓNICO/17234121
SISTEMAS DE TIEMPO REAL/17234209

Asignaturas que se recomienda cursar simultáneamente
SISTEMAS ABIERTOS/17234123

Asignaturas que se recomienda haber cursado previamente
REDES DE DATOS/17234118
TÉCNICAS AVANZADAS DE PROGRAMACIÓN/17234117
(*)La Guía docente es el documento donde se visualiza la propuesta académica de la URV. Este documento es público y no es modificable, excepto en casos excepcionales revisados por el órgano competente o debidamente revisado de acuerdo la normativa vigente.