1.3.- Resultados de aprendizaje.

Finalmente, pasamos a desglosar los Resultados de Aprendizaje a los que contribuye este módulo de Programación de Servicios y Procesos (PSP) son:

Ponderación de  los Resultados de Aprendizaje
Resultado de Aprendizaje Ponderación
RA1. Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela. 20
RA2. Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación. 20
RA3. Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución. 20
RA4. Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad. 20
RA5. Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información. 20

A continuación se establece la relación entre los resultados de aprendizaje y los objetivos generales asociados al módulo:

OG RA1 RA2 RA3 RA4 RA5
b) Identificar las necesidades de seguridad analizando vulnerabilidades y verificando el plan preestablecido para aplicar técnicas y procedimientos relacionados con la seguridad en el sistema. X
e) Seleccionar y emplear lenguajes, herramientas y librerías, interpretando las especificaciones para desarrollar aplicaciones multiplataforma con acceso a bases de datos. X X
i) Seleccionar y emplear técnicas, motores y entornos de desarrollo, evaluando sus posibilidades, para participar en el desarrollo de juegos y aplicaciones en el ámbito del entretenimiento. X X  
j) Seleccionar y emplear técnicas, lenguajes y entornos de desarrollo, evaluando sus posibilidades, para desarrollar aplicaciones en teléfonos, PDA y otros dispositivos móviles. X X  
l) Valorar y emplear herramientas específicas, atendiendo a la estructura de los contenidos, para crear tutoriales, manuales de usuario y otros documentos asociados a una aplicación.   X
n) Analizar y aplicar técnicas y librerías específicas, simulando diferentes escenarios, para desarrollar aplicaciones capaces de ofrecer servicios en red. X X
ñ) Analizar y aplicar técnicas y librerías de programación, evaluando su funcionalidad para desarrollar aplicaciones multiproceso y multihilo. X X  

Ponderación del RA1
Criterio de Evaluación Ponderación
1a.- Se han analizado las características de los procesos y de su ejecución por el sistema operativo. 2
1b.- Se han caracterizado los hilos de ejecución y descrito su relación con los procesos. 2
1c.- Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación. 2
1d.- Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes. 3
1e.- Se han utilizado clases para programar aplicaciones que crean subprocesos. 3
1f.- Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados. 3
1g.- Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo. 3
1h.- Se han depurado y documentado las aplicaciones desarrolladas. 2

Ponderación del RA2
Criterio de Evaluación Ponderación
2a.- Se han identificado situaciones en las que resulte útil la utilización de varios hilos en un programa. 2
2b.- Se han reconocido los mecanismos para crear, iniciar y finalizar hilos. 2
2c.- Se han programado aplicaciones que implementen varios hilos. 2
2d.- Se han identificado los posibles estados de ejecución de un hilo y programado aplicaciones que los gestionen. 3
2e.- Se han utilizado mecanismos para compartir información entre varios hilos de un mismo proceso. 3
2f.- Se han desarrollado programas formados por varios hilos sincronizados mediante técnicas específicas. 3
2g.- Se ha establecido y controlado la prioridad de cada uno de los hilos de ejecución. 3
2h.- Se han depurado y documentado los programas desarrollados. 2

Ponderación del RA3
Criterio de Evaluación Ponderación
3a.- Se han identificado escenarios que precisan establecer comunicación en red entre varias aplicaciones. 2
3b.- Se han identificado los roles de cliente y de servidor y sus funciones asociadas. 2
3c.- Se han reconocido librerías y mecanismos del lenguaje de programación que permiten programar aplicaciones en red. 2
3d.- Se ha analizado el concepto de socket, sus tipos y características. 2
3e.- Se han utilizado sockets para programar una aplicación cliente que se comunique con un servidor. 3
3f.- Se ha desarrollado una aplicación servidor en red y verificado su funcionamiento. 3
3g.- Se han desarrollado aplicaciones que utilizan sockets para intercambiar información. 3
3h.- Se han utilizado hilos para implementar los procedimientos de las aplicaciones relativos a la comunicación en red. 3

Ponderación del RA4
Criterio de Evaluación Ponderación
4a.- Se han analizado librerías que permitan implementar protocolos estándar de comunicación en red. 3
4b.- Se han programado clientes de protocolos estándar de comunicaciones y verificado su funcionamiento. 3
4c.- Se han desarrollado y probado servicios de comunicación en red. 3
4d.- Se han analizado los requerimientos necesarios para crear servicios capaces de gestionar varios clientes concurrentes. 3
4e.- Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio. 3
4f.- Se ha verificado la disponibilidad del servicio. 3
4g.- Se han depurado y documentado las aplicaciones desarrolladas. 2

Ponderación del RA5
Criterio de Evaluación Ponderación
5a.- Se han identificado y aplicado principios y prácticas de programación segura. 2
5b.- Se han analizado las principales técnicas y prácticas criptográficas. 2
5c.- Se han definido e implantado políticas de seguridad para limitar y controlar el acceso de los usuarios a las aplicaciones desarrolladas. 3
5d.- Se han utilizado esquemas de seguridad basados en roles. 3
5e.- Se han empleado algoritmos criptográficos para proteger el acceso a la información almacenada. 3
5f.- Se han identificado métodos para asegurar la información transmitida. 3
5g.- Se han desarrollado aplicaciones que utilicen sockets seguros para la transmisión de información. 3
5h.- Se han depurado y documentado las aplicaciones desarrolladas. 1