_ Equivalencia en créditos ECTS: 5.
_ Código: MP0490.
_ Duración: 70 horas.
Unidade formativa 1: programación multiproceso
_ Código: MP0490_12.
_ Duración: 30 horas.
Resultados de aprendizaxe e criterios de avaliación
_ RA1. Desenvolve aplicacións compostas por varios procesos, para o que recoñece e aplica principios de programación paralela.
- CA1.1. Recoñecéronse as características da programación concorrente e os seus ám bitos de aplicación.
- CA1.2. Identificáronse as diferenzas entre as programacións paralela e distribuída, as súas vantaxes e os seus inconvenientes.
- CA1.3. Analizáronse as características dos procesos e da súa execución polo sistema operativo.
- CA1.4. Caracterizáronse os fíos de execución e describiuse a súa relación cos proce sos.
- CA1.5. Utilizáronse clases para programar aplicacións que creen subprocesos.
- CA1.6. Utilizáronse mecanismos para sincronizar e obter o valor devolto polos sub procesos iniciados.
- CA1.7. Desenvolvéronse aplicacións que xestionen e utilicen procesos para a execu ción de varias tarefas en paralelo.
- CA1.8. Depuráronse e documentáronse as aplicacións desenvolvidas.
_ RA2. Desenvolve aplicacións compostas por varios fíos de execución, con análise e aplicación de librarías específicas da linguaxe de programación.
- CA2.1. Identificáronse situacións en que resulte útil o uso de varios fíos nun pro grama.
- CA2.2. Recoñecéronse os mecanismos para crear, iniciar e finalizar fíos.
- CA2.3. Programáronse aplicacións que implementen varios fíos.
- CA2.4. Identificáronse os posibles estados de execución dun fío e programáronse aplicacións que os xestionen.
- CA2.5. Utilizáronse mecanismos para compartir información entre varios fíos dun mesmo proceso.
- CA2.6. Desenvolvéronse programas formados por varios fíos sincronizados median te técnicas específicas.
- CA2.7. Estableceuse e controlouse a prioridade de cada fío de execución.
- CA2.8. Depuráronse e documentáronse os programas desenvolvidos.
Contidos básicos
BC1. Programación multiproceso
_ Programación concorrente: características e ámbitos de aplicación.
_ Programación paralela e distribuída: características; vantaxes e inconvenientes.
_ Executables: procesos e servizos.
_ Estados dun proceso. Planificación de procesos polo sistema operativo.
_ Comandos e ferramentas gráficas para a xestión de procesos.
_ Fíos.
_ Creación e xestión de procesos.
_ Comunicación entre procesos.
_ Sincronización entre procesos.
_ Programación de aplicacións multiproceso.
_ Depuración e documentación das aplicacións desenvolvida.
BC2. Programación multifío
_ Características da programación multifío e ámbitos de aplicación.
_ Recursos compartidos polos fíos.
_ Estados dun fío. Cambios de estado.
_ Elementos relacionados coa programación de fíos. Librarías e clases.
_ Xestión de fíos: creación, inicio e finalización.
_ Sincronización de fíos.
_ Compartición de información entre fíos.
_ Xestión das prioridades de execución dos fíos.
_ Programación de aplicacións multifío.
_ Depuración e documentación das aplicacións desenvolvidas.
Unidade formativa 2: programación de servizos en rede
_ Código: MP0490_22.
_ Duración: 40 horas.
Resultados de aprendizaxe e criterios de avaliación
_ RA1. Programa mecanismos de comunicación en rede empregando sockets, e analiza o escenario de execución.
- CA1.1. Identificáronse escenarios que precisen establecer comunicación en rede en tre varias aplicacións.
- CA1.2. Identificáronse os papeis de cliente e de servidor, e as súas funcións asocia das.
- CA1.3. Recoñecéronse librarías e mecanismos da linguaxe de programación que permitan programar aplicacións en rede.
- CA1.4. Analizouse o concepto de socket, os seus tipos e as súas características.
- CA1.5. Utilizáronse sockets para programar unha aplicación cliente que se comuni que cun servidor.
- CA1.6. Desenvolveuse unha aplicación servidor en rede e verificouse o seu funcio namento.
- CA1.7. Desenvolvéronse aplicacións que utilicen sockets para intercambiar infor mación.
- CA1.8. Utilizáronse fíos para implementar os procedementos das aplicacións relati vos á comunicación en rede.
- CA1.9. Monitorizáronse os tempos de resposta das aplicacións e depuráronse con base nos resultados obtidos.
_ RA2. Desenvolve aplicacións que ofrezan servizos en rede, para o que utiliza librarías de clases e aplica criterios de eficiencia e dispoñibilidade.
- CA2.1. Analizáronse librarías que permitan implementar protocolos estándar de co municación en rede.
- CA2.2. Programáronse clientes de protocolos estándar de comunicacións e verifi couse o seu funcionamento.
- CA2.3. Desenvolvéronse e probáronse servizos de comunicación en rede.
- CA2.4. Analizáronse os requisitos necesarios para crear servizos capaces de xestio nar varios clientes concorrentes.
- CA2.5. Incorporáronse mecanismos para posibilitar a comunicación simultánea de varios clientes co servizo.
- CA2.6. Verificouse a dispoñibilidade do servizo.
- CA2.7. Depuráronse e documentáronse as aplicacións desenvolvidas.
_ RA3. Protexe as aplicacións e os datos, para o que define e aplica criterios de segurida de no acceso, no almacenamento e na transmisión da información.
- CA3.1. Identificáronse e aplicáronse principios e prácticas de programación segura.
- CA3.2. Analizáronse as principais técnicas e prácticas criptográficas.
- CA3.3. Definíronse e implantáronse políticas de seguridade para limitar e controlar o acceso dos usuarios ás aplicacións desenvolvidas.
- CA3.4. Utilizáronse esquemas de seguridade baseados en papeis.
- CA3.5. Empregáronse algoritmos criptográficos para protexer o acceso á informa ción almacenada.
- CA3.6. Identificáronse métodos para asegurar a información transmitida.
- CA3.7. Desenvolvéronse aplicacións que utilicen sockets seguros para a transmisión de información.
- CA3.8. Depuráronse e documentáronse as aplicacións desenvolvidas.
Contidos básicos
BC1. Programación de comunicacións en rede
_ Comunicación entre aplicacións. Ámbitos de aplicación.
_ Papeis cliente e servidor.
_ Elementos de programación de aplicacións en rede. Librarías: clases, compoñentes e funcións.
_ Sockets: tipos e características.
_ Creación de sockets.
_ Enlazamento e establecemento de conexións.
_ Uso de sockets para a transmisión e a recepción de información.
_ Programación de aplicacións cliente e servidor.
_ Uso de fíos na programación de aplicacións en rede.
_ Monitorización de tempos de resposta e depuración.
BC2. Xeración de servizos en rede
_ Protocolos estándar de comunicación en rede a nivel de aplicación (telnet, ftp, http, pop3, smtp, etc.).
_ Librarías de clases e compoñentes.
_ Establecemento e finalización de conexións.
_ Transmisión de información.
_ Programación de aplicacións cliente.
_ Programación de servidores.
_ Implementación de comunicacións simultáneas.
_ Verificación e depuración.
_ Documentación das aplicacións desenvolvidas.
BC3. Uso de técnicas de programación segura
_ Prácticas de programación segura.
_ Criptografía de clave pública e clave privada.
_ Principais aplicacións da criptografía.
_ Protocolos criptográficos.
_ Política de seguridade no acceso ás aplicacións informáticas.
_ Programación de mecanismos de control de acceso. Validación de entradas e limitación de privilexios.
_ Xestión de usuarios baseada en papeis.
_ Encriptación de información.
_ Protocolos seguros de comunicacións.
_ Programación de aplicacións con comunicacións seguras.
_ Depuración e documentación das aplicacións desenvolvidas.
Orientacións pedagóxicas
Este módulo profesional contén a formación necesaria para desempeñar a función de de senvolvemento de aplicacións seguras en rede.
Esta función abrangue aspectos como:
- Uso das capacidades ofrecidas polo sistema operativo para a xestión de procesos e fíos.
- Programación de aplicacións compostas por varios procesos e fíos.
- Desenvolvemento de aplicacións con capacidades para comunicarse e ofrecer servi zos a través dunha rede.
- Uso de mecanismos de seguridade no desenvolvemento de aplicacións.
As actividades profesionais asociadas a esta función aplícanse na área de sistemas e de senvolvemento de software no contorno empresarial.
A formación do módulo contribúe a alcanzar os obxectivos xerais b), e), i), j), l), n) e ñ) do ciclo formativo, e as competencias b), e), i), j), l), n), ñ), t) e w).
As liñas de actuación no proceso de ensino e aprendizaxe que permiten alcanzar os ob xectivos do módulo versarán sobre:
- Xestión de procesos e fíos, así como os mecanismos de comunicación e sincroniza ción entre eles.
- Desenvolvemento de programas compostos por varios procesos e fíos.
- Uso de sockets para a programación de aplicacións conectadas en rede.
- Desenvolvemento de aplicacións que ofrezan e utilicen servizos estándar de rede.
- Aplicación de prácticas de programación segura.
- Aplicación de técnicas criptográficas no uso, no almacenamento e na transmisión de información.