UNIDAD DIDÁCTICA 1. EL PROCESO DEL DESARROLLO APLICACIONES
- Modelos del ciclo de vida del software
- - En cascada (waterfall)
- - Iterativo
- - Incremental
- - En V
- - Basado en componentes (CBSE)
- - Desarrollo rápido (RAD)
- - Ventajas e inconvenientes. Pautas para la selección de la metodología más adecuada
- Análisis y especificación de requisitos
- - Tipos de requisitos
- - Modelos para el análisis de requisitos
- - Documentación de requisitos
- - Validación de requisitos
- - Gestión de requisitos
- Diseño
- - Modelos para el diseño de sistemas
- - Diagramas de diseño. El estándar UML
- - Documentación
- Implementación. Conceptos generales de desarrollo de aplicaciones
- - Desarrollo de aplicaciones
- - Técnicas de desarrollo de software
- Validación y verificación de sistemas
- - Planificación
- - Métodos formales de verificación
- - Métodos automatizados de análisis
- Entornos integrados de desarrollo (IDE) de uso común
UNIDAD DIDÁCTICA 2. LA ORIENTACIÓN A OBJETOS
- Principios de la orientación a objetos. Comparación con la programación estructurada
- - Ocultación de información (information hiding)
- - El tipo abstracto de datos (ADT). Encapsulado de datos
- - Paso de mensajes
- Clases de objetos
- - Atributos, variables de estado y variables de clase
- - Métodos. Requisitos e invariantes
- - Gestión de excepciones
- - Agregación de clases
- Objetos
- - Creación y destrucción de objetos
- - Llamada a métodos de un objeto
- - Visibilidad y uso de las variables de estado
- - Referencias a objetos
- - Persistencia de objetos
- - Optimización de memoria y recolección de basura (garbage collection)
- Herencia
- - Concepto de herencia. Superclases y subclases
- - Herencia múltiple
- - Clases abstractas
- - Tipos de herencia
- - Polimorfismo y enlace dinámico (dynamic binding)
- - Directrices para el uso correcto de la herencia
- Modularidad
- - Librerías de clases. Ámbito de utilización de nombres
- - Ventajas de la utilización de módulos o paquetes
- Genericidad y sobrecarga
- - Concepto de genericidad
- - Concepto de Sobrecarga. Tipos de sobrecarga
- - Comparación entre genericidad y sobrecarga
- Desarrollo orientado a objetos
- - Lenguajes de desarrollo orientado a objetos de uso común
- - Herramientas de desarrollo
- Lenguajes de modelización en el desarrollo orientado a objetos
- - Uso del lenguaje unificado de modelado (UML) en el desarrollo orientado a objetos
- - Diagramas para la modelización de sistemas orientados a objetos
UNIDAD DIDÁCTICA 3. ARQUITECTURAS WEB
- Concepto de arquitectura Web
- El modelo de capas
- Plataformas para el desarrollo en las capas servidor
- Herramientas de desarrollo orientadas a servidor de aplicaciones Web
- - Tipos de herramientas
- - Extensibilidad. Instalación de módulos
- - Técnicas de configuración de los entornos de desarrollo, preproducción y producción
- - Funcionalidades de depuración
UNIDAD DIDÁCTICA 4. LENGUAJES DE PROGRAMACIÓN DE APLICACIONES WEB EN EL LADO SERVIDOR
- Características de los lenguajes de programación Web en servidor
- Tipos y características de los lenguajes de uso común
- - Interpretados orientados a servidor
- - Lenguajes de cliente interpretados en servidor
- - Lenguajes compilados
- Criterios en la elección de un lenguaje de programación Web en servidor. Ventajas e inconvenientes
- Características generales
- - Tipos de datos
- - Clases
- - Operadores básicos. Manipulación de cadenas de caracteres
- - Estructuras de control. Bucles y condicionales
- - Módulos o paquetes
- - Herencia
- - Gestión de bibliotecas (libraries)
- Gestión de la configuración
- - Configuración de descriptores
- - Configuración de ficheros
- Gestión de la seguridad
- - Conceptos de identificación, autenticación y autorización
- - Técnicas para la gestión de sesiones
- Gestión de errores
- - Técnicas de recuperación de errores
- - Programación de excepciones
- Transacciones y persistencia
- - Acceso a bases de datos. Conectores
- - Estándares para el acceso a bases de datos
- - Gestión de la configuración de acceso a bases de datos
- - Acceso a directorios y otras fuentes de datos
- - Programación de transacciones
- Componentes en servidor. Ventajas e inconvenientes en el uso de contenedores de componentes
- Modelos de desarrollo. El modelo vista controlador
- - Modelo: programación de acceso a datos
- - Vista: Desarrollo de aplicaciones en cliente. Eventos e interfaz de usuario
- - Programación del controlador
- - Documentación del software. Inclusión en código fuente. Generadores de documentación
UNIDAD DIDÁCTICA 5. ARQUITECTURAS DE APLICACIONES WEB
- Esquema general
- Arquitectura en capas
- Interacción entre las capas cliente y servidor
- Arquitectura de la capa cliente
UNIDAD DIDÁCTICA 6. NAVEGADOR WEB
- Arquitectura de un navegador
- - Interfaz de usuario
- - Motor de exploración
- - Motor de presentación
- - Módulos auxiliares: persistencia, interfaz de red, intérprete de scripts, infraestructura de presentación
- Navegadores de uso común. Comparativa
- - Firefox
- - Google Chrome
- - Safari
- - Opera
- Seguridad en navegadores
- Integración de aplicaciones en navegadores. Adaptadores (plugins)
- - Adaptadores comunes en diferentes navegadores
- - Configuración de tipos de ficheros y adaptadores
- Conformidad a estándares
UNIDAD DIDÁCTICA 7. CREACIÓN DE CONTENIDO WEB DINÁMICO
- Fundamentos de programación
- - Constantes, variables. Tipos de datos simples y estructurados
- - Expresiones y sentencias. Operadores básicos
- - Control de flujo: secuencial, bucles y condicionales
- - Subprogramas: procedimientos y funciones. Librerías
- - Tipos de parámetros
- - Llamadas a funciones. Recursividad
- - Nociones de orientación a objetos: clases y objetos. Herencia
- - Principales metodologías de programación
- Lenguajes para el desarrollo de contenido dinámico
- - Lenguajes de guión. Características generales
- - Comparativa de lenguajes de guión. Criterios para la selección de un lenguaje de guión
- - Máquinas virtuales en navegadores. Miniaplicaciones (applets)
- - Otros lenguajes para el desarrollo de aplicaciones web enriquecidas (RIA)
UNIDAD DIDÁCTICA 8. LENGUAJES DE GUIÓN DE USO GENERAL
- Integración de lenguajes de guión en navegadores web
- - Comparativa y compatibilidad con navegadores
- - Diferencias entre versiones
- Estructura general de un programa en un lenguaje de guión
- - Variables y tipos de datos
- - Operadores
- - Objetos
- - Sentencias. Anidamiento
- - Estructuras de control y condicionales
- - Bucles
- - Comentarios
- Funciones
- - Parámetros
- - Variables locales y globales
- - Bibliotecas de funciones
- Manipulación de texto
- - Funciones básicas para la manipulación de texto
- - Introducción y validación de texto
- Listas (arrays)
- - Creación de arrays básicos
- - Arrays multidimensionales
- - Tratamiento de arrays mediante bucles
- Formatos estándar de almacenamiento de datos en lenguajes de guión
- - Comparativa
- - Tratamiento de formatos estándar
- - Diccionarios de datos
- Objetos
- - Creación de objetos: métodos y estructuras de datos
- - Bibliotecas de objetos
- El modelo de documento web
- - Estructura de documento
- - Navegación por las propiedades de un documento
- - Cambio de propiedades mediante lenguajes de guión
- Gestión de eventos
- - Tipos de eventos
- - Técnicas para el manejo de eventos mediante lenguajes de guión
- - Manejadores de eventos
- - Eventos de carga inicial
- - Delegación y propagación de eventos
- Gestión de errores 229
UNIDAD DIDÁCTICA 9. CONTENIDOS MULTIMEDIA
- Definición de multimedia. Tipos de recursos multimedia
- Inclusión de contenido multimedia en páginas web
- - Adaptadores para recursos multimedia
- - Enlace a diferentes recursos desde páginas web
- - Incrustación de contenido multimedia
- - Formatos de fichero web. El estándar MIME
- - Tipos de reproducción. Streaming y carga progresiva
- - Comparativa del tratamiento de contenido multimedia en diferentes versiones de lenguajes de marcado de páginas
- Gráficos multimedia
- - Formatos gráficos. Comparativa
- - Repositorios de imágenes
- - Tipos de gráficos: fotografías, imágenes vectorizadas e iconos
- - Herramientas para el tratamiento gráfico. Filtros y tratamiento de imágenes
- - Conversión de formatos gráficos
- Audio
- - Formatos de audio. Comparativa
- - Reproductores de audio. Inserción en navegadores web
- - Enlace o inserción de canales de audio
- - Conversión de formatos de audio
- - Herramientas para el tratamiento de sonido. Edición de fragmentos de audio
- Vídeo
- - Formatos de vídeo. Calidad de vídeo y comparativa
- - Repositorios de vídeo
- - Reproductores de vídeo. Inserción en navegadores web
- - Enlace o inserción de canales de vídeo
- - Conversión de formatos de vídeo. Optimización
- - Herramientas de edición de vídeo. Creación de efectos y composición
- Animaciones multimedia
- - Principios de la animación
- - Herramientas para la creación de animaciones
- - Formatos de animaciones
- - Inclusión en páginas web
- Elementos interactivos
- - Creación de elementos interactivos
- - Mapas Interactivos
- - Ámbitos de uso
UNIDAD DIDÁCTICA 10. VERIFICACIÓN DE APLICACIONES WEB
- Características de un proceso de pruebas
- Tipos de pruebas
- - Funcionales
- - Estructurales
- - De integración con sistemas externos
- - Usabilidad y accesibilidad
- - De detección de errores. Pruebas de caja negra
- - De seguridad. Evaluación de la protección frente a los ataques más comunes
- - De rendimiento. Pruebas de carga o estrés. Estadísticas
- - De integridad de datos
- Diseño y planificación de pruebas. Estrategias de uso común
- Consideraciones de confidencialidad. Pruebas con datos personales
- Automatización de pruebas. Herramientas




