2º DAM
1ªevaluación 2ªevaluación
0. |
Introducción al módulo |
3h |
|
|
|
1. |
Programación Multiprocesos |
11h |
|
- Ejecutables. Procesos. Servicios.
- Estados de un proceso.
- Hilos.
- Programación concurrente.
- Programación paralela y distribuida.
- Comunicación entre procesos.
- Gestión de procesos.
- Sincronización entre procesos.
- Programación de aplicaciones multiproceso.
|
|
2. |
Programación Multihilo |
10h |
|
- Recursos compartidos por los hilos.
- Estados de un hilo. Cambios de estado.
- Elementos relacionados con la programación de hilos. Librerías y clases.
- Gestión de hilos.
- Sincronización de hilos.
- Compartición de información entre hilos.
- Programación de aplicaciones multihilo.
|
|
3. |
Networking y Sockets |
15h |
|
- Comunicación entre aplicaciones.
- Roles cliente y servidor.
- Elementos de programación de aplicaciones en red. Librerías.
- Sockets.
- Creación de sockets.
- Enlazado y establecimiento de conexiones.
- Utilización de sockets para la transmisión y recepción de información.
- Programación de aplicaciones cliente y servidor.
- Utilización de hilos en la programación de aplicaciones en red.
|
|
4. |
Servicios en Red |
9h |
|
- Protocolos estándar de comunicación en red a nivel de aplicación (telnet, ftp, http, pop3, smtp, entre otros).
- Librerías de clases y componentes.
- Utilización de objetos predefinidos.
- Establecimiento y finalización de conexiones.
- Transmisión de información.
- Programación de aplicaciones cliente.
- Programación de servidores.
- Implementación de comunicaciones simultáneas.
|
|
5. |
Programación Segura |
6h |
|
- Prácticas de programación segura.
- Criptografía de clave pública y clave privada.
- Principales aplicaciones de la criptografía.
- Protocolos criptográficos.
- Política de seguridad.
- Programación de mecanismos de control de acceso.
- Encriptación de información.
- Protocolos seguros de comunicaciones.
- Programación de aplicaciones con comunicaciones seguras.
|
|
6. |
Proyecto personal del módulo |
3h |
|
|
|
RA1. Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela
- Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación
- Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes
- Se han analizado las características de los procesos y de su ejecución por el sistema operativo
- Se han caracterizado los hilos de ejecución y descrito su relación con los procesos
- Se han utilizado clases para programar aplicaciones que crean subprocesos
- Se han utilizado mecanismos para compartir información con los subprocesos iniciados
- Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados
- Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo
- Se han depurado y documentado las aplicaciones desarrolladas
RA2. Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación
- Se han identificado situaciones en las que resulte útil la utilización de varios hilos en un programa
- Se han reconocido los mecanismos para crear, iniciar y finalizar hilos
- Se han programado aplicaciones que implementen varios hilos
- Se han identificado los posibles estados de ejecución de un hilo y programado aplicaciones que los gestionen
- Se han utilizado mecanismos para compartir información entre varios hilos de un mismo proceso
- Se han desarrollado programas formados por varios hilos sincronizados mediante técnicas específicas
- Se ha establecido y controlado la prioridad de cada uno de los hilos de ejecución
- Se han depurado y documentado los programas desarrollados
- Se ha analizado el contexto de ejecución de los hilos
- Se han analizado librerías específicas del lenguaje de programación que permiten la programacióm multihilo
- Se han reconocido los problemas derivados de la compartición de información entre los hilos de un mismo proceso
RA3. Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución
- Se han identificado escenarios que precisan establecer comunicación en red entre varias aplicaciones
- Se han identificado los roles de cliente y de servidor y sus funciones asociadas
- Se han reconocido librerías y mecanismos del lenguaje de programación que permiten programar aplicaciones en red
- Se ha analizado el concepto de socket, sus tipos y características
- Se han utilizado sockets para programar una aplicación cliente que se comunique con un servidor
- Se ha desarrollado una aplicación servidor en red y verificado su funcionamiento
- Se han desarrollado aplicaciones que utilizan sockets para intercambiar información
- Se han utilizado hilos para posibilitar la comunicación simultánea de varios clientes con el servidor
- Se han caracterizado los modelos de comunicación más usuales en las arquitecturas de aplicaciones distribuidas
- Se han depurado y documentado las aplicaciones desarrolladas
RA4. Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad
- Se han identificado diferentes protocolos estándar de comunicación para la implementación de servicios en red
- Se han reconocido las ventajas de la utilización de protocolos estándar para la comunicación entre aplicaciones y procesos
- Se han analizado librerías que permitan implementar servicios en red utilizando protocolos estándar de comunicación
- Se han desarrollado y probado servicios de comunicación en red
- Se han utilizado clientes de comunicaciones para verificar el funcionamiento de los servicios
- Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio
- Se ha verificado la disponibilidad del servicio
- Se han depurado y documentado las aplicaciones desarrolladas
RA5. Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información
- Se han identificado y aplicado principios y prácticas de programación segura
- Se han analizado las principales técnicas y prácticas criptográficas
- Se han definido e implantado políticas de seguridad para limitar y controlar el acceso de los usuarios a las aplicaciones desarrolladas
- Se han utilizado esquemas de seguridad basados en roles
- Se han empleado algoritmos criptográficos para proteger el acceso a la información almacenada
- Se han identificado métodos para asegurar la información transmitida
- Se han desarrollado aplicaciones que utilicen comunicaciones seguras para la transmisión de información
- Se han depurado y documentado las aplicaciones desarrolladas
Programación multiproceso:
- Ejecutables. Procesos. Servicios.
- Estados de un proceso.
- Hilos.
- Programación concurrente.
- Programación paralela y distribuida.
- Comunicación entre procesos.
- Gestión de procesos.
- Sincronización entre procesos.
- Programación de aplicaciones multiproceso.
Programación multihilo:
- Recursos compartidos por los hilos.
- Estados de un hilo. Cambios de estado.
- Elementos relacionados con la programación de hilos. Librerías y clases.
- Gestión de hilos.
- Sincronización de hilos.
- Compartición de información entre hilos.
- Programación de aplicaciones multihilo.
Programación de comunicaciones en red:
- Comunicación entre aplicaciones.
- Roles cliente y servidor.
- Elementos de programación de aplicaciones en red. Librerías.
- Sockets.
- Creación de sockets.
- Enlazado y establecimiento de conexiones.
- Utilización de sockets para la transmisión y recepción de información.
- Programación de aplicaciones cliente y servidor.
- Utilización de hilos en la programación de aplicaciones en red.
Generación de servicios en red:
- Protocolos estándar de comunicación en red a nivel de aplicación (telnet, ftp, http, pop3, smtp, entre otros).
- Librerías de clases y componentes.
- Utilización de objetos predefinidos.
- Establecimiento y finalización de conexiones.
- Transmisión de información.
- Programación de aplicaciones cliente.
- Programación de servidores.
- Implementación de comunicaciones simultáneas.
Utilización de técnicas de programación segura:
- Prácticas de programación segura.
- Criptografía de clave pública y clave privada.
- Principales aplicaciones de la criptografía.
- Protocolos criptográficos.
- Política de seguridad.
- Programación de mecanismos de control de acceso.
- Encriptación de información.
- Protocolos seguros de comunicaciones.
- Programación de aplicaciones con comunicaciones seguras.