Download programación de aula - McGraw

Document related concepts
no text concepts found
Transcript
Programación del módulo
Desarrollo de funciones en el
sistema informático
CICLOS FORMATIVOS
DE GRADO SUPERIOR
Autores:
♦ José Manuel Molina
♦ Félix Chamorro
♦ Antonio Berlanga
♦ Araceli Sanchis
♦ Miguel Ángel Patricio
♦ Jesús García
ÍNDICE
♦ INTRODUCCIÓN
♦ ORGANIZACIÓN DE LOS CONTENIDOS. TIPO Y ENUNCIADO DEL
CONTENIDO ORGANIZADOR
♦ RELACIÓN SECUENCIADA DE UNIDADES
♦ RECOMENDACIONES PARA LA CONFECCIÓN Y EL DESARROLLO
DE ACTIVIDADES
♦ DISTRIBUCIÓN DE LOS CONTENIDOS
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  2 de 42
INTRODUCCIÓN
El módulo de Desarrollo de Funciones en el Sistema Informático se encuadra
en el segundo curso del ciclo formativo de grado superior correspondiente al
título de Técnico Superior en Administración de Sistemas Informáticos, y tiene
una duración de 175 horas.
El título de Técnico Superior en Administración de Sistemas Informáticos y sus
enseñanzas mínimas vienen establecidos en el Real Decreto 1660/1994 de 22
de julio (BOE de 30 de septiembre de 1994), y el currículo del ciclo formativo,
en el Real Decreto 1675/1994, de 22 de julio (BOE de 6 de octubre de 1994).
El modelo de programación propuesto en esta guía tiene su origen en la
publicación Desarrollo curricular del ciclo formativo de F. P. Administración de
Sistemas Informáticos, de la Secretaría de Estado de Educación (ANELE,
Madrid, 1995).
Todos los aspectos que atañen al sistema productivo, el perfil profesional, las
capacidades profesionales, las unidades de competencia, las realizaciones y
los dominios profesionales, la evolución de la competencia profesional y los
cambios en los factores tecnológicos, entre otros, se ajustarán a lo dispuesto
en la normativa anteriormente citada.
La referencia del sistema productivo de este módulo la encontramos en la
Unidad de Competencia n.º 4 del R. D. correspondiente al título, que tiene el
enunciado siguiente.
Proponer y coordinar cambios para mejorar la explotación del sistema y
las aplicaciones.
Las realizaciones de esta Unidad de Competencia son las que se enuncian a
continuación:
♦ Formular técnicamente los cambios y mejoras necesarios en el sistema
y/o aplicaciones para proporcionar criterios de decisión a la persona
autorizada.
♦ Realizar, a su nivel, los cambios propuestos en el sistema y/o
aplicaciones de acuerdo con las prestaciones requeridas.
♦ Realizar pruebas funcionales y de usuario previas a la implantación de
los cambios desarrollados en el sistema y/o aplicaciones.
♦ Elaborar y mantener la documentación y guías del usuario descriptivas
de los cambios y mejoras introducidos en el sistema y/o aplicaciones
según las normas y procedimientos establecidos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  3 de 42
Las capacidades terminales de este módulo, de acuerdo con ese R. D., son las
siguientes:
♦ Desarrollar un programa ejecutable utilizando las interfaces de
programación que ofrece el soft-base de un sistema operativo
monousuario, multiusuario y de red.
♦ Establecer procedimientos de prueba que permitan verificar el
funcionamiento del sistema y de los programas desarrollados.
♦ Elaborar la documentación sobre la configuración del sistema y los
cambios o mejoras desarrollados en el programa.
♦ Valorar técnica y económicamente la implicación que tienen los cambios
sobre un sistema considerando su configuración.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  4 de 42
ORGANIZACIÓN DE LOS CONTENIDOS.
TIPO Y ENUNCIADO DEL CONTENIDO ORGANIZADOR
El modelo de programación propuesto se basa en la elección del contenido
organizador, ya que este es el que define a grandes rasgos el proceso de
aprendizaje relativo a un módulo profesional y el que, por tanto, va a constituir
el eje de todos los contenidos y la secuencia de unidades de trabajo del
módulo. En nuestro caso se trata de un contenido procedimental.
Este módulo da continuidad a los conocimientos de programación adquiridos
en el módulo Fundamentos de Programación, de primer curso. Así pues, al
término del presente módulo, el alumno se encontrará en condiciones de
alcanzar las realizaciones de la Unidad de Competencia n.º 4 anteriormente
citadas.
Como enunciado del contenido organizador reproducimos el título de la unidad
de competencia de la que deriva este módulo:
Proponer y coordinar cambios para mejorar la explotación del sistema y
las aplicaciones.
A este contenido de tipo procedimental se encuentran ligados una serie de
contenidos conceptuales y actitudinales que originan los contenidos que dan
apoyo a las destrezas y habilidades que debe adquirir el alumno.
A continuación se propone la organización de los contenidos, que se
fundamenta en la naturaleza y el enunciado del contenido organizador y las
variables más importantes relacionadas con el aumento de la complejidad de
todo el procedimiento que se enseña. Partiendo de esta organización se
obtiene la secuencia de unidades de trabajo, constituidas por bloques de contenidos, actividades de aprendizaje y actividades de evaluación.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  5 de 42
RELACIÓN SECUENCIADA DE UNIDADES
Este módulo profesional, que tiene una duración de 175 horas, se distribuye a
lo largo de los dos primeros trimestres del curso a razón de ocho horas
semanales, lo que corresponde a unas 22 semanas lectivas. Es deseable que
las horas semanales figuren agrupadas en bloques horarios de dos o tres
periodos lectivos.
La propuesta de programación está constituida por una relación secuenciada
de unidades de trabajo donde se integran y desarrollan, al mismo tiempo,
alrededor de los procedimientos (contenidos organizadores), los conceptos
(contenidos de soporte), las actividades de enseñanza-aprendizaje y los
criterios de evaluación, huyendo de los clásicos temas o lecciones estancos
que mediatizan el proceso de aprendizaje.
Para el diseño de la programación será preciso contemplar:
♦ Los conocimientos previos del alumno.
♦ Los recursos materiales del centro educativo.
♦ Los medios utilizados en el entorno productivo.
En cuanto al primer aspecto, se ha considerado que los conocimientos previos
del alumno son los adquiridos en los módulos de primer curso y las materias
cursadas en el Bachillerato.
En relación con el segundo aspecto, se ha considerado un aula de informática
con el suficiente número de equipos como para que los alumnos puedan
trabajar individualmente o en grupos de dos. Sería conveniente disponer en el
aula de equipos de cierta envergadura, conectados en red y con la adecuada
dotación de software, que incluirá sistemas operativos (UNIX, Linux, Windows,
etc.), protocolos de redes de comunicaciones, y sistemas y herramientas de
desarrollo de C, C++ y Java, de las versiones más recientes.
En cuanto al tercer aspecto, dado el/los sistema/s operativo/s utilizado/s y la
portabilidad del lenguaje elegido, es el que menos problemas plantea.
De la estructura de contenidos resultan cinco grandes bloques que organizan
visualmente de la siguiente manera:
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  6 de 42
Fig. 1. Relación de unidades de trabajo por bloques.
Bloque 0 (B 0): Conocimientos de base
En este bloque se hace un rápido repaso de los aspectos más relevantes
estudiados en el módulo de Fundamentos de Programación, para lo que
remitimos al libro de dicho módulo.
Comprende los conocimientos sobre el lenguaje C adquiridos en el módulo
Fundamentos de Programación de primer curso y los expuestos en una unidad
de trabajo incluida en el CD que acompaña a esta guía: “Gestión de archivos y
directorios en C” e “Introducción a la programación orientada a objetos en
C++”. Con esta unidad se pretende, fundamentalmente, realizar un rápido
repaso a los conocimientos sobre los lenguajes C y C++. Se trata de un bloque
opcional que puede resultar conveniente, e incluso necesario, para introducir el
presente módulo, si bien será el profesor quien debe decidirlo. En el caso de
que finalmente se imparta, se le dedicarán 15 horas de clase; en caso
contrario, estas horas deberán distribuirse entre el resto de las UT.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  7 de 42
Bloque 1 (B1): Programación del sistema en C
Este bloque se compone de cuatro unidades de trabajo: “Lenguaje C, sistema
operativo y procesos”, “Sincronización de procesos en C”, “Mecanismos
básicos de comunicación en C” y “Sockets en C”.
En este bloque se presentan los conceptos y las características más
importantes de la programación con C sobre el sistema operativo UNIX,
utilizando en la práctica uno de sus derivados, Linux, que es sin duda el más
utilizado por la comunidad educativa. En las correspondientes unidades se
exponen, en primer lugar, los conceptos de proceso y sus características y funcionamiento; a continuación se estudian los mecanismos que intervienen en la
sincronización de procesos; seguidamente se aborda el estudio de los
mecanismos básicos de comunicación en C, y finalmente se estudian los
sockets en profundidad.
Bloque 2 (B2): Programación del sistema en Java
En este bloque se incluyen cuatro unidades de trabajo: “Programación en Java.
Sintaxis básica”, “Objetos y clases en Java”, “Concurrencia en Java” y
“Comunicaciones en Java”.
En este bloque se estudian los desarrollos con Java TM en dos apartados
claramente diferenciados:
♦ El primero, constituido por dos UT, está dedicado al estudio de la
programación orientada a objetos y de los fundamentos de JavaTM, que
es el objeto de la UT5, donde se presentan la sintaxis y los elementos
básicos del lenguaje Java. La UT6, por otra parte, se dedica al estudio
de los objetos y las clases en Java, incorporando y desarrollando
ejemplos para poner en práctica los principales conceptos de la POO.
♦ En el segundo se aborda la programación en Java sobre el sistema, que
se desarrolla en otras dos unidades: en la UT7 se presentan los
elementos más característicos de la concurrencia en Java; en la UT8 se
lleva a cabo el estudio de todo lo referente a la comunicación de
procesos en Java.
Bloque 3 (B3): Programación en Internet con PHP.
Este bloque está constituido por una única unidad, la UT9, que se dedica, como
reza su título, a la introducción del lenguaje PHP. PHP es un lenguaje de
código abierto (open source), interpretado, de alto nivel, especialmente
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  8 de 42
pensado para desarrollos Web y que puede ser incrustado en páginas HTML.
La mayor parte de su sintaxis es similar a C, Java y Perl, y es fácil de aprender.
El objetivo de este lenguaje es permitir a los diseñadores escribir páginas Web
dinámicas de una manera rápida y sencilla.
En esta unidad se sintetizan los aspectos más sobresalientes de este lenguaje
de programación de páginas Web, con la ayuda de una serie de ejemplos
resueltos y tomando como base los conocimientos adquiridos sobre C y sobre
Java.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  9 de 42
RECOMENDACIONES PARA LA CONFECCIÓN Y
EL DESARROLLO DE ACTIVIDADES
Debido a la metodología empleada en el libro, que pretende enseñar a través
de la práctica, se han incluido gran número de preguntas de evaluación,
ejercicios y actividades que deben facilitar la labor del profesor: por una parte,
podrá utilizar estos recursos directamente en su tarea; por otro, le pueden
servir de base para el diseño de nuevas actividades, cuestionarios y guiones de
refuerzo de las actividades programadas, así como para la evaluación del
aprendizaje. De este modo, si fuera necesario, en cada unidad didáctica, estos
recursos le ayudarán a desarrollar la programación de actividades específicas
de recuperación, para los alumnos que no alcancen las capacidades
propuestas, y de consolidación, para el resto.
Las actividades y la distribución temporal de las unidades que se presentan
deben ser consideradas como una guía u orientación general. Así pues,
corresponderá al profesor adaptarlas, modificarlas o cambiarlas en función de
las características inmediatas de su propio entorno de actividad: tipo de
alumnos, conocimientos previos de estos, equipamiento del centro educativo,
sistemas empleados en el entorno, etc.
A continuación se presenta la distribución de los elementos curriculares de
cada unidad.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  10 de 42
DISTRIBUCIÓN DE LOS CONTENIDOS
UNIDAD 01. LENGUAJE C: SISTEMA OPERATIVO Y
PROCESOS
1. Capacidades profesionales
♦ Describir la estructura de los sistemas operativos multiproceso.
♦ Identificar los distintos elementos de un proceso.
♦ Utilizar las funciones de la biblioteca estándar de C.
♦ Controlar la ejecución y la finalización de un proceso.
♦ Ejecutar programas desde procesos.
♦ Utilizar las llamadas al sistema para crear funciones de usuario.
2. Contenidos
En esta unidad se describe la forma de crear procesos y de finalizarlos, así
como de acceder a las variables de entorno y a los atributos de los procesos. El
alumno debe adquirir conocimientos y destrezas que le permitan iniciarse en la
programación de aplicaciones basadas en procesos.
A. Conceptos
♦
Proceso y programa.
♦
Atributos de los procesos.
♦
Jerarquía de procesos.
♦
Llamadas al sistema.
♦
Creación de procesos.
♦
Ejecución de procesos.
♦
Variables de entorno.
♦
Terminación de procesos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  11 de 42
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico.
♦
Gestión de procesos y determinación de las llamadas al
sistema.
♦
Interpretación del problema.
♦
Construcción del algoritmo con la arquitectura de procesos.
♦
Codificación del algoritmo.
♦
Compilación del programa fuente.
♦
Realización de pruebas.
♦
Corrección de los errores observados.
♦
Documentación del programa.
C. Actitudes
♦
Evaluar la importancia de la claridad y legibilidad de los
programas para facilitar el mantenimiento y el trabajo en
equipo.
♦
Documentar y describir las estructuras de datos utilizadas en
un proyecto o ejercicio realizado en el aula.
♦
Redactar guías de uso de las aplicaciones realizadas.
3. Criterios de evaluación
♦ Describir las funciones que ejecutan comandos del sistema operativo y
las que modifican las variables de entorno, su utilidad y ámbito de
aplicación.
♦ Conocer los estados de un proceso.
♦ Justificar la importancia de la programación con varios procesos para la
resolución de problemas de programación.
♦ Describir las funciones que modifican el estado de un proceso.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  12 de 42
♦ Evaluar la importancia de la claridad y legibilidad de los programas para
facilitar el mantenimiento y el trabajo en equipo.
♦ Documentar el código con comentarios significativos, concisos y
legibles.
♦ Realizar pruebas para una aplicación.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 16 horas.
5. Sugerencias metodológicas
♦ Utilización y consulta de libros, manuales y revistas.
♦ Utilización de listados de programas impresos en papel para la
identificación de las funciones que crean procesos o modifican sus
atributos.
♦ Planteamiento de ejercicios.
♦ Análisis de los problemas a desarrollar.
♦ Resolución de los problemas propuestos utilizando la creación de
procesos.
♦ Discusión de los ejercicios resueltos.
♦ Puesta en común de las diferentes soluciones aportadas a los ejercicios
propuestos.
♦ Documentación de los ejercicios resueltos de la forma que se estime
más oportuna.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  13 de 42
UNIDAD 02. SINCRONIZACIÓN DE PROCESOS EN C
1. Capacidades profesionales
♦ Comprender los mecanismos de comunicación basados en señales.
♦ Conocer los tipos de señales definidos en Linux.
♦ Definir gestores de señales en un programa y enviar señales desde un
proceso a otro.
♦ Desarrollar programas que requieran de una ejecución en paralelo
sincronizada.
♦ Enviar datos entre dos aplicaciones.
♦ Desarrollar aplicaciones que se transmitan información de forma
asíncrona.
♦ Desarrollar programas que requieran de una ejecución en paralelo para
la que sea preciso compartir ciertos datos, o donde los resultados de
uno sean necesarios para el otro.
2. Contenidos
En esta unidad se presentan los mecanismos de comunicación basados en
señales, así como sus distintos tipos. Los alumnos aprenderán a gestionar
señales en un programa y a enviar señales desde un proceso a otro, así como
a desarrollar programas que requieran de una ejecución en paralelo
sincronizada o transmitir información de forma asíncrona.
A. Conceptos
♦
Definición y tipos de señales.
♦
Comportamiento de un proceso ante una señal.
♦
Gestores de señales.
♦
Comunicación de señales entre procesos.
♦
Temporización y sincronización de procesos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  14 de 42
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico.
♦
Interpretación del problema.
♦
Elección de los gestores de señales adecuados al problema.
♦
Construcción del algoritmo utilizando señales.
♦
Codificación del algoritmo.
♦
Compilación del programa fuente.
♦
Realización de pruebas.
♦
Corrección de los errores observados.
♦
Documentación del programa.
C. Actitudes
♦
Evaluar la importancia de la claridad y legibilidad de los
programas para facilitar el mantenimiento y el trabajo en
equipo.
♦
Documentar y describir los gestores de señales utilizados en
un proyecto o ejercicio realizado en el aula.
♦
Redactar guías de uso de las aplicaciones realizadas.
3. Criterios de evaluación
♦ Describir las señales y su utilidad.
♦ Justificar la importancia de la comunicación de datos entre procesos.
♦ Elaborar módulos, funciones o procedimientos utilizando señales.
♦ Documentar el código de un módulo de programación con comentarios
significativos, concisos y legibles.
♦ Realizar pruebas para cada módulo de una aplicación y pruebas de
integración.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  15 de 42
♦ Aplicar la temporización de procesos para solucionar problemas de
programación.
♦ Elaborar los distintos documentos que deben acompañar una aplicación.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 16 horas.
5. Sugerencias metodológicas
♦ Utilización y consulta de libros, manuales y revistas.
♦ Utilización de listados de programas impresos en papel con gestores de
señales.
♦ Planteamiento de ejercicios.
♦ Creación de funciones de usuario.
♦ Análisis de los problemas a desarrollar proponiendo las estructuras
dinámicas más adecuadas para su resolución.
♦ Resolución de los problemas propuestos.
♦ Discusión de los ejercicios resueltos.
♦ Puesta en común de las diferentes soluciones aportadas a los ejercicios
propuestos.
♦ Documentación de los ejercicios resueltos de la forma en que se estime
más oportuna.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  16 de 42
UNIDAD 03. MECANISMOS BÁSICOS DE COMUNICACIÓN EN C
1. Capacidades profesionales
♦ Desarrollar programas que requieran una ejecución en paralelo
sincronizada.
♦ Comprender los mecanismos de comunicación basados en pipes,
memoria compartida y colas de mensajes.
♦ Definir estructuras para determinar el procedimiento de comunicación.
♦ Explicar cómo enviar datos entre dos aplicaciones.
♦ Desarrollar aplicaciones que se transmitan información de forma
asíncrona.
♦ Implementar programas que requieran una ejecución en paralelo para la
que sea preciso compartir ciertos datos, o donde los resultados de un
programa sean necesarios para el otro.Comprender los mecanismos de
comunicación basados en señales.
2. Contenidos
Esta unidad presenta la manera de gestionar las señales y la forma como se
realiza la comunicación entre procesos para desarrollar programas cuya
ejecución se realice de forma sincronizada con otro proceso. Este desarrollo se
llevará a cabo desde dos perspectivas: por un lado, sincronizando el proceso
temporalmente con el kernel y, por otro, sincronizando dos procesos entre sí,
de manera que la ejecución de uno dependa de la ejecución del otro.
A. Conceptos
♦
Diseño de aplicaciones mediante pipes.
♦
Generación de una aplicación básica con pipes.
♦
Posibilidades de comunicación con pipes.
♦
Diseño y generación de aplicaciones mediante colas de
mensaje y semáforos.
♦
Diseño y generación de una aplicación básica con memoria
compartida.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  17 de 42
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico, así como de la ayuda de Linux.
♦
Identificación de los distintos tipos de procedimientos de
comunicación.
♦
Identificación de las distintas estructuras que intervienen en el
diseño de aplicaciones que hacen uso de pipes, mensajes y
memoria compartida.
♦
Interpretación de las distintas clases de comunicación y casos
en que debe utilizarse cada una de ellas.
C. Actitudes
♦
Evaluar la importancia de la claridad y legibilidad de los
programas para facilitar el mantenimiento y el trabajo en
equipo.
♦
Documentar y describir las funciones y estructuras de datos
utilizadas en un proyecto o ejercicio realizado en el aula.
♦
Redactar guías de uso de las aplicaciones realizadas.
3. Criterios de evaluación
♦ Describir las posibles formas de comunicación presentadas en el
capítulo, analizando sus capacidades para la transmisión de
información.
♦ Citar las opciones que hay que utilizar para hacer uso de los distintos
tipos de comunicaciones que se han presentado.
♦ Justificar la elección del tipo de comunicación en función de la
información que se necesita transmitir y de la complejidad del método de
comunicación elegido.
♦ Integrar correctamente el método de comunicación elegido en la
aplicación.
♦ Analizar la carga que debe soportar el programador a partir de la
especificación de las estructuras y las funciones.
♦ Utilizar correctamente las distintas estructuras y funciones.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  18 de 42
♦ Generar aplicaciones básicas con distintos tipos de comunicación.
♦ Documentar el diseño y las opciones elegidas para la aplicación.
♦ Realizar pruebas básicas de la aplicación.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 15 horas.
5. Sugerencias metodológicas
♦ Discusión acerca del diseño de aplicaciones que necesitan del
intercambio de datos entre sí.
♦ Utilización de listados de programas para la identificación de las
estructuras que el programador debe conocer para poder utilizar
comunicaciones entre aplicaciones.
♦ Análisis de los problemas que hay que desarrollar: a partir del diseño,
proponer el tipo de comunicación que hay que utilizar.
♦ Resolución de ejercicios y actividades en grupo. Discusión de las
soluciones.
♦ Análisis de las opciones de comunicación elegidas para la relación entre
procesos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  19 de 42
UNIDAD 04. SOCKETS EN C
1. Capacidades profesionales
♦ Conocer las funciones estándar para trabajar con sockets.
♦ Diseñar distintos sistemas de conexión entre aplicaciones.
♦ Describir las diferencias entre un servidor y un cliente.
♦ Diseñar protocolos a nivel de aplicación.
♦ Desarrollar servidores que proporcionen un servicio a un conjunto de
clientes.
♦ Desarrollar un conjunto de clases en C++ que permita solucionar los
problemas de desarrollo con sockets.
2. Contenidos
En esta unidad se presenta el modelo cliente/servidor y su utilidad para la
creación de aplicaciones. Se definen los sockets como la principal herramienta
para conectar aplicaciones y se describen las funciones que permiten crear un
socket, escribir en él, leer, etc. Finalmente, se detallan ampliamente los
aspectos más importantes tanto de clientes como de servidores.
A. Conceptos
♦
Diseño de aplicaciones mediante sockets.
♦
Generación de un cliente básico mediante sockets.
♦
Desarrollo de aplicaciones que se conectan mediante sockets.
♦
Manejo de los sockets en el desarrollo de servidores.
♦
Desarrollo de aplicaciones complejas que permiten
funcionamiento de aplicaciones altamente comunicadas.
♦
Fases de desarrollo de una aplicación que utiliza sockets.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  20 de 42
el
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico, así como de la ayuda de Linux.
♦
Identificación de los distintos componentes de un socket.
♦
Identificación de las distintas estructuras que intervienen en el
diseño de una aplicación que hace uso de sockets.
♦
Interpretación de los distintos tipos de programas que pueden
desarrollarse mediante sockets.
C. Actitudes
♦
Evaluar la importancia del uso de los sockets para la creación
de aplicaciones cliente/servidor.
♦
Documentar y describir las funciones y estructuras de datos
utilizadas en un proyecto o ejercicio realizado en el aula.
♦
Redactar guías de uso de las aplicaciones desarrolladas.
3. Criterios de evaluación
♦ Describir la funcionalidad de la arquitectura cliente/servidor.
♦ Describir los tipos de aplicaciones que pueden hacer uso de la
arquitectura cliente/servidor, así como el proceso de comunicación que
siguen.
♦ Citar las posibilidades de diseño que tiene el programador a la hora de
comunicarse mediante sockets.
♦ Justificar la elección de un tipo de cliente y de servidor para la
generación del esqueleto base de una aplicación distribuida.
♦ Integrar correctamente el esqueleto de comunicación mediante sockets
con el funcionamiento deseado para la aplicación.
♦ Utilizar correctamente las distintas posibilidades de comunicación.
♦ Generar aplicaciones con distintos tipos de servidor y cliente.
♦ Documentar el diseño de la aplicación.
♦ Realizar pruebas básicas de la aplicación.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  21 de 42
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 15 horas.
5. Sugerencias metodológicas
♦ Discusión acerca de los tipos posibles de comunicación mediante
aplicaciones.
♦ Utilización de listados de programas para la identificación de la
secuencia de operaciones cuando se emplean sockets.
♦ Análisis de los problemas que hay que desarrollar: a partir del diseño,
proponer la división de la aplicación en servidor y cliente.
♦ Resolución de ejercicios y actividades en grupo. Discusión de las
soluciones.
Elaboración y análisis de las opciones elegidas para la generación del
código.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  22 de 42
UNIDAD 05. PROGRAMACIÓN EN JAVA. SINTAXIS BÁSICA
1. Capacidades profesionales
♦ Conocer los principios y las características básicas de Java.
♦ Dominar la sintaxis de Java y comprender sus diferencias respecto a la
sintaxis de C.
♦ Revisar y utilizar los tipos de datos, operadores y sentencias de control
de flujo en Java mediante ejemplos sencillos.
♦ Identificar los elementos básicos del entorno de programación Java.
♦ Manejar los aspectos prácticos de entrada y salida de datos en Java, a
través de consola y de ficheros.
2. Contenidos
En esta unidad se presenta un nuevo lenguaje de programación: Java. Se
describirán sus características básicas, poniendo especial énfasis en la
sintaxis, y se realizará una introducción a la entrada-salida de datos, lo que
supone revisar también el mecanismo de generación de excepciones. Se
subrayarán las principales diferencias que presenta respecto al lenguaje C, del
que ya nos hemos ocupado y con el que guarda una estrecha relación en su
sintaxis fundamental. El tratamiento estrictamente relacionado con la
programación orientada a objetos, una de las principales fuentes de
diferencias, se reserva para una unidad posterior, si bien en Java es inevitable
tratar con objetos desde el principio.
A. Conceptos
♦
Lenguaje Java. Organización de los programas en clases.
♦
Entorno de desarrollo Java. JDK y JRE.
♦
Sintaxis básica. Palabras
operadores e instrucciones.
♦
Arrays en Java.
♦
Métodos en Java.
reservadas,
tipos
básicos,
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  23 de 42
♦
Algunas clases de utilidad en Java. Envoltorios y clase String.
♦
Entrada-salida en Java a través de flujos (streams). Clases
para entrada-salida estándar y con ficheros de texto.
♦
Introducción al mecanismo de excepciones en Java.
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico.
♦
Presentación de las características principales del lenguaje de
programación Java.
♦
Utilización de los componentes básicos para desarrollar,
compilar y ejecutar programas en Java.
♦
Identificación de los principales elementos de la sintaxis Java
mediante el análisis de ejemplos completos.
♦
Elección de las estructuras de programación necesarias para
la resolución de problemas.
♦
Presentación de clases de utilidad de Java y explicación de su
utilización para resolver problemas específicos.
C. Actitudes
♦
Reconocer la ventaja de dominar un nuevo lenguaje de
programación que constituye la evolución de otro ya conocido
y perfecciona algunos de sus aspectos.
♦
Mostrar paciencia a la hora de asimilar conceptos de un
lenguaje que incorpora muchas novedades: variaciones en
sintaxis, completa orientación a objetos, clases de utilidad, etc.
♦
Participar activamente en la resolución de los ejercicios y las
actividades
propuestas,
proponiendo
soluciones
y
comprobando el conocimiento adquirido.
♦
Reconocer la importancia de la claridad y legibilidad de los
programas para facilitar el mantenimiento y el trabajo en
equipo.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  24 de 42
♦
Reconocer la importancia de documentar el código de un
módulo de programación con comentarios significativos,
concisos y legibles.
♦
Mantener orden y precisión en la presentación de conceptos
nuevos y su aplicación a las actividades propuestas.
3. Criterios de evaluación
♦ Describir las características básicas del lenguaje de programación Java.
♦ Identificar las diferencias entre Java y C en determinados aspectos,
como arrays, funciones, punteros, entrada y salida, etc.
♦ Identificar las dos formas de representar los datos de un programa en
Java: tipos predefinidos (básicos) y clases.
♦ Identificar los distintos tipos básicos de datos en Java, operadores y
reglas de conversión.
♦ Justificar la importancia de la adecuada selección de estructuras de
datos para la resolución de problemas de programación.
♦ Resolver ejemplos prácticos mediante la implementación de algoritmos
con instrucciones y tipos de datos en Java.
♦ Describir las clases de utilidad para manipular cadenas de texto, extraer
tipos básicos de texto, y hacer entrada-salida de estructuras de datos
dinámicas que maneja un lenguaje estructurado, su utilidad y ámbito de
aplicación.
♦ Describir el mecanismo de generación y tratamiento de excepciones en
Java y su utilización en la entrada-salida.
♦ Comprobar que los formatos de entrada y salida de la aplicación son los
esperados.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 30 horas.
5. Sugerencias metodológicas
♦ Utilización y consulta de libros y manuales del lenguaje, y acceso a la
API web con las clases de utilidad de Java (página web de Sun).
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  25 de 42
♦ Utilización de listados de programas para la identificación y explicación
de los elementos de los primeros programas completos en Java.
♦ Planteamiento de ejercicios y variantes de los ejemplos presentados en
clase.
♦ Análisis de los problemas que se van a desarrollar proponiendo las
estructuras y funciones adecuadas para su resolución, dejando que el
alumno proponga y desarrolle con detalle la implementación adecuada.
♦ Resolución de las dudas surgidas después de que el alumno intente
implementar las soluciones a los ejercicios en el ordenador.
♦ Resolución de los problemas propuestos utilizando distintas estructuras
de datos, clases de utilidad y métodos desarrollados.
♦ Discusión de los ejercicios resueltos, con puesta en común y
valoración de las diferentes soluciones aportadas.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  26 de 42
UNIDAD 06. OBJETOS Y CLASES EN JAVA
1. Capacidades profesionales
♦ Utilizar la sintaxis de Java para la definición de clases y objetos.
♦ Conocer la notación apropiada para construir clases, constructores,
calificadores de acceso, herencia, etc. mediante el desarrollo de
ejemplos prácticos.
♦ Subrayar las diferencias distintivas de Java con respecto al lenguaje
C++, desarrollado en una unidad anterior.
♦ Desarrollar aplicaciones utilizando objetos en Java.
2. Contenidos
En esta unidad se presenta la creación de clases con el lenguaje Java como
estructuras apropiadas para representar los elementos que aparecen en una
aplicación real. Los conceptos básicos de la programación orientada a objetos
se han introducido y desarrollado previamente con C++; los objetos se han
presentado como una agrupación de atributos y métodos que hacen uso de su
información e intercambian mensajes, y cuyas características comunes quedan
definidas en las clases. Así pues, esta unidad se centra en la sintaxis que
emplea Java para desarrollar los elementos, ya familiares para el alumno, de la
programación orientada a objetos.
A. Conceptos
♦
Objetos y clases en Java. Instancias con operador new y
destrucción automática.
♦
Constructores en Java para inicialización de instancias.
♦
Calificadores de acceso: atributos constantes y globales de
clases.
♦
Arrays de objetos en Java.
♦
Clases derivadas en Java: constructores y acceso en las
clases derivadas.
♦
Sobreescritura
polimorfismo.
de
métodos
en
clases
derivadas
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  27 de 42
y
B. Procedimientos
♦
Manejo e interpretación de los manuales y del material
bibliográfico.
♦
Presentación de la sintaxis y las estructuras del lenguaje Java
para construir programas con el paradigma de la programación
orientada a objetos.
♦
Identificación de los elementos de la declaración de clases y
construcción de objetos mediante el análisis de ejemplos
completos
♦
Elección de las clases, las interfaces y los accesos apropiados
de acuerdo con las características de los tipos de problemas
que resolver.
♦
Ilustración de la utilidad de la herencia y el polimorfismo
mediante casos prácticos.
C. Actitudes
♦
Mostrar interés por asimilar conceptos de programación
orientada a objetos en un lenguaje nuevo de programación,
para desarrollar aplicaciones que aprovechen la posibilidad de
aplicar la abstracción y el encapsulamiento al diseño.
♦
Reconocer la importancia de un diseño con programación
orientada a objetos para tener claridad y legibilidad de
programas bien estructurados que faciliten su mantenimiento y
distribución en equipos de trabajo.
♦
Mostrar una actitud abierta a aprender nuevas formas de
resolver problemas que podrían ser abordados con el
paradigma de programación funcional, valorando críticamente
las ventajas y los inconvenientes de ambas aproximaciones.
♦
Participar activamente en la resolución de los ejercicios y las
actividades
propuestas,
proponiendo
soluciones
y
comprobando el conocimiento adquirido.
♦
Reconocer la importancia de documentar el código de un
módulo de programación con comentarios significativos,
concisos y legibles que permitan identificar las decisiones
tomadas en el diseño y la implementación del programa.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  28 de 42
3. Criterios de evaluación
♦ Aplicar una metodología de desarrollo estructurado y modular para el
diseño de algoritmos.
♦ Realizar pruebas para cada uno de los módulos de una aplicación y
pruebas de integración.
♦ Justificar la importancia de la abstracción de datos.
♦ Describir las características principales de Java respecto a los conceptos
de programación orientada a objetos y estructura de los programas.
♦ Identificar las diferencias entre Java y C++ en aspectos como los
siguientes: arrays de objetos; creación, manipulación y destrucción de
objetos; funciones de clase; punteros y referencias; herencia, herencia
múltiple y polimorfismo; entrada-salida, etc.
♦ Utilizar la sintaxis y las palabras reservadas de Java en lo referente a
clases, constructores calificadores y herencia.
♦ Justificar la importancia de un diseño adecuado de clases que ponga en
práctica la abstracción para la resolución de problemas de
programación.
♦ Resolver ejemplos prácticos mediante la implementación de clases con
determinadas interfaces y mensajes intercambiados.
♦ Elaborar aplicaciones con una estructura modular en clases que permita
realizar por separado pruebas para cada clase y pruebas de integración,
con objeto de optimizar el mantenimiento de la aplicación final.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 20 horas, si el alumno ya está familiarizado con la
programación orientada a objetos. En caso contrario, habría que dedicar más
tiempo a los conceptos fundamentales y ejemplos, con una dedicación de 30
horas.
5. Sugerencias metodológicas
♦ Utilización y consulta de libros y manuales del lenguaje, y acceso a la
API web con las clases de utilidad de Java (página web de Sun).
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  29 de 42
♦ Utilización de listados de programas completos para la identificación y
explicación de los elementos del lenguaje Java para declarar clases y
construir objetos.
♦ Planteamiento de ejercicios, proponiendo los objetos adecuados y sus
funcionalidades, dejando que el alumno diseñe y desarrolle con detalle
la implementación oportuna para cada clase.
♦ Resolución de las dudas surgidas después de que el alumno haya
intentado implementar las soluciones a los ejercicios en el ordenador.
♦ Resolución de los problemas propuestos, valorando especialmente las
diferentes alternativas posibles (mayor aún al descomponer un problema
en objetos), y subrayando las ventajas de una solución que aplique un
diseño orientado a objetos frente a una solución funcional.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  30 de 42
UNIDAD 07. CONCURRENCIA EN JAVA
1. Capacidades profesionales
♦ Conocer y diferenciar las arquitecturas multitarea y multihilo
♦ Conocer las propiedades y métodos de la clase Thread de Java.
♦ Comprender el ciclo de vida de un hilo y los eventos que provocan su
cambio de estado.
♦ Conocer los mecanismos de sincronización entre hilos (regiones críticas,
monitores, semáforos).
2. Contenidos
Uno de los factores destacables del lenguaje Java es que incorpora elementos
para la programación multihilo. En esta unidad se describirán las características
de la clase Thread, que permite ejecutar código en un hilo independiente.
Asimismo, se detallarán los mecanismos de Java para la sincronización entre
hilos, de modo que sea posible construir programas concurrentes donde
distintos hilos de ejecución puedan sincronizarse utilizando directamente las
primitivas que proporciona el lenguaje, sin necesidad de utilizar técnicas
implementadas por los propios programadores.
A. Conceptos
♦
Multitarea y multihilo.
♦
Creación de hilos mediante la clase Thread y mediante la
interfaz Runnable.
♦
Terminación de un hilo.
♦
Estados de un hilo.
♦
Gestión de los hilos: método yield, dormido (sleep) y método
join.
♦
Sincronización de hilos: regiones críticas (synchronized);
métodos wait y notify.
♦
Asignación de prioridades a los hilos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  31 de 42
B. Procedimientos
♦
Manejo de la documentación de la clase Thread suministrada
por Sun.
♦
Diseño de alternativas para la creación de hilos.
♦
Análisis de los estados en que se puede encontrar un hilo
durante su ciclo de vida.
♦
Definición de los métodos que provocan el cambio de estado
en un hilo.
♦
Elaboración de programas multihilo donde se describen las
capacidades nativas de Java para la gestión de la
concurrencia entre hilos.
♦
Desarrollo de ejemplos sobre el manejo de los métodos de la
clase Thread.
♦
Implementación de programas donde se demuestre el
funcionamiento de los mecanismos más importantes de Java
para la sincronización de hilos: regiones críticas, monitores y
semáforos.
♦
Elaboración de programas que demuestren el funcionamiento
del planificador de tareas de la máquina virtual de Java con las
prioridades dentro de una arquitectura multihilo.
C. Actitudes
♦
Conocer la necesidad de diseñar aplicaciones multihilo.
♦
Reconocer las capacidades nativas del lenguaje Java para el
desarrollo de aplicaciones multihilo.
♦
Valorar la importancia del diseño de las clases de una
aplicación multihilo, que debe facilitar claridad y legibilidad a la
hora de realizar tareas de mantenimiento y trabajar en equipo.
♦
Documentar y describir las aplicaciones desarrolladas a lo
largo de la unidad.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  32 de 42
3. Criterios de evaluación
♦ Diferenciar las arquitecturas informáticas multihilo y multitarea.
♦ Describir las alternativas para la creación de hilos en Java y justificar su
uso en determinadas circunstancias.
♦ Determinar el número de hilos que se están ejecutando en una
aplicación multihilo.
♦ Describir el funcionamiento del planificador de hilos de la máquina virtual
de Java.
♦ Determinar las posibilidades de finalización de un hilo.
♦ Describir los estados en que puede encontrarse un hilo durante su ciclo
de vida.
♦ Definir los métodos que provocan un cambio de estado en el hilo.
♦ Definir mecanismos de sincronización entre hilos.
♦ Diseñar la estructura de un monitor.
♦ Describir la gestión de las prioridades en el planificador de hilos de la
máquina virtual de Java.
♦ Construir un semáforo general y un semáforo binario. Describir casos de
uso.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 20 horas.
5. Sugerencias metodológicas
♦ Familiarización con la documentación sobre Thread suministrada por
Sun.
♦ Búsqueda en Internet de foros especializados en programación Java y,
en concreto, en la programación concurrente en Java.
♦ Utilización de libros y números especiales de revistas sobre la
concurrencia en Java.
♦ Puesta en común de las distintas soluciones aportadas por los alumnos.
♦ Motivación a los alumnos para el planteamiento de nuevos enunciados.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  33 de 42
♦ Discusión de los ejercicios resueltos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  34 de 42
UNIDAD 08. COMUNICACIONES EN JAVA
1. Capacidades profesionales
♦ Emplear distintas tecnologías para comunicar aplicaciones usando Java.
♦ Identificar las clases más significativas del paquete java.net
♦ Desarrollar arquitecturas cliente/servidor mediante sockets.
♦ Utilizar las herramientas disponibles en Java para la conexión a
servidores Web.
♦ Desarrollar una aplicación distribuida mediante RMI (Remote Method
Invocation).
2. Contenidos
Cada vez es más común encontrar aplicaciones cuya arquitectura se basa en
un sistema distribuido compuesto por distintos componentes que se encuentran
en máquinas distintas y distantes entre sí. El lenguaje Java nos proporciona un
conjunto de clases básicas que nos permiten realizar todo tipo de de
comunicaciones TCP/IP. En esta unidad se describirán los mecanismos que
ofrece Java tanto de bajo nivel (sockets) como de alto nivel (URL, HTTP, etc.).
La unidad terminará con la presentación del modelo RMI utilizado para diseñar
aplicaciones distribuidas.
A. Conceptos
♦
El paquete java.net: direccionamiento, puertos, sockets, clase
URL, clase URLConnection.
♦
Aplicaciones distribuidas con RMI (Remote
Invocation): arquitectura RMI, serialización de
creación de una aplicación RMI.
♦
Aplicaciones distribuidas con CORBA.
Method
objetos,
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  35 de 42
B. Procedimientos
♦
Manejo de la documentación del paquete java.net suministrado
por Sun.
♦
Diseño de programas utilizando la clase InetAddress de Java.
♦
Definición de los conceptos de dirección IP y puertos de
comunicación.
♦
Diseño de aplicaciones cliente/servidor mediante sockets.
♦
Elaboración de programas para acceso a servidores Web
mediante las clases URL y URLConnection.
♦
Implementación de arquitecturas informáticas distribuidas
mediante técnicas RMI (Remote Method Invocation).
♦
Definición del concepto serializable de Java.
C. Actitudes
♦
Valorar las capacidades nativas del lenguaje Java para el
desarrollo de aplicaciones distribuidas.
♦
Reconocer la elegancia y sencillez del desarrollo de
aplicaciones distribuidas en el lenguaje Java.
♦
Mostrar satisfacción por la precisión y el orden en que se
realizan las actividades.
♦
Documentar y describir las aplicaciones desarrolladas durante
la unidad.
3. Criterios de evaluación
♦ Describir el funcionamiento de la clase InetAddress del paquete java.net.
♦ Determinar los distintos tipos de sockets existentes en una aplicación
cliente/servidor.
♦ Definir la utilidad de los puertos de comunicación en Internet.
♦ Diseñar una aplicación distribuida mediante técnicas RMI (Remote
Method Invocation)
♦ Relacionar los conceptos de número IP y nombre de dominio.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  36 de 42
♦ Definir el concepto de puerto well-known (‘bien conocido’).
♦ Describir la secuencia temporal de creación de distintos sockets en un
entorno cliente/servidor.
♦ Identificar las relaciones entre las clases URL y URLConnection.
♦ Determinar la utilidad del Stub y el Skeleton en una aplicación distribuida
RMI.
♦ Describir cómo se crean el Stub y el Skeleton en una aplicación
distribuida RMI.
♦ Justificar la utilización de la herramienta rmiregistry en una aplicación
distribuida RMI.
♦ Enumerar las diferencias entre una aplicación distribuida usando sockets
y otra usando RMI.
♦ Determinar la necesidad de la clase serializable en aplicaciones
distribuidas.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 18 horas.
5. Sugerencias metodológicas
♦ Familiarización con la documentación sobre java.net suministrada por
Sun.
♦ Búsqueda en Internet de foros especializados en la programación Java
y, más concretamente, en la programación distribuida en Java.
♦ Utilización de libros y
comunicaciones en Java.
números
especiales
de
revistas
sobre
♦ Puesta en común de las distintas soluciones aportadas por los alumnos.
♦ Motivación a los alumnos para el planteamiento de nuevos enunciados.
♦ Discusión de los ejercicios resueltos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  37 de 42
UNIDAD 09. INTRODUCCIÓN AL LENGUAJE PHP
1. Capacidades profesionales
♦ Conocer el origen y la historia del lenguaje de programación PHP.
♦ Descubrir las cualidades
programación PHP.
y
particularidades
del
lenguaje
de
♦ Aplicar la sintaxis del lenguaje de programación PHP.
♦ Entender las diferentes formas de incrustar código en páginas HTML.
♦ Utilizar las bibliotecas, clases y funciones más habituales.
2. Contenidos
PHP es un lenguaje de código abierto (Open Source), interpretado, de alto
nivel, especialmente pensado para desarrollos Web y que puede ser incrustado
en páginas HTML. La mayor parte de su sintaxis es similar a C, Java y Perl, y
es fácil de aprender. El objetivo de este lenguaje es permitir que los
diseñadores puedan escribir páginas Web dinámicas de una manera rápida y
fácil. Además, cuenta con una biblioteca de funciones muy amplia y en
continuo crecimiento. La presente unidad supone una introducción al lenguaje
PHP mediante numerosos ejemplos prácticos que ilustrarán al alumno su
potencial como herramienta de desarrollo de plataformas Web.
A. Conceptos
♦
Orígenes del lenguaje PHP.
♦
Características generales del lenguaje PHP.
♦
Sintaxis básica del lenguaje PHP.
♦
Trabajo con formularios Web.
♦
Manejo de las sesiones.
♦
Funciones para el tratamiento de fecha/hora.
♦
Trabajo con ficheros.
♦
Acceso a base de datos (MySQL).
♦
Correo electrónico.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  38 de 42
♦
Creación de documentos PDF dinámicos.
B. Procedimientos
♦
Definición de las distintas versiones del lenguaje PHP y su
estado actual.
♦
Elaboración de ejercicios que ilustren el comportamiento de las
funciones PHP para el diseño de sitios Web.
♦
Diseño de programas para el manejo de los distintos tipos
soportados por el lenguaje PHP.
♦
Implementación de programas que ilustren las numerosas
funciones predefinidas para la manipulación de cadenas de
caracteres en el lenguaje PHP.
♦
Definición de los distintos tipos de matrices en el lenguaje PHP
y las funciones asociadas.
♦
Utilización de las estructuras de control soportadas por el
lenguaje PHP.
♦
Elaboración de proyectos para la gestión de formularios Web
mediante las variables predefinidas integradas en el intérprete.
♦
Diseño de las aplicaciones más usuales en entornos Web.
C. Actitudes
♦
Valorar el lenguaje PHP como herramienta para el desarrollo
de sitios Web.
♦
Diferenciar las aptitudes del lenguaje PHP para el diseño de
aplicaciones Web respecto de otros lenguajes de script.
♦
Documentar y describir las aplicaciones desarrolladas durante
la unidad.
♦
Reconocer la potencialidad descriptiva de las funciones PHP,
que facilitan el desarrollo de aplicaciones Web.
♦
Participar activamente en la resolución de los ejercicios y las
actividades
propuestas,
proponiendo
soluciones
y
comprobando el conocimiento adquirido.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  39 de 42
3. Criterios de evaluación
♦ Describir el funcionamiento de la clase InetAddress del paquete java.net.
♦ Diferenciar los distintos tipos soportados por el lenguaje PHP.
♦ Identificar las funciones asociadas al manejo de cadenas de caracteres.
♦ Determinar los distintos tipos de matrices: matrices simples, matrices
asociativas y matrices multidimensionales.
♦ Describir las alternativas para la creación de estructuras de control en el
lenguaje PHP.
♦ Utilizar las variables predefinidas para el desarrollo de aplicaciones Web.
♦ Diseñar programas orientados a la conexión mediante sesiones.
♦ Identificar las funciones PHP para el manejo de ficheros.
♦ Describir funciones avanzadas en PHP, como el acceso a bases de
datos y generación de documentos en formato PDF.
4. Temporización
El tiempo estimado para la adquisición de las capacidades propuestas deberá
ser de aproximadamente 20 horas.
5. Sugerencias metodológicas
♦ Utilización de los listados expuestos en la unidad y explicación paso a
paso de las sentencias empleadas en los distintos programas.
♦ Búsqueda en Internet de foros especializados en la programación en el
lenguaje PHP.
♦ Utilización de libros o números especiales de revistas sobre el lenguaje
PHP.
♦ Puesta en común de las distintas soluciones aportadas por los alumnos.
♦ Motivación a los alumnos para que planteen nuevos enunciados.
♦ Discusión de los ejercicios resueltos.
McGraw-Hill/Interamericana  Programación de módulo  Desarrollo de funciones en el sistema informático  40 de 42