Texto extraído de la Orden de 16 de junio de 2011, por la que se desarrolla el currículo correspondiente al título de Técnico Superior en Desarrollo de Aplicaciones Multimedia (págs. 182 a 183 del BOJA).

Resultados de aprendizaje y criterios de evaluación

  1. Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela.
    Criterios de evaluación:

    1. Se han analizado las características de los procesos y de su ejecución por el sistema operativo.
    2. Se han caracterizado los hilos de ejecución y descrito su relación con los procesos.
    3. Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación.
    4. Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes.
    5. Se han utilizado clases para programar aplicaciones que crean subprocesos.
    6. Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados.
    7. Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo.
    8. Se han depurado y documentado las aplicaciones desarrolladas.
  2. Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación.
    Criterios de evaluación:

    1. Se han identificado situaciones en las que resulte útil la utilización de varios hilos en un programa.
    2. Se han reconocido los mecanismos para crear, iniciar y finalizar hilos.
    3. Se han programado aplicaciones que implementen varios hilos.
    4. Se han identificado los posibles estados de ejecución de un hilo y programado aplicaciones que los gestionen.
    5. Se han utilizado mecanismos para compartir información entre varios hilos de un mismo proceso.
    6. Se han desarrollado programas formados por varios hilos sincronizados mediante técnicas específicas.
    7. Se ha establecido y controlado la prioridad de cada uno de los hilos de ejecución.
    8. Se han depurado y documentado los programas desarrollados.
  3. Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución.
    Criterios de evaluación:

    1. Se han identificado escenarios que precisan establecer comunicación en red entre varias aplicaciones.
    2. Se han identificado los roles de cliente y de servidor y sus funciones asociadas.
    3. Se han reconocido librerías y mecanismos del lenguaje de programación que permiten programar aplicaciones en red.
    4. Se ha analizado el concepto de socket, sus tipos y características.
    5. Se han utilizado sockets para programar una aplicación cliente que se comunique con un servidor.
    6. Se ha desarrollado una aplicación servidor en red y verificado su funcionamiento.
    7. Se han desarrollado aplicaciones que utilizan sockets para intercambiar información.
    8. Se han utilizado hilos para implementar los procedimientos de las aplicaciones relativos a la comunicación en red.
  4. Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad.
    Criterios de evaluación:

    1. Se han analizado librerías que permitan implementar protocolos estándar de comunicación en red.
    2. Se han programado clientes de protocolos estándar de comunicaciones y verificado su funcionamiento.
    3. Se han desarrollado y probado servicios de comunicación en red.
    4. Se han analizado los requerimientos necesarios para crear servicios capaces de gestionar varios clientes concurrentes.
    5. Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio.
    6. Se ha verificado la disponibilidad del servicio.
    7. Se han depurado y documentado las aplicaciones desarrolladas.
  5. Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información.
    Criterios de evaluación:

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

Duración: 63 horas.

Contenidos básicos

  1. Programación multiproceso:

    • Ejecutables. Procesos. Servicios. Problemas asociados a recursos compartidos.
    • Estados de un proceso. Planificación de procesos por el sistema operativo.
    • Hilos.
    • Programación concurrente.
    • Programación paralela y distribuida.
    • Creación de procesos.
    • Comunicación entre procesos.
    • Gestión de procesos.
    • Sincronización entre procesos.
    • Programación de aplicaciones multiproceso.
    • Depuración y documentación.
  2. 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. Creación, inicio y finalización.
    • Compartición de información entre hilos.
    • Sincronización de hilos.
    • Prioridades de los hilos. Gestión de prioridades.
    • Programación de aplicaciones multihilo.
    • Depuración y documentación.
  3. Programación de comunicaciones en red:

    • Protocolos de comunicaciones. Puertos.
    • Comunicación entre aplicaciones.
    • Roles cliente y servidor.
    • Elementos de programación de aplicaciones en red. Librerías.
    • Sockets. Tipos y características.
    • Creación de sockets.
    • Enlazado y establecimiento de conexiones.
    • Utilización de sockets para la transmisión y recepción de información.
    • Finalización de conexiones.
    • Programación de aplicaciones cliente y servidor en red.
    • Utilización de hilos en la programación de aplicaciones en red.
  4. Aplicaciones 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.
    • Pruebas de la disponibilidad del servicio. Monitorización de tiempos de respuesta.
    • Depuración y documentación.
  5. Utilización de técnicas de programación segura:

    • Prácticas de programación segura.
    • Principios criptográficos. Principales aplicaciones de la criptografía.
    • Protocolos criptográficos.
    • Criptografía de clave pública y clave privada.
    • Política de seguridad. Limitaciones y control de acceso a usuarios. Esquemas de seguridad basados en roles.
    • Programación de mecanismos de control de acceso.
    • Encriptación de información.
    • Protocolos seguros de comunicaciones.
    • Sockets seguros.
    • Programación de aplicaciones con comunicaciones seguras.
    • Depuración y documentación.

Orientaciones pedagógicas

Este módulo profesional contiene parte de la formación necesaria para desempeñar la función de desarrollo de aplicaciones seguras en red.

La función de desarrollo de aplicaciones seguras en red incluye aspectos como:

  • La utilización de las capacidades ofrecidas por el sistema operativo para la gestión de procesos e hilos.
  • La programación de aplicaciones compuestas por varios procesos e hilos.
  • El desarrollo de aplicaciones con capacidades para comunicarse y ofrecer servicios a través de una red.
  • La utilización de mecanismos de seguridad en el desarrollo de aplicaciones.

Las actividades profesionales asociadas a esta función se aplican en el área de sistemas y desarrollo de software en el entorno empresarial.

La formación del módulo contribuye a alcanzar los objetivos generales de este ciclo formativo que se relacionan a continuación:

  1. 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.
  2. Seleccionar y emplear lenguajes, herramientas y librerías, interpretando las especificaciones para desarrollar aplicaciones multiplataforma con acceso a bases de datos.
  3. 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.
  4. 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.
  5. 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.
  6. Analizar y aplicar técnicas y librerías específicas, simulando diferentes escenarios, para desarrollar aplicaciones capaces de ofrecer servicios en red.
  7. Analizar y aplicar técnicas y librerías de programación, evaluando su funcionalidad para desarrollar aplicaciones multiproceso y multihilo.

La formación del módulo contribuye a alcanzar las competencias profesionales, personales y sociales de este título que se relacionan a continuación:

  1. Aplicar técnicas y procedimientos relacionados con la seguridad en sistemas, servicios y aplicaciones, cumpliendo el plan de seguridad.
  2. Desarrollar aplicaciones multiplataforma con acceso a bases de datos utilizando lenguajes, librerías y herramientas adecuados a las especificaciones.
  3. Participar en el desarrollo de juegos y aplicaciones en el ámbito del entretenimiento y la educación empleando técnicas, motores y entornos de desarrollo específicos.
  4. Desarrollar aplicaciones para teléfonos, PDA y otros dispositivos móviles empleando técnicas y entornos de desarrollo específicos.
  5. Crear tutoriales, manuales de usuario, de instalación, de configuración y de administración, empleando herramientas específicas.
  6. Desarrollar aplicaciones multiproceso y multihilo empleando librerías y técnicas de programación específicas.
  7. Desarrollar aplicaciones capaces de ofrecer servicios en red empleando mecanismos de comunicación.
  8. Establecer vías eficaces de relación profesional y comunicación con sus superiores, compañeros y subordinados, respetando la autonomía y competencias de las distintas personas.
  9. Mantener el espíritu de innovación y actualización en el ámbito de su trabajo para adaptarse a los cambios tecnológicos y organizativos de su entorno profesional.

Las líneas de actuación en el proceso de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo están relacionados con:

  • La gestión de procesos e hilos y los mecanismos de comunicación y sincronización entre ellos.
  • El desarrollo de programas compuestos por varios procesos e hilos.
  • La utilización de sockets para la programación de aplicaciones conectadas en red.
  • El desarrollo de aplicaciones que ofrezcan y utilicen servicios estándar de red.
  • La aplicación de prácticas de programación segura.
  • La aplicación de técnicas criptográficas en la utilización, almacenamiento y transmisión de información.

Texto extraído de la Orden de 16 de junio de 2011, por la que se desarrolla el currículo correspondiente al título de Técnico Superior en Desarrollo de Aplicaciones Multimedia (págs. 182 a 183 del BOJA).

Resultados de aprendizaje y criterios de evaluación

  1. Desarrolla aplicaciones compuestas por varios procesos reconociendo y aplicando principios de programación paralela.
    Criterios de evaluación:

    1. Se han analizado las características de los procesos y de su ejecución por el sistema operativo.
    2. Se han caracterizado los hilos de ejecución y descrito su relación con los procesos.
    3. Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación.
    4. Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes.
    5. Se han utilizado clases para programar aplicaciones que crean subprocesos.
    6. Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados.
    7. Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo.
    8. Se han depurado y documentado las aplicaciones desarrolladas.
  2. Desarrolla aplicaciones compuestas por varios hilos de ejecución analizando y aplicando librerías específicas del lenguaje de programación.
    Criterios de evaluación:

    1. Se han identificado situaciones en las que resulte útil la utilización de varios hilos en un programa.
    2. Se han reconocido los mecanismos para crear, iniciar y finalizar hilos.
    3. Se han programado aplicaciones que implementen varios hilos.
    4. Se han identificado los posibles estados de ejecución de un hilo y programado aplicaciones que los gestionen.
    5. Se han utilizado mecanismos para compartir información entre varios hilos de un mismo proceso.
    6. Se han desarrollado programas formados por varios hilos sincronizados mediante técnicas específicas.
    7. Se ha establecido y controlado la prioridad de cada uno de los hilos de ejecución.
    8. Se han depurado y documentado los programas desarrollados.
  3. Programa mecanismos de comunicación en red empleando sockets y analizando el escenario de ejecución.
    Criterios de evaluación:

    1. Se han identificado escenarios que precisan establecer comunicación en red entre varias aplicaciones.
    2. Se han identificado los roles de cliente y de servidor y sus funciones asociadas.
    3. Se han reconocido librerías y mecanismos del lenguaje de programación que permiten programar aplicaciones en red.
    4. Se ha analizado el concepto de socket, sus tipos y características.
    5. Se han utilizado sockets para programar una aplicación cliente que se comunique con un servidor.
    6. Se ha desarrollado una aplicación servidor en red y verificado su funcionamiento.
    7. Se han desarrollado aplicaciones que utilizan sockets para intercambiar información.
    8. Se han utilizado hilos para implementar los procedimientos de las aplicaciones relativos a la comunicación en red.
  4. Desarrolla aplicaciones que ofrecen servicios en red, utilizando librerías de clases y aplicando criterios de eficiencia y disponibilidad.
    Criterios de evaluación:

    1. Se han analizado librerías que permitan implementar protocolos estándar de comunicación en red.
    2. Se han programado clientes de protocolos estándar de comunicaciones y verificado su funcionamiento.
    3. Se han desarrollado y probado servicios de comunicación en red.
    4. Se han analizado los requerimientos necesarios para crear servicios capaces de gestionar varios clientes concurrentes.
    5. Se han incorporado mecanismos para posibilitar la comunicación simultánea de varios clientes con el servicio.
    6. Se ha verificado la disponibilidad del servicio.
    7. Se han depurado y documentado las aplicaciones desarrolladas.
  5. Protege las aplicaciones y los datos definiendo y aplicando criterios de seguridad en el acceso, almacenamiento y transmisión de la información.
    Criterios de evaluación:

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

Duración: 63 horas.

Contenidos básicos

  1. Programación multiproceso:

    • Ejecutables. Procesos. Servicios. Problemas asociados a recursos compartidos.
    • Estados de un proceso. Planificación de procesos por el sistema operativo.
    • Hilos.
    • Programación concurrente.
    • Programación paralela y distribuida.
    • Creación de procesos.
    • Comunicación entre procesos.
    • Gestión de procesos.
    • Sincronización entre procesos.
    • Programación de aplicaciones multiproceso.
    • Depuración y documentación.
  2. 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. Creación, inicio y finalización.
    • Compartición de información entre hilos.
    • Sincronización de hilos.
    • Prioridades de los hilos. Gestión de prioridades.
    • Programación de aplicaciones multihilo.
    • Depuración y documentación.
  3. Programación de comunicaciones en red:

    • Protocolos de comunicaciones. Puertos.
    • Comunicación entre aplicaciones.
    • Roles cliente y servidor.
    • Elementos de programación de aplicaciones en red. Librerías.
    • Sockets. Tipos y características.
    • Creación de sockets.
    • Enlazado y establecimiento de conexiones.
    • Utilización de sockets para la transmisión y recepción de información.
    • Finalización de conexiones.
    • Programación de aplicaciones cliente y servidor en red.
    • Utilización de hilos en la programación de aplicaciones en red.
  4. Aplicaciones 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.
    • Pruebas de la disponibilidad del servicio. Monitorización de tiempos de respuesta.
    • Depuración y documentación.
  5. Utilización de técnicas de programación segura:

    • Prácticas de programación segura.
    • Principios criptográficos. Principales aplicaciones de la criptografía.
    • Protocolos criptográficos.
    • Criptografía de clave pública y clave privada.
    • Política de seguridad. Limitaciones y control de acceso a usuarios. Esquemas de seguridad basados en roles.
    • Programación de mecanismos de control de acceso.
    • Encriptación de información.
    • Protocolos seguros de comunicaciones.
    • Sockets seguros.
    • Programación de aplicaciones con comunicaciones seguras.
    • Depuración y documentación.

Orientaciones pedagógicas

Este módulo profesional contiene parte de la formación necesaria para desempeñar la función de desarrollo de aplicaciones seguras en red.

La función de desarrollo de aplicaciones seguras en red incluye aspectos como:

  • La utilización de las capacidades ofrecidas por el sistema operativo para la gestión de procesos e hilos.
  • La programación de aplicaciones compuestas por varios procesos e hilos.
  • El desarrollo de aplicaciones con capacidades para comunicarse y ofrecer servicios a través de una red.
  • La utilización de mecanismos de seguridad en el desarrollo de aplicaciones.

Las actividades profesionales asociadas a esta función se aplican en el área de sistemas y desarrollo de software en el entorno empresarial.

La formación del módulo contribuye a alcanzar los objetivos generales de este ciclo formativo que se relacionan a continuación:

  1. 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.
  2. Seleccionar y emplear lenguajes, herramientas y librerías, interpretando las especificaciones para desarrollar aplicaciones multiplataforma con acceso a bases de datos.
  3. 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.
  4. 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.
  5. 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.
  6. Analizar y aplicar técnicas y librerías específicas, simulando diferentes escenarios, para desarrollar aplicaciones capaces de ofrecer servicios en red.
  7. Analizar y aplicar técnicas y librerías de programación, evaluando su funcionalidad para desarrollar aplicaciones multiproceso y multihilo.

La formación del módulo contribuye a alcanzar las competencias profesionales, personales y sociales de este título que se relacionan a continuación:

  1. Aplicar técnicas y procedimientos relacionados con la seguridad en sistemas, servicios y aplicaciones, cumpliendo el plan de seguridad.
  2. Desarrollar aplicaciones multiplataforma con acceso a bases de datos utilizando lenguajes, librerías y herramientas adecuados a las especificaciones.
  3. Participar en el desarrollo de juegos y aplicaciones en el ámbito del entretenimiento y la educación empleando técnicas, motores y entornos de desarrollo específicos.
  4. Desarrollar aplicaciones para teléfonos, PDA y otros dispositivos móviles empleando técnicas y entornos de desarrollo específicos.
  5. Crear tutoriales, manuales de usuario, de instalación, de configuración y de administración, empleando herramientas específicas.
  6. Desarrollar aplicaciones multiproceso y multihilo empleando librerías y técnicas de programación específicas.
  7. Desarrollar aplicaciones capaces de ofrecer servicios en red empleando mecanismos de comunicación.
  8. Establecer vías eficaces de relación profesional y comunicación con sus superiores, compañeros y subordinados, respetando la autonomía y competencias de las distintas personas.
  9. Mantener el espíritu de innovación y actualización en el ámbito de su trabajo para adaptarse a los cambios tecnológicos y organizativos de su entorno profesional.

Las líneas de actuación en el proceso de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo están relacionados con:

  • La gestión de procesos e hilos y los mecanismos de comunicación y sincronización entre ellos.
  • El desarrollo de programas compuestos por varios procesos e hilos.
  • La utilización de sockets para la programación de aplicaciones conectadas en red.
  • El desarrollo de aplicaciones que ofrezcan y utilicen servicios estándar de red.
  • La aplicación de prácticas de programación segura.
  • La aplicación de técnicas criptográficas en la utilización, almacenamiento y transmisión de información.